[
  {
    "index": 1,
    "heading": "2026-04-09 02:59:57 AREA: T",
    "published_at": "2026-04-09 02:59:57",
    "area": "T",
    "message_id": "",
    "text": "ZCZCKXART_UA__J_U_RADIO_MMIDPE_UO_BY_ XCKK_OO UINVE_MGLK_.._6_!7.__.5_\nROUGHIG__X_MBZW\nZHVABUGH T_IS EVENING, TZE_MY_C_DMZY_O_YEOKAKAW_DA_AZY_MK__YZI_ONGSZ__MJ_F_KBV_JBRZNIPL_ROW ATERNOON.\nLOC POOO VIS IN\n__CZ_LE OCMJZMN_H_ONYM_M___WM_ZYMP_I\nH\nTHREAT OF NE NEAR GALE OR GALE OVER FINIST_LE A__EW\nAVURNAV BREST 134626\nCANTABRICO - CASQUE S _A FINISTER_Q P VS_OISE _AM_ZCWJJHMLMG_APM_GV E_*_,__$_- YEU\nIN-FORCE BULLETIN\n1. AVURNA_MBM_JHM2__735_80801 UTC APR 26:\n 6/26! _ 7573_-5. \nTPPTM__REST 121/26NNNN",
    "clean_text": "ZCZCKXART_UA__J_U_RADIO_MMIDPE_UO_BY_ XCKK_OO UINVE_MGLK_.._6_!7.__.5_\nROUGHIG__X_MBZW\nZHVABUGH T_IS EVENING, TZE_MY_C_DMZY_O_YEOKAKAW_DA_AZY_MK__YZI_ONGSZ__MJ_F_KBV_JBRZNIPL_ROW ATERNOON.\nLOC POOO VIS IN\n__CZ_LE OCMJZMN_H_ONYM_M___WM_ZYMP_I\nH\nTHREAT OF NE NEAR GALE OR GALE OVER FINIST_LE A__EW\nAVURNAV BREST 134626\nCANTABRICO - CASQUE S _A FINISTER_Q P VS_OISE _AM_ZCWJJHMLMG_APM_GV E_*_,__$_- YEU\nIN-FORCE BULLETIN\n1. AVURNA_MBM_JHM2__735_80801 UTC APR 26:\n6/26! _ 7573_-5.\nTPPTM__REST 121/26NNNN",
    "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: Threat of ne near gale or gale over finist le a ew. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Threat of ne near gale or gale over finist le a ew",
      "Loc pooo vis in",
      "Avurnav brest 134626"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 2,
    "heading": "2026-04-09 02:39:26 AREA: W",
    "published_at": "2026-04-09 02:39:26",
    "area": "W",
    "message_id": "",
    "text": "ZCZC WE5_9,__'0_!._+*_._:62.0__9,*0_/3=__IGH SEAS BULLETIN FGPZ_YPYPM_ISSUED AT 2000 UTC Z_ WEDNESDAY 08 APRIL 202_._)_._$0._0__+_!/0_._0_0__6_._:!_0_..__7_____$0._06!+888:2000 UT_MZBM_PWPJWEM_F_VK*(/\n_\n*+5/_BG_\nUAAITP CG LG_Z__\nP\n_LT/_ARK \n IAIT, N_RTH OFV_!\n_+6_$-9/_!ZFORCE 108\nAT TIMES _NT_MG__,945__4, _ _\n89__\nBOQRTRNVTOAT 0812000_C,4__\n):\n5_$(_,_5 !84') ,__'9\n5__-'__.=+,+:6_!_\n.9_6*.6+_+$.+6._!_$__.=*_:_'4._!_6_8_'_9234'__*_0.+6._++__2\n_-(_=2) -/_0_A, ZHD_JHPYSEM\nEGEBAELY, 4 TO 6, BECOMING VARIABLE 2 TO 4, THEN CYCLONIC__U TO S_\n_MMOS\nM_ZMGSHPYMFBMKPPO_H_H OR VERY ROUGH_AL RAIN AT FIRST IN EAST AND LATER IIZN AEST. GOOM_FYM\nJMWMM__NOYJ__OO__3_(____35_8! )__: )40_'9+7'____.+6_$06___D___U _P_MPMH_MICI__\nX_DKDBQ_$_)OH_W_J_AWL__ALES ARE EXPENTAD IN SOSP_MGJDZ_MVLFSP_\nV_P__-_$__2.2.9+_(EGKLBUK__KJKJQ_KE_ZZ_T_BUB__(_+7_)_ )=7=_4)48888_)4_77-)__9,\n.=995_95_,._)0__4-$7-))6 ')_5 8, , 8, -!534,99,.\nPOOR VISMWCPMHZMJZ_PM+__*(___,0_+__3.\nVRB 1 TO 3, INCR W 2 TO 4 IN N IN AFTERNOON.\nSMOOTH.\nPOOR VIS DUEMHZMJZ_PM+.___/$0__\n\n,6._.__02._+6.0__.\n_6._$9,_6).'!_$_.+6._+2._'+7__3___ ,2 .9$ 94 !43'_ !)92 8, _7)! 9! )89,\n8, '3:9,$ 0-45 9! !48$-6 ,8__5, THEN DECR IN AFTERNOON.\n\nNNNN",
    "clean_text": "ZCZC WE5_9,__'0_!._+*_._:62.0__9,*0_/3=__IGH SEAS BULLETIN FGPZ_YPYPM_ISSUED AT 2000 UTC Z_ WEDNESDAY 08 APRIL 202_._)_._$0._0__+_!/0_._0_0__6_._:!_0_..__7_____$0._06!+888:2000 UT_MZBM_PWPJWEM_F_VK*(/\n_\n*+5/_BG_\nUAAITP CG LG_Z__\nP\n_LT/_ARK\nIAIT, N_RTH OFV_!\n_+6_$-9/_!ZFORCE 108\nAT TIMES _NT_MG__,945__4, _ _\n89__\nBOQRTRNVTOAT 0812000_C,4__\n):\n5_$(_,_5 !84') ,__'9\n5__-'__.=+,+:6_!_\n.9_6*.6+_+$.+6._!_$__.=*_:_'4._!_6_8_'_9234'__*_0.+6._++__2\n_-(_=2) -/_0_A, ZHD_JHPYSEM\nEGEBAELY, 4 TO 6, BECOMING VARIABLE 2 TO 4, THEN CYCLONIC__U TO S_\n_MMOS\nM_ZMGSHPYMFBMKPPO_H_H OR VERY ROUGH_AL RAIN AT FIRST IN EAST AND LATER IIZN AEST. GOOM_FYM\nJMWMM__NOYJ__OO__3_(____35_8! )__: )40_'9+7'____.+6_$06___D___U _P_MPMH_MICI__\nX_DKDBQ_$_)OH_W_J_AWL__ALES ARE EXPENTAD IN SOSP_MGJDZ_MVLFSP_\nV_P__-_$__2.2.9+_(EGKLBUK__KJKJQ_KE_ZZ_T_BUB__(_+7_)_ )=7=_4)48888_)4_77-)__9,\n.=995_95_,._)0__4-$7-))6 ')_5 8, , 8, -!534,99,.\nPOOR VISMWCPMHZMJZ_PM+__*(___,0_+__3.\nVRB 1 TO 3, INCR W 2 TO 4 IN N IN AFTERNOON.\nSMOOTH.\nPOOR VIS DUEMHZMJZ_PM+.___/$0__\n\n,6._.__02._+6.0__.\n_6._$9,_6).'!_$_.+6._+2._'+7__3___ ,2 .9$ 94 !43'_ !)92 8, _7)! 9! )89,\n8, '3:9,$ 0-45 9! !48$-6 ,8__5, THEN DECR IN AFTERNOON.\n\nNNNN",
    "display_region_heading": "Unresolved B1 code W",
    "display_region_label": "B1 code W",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code W. Readable text says: M zmgshpymfbmkppo h h or very rough al rain at first in east and later iizn aest. goom fym. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "M zmgshpymfbmkppo h h or very rough al rain at first in east and later iizn aest. goom fym",
      "Egebaely, 4 to 6, becoming variable 2 to 4, then cyclonic u to s",
      "Vrb 1 to 3, incr w 2 to 4 in n in afternoon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-09 02:33:55 AREA: V",
    "published_at": "2026-04-09 02:33:55",
    "area": "V",
    "message_id": "VA24",
    "text": "ZCZC VA24\n082330 UTC APGM\n_SELLIA MARINA RADIO\n_M_ATA_ _YFM\n _TU__G0)___0\n_+!.*0_KBREE_9_(*(_3:_ROM 08 UNTIL 27 APR 2026, THE UNIT GAIA BLU, __!'_._66_.+:M_PJONZ__L_ER__5__:(______1_$_-$ LATITUDE     LONGITU_E\n12  35 09'12 N  017 41'49 E\n13  35 17'20 N  018 00'00 E\n14  38 00'00 N  018 00'00 E\n15  38 00'00 N V:_ 1 *_0._09,\n_0!._99,_/_9__0(**_7_)5_\n) )__)\n0=_'5 0-6 .-/8_:_._:\n!+.2._!__(+_.__09_2_1_(_B_Q MILE FROM UNITS.\n\nNNNN",
    "clean_text": "ZCZC VA24\n082330 UTC APGM\n_SELLIA MARINA RADIO\n_M_ATA_ _YFM\n_TU__G0)___0\n_+!.*0_KBREE_9_(*(_3:_ROM 08 UNTIL 27 APR 2026, THE UNIT GAIA BLU, __!'_._66_.+:M_PJONZ__L_ER__5__:(______1_$_-$ LATITUDE LONGITU_E\n12 35 09'12 N 017 41'49 E\n13 35 17'20 N 018 00'00 E\n14 38 00'00 N 018 00'00 E\n15 38 00'00 N V:_ 1 *_0._09,\n_0!._99,_/_9__0(**_7_)5_\n) )__)\n0=_'5 0-6 .-/8_:_._:\n!+.2._!__(+_.__09_2_1_(_B_Q MILE FROM UNITS.\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: Sellia marina radio. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sellia marina radio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 4,
    "heading": "2026-04-09 02:33:06 AREA: V",
    "published_at": "2026-04-09 02:33:06",
    "area": "V",
    "message_id": "",
    "text": "ZCZC VA__P_NF__PMG_H_MYM\n_SELLIA MARINA RADIO\nUCOASTAL WARNING NR. 134/26 APR 01   2 RELEASE\nMES_INA STRAIT ZON\n_78=\n+:62((_/3____BBQPJB__K_\n5_1 _9_,___8:3' -,$ 8,!94.-589,.\nSHIP_MAWM_SZHF_JMFMPHYE_XIT FROM THE VTS AREA BEWARE.\nNNNN",
    "clean_text": "ZCZC VA__P_NF__PMG_H_MYM\n_SELLIA MARINA RADIO\nUCOASTAL WARNING NR. 134/26 APR 01 2 RELEASE\nMES_INA STRAIT ZON\n_78=\n+:62((_/3____BBQPJB__K_\n5_1 _9_,___8:3' -,$ 8,!94.-589,.\nSHIP_MAWM_SZHF_JMFMPHYE_XIT FROM THE VTS AREA BEWARE.\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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Italy - Ionian Sea and Strait of Messina. Readable text says: Ucoastal warning nr. 134/26 apr 01 2 release. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ucoastal warning nr. 134/26 apr 01 2 release",
      "Ship mawm szhf jmfmphye xit from the vts area beware",
      "Mes ina strait zon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 5,
    "heading": "2026-04-09 02:31:58 AREA: V",
    "published_at": "2026-04-09 02:31:58",
    "area": "V",
    "message_id": "VA21",
    "text": "ZCZC VA21\n082330 UTC APR 26\nSELLIA MARINA RZ_ONZZN_NZJZMKMZEBMNHB_NHC3__49R_PV_I OF MESSINA - MESSINA (ME)\nON APRIL 9TH, 10TH AND 11TH, 2026, FROM 6:00 TMG TO 16:00 TMG,\nDIVERS WILL OPERATE IN CCY_CSYMYP_MGYWFCJM\nY_MGBH_MG_PHPYPWMZON_ZS_Z_FM_ZF_HM_GOMEM_ - 015 37.192E. TWO RUBBER BOATS WFHDONSF_FHPWM__C_PYLFSFHEM_FSSMLPMFMJJFJHXP_BO_G_PJJPSJMFMHYJFHML_KRNAZE_I_UALLO_U\nZCZC",
    "clean_text": "ZCZC VA21\n082330 UTC APR 26\nSELLIA MARINA RZ_ONZZN_NZJZMKMZEBMNHB_NHC3__49R_PV_I OF MESSINA - MESSINA (ME)\nON APRIL 9TH, 10TH AND 11TH, 2026, FROM 6:00 TMG TO 16:00 TMG,\nDIVERS WILL OPERATE IN CCY_CSYMYP_MGYWFCJM\nY_MGBH_MG_PHPYPWMZON_ZS_Z_FM_ZF_HM_GOMEM_ - 015 37.192E. TWO RUBBER BOATS WFHDONSF_FHPWM__C_PYLFSFHEM_FSSMLPMFMJJFJHXP_BO_G_PJJPSJMFMHYJFHML_KRNAZE_I_UALLO_U\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: Sellia marina rz onzzn nzjzmkmzebmnhb nhc3 49r pv i of messina - messina (me). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sellia marina rz onzzn nzjzmkmzebmnhb nhc3 49r pv i of messina - messina (me)",
      "On april 9th, 10th and 11th, 2026, from 6:00 tmg to 16:00 tmg",
      "Divers will operate in ccy csymyp mgywfcjm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-09 02:25:00 AREA: U",
    "published_at": "2026-04-09 02:25:00",
    "area": "U",
    "message_id": "UA90",
    "text": "ZCZC UA90\n08232 G \nC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 172/26 APR 05 ALT\nCENTRAL ADRIATIC SEA - PESCARA.\nFAI_KYEMZ_MHDPMZ_HFXSM\nF_HFZMFWJMJ_JHV_Z_HDPMM_FZ\nMM_SH_ZYBMF_M_P_ZYPAMFM_ZJFHFZ_LAT. 42 46' 02''N - LONG. 014 27' 50''E.\nTRANSITTING VESSELS PLEASE PAY MAXIMUM CAUTION\nNNNN",
    "clean_text": "ZCZC UA90\n08232 G\nC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 172/26 APR 05 ALT\nCENTRAL ADRIATIC SEA - PESCARA.\nFAI_KYEMZ_MHDPMZ_HFXSM\nF_HFZMFWJMJ_JHV_Z_HDPMM_FZ\nMM_SH_ZYBMF_M_P_ZYPAMFM_ZJFHFZ_LAT. 42 46' 02''N - LONG. 014 27' 50''E.\nTRANSITTING VESSELS PLEASE PAY MAXIMUM CAUTION\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: Coastal warning 172/26 apr 05 alt. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning 172/26 apr 05 alt",
      "Transitting vessels please pay maximum caution",
      "Central adriatic sea - pescara"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 9,
    "heading": "2026-04-09 02:24:15 AREA: U",
    "published_at": "2026-04-09 02:24:15",
    "area": "U",
    "message_id": "UA89",
    "text": "ZCZC UA89\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 173/26 APR 07 \nSOUTHERN ADRIATIC SPM_MGLYFWFJF_THE BRINDISI VTS CENTER ISMFMZ_\nZ_PYHF_PMDJPON_YZBM_CB_GSHMHZM_ ZB_ OF 0:.__6=2026,\nTHEREFORE VTS SERVICES CANNOT BE PROVIDED.\n\nNNNN",
    "clean_text": "ZCZC UA89\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 173/26 APR 07\nSOUTHERN ADRIATIC SPM_MGLYFWFJF_THE BRINDISI VTS CENTER ISMFMZ_\nZ_PYHF_PMDJPON_YZBM_CB_GSHMHZM_ ZB_ OF 0:.__6=2026,\nTHEREFORE VTS SERVICES CANNOT BE PROVIDED.\n\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. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Therefore vts services cannot be provided",
      "Coastal warning 173/26 apr 07",
      "Southern adriatic spm mglyfwfjf the brindisi vts center ismfmz"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 10,
    "heading": "2026-04-09 02:22:21 AREA: U",
    "published_at": "2026-04-09 02:22:21",
    "area": "U",
    "message_id": "UA87",
    "text": "ZCZC UA87\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 200/26 APR 05\nADRIATIC SEA - VENICEMQONGWEM_HGHDM_YM\nUUE_G6+_.\n7MG_H_ONWCPMHZMSF_FHUO__CD__(*__(('_*___)____0_=2__)6 049=8$3$ 8, =3,8:3 \n_*9,''._6*!_!_.*_!_*._0_6=9,9,9,,888\n_\n+:+: 7-88\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOSTAL WARNING NR. 189/_04 02 (1 RELEASE)\nADRIATIC SEA - VENICE\nUNTIL THE END OF THE NEED\nDUE TO LIMITED OPERATIZNSMX_LFSFH_MF_ZYBHFZMJPY\nF_PONFJMZSEM__Z\nFWPWMFWM_PF_PM\nHJMYPONSSMHYJFHF_MJ_F_JM_P_YPON_XPS__EMXZJHSBKKE3_4BRMXK_OH_E_ONX9__6!'_!+\n'9___/0'\n_3._+*_'._6!_.)4.___(19_(4_,X_ANCEL MY COSHSM_YF_M_\nB_ _Y APR 01\n\nNNNN",
    "clean_text": "ZCZC UA87\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING NR. 200/26 APR 05\nADRIATIC SEA - VENICEMQONGWEM_HGHDM_YM\nUUE_G6+_.\n7MG_H_ONWCPMHZMSF_FHUO__CD__(*__(('_*___)____0_=2__)6 049=8$3$ 8, =3,8:3\n_*9,''._6*!_!_.*_!_*._0_6=9,9,9,,888\n_\n+:+: 7-88\n082320 UTC APR 26\nMONDOLFO RADIO\n\nCOSTAL WARNING NR. 189/_04 02 (1 RELEASE)\nADRIATIC SEA - VENICE\nUNTIL THE END OF THE NEED\nDUE TO LIMITED OPERATIZNSMX_LFSFH_MF_ZYBHFZMJPY\nF_PONFJMZSEM__Z\nFWPWMFWM_PF_PM\nHJMYPONSSMHYJFHF_MJ_F_JM_P_YPON_XPS__EMXZJHSBKKE3_4BRMXK_OH_E_ONX9__6!'_!+\n'9___/0'\n_3._+*_'._6!_.)4.___(19_(4_,X_ANCEL MY COSHSM_YF_M_\nB_ _Y APR 01\n\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. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Costal warning nr. 189/ 04 02 (1 release)",
      "Coastal warning nr. 200/26 apr 05",
      "Adriatic sea - venicemqongwem hghdm ym"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-09 02:20:57 AREA: T",
    "published_at": "2026-04-09 02:20:57",
    "area": "T",
    "message_id": "",
    "text": "ZC_CMK\nF_\nPIWEWP UTC APR 26\nMONDOLFO RADIO\n\nCOASTALCWARNING NR. 204/26 APR 07\nADRIATIC SEA   CHIOGGIA  \nAREA BOUNDED BY FOLLOWING POINTS:\n  45 12.824_._.\n_U_UU_GPOGPONMM_YH_ _IN  _W WWMRROE\n M_YH\n _BCUPGMMM\n_U_KKLXXEN_RT QWM CGMMM\n_U\nCKMNAZ_M 08TH UNTIL 30TH _YM\nUUE_GL__FBPMDZCYJONWM_PHDPYM_PYBFHHF_ONBITGMW_FW_MXM_FHDMHDPMFWMJCLMZ_PYHZYON_FS_M_YY_MZCHMJPLPWMYPJHZYHFZONJDF_G   FISHING   A_CDZ__PMWMP_PYEMJ_Y/__5_:206__069,__!\n!_1__08050!80_.\nALL TRANSITT__MJ_F_MLP_YPONONONNIII\nZCZC",
    "clean_text": "ZC_CMK\nF_\nPIWEWP UTC APR 26\nMONDOLFO RADIO\n\nCOASTALCWARNING NR. 204/26 APR 07\nADRIATIC SEA CHIOGGIA\nAREA BOUNDED BY FOLLOWING POINTS:\n45 12.824_._.\n_U_UU_GPOGPONMM_YH_ _IN _W WWMRROE\nM_YH\n_BCUPGMMM\n_U_KKLXXEN_RT QWM CGMMM\n_U\nCKMNAZ_M 08TH UNTIL 30TH _YM\nUUE_GL__FBPMDZCYJONWM_PHDPYM_PYBFHHF_ONBITGMW_FW_MXM_FHDMHDPMFWMJCLMZ_PYHZYON_FS_M_YY_MZCHMJPLPWMYPJHZYHFZONJDF_G FISHING A_CDZ__PMWMP_PYEMJ_Y/__5_:206__069,__!\n!_1__08050!80_.\nALL TRANSITT__MJ_F_MLP_YPONONONNIII\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-fallback",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Italy - Adriatic Sea and central Italian coast. Readable text says: Uue gl fbpmdzcyjonwm phdpym pybfhhf onbitgmw fw mxm fhdmhdpmfwmjclmz pyhzyon fs m yy mzchmjplpwmypjhzyhfzonjdf g fishing a cdz pmwmp pyemj y/ 5 :206 069, !. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Uue gl fbpmdzcyjonwm phdpym pybfhhf onbitgmw fw mxm fhdmhdpmfwmjclmz pyhzyon fs m yy mzchmjplpwmypjhzyhfzonjdf g fishing a cdz pmwmp pyemj y/ 5 :206 069, !",
      "Coastalcwarning nr. 204/26 apr 07",
      "Ckmnaz m 08th until 30th ym"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-09 02:20:16 AREA: T",
    "published_at": "2026-04-09 02:20:16",
    "area": "T",
    "message_id": "",
    "text": "ZCZCMC_FH_NFU__MG_H_MYM\n__O_G_ZWZS_ZMYWFZONON_ZJHSM_YF_M__BMUZTU_M__Y_\nADRIATIC SEA - TRIESTE -\nFROM 080600 UTC APR TO 081800 UTC H_\nUUEONGHYFPJHPM_HJMFJMFM_. (NOT OPERATKJAZCJ_JBD_KJB\n_\n__\n_SI\n _EWARE\n\nNNNN",
    "clean_text": "ZCZCMC_FH_NFU__MG_H_MYM\n__O_G_ZWZS_ZMYWFZONON_ZJHSM_YF_M__BMUZTU_M__Y_\nADRIATIC SEA - TRIESTE -\nFROM 080600 UTC APR TO 081800 UTC H_\nUUEONGHYFPJHPM_HJMFJMFM_. (NOT OPERATKJAZCJ_JBD_KJB\n_\n__\n_SI\n_EWARE\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. Readable text says: Uueonghyfpjhpm hjmfjmfm . (not operatkjazcj jbd kjb. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Uueonghyfpjhpm hjmfjmfm . (not operatkjazcj jbd kjb",
      "Adriatic sea - trieste -"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 13,
    "heading": "2026-04-09 02:18:08 AREA: T",
    "published_at": "2026-04-09 02:18:08",
    "area": "T",
    "message_id": "TA45",
    "text": "ZCZC TA45\n_0_1 UTC SEP 25\nOOSTENDERADIO MSI 31\n\nBE EEZ\nEXPLOSIVE LOS_ON THE LINE B_ET_MPRN 003-05.47E ONGWM_H_MOOPN 003-03.586_\nJDF_G IS REQUPE_F_NOT TO ANCHOR NOR TO FIS_ THE VICINIT__O\nNG_FFF_C  __UU_AXA_MH__\n071438 UTC APR \nOOSTENDERADFZM_JF\nGJP)\nUNDERWATERPIPELINE __PY_F_WPMPJHLSFJDPWML_EN BEACH \nAND 51-13.2+6_._51.385E\nMARKED WITH NORTH CARDINAL BUOY 'JDN'\nU_TERPIPELINE LOMBARDSIJWPJPLSFLSFJDPW_WEEN BEACH \nAND POS 51-10.17N 002-45.01E MARKPWONG_YVPW_H NORTH CARDISMLCZEM__1'\nSHIPPING IS REQUESTED NOT TO ANCHOR NOR TO FISH ABO_PM_NG_D_JONG____\nU\n\n\nU\nZCZC",
    "clean_text": "ZCZC TA45\n_0_1 UTC SEP 25\nOOSTENDERADIO MSI 31\n\nBE EEZ\nEXPLOSIVE LOS_ON THE LINE B_ET_MPRN 003-05.47E ONGWM_H_MOOPN 003-03.586_\nJDF_G IS REQUPE_F_NOT TO ANCHOR NOR TO FIS_ THE VICINIT__O\nNG_FFF_C __UU_AXA_MH__\n071438 UTC APR\nOOSTENDERADFZM_JF\nGJP)\nUNDERWATERPIPELINE __PY_F_WPMPJHLSFJDPWML_EN BEACH\nAND 51-13.2+6_._51.385E\nMARKED WITH NORTH CARDINAL BUOY 'JDN'\nU_TERPIPELINE LOMBARDSIJWPJPLSFLSFJDPW_WEEN BEACH\nAND POS 51-10.17N 002-45.01E MARKPWONG_YVPW_H NORTH CARDISMLCZEM__1'\nSHIPPING IS REQUESTED NOT TO ANCHOR NOR TO FISH ABO_PM_NG_D_JONG____\nU\n\nU\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 reports a pipeline-related hazard near 51-10.17N 002-45.01E with local restrictions for nearby traffic. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Jdf g is requpe f not to anchor nor to fis the vicinit o",
      "Shipping is requested not to anchor nor to fish abo pm ng d jong",
      "And pos 51-10.17n 002-45.01e markpwong yvpw h north cardismlczem 1'"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 16,
    "heading": "2026-04-09 02:13:23 AREA: T",
    "published_at": "2026-04-09 02:13:23",
    "area": "T",
    "message_id": "TA12",
    "text": "ZCZC TA12\n2_19)$ 375: .-4 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL SEAHYDROGRAPHICAL INSTRUMENT ESTABLISHED IN POS 51-_ -332=, 003-06,817E  UNMARKED\nSHIPPING IS REQUESH_WMHO PAAS_ANCE_ANAMZHMHZM_W_ZAW__A_T_ZCC__ _ 0_102_702 .7\n:\n=OOS_D_OS\nADDER_SI_ _, M5_MB_FJHZP_M_B_TGM_HPMWFMF__P\nMTLHHGBEGQ_KQ_GIZDSGRD_ZP8\n8__8+4_0_:*.2.'0+6___446_..+0/+_0__4_1=3_(1.(19(_-/$_1_3 :-_)3 )-68,__,=_9$03__:*_.)0._+2!206IBBQP_QBEQ_ THEM ABILITY TO MANOEUVRE SHIPPING F_SZ_M__GU_DZ__PM_WMP_PYEMJ_Y/__5_:_2=6___6.__!__$1__,)_!-0/0:9___8+$/___75 :__ZXA__H_ZA\n_\nF __EMG_H_MA_MONPZZQDUEK_I 543/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SVD IN FOLLZ_FM_ZJ_N\nH  C_XP G\nM___NIGKL_\n5117.2_  00302.007E\n5116.304N  00259.844E\nJHF_G IS REQUESTED _O_MHZM_DZYMZYMHZM_FJDMFMHDPM\nF_FFH_HNV__9_,'__\n_\n7_7__7__ZCZC",
    "clean_text": "ZCZC TA12\n2_19)$ 375: .-4 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL SEAHYDROGRAPHICAL INSTRUMENT ESTABLISHED IN POS 51-_ -332=, 003-06,817E UNMARKED\nSHIPPING IS REQUESH_WMHO PAAS_ANCE_ANAMZHMHZM_W_ZAW__A_T_ZCC__ _ 0_102_702 .7\n:\n=OOS_D_OS\nADDER_SI_ _, M5_MB_FJHZP_M_B_TGM_HPMWFMF__P\nMTLHHGBEGQ_KQ_GIZDSGRD_ZP8\n8__8+4_0_:*.2.'0+6___446_..+0/+_0__4_1=3_(1.(19(_-/$_1_3 :-_)3 )-68,__,=_9$03__:*_.)0._+2!206IBBQP_QBEQ_ THEM ABILITY TO MANOEUVRE SHIPPING F_SZ_M__GU_DZ__PM_WMP_PYEMJ_Y/__5_:_2=6___6.__!__$1__,)_!-0/0:9___8+$/___75 :__ZXA__H_ZA\n_\nF __EMG_H_MA_MONPZZQDUEK_I 543/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SVD IN FOLLZ_FM_ZJ_N\nH C_XP G\nM___NIGKL_\n5117.2_ 00302.007E\n5116.304N 00259.844E\nJHF_G IS REQUESTED _O_MHZM_DZYMZYMHZM_FJDMFMHDPM\nF_FFH_HNV__9_,'__\n_\n7_7__7__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": "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: Obstacles on the svd in follz fm zj n. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Obstacles on the svd in follz fm zj n",
      "Territorial seahydrographical instrument established in pos 51- -332 , 003-06,817e unmarked",
      "Jhf g is requested o mhzm dzymzymhzm fjdmfmhdpm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 18,
    "heading": "2026-04-09 02:12:17 AREA: T",
    "published_at": "2026-04-09 02:12:17",
    "area": "T",
    "message_id": "TA21",
    "text": "ZCZC TA21\n011011 UTC \nYONGZZJHPWPYWFZM_JF__ YUT_EONGHJJ_G__OORDHINDER \nSPECIAL PURPOSE BUOY OWFA, W. FL 5S, \n51-41.69N 002-449_:(.0*_)'!*$__U_ANCEL THIS MESSAGE: 151011 UTC APR 26\nNNNN",
    "clean_text": "ZCZC TA21\n011011 UTC\nYONGZZJHPWPYWFZM_JF__ YUT_EONGHJJ_G__OORDHINDER\nSPECIAL PURPOSE BUOY OWFA, W. FL 5S,\n51-41.69N 002-449_:(.0*_)'!*$__U_ANCEL THIS MESSAGE: 151011 UTC APR 26\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. Readable text says: Special purpose buoy owfa, w. fl 5s. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Special purpose buoy owfa, w. fl 5s"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 21,
    "heading": "2026-04-09 02:08:20 AREA: S",
    "published_at": "2026-04-09 02:08:20",
    "area": "S",
    "message_id": "SE01",
    "text": "ZCZC SE01\n082300 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nWIND: SOUTHEAJHMLZCHMHB_3KQGEBKSAXDOQOKQDELB(3__12_$WEST LATER_9_1___'JGCNHK_)8__)\n.6!.+6.*$+_06._!__._++_._!*!)!'!__\nLOCALLYVTDCWPYJHZYBJ_BONGJP_NORTHERN PART INCREASING 3 METER.\n\nFRIDAY:\n_F__EASTERN PART FIRST SOUTHEAST 6 TO 7, OTHERWISE WEST 5 TO 6,\nA_ATING.\nVISIBILITY/WEATHER: FIRST RAIN OR SHOWER WITH PARTLY POOR VISIBILITY,\nLATER COASTAL FOG PATCHES.\nSEA: NOR_HPASTERN PART FIRST 3 METER, DECREASING 1,5 METER.\n_9,,(((((((((((((((((((((((((((((___ZCZA2727\n031437 UTC APR\nOOSTENDERADIO MSI \n_YUTWY EEZONGZLQP_HMZMHDPMJPLPWM\nH U_B _G_PWARWMYTE\nSHIPPING REQUESTED NOT TO ANFD_QMZYMHZM_FJDMFMMYWFCJMZ.\n__M_BPHPYMYZCWMHDFJMZL_EC_\nNNNN",
    "clean_text": "ZCZC SE01\n082300 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMAN BIGHT\n\nTHURSDAY:\nWIND: SOUTHEAJHMLZCHMHB_3KQGEBKSAXDOQOKQDELB(3__12_$WEST LATER_9_1___'JGCNHK_)8__)\n.6!.+6.*$+_06._!__._++_._!*!)!'!__\nLOCALLYVTDCWPYJHZYBJ_BONGJP_NORTHERN PART INCREASING 3 METER.\n\nFRIDAY:\n_F__EASTERN PART FIRST SOUTHEAST 6 TO 7, OTHERWISE WEST 5 TO 6,\nA_ATING.\nVISIBILITY/WEATHER: FIRST RAIN OR SHOWER WITH PARTLY POOR VISIBILITY,\nLATER COASTAL FOG PATCHES.\nSEA: NOR_HPASTERN PART FIRST 3 METER, DECREASING 1,5 METER.\n_9,,(((((((((((((((((((((((((((((___ZCZA2727\n031437 UTC APR\nOOSTENDERADIO MSI\n_YUTWY EEZONGZLQP_HMZMHDPMJPLPWM\nH U_B _G_PWARWMYTE\nSHIPPING REQUESTED NOT TO ANFD_QMZYMHZM_FJDMFMMYWFCJMZ.\n__M_BPHPYMYZCWMHDFJMZL_EC_\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. This is a weather bulletin; readable sections mention fog, rain across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: first rain or shower with partly poor visibility",
      "Later coastal fog patches",
      "Weatherforecast for german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 24,
    "heading": "2026-04-09 02:05:54 AREA: S",
    "published_at": "2026-04-09 02:05:54",
    "area": "S",
    "message_id": "SA80",
    "text": "ZCZC SA80\nNCC-HAMBUYGON\nP_ PPMGVHXM_Y_\n_NAV. WARN. NO. 189\nEIDER ESTUAGE___N\nJGPFWPY_JMGSF_DHSMAQO_N_ECXQLO_:(_,+$,_3(__1_4,_(__79* )_*$_'.__U_ZDIIIIALL\nO\nOOOOO_OO_ZCZC",
    "clean_text": "ZCZC SA80\nNCC-HAMBUYGON\nP_ PPMGVHXM_Y_\n_NAV. WARN. NO. 189\nEIDER ESTUAGE___N\nJGPFWPY_JMGSF_DHSMAQO_N_ECXQLO_:(_,+$,_3(__1_4,_(__79* )_*$_'.__U_ZDIIIIALL\nO\nOOOOO_OO_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: Nav. warn. no. 189. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nav. warn. no. 189",
      "Ncc-hambuygon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-04-09 02:04:00 AREA: S",
    "published_at": "2026-04-09 02:04:00",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC-HAMBURG\n010630 KH_MYM\n_NAV. WARN. NO_. +_9,__06_.)!_$_\n_._+6_$_0*_06'_.+7.\n*_)62.+_943 1'.\nSURVEY OPERATIONS IN PROGRESS BY MV 'KOMMANDOR ORCA', CS 'MKFI8!,\n,_6+:2._+*!_!+.__6_:):,___,!!+_43'548:53$ .-,93=4-_8)856 $7_!_.+PYHFZJ_BERTH OF 1 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC SA82\nNCC-HAMBURG\n010630 KH_MYM\n_NAV. WARN. NO_. +_9,__06_.)!_$_\n_._+6_$_0*_06'_.+7.\n*_)62.+_943 1'.\nSURVEY OPERATIONS IN PROGRESS BY MV 'KOMMANDOR ORCA', CS 'MKFI8!,\n,_6+:2._+*!_!+.__6_:):,___,!!+_43'548:53$ .-,93=4-_8)856 $7_!_.+PYHFZJ_BERTH OF 1 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": "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 reports survey operations and implies local caution around the work area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey operations in progress by mv 'kommandor orca', cs 'mkfi8!",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-09 02:03:07 AREA: S",
    "published_at": "2026-04-09 02:03:07",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nNCC-HAMBURG\n020420 KH__YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XY_PJONGYZCWM_ZJFHFZM_HYYCPGM_ATINEE\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED_9,_9,,(((((((((((((((((((((((((((((((((((((_ZCZC",
    "clean_text": "ZCZC SA83\nNCC-HAMBURG\n020420 KH__YM\n_NAV. WARN. NO. 194\nGERMAN BIGHT. WEISSE BANK.\nSURVEY OPERATIONS BY MV 'FUGRO SYNERGY', CS 'C6XY_PJONGYZCWM_ZJFHFZM_HYYCPGM_ATINEE\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTED_9,_9,,(((((((((((((((((((((((((((((((((((((_ZCZC",
    "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 reports survey operations and implies local caution around the work area.",
    "decoded_highlights": [
      "Survey operations by mv 'fugro synergy', cs 'c6xy pjongyzcwm zjfhfzm hyycpgm atinee",
      "Restricted manoevrability during operations",
      "Berth of 2 nm requested 9, 9,,((((((((((((((((((((((((((((((((((((( zczc"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 27,
    "heading": "2026-04-09 02:02:11 AREA: S",
    "published_at": "2026-04-09 02:02:11",
    "area": "S",
    "message_id": "SA85",
    "text": "ZCZC SA85\nNCC-HAMBUY_ON\nUE MG_H_R 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHOREJL_H_XO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N \n_TRNWE\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQCPJHPW_NNNN",
    "clean_text": "ZCZC SA85\nNCC-HAMBUY_ON\nUE MG_H_R 26\nNAV. WARN. NO. 196\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHOREJL_H_XO SURVEY BY\nMV 'OCEAN RESEARCHER', CS 'GDLS' AROUND POSITION\n54-23,3N\n_TRNWE\nRESTRICTED MANOEUVRABILITY DURING OPERATIONS.\nSAFE BERTH OF 1 NM REQCPJHPW_NNNN",
    "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",
      "BARD OFFSHORE"
    ],
    "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: German bight. northwesterly owf 'bard offshorejl h xo survey by.",
    "decoded_highlights": [
      "German bight. northwesterly owf 'bard offshorejl h xo survey by",
      "Restricted manoeuvrability during operations",
      "Mv 'ocean researcher', cs 'gdls' around position"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 28,
    "heading": "2026-04-09 02:01:35 AREA: S",
    "published_at": "2026-04-09 02:01:35",
    "area": "S",
    "message_id": "SA91",
    "text": "ZCZC SA91\nNCC-HAMBURG\n060900 UTCMY_\n_NAV. WARN. NO. 203\nEASTERLY HELIGOLAND.\n 'HELGOLAND-O'  LIGHTBUOY  54-09M  007-53EM_ORARILY REMOVED.\nNNNN",
    "clean_text": "ZCZC SA91\nNCC-HAMBURG\n060900 UTCMY_\n_NAV. WARN. NO. 203\nEASTERLY HELIGOLAND.\n'HELGOLAND-O' LIGHTBUOY 54-09M 007-53EM_ORARILY REMOVED.\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": [
      "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: 'helgoland-o' lightbuoy 54-09m 007-53em orarily removed.",
    "decoded_highlights": [
      "'helgoland-o' lightbuoy 54-09m 007-53em orarily removed",
      "Easterly heligoland",
      "Nav. warn. no. 203"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 29,
    "heading": "2026-04-09 02:00:56 AREA: S",
    "published_at": "2026-04-09 02:00:56",
    "area": "S",
    "message_id": "SA92",
    "text": "ZCZC SA92\nNCC-HAMBURG\n08_ _MYM\n__\nNAV. WARN. NH_BMUNY\nEAST FRISIAN ISLANDS. NORDERNEY.\n'NORDNEY' LIGHTHOUSE 53-43N 007-14E\nCHARACTERS CHANGED TO: FL \n QTS\nNNNN",
    "clean_text": "ZCZC SA92\nNCC-HAMBURG\n08_ _MYM\n__\nNAV. WARN. NH_BMUNY\nEAST FRISIAN ISLANDS. NORDERNEY.\n'NORDNEY' LIGHTHOUSE 53-43N 007-14E\nCHARACTERS CHANGED TO: FL\nQTS\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": [
      "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: 'nordney' lighthouse 53-43n 007-14e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "'nordney' lighthouse 53-43n 007-14e",
      "East frisian islands. norderney",
      "Characters changed to: fl"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 30,
    "heading": "2026-04-09 02:00:14 AREA: S",
    "published_at": "2026-04-09 02:00:14",
    "area": "S",
    "message_id": "SPTNGPONQHAMBURG",
    "text": "ZCZC SPTNGPONQHAMBURG\n081330 UTC APR 26\nNAV. WARN. NO. 209\nGERMAN BIGHT. HELIGOLAND.\nCARDINALE BUOY 'DUENE-O'  54-10.8N 007-56.1E DPF_HO_GX__J__W0_QPKEBOO-.._04 26\nNNNN",
    "clean_text": "ZCZC SPTNGPONQHAMBURG\n081330 UTC APR 26\nNAV. WARN. NO. 209\nGERMAN BIGHT. HELIGOLAND.\nCARDINALE BUOY 'DUENE-O' 54-10.8N 007-56.1E DPF_HO_GX__J__W0_QPKEBOO-.._04 26\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": "operational notice",
    "subject_code": "P",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: Cardinale buoy 'duene-o' 54-10.8n 007-56.1e dpf ho gx j w0 qpkeboo-.. 04 26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cardinale buoy 'duene-o' 54-10.8n 007-56.1e dpf ho gx j w0 qpkeboo-.. 04 26",
      "German bight. heligoland",
      "Nav. warn. no. 209"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 31,
    "heading": "2026-04-09 02:00:14 AREA: T",
    "published_at": "2026-04-09 02:00:14",
    "area": "T",
    "message_id": "",
    "text": "ZDZCZC",
    "clean_text": "ZDZCZC",
    "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": 32,
    "heading": "2026-04-09 01:57:27 AREA: R",
    "published_at": "2026-04-09 01:57:27",
    "area": "R",
    "message_id": "RA23",
    "text": "ZCZC RA23\n082250 UTC _YM\n_LA MADDALENA RADIO\n\nCOSTAVURNAV NR. 041/26 APR 06\nSARDINIA  TYRRHENIAN LA MADDALEON_YZBM\nUPMGSHMZM\nEB_BUUEMGHZM\nU_XPMGSHMZM_ZBYBUUEONGSM_WWSPM\n__GHI_L_\n_MGYZ\nFWPJMJPY\nF_PJZM_DPSM\n_VHF/HF\n\n\nNNNN",
    "clean_text": "ZCZC RA23\n082250 UTC _YM\n_LA MADDALENA RADIO\n\nCOSTAVURNAV NR. 041/26 APR 06\nSARDINIA TYRRHENIAN LA MADDALEON_YZBM\nUPMGSHMZM\nEB_BUUEMGHZM\nU_XPMGSHMZM_ZBYBUUEONGSM_WWSPM\n__GHI_L_\n_MGYZ\nFWPJMJPY\nF_PJZM_DPSM\n_VHF/HF\n\nNNNN",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Sardinia tyrrhenian la maddaleon yzbm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sardinia tyrrhenian la maddaleon yzbm",
      "Costavurnav nr. 041/26 apr 06",
      "Upmgshmzm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 33,
    "heading": "2026-04-09 01:54:45 AREA: R",
    "published_at": "2026-04-09 01:54:45",
    "area": "R",
    "message_id": "RA21",
    "text": "ZCZC RA21\n082250 UTC APR 26\nLA MADDALENA RADIZON_N_ZJHSM_YFM\n _TU_MT_YM\n_U_V MG_P_PHHFZ_SMGSHONH_YYDPFMJPMHY_CFFM_ZJHM_VG\nH_SONGW_JM\nZ_  _ Y _LXPMM\nCBIXXIB_IXIIXIIX\nIB_L_UC_GGIFLBAPRIL 2026 FROM LOCAL TIME 07.00 UNTIL HALF AN HOUR AFTER SUNSET,\nAF_SMTARRIED OUT A FIRING MILITARY ACTIVITIES IN THE SEA AREA\nNEAR 'PIAN DI SPILLE' FIRING RANGE ON THE COAST NEAR TARQUINIA\n(VT), INCLUDING INSIDE THE AREAS DENOMINATED 'ECHO 304' _NMJGY\nY_JONGLZCWPWML_MHDPM_ZS_Z_FM_ZFHJ_A. 42 16'14''N 011 39'52''E,\nB_.67._3*6_**_.\n_ MP_J_PJJGP_O_GX_W QRSETSSN 011 37'52''E,\nD. 42 13'26''N 011 40'00''E,\nE. 42 15'02''N 011 40'45''E.\nTRANSIT, __$+__0.2.2!*__3_(4B3_2'_,8__9,,888(_\n+:+: 4-22\n082250 UTC APR 26\nLA MADDALENMYWFAZZ_AQ_KBXELKBBRLBGRXHKPOHK3_,1_62!!._.___66$0!.*0._._':___8(__06.04.2026 _59:\n7_/0MGSHMZMIFZ4):_:0__*:_(78(_CBHOO_HNPOHGE_O:_ ),2,_NZMSK_S_F__CHQP VHF/HF\nALL TRANSITING SHIPS BEWARE\n\nNNNN",
    "clean_text": "ZCZC RA21\n082250 UTC APR 26\nLA MADDALENA RADIZON_N_ZJHSM_YFM\n_TU_MT_YM\n_U_V MG_P_PHHFZ_SMGSHONH_YYDPFMJPMHY_CFFM_ZJHM_VG\nH_SONGW_JM\nZ_ _ Y _LXPMM\nCBIXXIB_IXIIXIIX\nIB_L_UC_GGIFLBAPRIL 2026 FROM LOCAL TIME 07.00 UNTIL HALF AN HOUR AFTER SUNSET,\nAF_SMTARRIED OUT A FIRING MILITARY ACTIVITIES IN THE SEA AREA\nNEAR 'PIAN DI SPILLE' FIRING RANGE ON THE COAST NEAR TARQUINIA\n(VT), INCLUDING INSIDE THE AREAS DENOMINATED 'ECHO 304' _NMJGY\nY_JONGLZCWPWML_MHDPM_ZS_Z_FM_ZFHJ_A. 42 16'14''N 011 39'52''E,\nB_.67._3*6_**_.\n_ MP_J_PJJGP_O_GX_W QRSETSSN 011 37'52''E,\nD. 42 13'26''N 011 40'00''E,\nE. 42 15'02''N 011 40'45''E.\nTRANSIT, __$+__0.2.2!*__3_(4B3_2'_,8__9,,888(_\n+:+: 4-22\n082250 UTC APR 26\nLA MADDALENMYWFAZZ_AQ_KBXELKBBRLBGRXHKPOHK3_,1_62!!._.___66$0!.*0._._':___8(__06.04.2026 _59:\n7_/0MGSHMZMIFZ4):_:0__*:_(78(_CBHOO_HNPOHGE_O:_ ),2,_NZMSK_S_F__CHQP VHF/HF\nALL TRANSITING SHIPS BEWARE\n\nNNNN",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Af smtarried out a firing military activities in the sea area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Af smtarried out a firing military activities in the sea area",
      "Ib l uc ggiflbapril 2026 from local time 07.00 until half an hour after sunset",
      "Near 'pian di spille' firing range on the coast near tarquinia"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-09 01:52:45 AREA: R",
    "published_at": "2026-04-09 01:52:45",
    "area": "R",
    "message_id": "RA20",
    "text": "ZCZC RA20\n082250 UTC APR 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 018/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA   LATINA\nDAYS 10,13,14,15,17,20,21,22,24,27,28 AND 29 APRIL 2026\nFROM LOCSMHF_PM\nCBP_MGHZM_ FB_MGWMZM_QYNWE AND 30 APRIL 2026,\nFROM LOCAL TIME 07.30 TO 23.00, __!''.)0._66!02.+:_.._!6__9,_!'!_6_./_!\n!_3.!._$0.*0.60._*_0_$-_NNNKBN3_33:3EL_JA_KJG_PBP\n_VERDE', _)+:202.)_._$0._+'_+_!._!$1_A. 41 27'16''N 012 40'55''E,\nB. 41 22'00''N 012 36'00''E,\nC. 41 14'50''N012 37'52'*P_ONGW_Q PYSRISSN 012 51'46''E,\nE. 41 16'00''N 012 55'00''E,\nF._41 20'30 012 55'50''E,\nG. 41 24'57''N 012 48*0:**_0_9,__1 27'16''N 012 40'55''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PRZDFLFHPWONONNIII_\nZCZC",
    "clean_text": "ZCZC RA20\n082250 UTC APR 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 018/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA LATINA\nDAYS 10,13,14,15,17,20,21,22,24,27,28 AND 29 APRIL 2026\nFROM LOCSMHF_PM\nCBP_MGHZM_ FB_MGWMZM_QYNWE AND 30 APRIL 2026,\nFROM LOCAL TIME 07.30 TO 23.00, __!''.)0._66!02.+:_.._!6__9,_!'!_6_./_!\n!_3.!._$0.*0.60._*_0_$-_NNNKBN3_33:3EL_JA_KJG_PBP\n_VERDE', _)+:202.)_._$0._+'_+_!._!$1_A. 41 27'16''N 012 40'55''E,\nB. 41 22'00''N 012 36'00''E,\nC. 41 14'50''N012 37'52'*P_ONGW_Q PYSRISSN 012 51'46''E,\nE. 41 16'00''N 012 55'00''E,\nF._41 20'30 012 55'50''E,\nG. 41 24'57''N 012 48*0:**_0_9,__1 27'16''N 012 40'55''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PRZDFLFHPWONONNIII_\nZCZC",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Transit, anchorage and fishing are przdflfhpwononniii. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, anchorage and fishing are przdflfhpwononniii",
      "Coastal warning 018/26 mar 31 (1 repetation)",
      "Days 10,13,14,15,17,20,21,22,24,27,28 and 29 april 2026"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 35,
    "heading": "2026-04-09 01:50:59 AREA: R",
    "published_at": "2026-04-09 01:50:59",
    "area": "R",
    "message_id": "RA18",
    "text": "ZCZC RA18\n082250 UTC APR 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 016/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA CIVITAVECCHIA (RM)\nDAYS 9,  _ Y H _XMCBIX_B_CTF_R___=_35_:_*_0+__ _2026 FROM LOCAL TIME 07.00 TO 23._+.__!''.)0._66!8/_+_-_!848,_ .8)85-46 -:58=8583' 8, 5_3 *0.60.06.8__:6)6_*.__!6__9,60_._+._$0._+*_.06._06\n0_06!._.), INCLUDING IN THE ZONE\nDENZ_FHPWM_JG_SN LOCWPWML_MHDPM_AJ_AKGRB_$1_A. 42 00'57''_$ __ISWYSSE,)_9._ _$_*_.__N 012 02'00''E,\nC. 41 55'00''N 011 57'30''E,\nD. 41 58'30''N 011 55'12''E,\n_E. 42 00'28''N 011 58'06''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\n\nNNNN",
    "clean_text": "ZCZC RA18\n082250 UTC APR 26\nLA MADDALENA RADIO\n\nCOASTAL WARNING 016/26 MAR 31 (1 REPETATION)\nTYRRHENIAN SEA CIVITAVECCHIA (RM)\nDAYS 9, _ Y H _XMCBIX_B_CTF_R___=_35_:_*_0+__ _2026 FROM LOCAL TIME 07.00 TO 23._+.__!''.)0._66!8/_+_-_!848,_ .8)85-46 -:58=8583' 8, 5_3 *0.60.06.8__:6)6_*.__!6__9,60_._+._$0._+*_.06._06\n0_06!._.), INCLUDING IN THE ZONE\nDENZ_FHPWM_JG_SN LOCWPWML_MHDPM_AJ_AKGRB_$1_A. 42 00'57''_$ __ISWYSSE,)_9._ _$_*_.__N 012 02'00''E,\nC. 41 55'00''N 011 57'30''E,\nD. 41 58'30''N 011 55'12''E,\n_E. 42 00'28''N 011 58'06''E.\nTRANSIT, ANCHORAGE AND FISHING ARE PROHIBITED.\n\nNNNN",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Transit, anchorage and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, anchorage and fishing are prohibited",
      "Coastal warning 016/26 mar 31 (1 repetation)",
      "0 06!. .), including in the zone"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-09 01:50:16 AREA: R",
    "published_at": "2026-04-09 01:50:16",
    "area": "R",
    "message_id": "RA17",
    "text": "ZCZC RA17\n,N_UHMG_H__YM\n_LA MADDALENA RADIO\n\nCOASTAL WARNING NR. 042/26 APR 07\nSARDINIAN SEA\nIN POSITION:\n38 36.2N - 006 38.4_3\n5_3 043'3,:3 9! - _79_ 8' 4309453$ 63))92 :6)8,$48:-) 285_ !)-'_8,_\n)8__5 -,$ '_)'*9,''._6*!_.*$!(__8KKENZ__ONNIII_\nZCZC",
    "clean_text": "ZCZC RA17\n,N_UHMG_H__YM\n_LA MADDALENA RADIO\n\nCOASTAL WARNING NR. 042/26 APR 07\nSARDINIAN SEA\nIN POSITION:\n38 36.2N - 006 38.4_3\n5_3 043'3,:3 9! - _79_ 8' 4309453$ 63))92 :6)8,$48:-) 285_ !)-'_8,_\n)8__5 -,$ '_)'*9,''._6*!_.*$!(__8KKENZ__ONNIII_\nZCZC",
    "resolved_station_name": "La Maddalena",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Tyrrhenian Sea and Sardinia approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "LA MADDALENA"
    ],
    "display_region_heading": "Italy - Tyrrhenian Sea and Sardinia approaches",
    "display_region_label": "La Maddalena, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Tyrrhenian Sea and Sardinia approaches. Readable text says: Coastal warning nr. 042/26 apr 07. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coastal warning nr. 042/26 apr 07",
      "Sardinian sea",
      "In position"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-09 01:39:36 AREA: Q",
    "published_at": "2026-04-09 01:39:36",
    "area": "Q",
    "message_id": "QE79",
    "text": "ZCZC QE79\nMALIN HEAD COAST GUARD EJM \nSE_CYFHPONGDF_DMJPJMLCSSPHFM_ZY__PHYPM_ ON_FJJCPWMHIIIK_\nUMG_H_MZM_PW_PJ 08 APRIL 20-_._)_._$0._0__+_*!__$0._86__9$ 2000 UTC ON WEDNESDAY 08 APRIL UNT_L _000 ULC OO_TH_RSDAY _HZM_D_X_\nN_RTH_AD_E_QP AT TIMES UNTIL \n_ZIFT_FMF_B_B_ST NO_\nH_TION\nBETWEEN 59 NORT_CA_HQF_J_PQ_WA_XTV\nGENERA\n SYNOPSIS\n_FAT EST 975\nO_N\nZKUSSMYHDPYMIC_Y_SE\n_N R__BHG_B_T FO_ THE NEXT 24 __974' =-)8$.:_!'._ _5XTUUEMGHM_AERN AD \nAT_C:\nNE WIND 12-22 KT, BELOWM_O 30 KT, TWRDS NOON DE RVON 4-14 KT_N BELOW VELEBIT TO 18 KT. 5-_76.++._!2._:6!_.+.9,*0._6_6.___.\n9_)6 $0_6.__62*._$0_6. \nJEA 2-3, IN VELEBIT STRAIT LOC 4, DECR TWRWJMHDPMPWMZW_H_AY. \nVIS 20 KM. \nMOSTLY CLEAR, LOC WITH MZWM_SZ_WE_\nCENTRAL ADRIATIX__O_TD_ WIND 12-24 KT, LOC TO 28 KT, DECC A_ZUND THE N_OMZM_F FMGVH_MV_HPYZZMHCYF_MZMUM\n _UMVKT, LOC TO 24 KT. OVERNIGHT \nWIND _FMHCYF_MZMVM\n__UMGVH_MG_DFSPMZMHDPOW\nKEBKEKB_A*,$ $3:4. \nSEA 2-3, OFFSHORE ON THE S-ERN AREA LOC POSS 4. \nVIS 20 KM. \nMOSTLY CLEAR,.__+_._!__._+2.$6.\n\nS-ERN ADR_AT_DPMZZMWP_YMB_M_F FMGN AFTARNOON TURNING ON NW 10-20 KT, LOC TO 24 KT. OVERNIGHT WIND AGAIN \nTURNING ON NE 10-20 KT.\nSEA 2-3, OFFSHORE LOC POSS 4. \nVIS 20 KM. \nMOSTLY CLEAR,._'+/._!__$ :)97$6.NONNIIIC_M_WESTCZMZY_PHF.)*!0$._'0*.60_\n906_02.!.''.+_$06.60*888_9\n5_9,__7_\n_29_00011. __/.9_6/$.\n7UEHHON_L_\n_MBPDJM__M_DBZH_D TO KEEP A SHARP_LOOV__ A_DM_P_II_T SIGHH_HJ_MALINHEAD COUARD _F 2_2_(_+894::_16\n\nDTG: 30 1040 UTC MARCH _\n_JM\nCNNC\n_\n__ZL_UD_B__JMYDPB_U\nZCZC",
    "clean_text": "ZCZC QE79\nMALIN HEAD COAST GUARD EJM\nSE_CYFHPONGDF_DMJPJMLCSSPHFM_ZY__PHYPM_ ON_FJJCPWMHIIIK_\nUMG_H_MZM_PW_PJ 08 APRIL 20-_._)_._$0._0__+_*!__$0._86__9$ 2000 UTC ON WEDNESDAY 08 APRIL UNT_L _000 ULC OO_TH_RSDAY _HZM_D_X_\nN_RTH_AD_E_QP AT TIMES UNTIL\n_ZIFT_FMF_B_B_ST NO_\nH_TION\nBETWEEN 59 NORT_CA_HQF_J_PQ_WA_XTV\nGENERA\nSYNOPSIS\n_FAT EST 975\nO_N\nZKUSSMYHDPYMIC_Y_SE\n_N R__BHG_B_T FO_ THE NEXT 24 __974' =-)8$.:_!'._ _5XTUUEMGHM_AERN AD\nAT_C:\nNE WIND 12-22 KT, BELOWM_O 30 KT, TWRDS NOON DE RVON 4-14 KT_N BELOW VELEBIT TO 18 KT. 5-_76.++._!2._:6!_.+.9,*0._6_6.___.\n9_)6 $0_6.__62*._$0_6.\nJEA 2-3, IN VELEBIT STRAIT LOC 4, DECR TWRWJMHDPMPWMZW_H_AY.\nVIS 20 KM.\nMOSTLY CLEAR, LOC WITH MZWM_SZ_WE_\nCENTRAL ADRIATIX__O_TD_ WIND 12-24 KT, LOC TO 28 KT, DECC A_ZUND THE N_OMZM_F FMGVH_MV_HPYZZMHCYF_MZMUM\n_UMVKT, LOC TO 24 KT. OVERNIGHT\nWIND _FMHCYF_MZMVM\n__UMGVH_MG_DFSPMZMHDPOW\nKEBKEKB_A*,$ $3:4.\nSEA 2-3, OFFSHORE ON THE S-ERN AREA LOC POSS 4.\nVIS 20 KM.\nMOSTLY CLEAR,.__+_._!__._+2.$6.\n\nS-ERN ADR_AT_DPMZZMWP_YMB_M_F FMGN AFTARNOON TURNING ON NW 10-20 KT, LOC TO 24 KT. OVERNIGHT WIND AGAIN\nTURNING ON NE 10-20 KT.\nSEA 2-3, OFFSHORE LOC POSS 4.\nVIS 20 KM.\nMOSTLY CLEAR,._'+/._!__$ :)97$6.NONNIIIC_M_WESTCZMZY_PHF.)*!0$._'0*.60_\n906_02.!.''.+_$06.60*888_9\n5_9,__7_\n_29_00011. __/.9_6/$.\n7UEHHON_L_\n_MBPDJM__M_DBZH_D TO KEEP A SHARP_LOOV__ A_DM_P_II_T SIGHH_HJ_MALINHEAD COUARD _F 2_2_(_+894::_16\n\nDTG: 30 1040 UTC MARCH _\n_JM\nCNNC\n_\n__ZL_UD_B__JMYDPB_U\nZCZC",
    "resolved_station_name": "Malin Head",
    "resolved_country": "Ireland",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North-west approaches to Ireland",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MALIN HEAD"
    ],
    "display_region_heading": "Ireland - North-west approaches to Ireland",
    "display_region_label": "Malin Head, Ireland",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Ireland - North-west approaches to Ireland. Readable text says: Jea 2-3, in velebit strait loc 4, decr twrwjmhdpmpwmzw h ay. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Jea 2-3, in velebit strait loc 4, decr twrwjmhdpmpwmzw h ay",
      "Central adriatix o td wind 12-24 kt, loc to 28 kt, decc a zund the n omzm f fmgvh mv hpyzzmhcyf mzmum",
      "Sea 2-3, offshore on the s-ern area loc poss 4"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 39,
    "heading": "2026-04-09 01:30:41 AREA: T",
    "published_at": "2026-04-09 01:30:41",
    "area": "T",
    "message_id": "",
    "text": "ZC_C__YY_NU  UP_GC_PR 26\nMSI 107/26\nNORTHSEA\nTHE FOLLOWIN__IFWMHCY_QBWT_G_GL_GN_\nWUAU_WJPM__ZZYWON\nH__Y_PG_M\n_POMIE HNI4 FOGHORN INOPERATIVE\nN\nH_YY_ZG_M\n_QWMWE HNF4 UNLIT\n\nHZSSWJPM_CJHMACFWON\nHU __UG_PRAPYMTE HZZ6 UNLIT\n52-22.6/, \n_11.3E HZX2 UNLIT\n52-11.4N 004-00.9E HZR FOGHORN INOPERATIVE\n\nCANCEL MSI 302/25\n\nNNNN",
    "clean_text": "ZC_C__YY_NU UP_GC_PR 26\nMSI 107/26\nNORTHSEA\nTHE FOLLOWIN__IFWMHCY_QBWT_G_GL_GN_\nWUAU_WJPM__ZZYWON\nH__Y_PG_M\n_POMIE HNI4 FOGHORN INOPERATIVE\nN\nH_YY_ZG_M\n_QWMWE HNF4 UNLIT\n\nHZSSWJPM_CJHMACFWON\nHU __UG_PRAPYMTE HZZ6 UNLIT\n52-22.6/,\n_11.3E HZX2 UNLIT\n52-11.4N 004-00.9E HZR FOGHORN INOPERATIVE\n\nCANCEL MSI 302/25\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": [
      "52-11.4n 004-00.9e hzr foghorn inoperative",
      "Pomie hni4 foghorn inoperative",
      "Northsea"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-04-09 01:29:57 AREA: P",
    "published_at": "2026-04-09 01:29:57",
    "area": "P",
    "message_id": "PA52",
    "text": "ZCZC PA52\n081444 U\n_ BNKQRON_SI 115-_9,__**.+_.\n'!0'29,*:6\n0__+PYHFZJMFM_YZYPJJML_MONCJ\nM___EAO_E_CBGMO_49''8,_ _**.+__.\n__JK_BZ_SNDKLB_NKCEXLB_0/_8_$-)_8!_____)_,4=4_3\n3':9453$ _6 _= -):02+.$_44 \nW BE BERTH REQUESTED\nNNNN",
    "clean_text": "ZCZC PA52\n081444 U\n_ BNKQRON_SI 115-_9,__**.+_.\n'!0'29,*:6\n0__+PYHFZJMFM_YZYPJJML_MONCJ\nM___EAO_E_CBGMO_49''8,_ _**.+__.\n__JK_BZ_SNDKLB_NKCEXLB_0/_8_$-)_8!_____)_,4=4_3\n3':9453$ _6 _= -):02+.$_44\nW BE BERTH REQUESTED\nNNNN",
    "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. Readable text says: W be berth requested. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "W be berth requested"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-09 01:29:07 AREA: O",
    "published_at": "2026-04-09 01:29:07",
    "area": "O",
    "message_id": "OA33",
    "text": "ZCZC OA33\nMAHTARADIO TELEMARTES\nSUMMARY OF DRILLING RFYJMC_WH_WO_ TUEMM_EGE_AR MJ__LECU_RKKKEHLB/.:_:____-_-,_+/-_.+(_DB_LB_HCQCRHA___E_GER__QGB_QN_(3_QPQPBSG_GGSLI_P_V_IC_N\n_PTM N_ZCZC",
    "clean_text": "ZCZC OA33\nMAHTARADIO TELEMARTES\nSUMMARY OF DRILLING RFYJMC_WH_WO_ TUEMM_EGE_AR MJ__LECU_RKKKEHLB/.:_:____-_-,_+/-_.+(_DB_LB_HCQCRHA___E_GER__QGB_QN_(3_QPQPBSG_GGSLI_P_V_IC_N\n_PTM N_ZCZC",
    "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: Mahtaradio telemartes. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mahtaradio telemartes"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 42,
    "heading": "2026-04-09 01:26:49 AREA: O",
    "published_at": "2026-04-09 01:26:49",
    "area": "O",
    "message_id": "OA35",
    "text": "ZCZC OA35\nNTM NO 51/26 \nREMOVAL OF WRECK FROMMSZMO_TA SAHMF\n_MQZ_GXO_FHONONZY_MMJMWMEZ_GUBU3_PYJM_WOZKRQB_ESSELS THHMHDPMYPX_MBWM__AJJA TA SANTA MA!1___/+9 8' _38,_ 43.9=3$.THIS WILL TAKE PLACE BETW__CPJW_M_CGHDM_YFBH_UAMGWM_YFSM\n _GHDM_YF_M\nUUEBONONGHDPM_ZYVM_FSSMLPM_YQFPMCHML_MWF_PYJMWM_SSMLPBKQQ1_5_ 5_3 =3''3)' '3- 3/043**_!!.2.*0(9,3,01__(8_(_*_'_UG__(0UOB_BJ_QMPOEN 01_77098,5 _)\n\nVESSELS ARE ADVISPWMHDHMZMQBIKEBDD\n_BRJA_(_______''3) 28)\n _ -))923$ 59.0_06._$0.+__D_UDK_AXO_Z___JMBBD_GC\nEMM_M\nDV\n_E  _ COOP_IATE WS\nN DD_X_ZHY_S_AM_BP,,__+_\n\nZCZC",
    "clean_text": "ZCZC OA35\nNTM NO 51/26\nREMOVAL OF WRECK FROMMSZMO_TA SAHMF\n_MQZ_GXO_FHONONZY_MMJMWMEZ_GUBU3_PYJM_WOZKRQB_ESSELS THHMHDPMYPX_MBWM__AJJA TA SANTA MA!1___/+9 8' _38,_ 43.9=3$.THIS WILL TAKE PLACE BETW__CPJW_M_CGHDM_YFBH_UAMGWM_YFSM\n_GHDM_YF_M\nUUEBONONGHDPM_ZYVM_FSSMLPM_YQFPMCHML_MWF_PYJMWM_SSMLPBKQQ1_5_ 5_3 =3''3)' '3- 3/043**_!!.2.*0(9,3,01__(8_(_*_'_UG__(0UOB_BJ_QMPOEN 01_77098,5 _)\n\nVESSELS ARE ADVISPWMHDHMZMQBIKEBDD\n_BRJA_(_______''3) 28)\n_ -))923$ 59.0_06._$0.+__D_UDK_AXO_Z___JMBBD_GC\nEMM_M\nDV\n_E _ COOP_IATE WS\nN DD_X_ZHY_S_AM_BP,,__+_\n\nZCZC",
    "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: Removal of wreck frommszmo ta sahmf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Removal of wreck frommszmo ta sahmf",
      "Vessels are advispwmhdhmzmqbikebdd"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 43,
    "heading": "2026-04-09 01:23:55 AREA: O",
    "published_at": "2026-04-09 01:23:55",
    "area": "O",
    "message_id": "OA32",
    "text": "ZCZC OA32\nNAVIGATINAL WARNING NR19/26\n\nLOST ANCHOR AND CHAIN.\nCHAIN IS LAID ALONG THE LINE FROM POINT A TO POINT B,\nFOUL AREA - KEEP A SAFE DISTANCE \n\nPOS_Z_M_DZ_M\nG_$9(_BDK_MK_NH_BP___I\nG___-_7 -,:_94 (POINT B) 35-57.231N 014096E\nOONNIIIK\nZCAMMZP_Y_NGH_M_M\nYT___T_ZSFHDMJC\nPEVAFHDFM_SHPWPXHI_RX_S__MHPYJONON_TM\nBK_HF__LMGHDPMJCY\nP_MFJ_J__MWFMHZMLPSJ_B_BDXB C___BRW_ EXCEPTD TO BE COMPL_TED BY SUNDEM__G_KJZTXV_XM_IZ_AJ-2*3_ 9=+!:.:_!'!-0..60_+__'__+PYHPWM\nP_DFSPMHZMYP_ZYWMJ\nLPWMWHMFMHDPMY_K_NG THE SURVEYS, THE U_\nPEM__JJPSMAF_M\n_B6482) WILL BE RESTRICTED IN HER ABILITY TO MANEUVER. VESJPSM_JHPYJMZ_PYHF_MFMHDPB____1_(3BEXXQ_U___L_G\nLV_NV_G_EN IT ISZZ_JWZZH_\nMASTERS AND OPERATORJVZ._0**0'*.60.2_!*02._00.(91_(3__*_975 -,$ ,\n!____5__-7589, -5 -!3 '033$_.___0_.7___=*_)_)_8_0__JHYC_HFZJM_FPMLEM\nD._\n _._+6./$\n _._)3._'_.__*.+6._.0+____BKEL_QB_LB__,_BZ__DW_QOQBKG_JBSNDUCH_WM_M_MHDPM_SHPJPMHPYYFHZYFSM_HPYJ_NN\nHI_\nZCZC",
    "clean_text": "ZCZC OA32\nNAVIGATINAL WARNING NR19/26\n\nLOST ANCHOR AND CHAIN.\nCHAIN IS LAID ALONG THE LINE FROM POINT A TO POINT B,\nFOUL AREA - KEEP A SAFE DISTANCE\n\nPOS_Z_M_DZ_M\nG_$9(_BDK_MK_NH_BP___I\nG___-_7 -,:_94 (POINT B) 35-57.231N 014096E\nOONNIIIK\nZCAMMZP_Y_NGH_M_M\nYT___T_ZSFHDMJC\nPEVAFHDFM_SHPWPXHI_RX_S__MHPYJONON_TM\nBK_HF__LMGHDPMJCY\nP_MFJ_J__MWFMHZMLPSJ_B_BDXB C___BRW_ EXCEPTD TO BE COMPL_TED BY SUNDEM__G_KJZTXV_XM_IZ_AJ-2*3_ 9=+!:.:_!'!-0..60_+__'__+PYHPWM\nP_DFSPMHZMYP_ZYWMJ\nLPWMWHMFMHDPMY_K_NG THE SURVEYS, THE U_\nPEM__JJPSMAF_M\n_B6482) WILL BE RESTRICTED IN HER ABILITY TO MANEUVER. VESJPSM_JHPYJMZ_PYHF_MFMHDPB____1_(3BEXXQ_U___L_G\nLV_NV_G_EN IT ISZZ_JWZZH_\nMASTERS AND OPERATORJVZ._0**0'*.60.2_!*02._00.(91_(3__*_975 -,$ ,\n!____5__-7589, -5 -!3 '033$_.___0_.7___=*_)_)_8_0__JHYC_HFZJM_FPMLEM\nD._\n_._+6./$\n_._)3._'_.__*.+6._.0+____BKEL_QB_LB__,_BZ__DW_QOQBKG_JBSNDUCH_WM_M_MHDPM_SHPJPMHPYYFHZYFSM_HPYJ_NN\nHI_\nZCZC",
    "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: Lost anchor and chain. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lost anchor and chain",
      "B6482) will be restricted in her ability to maneuver. vesjpsm jhpyjmz pyhf mfmhdpb 1 (3bexxq u l g",
      "Lpwmwhmfmhdpmy k ng the surveys, the u"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-09 01:12:05 AREA: N",
    "published_at": "2026-04-09 01:12:05",
    "area": "N",
    "message_id": "NA43",
    "text": "ZCZC NA43\n,YKUEABMOTB_\nP_\nNORWEGIAMMN\nWARNING 137/2026\n  CHART 35\n  AREA HUSTADVIKA OG FUGLELEIA\nSTOPLAN, NEDRE LIGHT 62-58.17N 007-00.64E IS UNLIT.\nNNNN",
    "clean_text": "ZCZC NA43\n,YKUEABMOTB_\nP_\nNORWEGIAMMN\nWARNING 137/2026\nCHART 35\nAREA HUSTADVIKA OG FUGLELEIA\nSTOPLAN, NEDRE LIGHT 62-58.17N 007-00.64E IS UNLIT.\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": [
      "HUSTADVIKA"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Norway - Norwegian Sea and central Norwegian coast. Readable text says: Stoplan, nedre light 62-58.17n 007-00.64e is unlit.",
    "decoded_highlights": [
      "Stoplan, nedre light 62-58.17n 007-00.64e is unlit",
      "Ykueabmotb",
      "Norwegiammn"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-09 01:11:15 AREA: N",
    "published_at": "2026-04-09 01:11:15",
    "area": "N",
    "message_id": "NB90",
    "text": "ZCZC NB90\n081857 UTC APR 26\nNORWEGIAN GALE WARNING NO 243\n  MAALOEY - SVINOEY\nWEDNESDAY EVENING SOUTH GALE FORCE 8, OCCASIONALLY SEVERE GALE FORCE 9, DECREASING THURSDAYOREORENOON. FROM THURSDAY AFTERNOON SOUTHERLY NEAR GALE FORCE 7, OCCASIONALLY GALE FORCE 8, DECREASING _N THE EVENING.\n\nNNNN",
    "clean_text": "ZCZC NB90\n081857 UTC APR 26\nNORWEGIAN GALE WARNING NO 243\nMAALOEY - SVINOEY\nWEDNESDAY EVENING SOUTH GALE FORCE 8, OCCASIONALLY SEVERE GALE FORCE 9, DECREASING THURSDAYOREORENOON. FROM THURSDAY AFTERNOON SOUTHERLY NEAR GALE FORCE 7, OCCASIONALLY GALE FORCE 8, DECREASING _N THE EVENING.\n\nNNNN",
    "resolved_station_name": "Orlandet",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Norwegian Sea and central Norwegian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NORWEGIAN GALE WARNING"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - Norwegian Sea and central Norwegian coast. Readable text says: Wednesday evening south gale force 8, occasionally severe gale force 9, decreasing thursdayoreorenoon. from thursday afternoon southerly near gale force 7, occasionally gale force 8, decreasing n the evening.",
    "decoded_highlights": [
      "Wednesday evening south gale force 8, occasionally severe gale force 9, decreasing thursdayoreorenoon. from thursday afternoon southerly near gale force 7, occasionally gale force 8, decreasing n the evening",
      "Norwegian gale warning no 243",
      "Maaloey - svinoey"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 48,
    "heading": "2026-04-09 01:10:10 AREA: N",
    "published_at": "2026-04-09 01:10:10",
    "area": "N",
    "message_id": "NB91",
    "text": "ZCZC NB91\n082144 UTC APR 26\nNORWEGIAN GALE WARNING NO. GX389/2026\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 8.4.2026 AT 22 UTC\nEAST-TAMPEN: S SEV GALE 9 FM WED 22UTC TO FRI 02UTC\nSTOREGGAGE_ SEVSEV GALE 9 FM WED 22UTC TO FRI 04UTC\nFROEYA BANK: SW OCC GALE 8 FM THU 00UTC TO 10UTC\nSTOREGGA-HALTEN BANK TO GREENWICH MERIDIAN: S GALE 8 FM THU 02UTC TO FRI 01UTC\n\nNNNN",
    "clean_text": "ZCZC NB91\n082144 UTC APR 26\nNORWEGIAN GALE WARNING NO. GX389/2026\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 8.4.2026 AT 22 UTC\nEAST-TAMPEN: S SEV GALE 9 FM WED 22UTC TO FRI 02UTC\nSTOREGGAGE_ SEVSEV GALE 9 FM WED 22UTC TO FRI 04UTC\nFROEYA BANK: SW OCC GALE 8 FM THU 00UTC TO 10UTC\nSTOREGGA-HALTEN BANK TO GREENWICH MERIDIAN: S GALE 8 FM THU 02UTC TO FRI 01UTC\n\nNNNN",
    "resolved_station_name": "Orlandet",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Norwegian Sea and central Norwegian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NORWEGIAN GALE WARNING"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - Norwegian Sea and central Norwegian coast. Readable text says: East-tampen: s sev gale 9 fm wed 22utc to fri 02utc.",
    "decoded_highlights": [
      "East-tampen: s sev gale 9 fm wed 22utc to fri 02utc",
      "Storeggage sevsev gale 9 fm wed 22utc to fri 04utc",
      "Froeya bank: sw occ gale 8 fm thu 00utc to 10utc"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 50,
    "heading": "2026-04-09 01:01:42 AREA: M",
    "published_at": "2026-04-09 01:01:42",
    "area": "M",
    "message_id": "",
    "text": "ZCZC MA_UH_NH_UPEBZVBBYM\n_DANFJDMCELBKLBX_\nDENMARK. KATTEGAT. SKAGEN INNER HARBOUR.9,_0_6_0_)__1,___.(_I_RS_GTHX_\nGA-)__,__4 0-''-_3.\nNNNN",
    "clean_text": "ZCZC MA_UH_NH_UPEBZVBBYM\n_DANFJDMCELBKLBX_\nDENMARK. KATTEGAT. SKAGEN INNER HARBOUR.9,_0_6_0_)__1,___.(_I_RS_GTHX_\nGA-)__,__4 0-''-_3.\nNNNN",
    "display_region_heading": "Unresolved B1 code M",
    "display_region_label": "B1 code M",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code M. Readable text says: Danfjdmcelbklbx. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Danfjdmcelbklbx"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 51,
    "heading": "2026-04-09 00:56:21 AREA: L",
    "published_at": "2026-04-09 00:56:21",
    "area": "L",
    "message_id": "LA19",
    "text": "ZCZC LA19\n072028 UTC _YM\n_NORWEGIAN NAV. WARNING 141/2026\n  CHART 28\n  AREA FROEYSJOEEN N. GULEN\nTER__A NEDRE LEADING LIGHT 61-45.12N 005-08.40E IS UNLIT.\n_\n\n\n\n_+:+: )-17\n051236 UTC APR 26\nDANISH NAV WARN 189/26\nDENMARK. K__AT. SKAGEN INNER HARBOUR.\nEHY_AMFM_ZJ\n_MHCYP_ 010-35.5E\nCLOSED FOR PASSAGE.\nNONNI_I_ZCA_MS_\n_EQPIPE UTC MAR 26\nDANISH NAV WRHM_XWY\n DENMARK LIIM FIOYWMS_MYPDE\n2M DH ESH OERVED\n5_-_,_0___-1/.51EV_!+0)___1\n8_75+\n\n6_=_\n_\n\n=___+:+:.__\n __1020 UTC MAR 26\nDANISH NAV WARN 154/26\nDENMARK. LIIM FIORD. LAGSTAR RENDE.\nDPHD_M\nP__GBMZLJPY_PWMLPH_PPON\nH_KDMXLBN_:.__,+/D_KD_ALO_:.(._,_9,,(((((((((((((((((__7\n7_77_\n7__+:+: ._25\n0821_,8,_ ,9. GX389/2026\nISSUED BY NORWEH_METEOROLOGICAL IJHFHCHPM\nFB_BUUEMGHM_UTC\nFISHER: SE GALE 8 FM THU 18UTC TO FRI 00UTC\n\nNNNN",
    "clean_text": "ZCZC LA19\n072028 UTC _YM\n_NORWEGIAN NAV. WARNING 141/2026\nCHART 28\nAREA FROEYSJOEEN N. GULEN\nTER__A NEDRE LEADING LIGHT 61-45.12N 005-08.40E IS UNLIT.\n_\n\n_+:+: )-17\n051236 UTC APR 26\nDANISH NAV WARN 189/26\nDENMARK. K__AT. SKAGEN INNER HARBOUR.\nEHY_AMFM_ZJ\n_MHCYP_ 010-35.5E\nCLOSED FOR PASSAGE.\nNONNI_I_ZCA_MS_\n_EQPIPE UTC MAR 26\nDANISH NAV WRHM_XWY\nDENMARK LIIM FIOYWMS_MYPDE\n2M DH ESH OERVED\n5_-_,_0___-1/.51EV_!+0)___1\n8_75+\n\n6_=_\n_\n\n=___+:+:.__\n__1020 UTC MAR 26\nDANISH NAV WARN 154/26\nDENMARK. LIIM FIORD. LAGSTAR RENDE.\nDPHD_M\nP__GBMZLJPY_PWMLPH_PPON\nH_KDMXLBN_:.__,+/D_KD_ALO_:.(._,_9,,(((((((((((((((((__7\n7_77_\n7__+:+: ._25\n0821_,8,_ ,9. GX389/2026\nISSUED BY NORWEH_METEOROLOGICAL IJHFHCHPM\nFB_BUUEMGHM_UTC\nFISHER: SE GALE 8 FM THU 18UTC TO FRI 00UTC\n\nNNNN",
    "resolved_station_name": "Rogaland Radio",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "South-west Norwegian coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "NORWEGIAN NAV WARNING"
    ],
    "display_region_heading": "Norway - South-west Norwegian coast",
    "display_region_label": "Rogaland Radio, Norway",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Norway - South-west Norwegian coast. Readable text says: Ter a nedre leading light 61-45.12n 005-08.40e is unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ter a nedre leading light 61-45.12n 005-08.40e is unlit",
      "Fisher: se gale 8 fm thu 18utc to fri 00utc",
      "Norwegian nav. warning 141/2026"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 52,
    "heading": "2026-04-09 00:55:49 AREA: L",
    "published_at": "2026-04-09 00:55:49",
    "area": "L",
    "message_id": "LA20",
    "text": "ZCZC LA20\n072028 UTCMYM\n__ONGZYUP_FM\n_ 142/2026\n  CHART 28\n  AREA FROEYSJOEEN N. GULEN\nTERNOEYNA KHNPR LEADING LIGHT 61_8N 005-08.36E IS UNLIT.\nNNNN",
    "clean_text": "ZCZC LA20\n072028 UTCMYM\n__ONGZYUP_FM\n_ 142/2026\nCHART 28\nAREA FROEYSJOEEN N. GULEN\nTERNOEYNA KHNPR LEADING LIGHT 61_8N 005-08.36E IS UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code L. Readable text says: Ternoeyna khnpr leading light 61 8n 005-08.36e is unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ternoeyna khnpr leading light 61 8n 005-08.36e is unlit",
      "Area froeysjoeen n. gulen"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-09 00:55:21 AREA: L",
    "published_at": "2026-04-09 00:55:21",
    "area": "L",
    "message_id": "LA21",
    "text": "ZCZC LA21\n080703 UTC APR 26\nDANISH NAV WARN 194/26\nDENMARK.\nDGPS-STATION SKAGEN 296__=__$-_,_XKRE_LO/:,_/_,_60'!)$,_\n\nNNNN",
    "clean_text": "ZCZC LA21\n080703 UTC APR 26\nDANISH NAV WARN 194/26\nDENMARK.\nDGPS-STATION SKAGEN 296__=__$-_,_XKRE_LO/:,_/_,_60'!)$,_\n\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code L. Readable text says: Danish nav warn 194/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Danish nav warn 194/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 54,
    "heading": "2026-04-09 00:54:53 AREA: L",
    "published_at": "2026-04-09 00:54:53",
    "area": "L",
    "message_id": "",
    "text": "ZCZC LA__W\nPIQPTE UTC APR 26\nNOR_E_IAN N_\n_NING 144_6\n  CHART 23\n,.._60_$_0'_0__+209,_'0*!.'!_$__\n_0.59N 004-53.37E IS UNLIT.\nNNNN",
    "clean_text": "ZCZC LA__W\nPIQPTE UTC APR 26\nNOR_E_IAN N_\n_NING 144_6\nCHART 23\n,.._60_$_0'_0__+209,_'0*!.'!_$__\n_0.59N 004-53.37E IS UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code L. Readable text says: Piqpte utc apr 26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Piqpte utc apr 26",
      "0.59n 004-53.37e is unlit"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 55,
    "heading": "2026-04-09 00:51:48 AREA: L",
    "published_at": "2026-04-09 00:51:48",
    "area": "L",
    "message_id": "LB27",
    "text": "ZCZC LB27\n081857 UTC APR 26\nNORWEGIAN GALE WARNING NO 2439_\n._*_29,_$:6*_3._+6!_/(_3 7, THURSDEM_ZYPZZMF_YPJFM_S_M_ZYXPM\nF_MGSHPMHDCYJW_MP\nP__M_SIONALLY STRONG GALE FORCE 9.\n  OBRESTAD - KY_ZPEO_M LATE _ITEQ_A_P\nPM__SBUTHAST NEAR GL_M_ZY_PM\nCMGSHPMH_C__EM_ZYFSM__YPJK_MSS_M_Z_TNBN9__34)6 '549,_ _-)3 !94:3 9.\n  KARMOEY - SLHHPYZP_ONUPWPJW_MP\nP__MJZCHDMPYM_SPM_ZYXPM\nC\nEK__OD_XE_IKP__EGEB_5=KQGEB_SIONALLY GALE FORCE 8. IMHDPMP_PM_VZF__FZSS_MJDEARBEK_N__U_JU_ZCZC",
    "clean_text": "ZCZC LB27\n081857 UTC APR 26\nNORWEGIAN GALE WARNING NO 2439_\n._*_29,_$:6*_3._+6!_/(_3 7, THURSDEM_ZYPZZMF_YPJFM_S_M_ZYXPM\nF_MGSHPMHDCYJW_MP\nP__M_SIONALLY STRONG GALE FORCE 9.\nOBRESTAD - KY_ZPEO_M LATE _ITEQ_A_P\nPM__SBUTHAST NEAR GL_M_ZY_PM\nCMGSHPMH_C__EM_ZYFSM__YPJK_MSS_M_Z_TNBN9__34)6 '549,_ _-)3 !94:3 9.\nKARMOEY - SLHHPYZP_ONUPWPJW_MP\nP__MJZCHDMPYM_SPM_ZYXPM\nC\nEK__OD_XE_IKP__EGEB_5=KQGEB_SIONALLY GALE FORCE 8. IMHDPMP_PM_VZF__FZSS_MJDEARBEK_N__U_JU_ZCZC",
    "resolved_station_name": "Orlandet",
    "resolved_country": "Norway",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Norwegian Sea and central Norwegian coast",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "NORWEGIAN GALE WARNING"
    ],
    "display_region_heading": "Norway - Norwegian Sea and central Norwegian coast",
    "display_region_label": "Orlandet, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - Norwegian Sea and central Norwegian coast. Readable text says: Ek od xe ikp egeb 5 kqgeb sionally gale force 8. imhdpmp pm vzf fzss mjdearbek n u ju zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ek od xe ikp egeb 5 kqgeb sionally gale force 8. imhdpmp pm vzf fzss mjdearbek n u ju zczc",
      "P m sionally strong gale force 9",
      "Norwegian gale warning no 2439"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-09 00:51:19 AREA: L",
    "published_at": "2026-04-09 00:51:19",
    "area": "L",
    "message_id": "LA15",
    "text": "ZCZC LA15\n082006 UTC APR 26\nDANISH NAV WARN 195/269,_20+__=_'(-_344-(. HIRTSHALS HARBOUR.\n_*_6)+_62.$2.'!_*_96 57-36.1N\n009-57.1E UNLIT.\nNNNN",
    "clean_text": "ZCZC LA15\n082006 UTC APR 26\nDANISH NAV WARN 195/269,_20+__=_'(-_344-(. HIRTSHALS HARBOUR.\n_*_6)+_62.$2.'!_*_96 57-36.1N\n009-57.1E UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code L. 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": 57,
    "heading": "2026-04-09 00:50:10 AREA: L",
    "published_at": "2026-04-09 00:50:10",
    "area": "L",
    "message_id": "LB28",
    "text": "ZCZC LB28\n082144 UT_ KONXQONNORW_\nZ\n__WARNINGVNZ_GX389/202\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 8.4.2026 AT 22 UTC\nFISHER: SE GALE 8 FM THU 18UTC TO F_I 00UT_\nSOUTH UTSIIE: SE SEV GALE 9 FM THU 07UTC TO FRI 03UTC\nNORTH UTSIRE: S SEV GALE 9 FM THU 04UTC TO FRI 02UTC\nVF___O FM WED -_____.__._6!_\n_\n3-'5-TAMPEN: S SEV GALE 9 FM WED 22UTC T_M_YF_UTC\nNONNIII_\n_ZCZC",
    "clean_text": "ZCZC LB28\n082144 UT_ KONXQONNORW_\nZ\n__WARNINGVNZ_GX389/202\nISSUED BY NORWEGIAN METEOROLOGICAL INSTITUTE 8.4.2026 AT 22 UTC\nFISHER: SE GALE 8 FM THU 18UTC TO F_I 00UT_\nSOUTH UTSIIE: SE SEV GALE 9 FM THU 07UTC TO FRI 03UTC\nNORTH UTSIRE: S SEV GALE 9 FM THU 04UTC TO FRI 02UTC\nVF___O FM WED -_____.__._6!_\n_\n3-'5-TAMPEN: S SEV GALE 9 FM WED 22UTC T_M_YF_UTC\nNONNIII_\n_ZCZC",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code L. Readable text says: Fisher: se gale 8 fm thu 18utc to f i 00ut. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Fisher: se gale 8 fm thu 18utc to f i 00ut",
      "South utsiie: se sev gale 9 fm thu 07utc to fri 03utc",
      "North utsire: s sev gale 9 fm thu 04utc to fri 02utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-09 00:42:59 AREA: K",
    "published_at": "2026-04-09 00:42:59",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\nAVURNAV CHERBOURG 26/26\nDOVER - DST MANCHE EST\nAIDS TO\n_AVIGATION CHANGPJ\nNGFJIII_ANSMITTER OUT OF SERVICE - LIGHT UNLIT\nBOUEE BASSURELLE\n50-32.80N 000-57.80E\nNAVIGATE WITH CAUTION\nNNNN",
    "clean_text": "ZCZC KA26\nAVURNAV CHERBOURG 26/26\nDOVER - DST MANCHE EST\nAIDS TO\n_AVIGATION CHANGPJ\nNGFJIII_ANSMITTER OUT OF SERVICE - LIGHT UNLIT\nBOUEE BASSURELLE\n50-32.80N 000-57.80E\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 50-32.80N 000-57.80E.",
    "decoded_highlights": [
      "Ngfjiii ansmitter out of service - light unlit",
      "Avurnav cherbourg 26/26",
      "Dover - dst manche est"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 59,
    "heading": "2026-04-09 00:41:46 AREA: K",
    "published_at": "2026-04-09 00:41:46",
    "area": "K",
    "message_id": "KA28",
    "text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nHG_LYVJO_G_LSPMS_FO_G_CD-___4_)9_____9_.$__==5_(39H_HFSM_CYHDPYMZHF_PONGZM_FJD__TRA_LING,._260_73_ZCZI GB28\nGALE WAR__M_PWPQ__K\nFF\nHK3__KXABMD_Z__K3_1*__Q_PGUCEASED\nENNNN",
    "clean_text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nHG_LYVJO_G_LSPMS_FO_G_CD-___4_)9_____9_.$__==5_(39H_HFSM_CYHDPYMZHF_PONGZM_FJD__TRA_LING,._260_73_ZCZI GB28\nGALE WAR__M_PWPQ__K\nFF\nHK3__KXABMD_Z__K3_1*__Q_PGUCEASED\nENNNN",
    "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": "regional-context",
    "resolved_match_terms": [
      "CAYEUX SUR MER",
      "WIGHT LARGE CAYEUX SUR MER"
    ],
    "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: Gale war m pwpq k. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale war m pwpq k",
      "Wight - large cayeux-sur-mer"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-09 00:41:12 AREA: K",
    "published_at": "2026-04-09 00:41:12",
    "area": "K",
    "message_id": "KA29",
    "text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLFIK\n_DHMLCZEM_MGSF_DHMCSFHONGLEZEM_FY_MJCWON\nH _U BUG_PWAQUMP_GPONG\nF_H_M_FHAUTION\nNNNN",
    "clean_text": "ZCZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLFIK\n_DHMLCZEM_MGSF_DHMCSFHONGLEZEM_FY_MJCWON\nH _U BUG_PWAQUMP_GPONG\nF_H_M_FHAUTION\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 says: Avurnav cherbourg 029/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav cherbourg 029/26",
      "Dover - dst manche est",
      "Aids to navigation changes"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-09 00:40:16 AREA: K",
    "published_at": "2026-04-09 00:40:16",
    "area": "K",
    "message_id": "KA40",
    "text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nWIGHT - D82\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\nFROM 110730 UHCMYM\n_TO 11 _MG_H_MYM\n_AREA BOUNDED BY:\n49-59.92N \n_K UQNHC_NFF_ARPMUI__ \nN_GGK_HCZ_NEACKNH)9_(._0(_:_9-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n2. CANCEL THIS MSG VQQQTPP UTC APR 26\nNNNN",
    "clean_text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nWIGHT - D82\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\nFROM 110730 UHCMYM\n_TO 11 _MG_H_MYM\n_AREA BOUNDED BY:\n49-59.92N\n_K UQNHC_NFF_ARPMUI__\nN_GGK_HCZ_NEACKNH)9_(._0(_:_9-34.72N 000-55.12W\nNAVIGATE WITH CAUTION\n2. CANCEL THIS MSG VQQQTPP UTC APR 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. Readable text says: 1. firing exercise. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. firing exercise",
      "2. cancel this msg vqqqtpp utc apr 26",
      "Avurnav cherbourg 40/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 62,
    "heading": "2026-04-09 00:29:08 AREA: J",
    "published_at": "2026-04-09 00:29:08",
    "area": "J",
    "message_id": "JA12",
    "text": "ZCZC JA12\n18160 _(__(_)__0'__\n__/ -+:_$___(*_06.)'_!__+888(_$43$_8,_\nMAINTENAN_GRESS IN _GID__PI\nUVPGVLCUMOE\n55-43.7N 020-05.2E\n=5_43.7_ _21-_5.7_-*E\n55-_3.6N 021-05.5E\n55-_3.5N 02_-0_.4E_ESSELS ARE ADV\n_O__\nQ\nZKK__KNW_TQ_WYPW_F_SELS MUSTM_AJM_IIIINIMUM\n_N WO_ARE IN PRO_S.\nALL _JS_RO _C\n__N_7___(_BU_B_DB_V__ZTZ___E__C_KOB_OBK___WA_WJ__AF_XM__20140_222___-_279__ __,_(_0_(-___SGUN__\n__ZCZC",
    "clean_text": "ZCZC JA12\n18160 _(__(_)__0'__\n__/ -+:_$___(*_06.)'_!__+888(_$43$_8,_\nMAINTENAN_GRESS IN _GID__PI\nUVPGVLCUMOE\n55-43.7N 020-05.2E\n=5_43.7_ _21-_5.7_-*E\n55-_3.6N 021-05.5E\n55-_3.5N 02_-0_.4E_ESSELS ARE ADV\n_O__\nQ\nZKK__KNW_TQ_WYPW_F_SELS MUSTM_AJM_IIIINIMUM\n_N WO_ARE IN PRO_S.\nALL _JS_RO _C\n__N_7___(_BU_B_DB_V__ZTZ___E__C_KOB_OBK___WA_WJ__AF_XM__20140_222___-_279__ __,_(_0_(-___SGUN__\n__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: Uvpgvlcumoe. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Uvpgvlcumoe"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 63,
    "heading": "2026-04-09 00:28:13 AREA: J",
    "published_at": "2026-04-09 00:28:13",
    "area": "J",
    "message_id": "JA26",
    "text": "ZCZC JA26\n \n_NAV WARN 050/+*=5\nSOU_MLSHF_ONTJBMP_ E__R_IS\nJ_\nP U _G_H_M_\nIN AREA TPM_ZYYFS_MW__PYZCJMHZMJDX__F_MLY_YU_N\nHHC_MPPN 020-08.00E 55-20.00N 020-25.00E\n55-07.60N 020-25._0E 55-07.60N _PW_APIMPPE\nCAN_P_V_AGE 302200 UTC APR\nNNNN",
    "clean_text": "ZCZC JA26\n\n_NAV WARN 050/+*=5\nSOU_MLSHF_ONTJBMP_ E__R_IS\nJ_\nP U _G_H_M_\nIN AREA TPM_ZYYFS_MW__PYZCJMHZMJDX__F_MLY_YU_N\nHHC_MPPN 020-08.00E 55-20.00N 020-25.00E\n55-07.60N 020-25._0E 55-07.60N _PW_APIMPPE\nCAN_P_V_AGE 302200 UTC APR\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: Hhc mppn 020-08.00e 55-20.00n 020-25.00e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Hhc mppn 020-08.00e 55-20.00n 020-25.00e",
      "55-07.60n 020-25. 0e 55-07.60n pw apimppe"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 65,
    "heading": "2026-04-09 00:26:02 AREA: Q",
    "published_at": "2026-04-09 00:26:02",
    "area": "Q",
    "message_id": "",
    "text": "ZCZC Q__UFO__ H\n__OMGCHXM_YONONG_S__YWM\nM_Y_M_HUT_EO_ONGJA__W_Q_E_B_KQ\nSHIPS EXERCISES 312100 UTC MAR THRU 30__0MGVHUP_BKEKBDN_4(__1__84_0_+.*$!__ _4-117\n55-54.00N 019-03.00E 55-30.00M_PAQTMPPE\n55-_6_,!_,=,.50N 020-06.00E\n54-57.50N 019-55.00E 54-50.,G_QOATPMPPE\n54-50.00__19-25.00E\nCANCEL THI_M_PJE_QN\n_U_PP UTC APR\nN_NN\n\n_ZCZC",
    "clean_text": "ZCZC Q__UFO__ H\n__OMGCHXM_YONONG_S__YWM\nM_Y_M_HUT_EO_ONGJA__W_Q_E_B_KQ\nSHIPS EXERCISES 312100 UTC MAR THRU 30__0MGVHUP_BKEKBDN_4(__1__84_0_+.*$!__ _4-117\n55-54.00N 019-03.00E 55-30.00M_PAQTMPPE\n55-_6_,!_,=,.50N 020-06.00E\n54-57.50N 019-55.00E 54-50.,G_QOATPMPPE\n54-50.00__19-25.00E\nCANCEL THI_M_PJE_QN\n_U_PP UTC APR\nN_NN\n\n_ZCZC",
    "display_region_heading": "Unresolved B1 code Q",
    "display_region_label": "B1 code Q",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code Q. Readable text says: 55-54.00n 019-03.00e 55-30.00m paqtmppe. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "55-54.00n 019-03.00e 55-30.00m paqtmppe",
      "54-57.50n 019-55.00e 54-50.,g qoatpmppe"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 67,
    "heading": "2026-04-09 00:23:57 AREA: J",
    "published_at": "2026-04-09 00:23:57",
    "area": "J",
    "message_id": "JA38",
    "text": "ZCZC JA38\n_740 UTC APR\nLITHUANIAN NAV AY_M_XWY\nSOUTH-EASTERN BALTIC\nAPPROACHES TO PORT KLAIPEDA  ENHYHQ_ENUE_IQ_LD__ROGREFJMFMJPUEM_ZK_J_F_WITHIN AREA\nBOUNDED BY:\n55-43.79N 021-Y_PZGPON_HHYP_CCTM\n_ YB__55-43.72N 021-04.48E\n55-43.74N 021-04.36E.\nMARINERS ARE ADVISEWMHZM\nF_H_M_FH_M_CHFZMFMHDPMYPBKUZ_FVONTACTM\nHJM_ZYM_CYHDPYMF__ATION.\nNNNN",
    "clean_text": "ZCZC JA38\n_740 UTC APR\nLITHUANIAN NAV AY_M_XWY\nSOUTH-EASTERN BALTIC\nAPPROACHES TO PORT KLAIPEDA ENHYHQ_ENUE_IQ_LD__ROGREFJMFMJPUEM_ZK_J_F_WITHIN AREA\nBOUNDED BY:\n55-43.79N 021-Y_PZGPON_HHYP_CCTM\n_ YB__55-43.72N 021-04.48E\n55-43.74N 021-04.36E.\nMARINERS ARE ADVISEWMHZM\nF_H_M_FH_M_CHFZMFMHDPMYPBKUZ_FVONTACTM\nHJM_ZYM_CYHDPYMF__ATION.\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: Approaches to port klaipeda enhyhq enue iq ld rogrefjmfmjpuem zk j f within area. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Approaches to port klaipeda enhyhq enue iq ld rogrefjmfmjpuem zk j f within area",
      "Lithuanian nav ay m xwy",
      "South-eastern baltic"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-09 00:20:48 AREA: J",
    "published_at": "2026-04-09 00:20:48",
    "area": "J",
    "message_id": "JA43",
    "text": "ZCZC JA43\n012201 U__\nH___. \nGEOTOZ__AL WORKS BY VESSEL RAMFORM VANGUARD / C6JF5 MMSI: 311001861 \nIN AREA BOUNDED BY PSN:\n55_30.94_$.\n_-04.66E  55-28._:_017-04.15E \n55-26.60N 017-07.74E  55-25.73N 017-12.81E \n5__9_, 017-23.97E  55-27.15N 017-28.2__1.9,_$_,_/.)_/_:,)POB_017-27.53E \n_5-35.22N 0177__!GP_M_HH_P_N 017-12.88E \n55-30.94N 017-04.66E \nWIDE BERTH REQUESTED AT LEAST 1.0 NM.\nNNNN",
    "clean_text": "ZCZC JA43\n012201 U__\nH___.\nGEOTOZ__AL WORKS BY VESSEL RAMFORM VANGUARD / C6JF5 MMSI: 311001861\nIN AREA BOUNDED BY PSN:\n55_30.94_$.\n_-04.66E 55-28._:_017-04.15E\n55-26.60N 017-07.74E 55-25.73N 017-12.81E\n5__9_, 017-23.97E 55-27.15N 017-28.2__1.9,_$_,_/.)_/_:,)POB_017-27.53E\n_5-35.22N 0177__!GP_M_HH_P_N 017-12.88E\n55-30.94N 017-04.66E\nWIDE BERTH REQUESTED AT LEAST 1.0 NM.\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: Geotoz al works by vessel ramform vanguard / c6jf5 mmsi: 311001861. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Geotoz al works by vessel ramform vanguard / c6jf5 mmsi: 311001861",
      "Wide berth requested at least 1.0 nm",
      "In area bounded by psn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 71,
    "heading": "2026-04-09 00:19:55 AREA: J",
    "published_at": "2026-04-09 00:19:55",
    "area": "J",
    "message_id": "JA45",
    "text": "ZCZC JA45\n__PHYMGCH_MYO_G_PYBMO\nWESTERN BAL\n_V_NORTH OF DARSSER ORT.\nSUFOPERATIZ_M_OBNPOB_N_ONEER / C6BH3',\nIN AREA__LALMTN 012-_6.2E\n_4-40.5_EYMEN 01-45.+7_9\n__0*__!_5_7_\nZCZC",
    "clean_text": "ZCZC JA45\n__PHYMGCH_MYO_G_PYBMO\nWESTERN BAL\n_V_NORTH OF DARSSER ORT.\nSUFOPERATIZ_M_OBNPOB_N_ONEER / C6BH3',\nIN AREA__LALMTN 012-_6.2E\n_4-40.5_EYMEN 01-45.+7_9\n__0*__!_5_7_\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: Western bal. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Western bal",
      "V north of darsser ort"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 74,
    "heading": "2026-04-09 00:17:09 AREA: J",
    "published_at": "2026-04-09 00:17:09",
    "area": "J",
    "message_id": "JA59",
    "text": "ZCZC JA59\n081100 _ -04 26\nGERMAN NA_ _ARN 208/26\nWESTERN BALTIC. BIGHT OF MECKLENBURG.\nGEOPHYSICAL SURVEYS CONDUCTED \nBY MV 'MIRANDA' CS '/__:__2_\nAROUND PSN 54_6G__QWAPP_\n_O\n__PJJPSMHZ_FM_PJCYF_MFW__RX__B_Q_EL_BE_Q_E__IBKIBJKS_3_3___1_)__!_345_ 9! 0,_ _:_!_'._!'0.60_:0*__2__9\n__/0'.9+($__(*_((3_3_)_OCGXLLLRIUIIA__ZCZC",
    "clean_text": "ZCZC JA59\n081100 _ -04 26\nGERMAN NA_ _ARN 208/26\nWESTERN BALTIC. BIGHT OF MECKLENBURG.\nGEOPHYSICAL SURVEYS CONDUCTED\nBY MV 'MIRANDA' CS '/__:__2_\nAROUND PSN 54_6G__QWAPP_\n_O\n__PJJPSMHZ_FM_PJCYF_MFW__RX__B_Q_EL_BE_Q_E__IBKIBJKS_3_3___1_)__!_345_ 9! 0,_ _:_!_'._!'0.60_:0*__2__9\n__/0'.9+($__(*_((3_3_)_OCGXLLLRIUIIA__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: Geophysical surveys conducted. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Geophysical surveys conducted",
      "German na arn 208/26",
      "Western baltic. bight of mecklenburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 75,
    "heading": "2026-04-09 00:12:47 AREA: H",
    "published_at": "2026-04-09 00:12:47",
    "area": "H",
    "message_id": "HE22",
    "text": "ZCZC HE22\n082000 UTC APR 26\nIRAKLEIO RADIO/WEATHER FORECAST\nPART 1\nWARNING NONA\nPART 2\n:__06_.*_+WDNOVER CAT_PY\nLS\nXPYVG+_\n37_ \n=_.,_(_\n3__.9__\n__:(___-+__:=!_81_81252.:__843_(:,_93_ZCZC",
    "clean_text": "ZCZC HE22\n082000 UTC APR 26\nIRAKLEIO RADIO/WEATHER FORECAST\nPART 1\nWARNING NONA\nPART 2\n:__06_.*_+WDNOVER CAT_PY\nLS\nXPYVG+_\n37_\n=_.,_(_\n3__.9__\n__:(___-+__:=!_81_81252.:__843_(:,_93_ZCZC",
    "resolved_station_name": "Irakleio",
    "resolved_country": "Greece",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Eastern Mediterranean and Crete",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "IRAKLEIO"
    ],
    "display_region_heading": "Greece - Eastern Mediterranean and Crete",
    "display_region_label": "Irakleio, Greece",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Greece - Eastern Mediterranean and Crete. Readable forecast text says: Irakleio radio/weather forecast. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Irakleio radio/weather forecast",
      "Warning nona"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 76,
    "heading": "2026-04-09 00:11:53 AREA: H",
    "published_at": "2026-04-09 00:11:53",
    "area": "H",
    "message_id": "HA06",
    "text": "ZCZC HA06\n081755 UTC APR 26\nIRAKLEIO RADIO NAVWARN 268/26\nSOUTH EAST CRETAN SEA\nMAINTENANCE AWMYPXZ__YEMZ.9,*:)_6!0._)'0.+_06_!+__ _3 :-4483$ 975 _6 ./V 'MAASVLIET'\nFYZBM_CM__YM\n_UNTIL FURTHER NOTICE\nIN THE LINE BETWEEN THE POINTS:\n34-0_N 028-25.18E\n34-26.32N 02_-29.49_\nIAFETY _ISTANCE DEKUIRE__U _C_AZCZC",
    "clean_text": "ZCZC HA06\n081755 UTC APR 26\nIRAKLEIO RADIO NAVWARN 268/26\nSOUTH EAST CRETAN SEA\nMAINTENANCE AWMYPXZ__YEMZ.9,*:)_6!0._)'0.+_06_!+__ _3 :-4483$ 975 _6 ./V 'MAASVLIET'\nFYZBM_CM__YM\n_UNTIL FURTHER NOTICE\nIN THE LINE BETWEEN THE POINTS:\n34-0_N 028-25.18E\n34-26.32N 02_-29.49_\nIAFETY _ISTANCE DEKUIRE__U _C_AZCZC",
    "resolved_station_name": "Irakleio",
    "resolved_country": "Greece",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Eastern Mediterranean and Crete",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "IRAKLEIO"
    ],
    "display_region_heading": "Greece - Eastern Mediterranean and Crete",
    "display_region_label": "Irakleio, Greece",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Greece - Eastern Mediterranean and Crete. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Until further notice",
      "In the line between the points",
      "Irakleio radio navwarn 268/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 78,
    "heading": "2026-04-09 00:06:50 AREA: G",
    "published_at": "2026-04-09 00:06:50",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT.\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"
    ],
    "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: Dudgeon south buoy 53-12.5n 001-25.6e unlit.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 001-25.6e unlit",
      "Dudgeon wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 79,
    "heading": "2026-04-09 00:06:13 AREA: G",
    "published_at": "2026-04-09 00:06:13",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26 \nHUMBER. \nRACE BANK WIND FARM. \n1. TURBINE FOG SIGNALS INOPER_F_PI_KK\nXMONG_D01, 53-20.1N 0_,___4_\n_.9,_)BHP/)9_KM_MLON_:_$-_,B_M CANCEL WZ 5_/26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26\nHUMBER.\nRACE BANK WIND FARM.\n1. TURBINE FOG SIGNALS INOPER_F_PI_KK\nXMONG_D01, 53-20.1N 0_,___4_\n_.9,_)BHP/)9_KM_MLON_:_$-_,B_M CANCEL WZ 5_/26 (GA29).\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"
    ],
    "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. turbine fog signals inoper f pi kk",
      "Race bank wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 80,
    "heading": "2026-04-09 00:05:41 AREA: G",
    "published_at": "2026-04-09 00:05:41",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N \n_A_WATOMQE USFHMWMSSM_FWJMFZ_PYHF\nP_BO_\n_CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N\n_A_WATOMQE USFHMWMSSM_FWJMFZ_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 northwestwards. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Orwell gas field northwestwards",
      "1. met mast 53-10.7n",
      "Cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 81,
    "heading": "2026-04-09 00:05:11 AREA: G",
    "published_at": "2026-04-09 00:05:11",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMLV__M_\n GD_PJ_CYMZYHDM_JM_FP_W_\nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMLV__M_\nGD_PJ_CYMZYHDM_JM_FP_W_\nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE.\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. Readable text says: Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 82,
    "heading": "2026-04-09 00:04:46 AREA: G",
    "published_at": "2026-04-09 00:04:46",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDS__MMO_GBY__XR. \nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDS__MMO_GBY__XR.\nMF R/T SERVICE FROM CULLERCOATS SITE 55-04.4N 001-27.8W OFF AIR.\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": "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.8w off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 83,
    "heading": "2026-04-09 00:03:55 AREA: G",
    "published_at": "2026-04-09 00:03:55",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMOJHYHZYM_F_M_YB_TURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMOJHYHZYM_F_M_YB_TURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage near 55-06.8N 001-23.6W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Blyth offshore demojhyhzym f m yb turbine b10 55-06.8n 001-23.6w unlit and fog signal inoperative"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 84,
    "heading": "2026-04-09 00:03:22 AREA: G",
    "published_at": "2026-04-09 00:03:22",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIELD. \n_1. PLATFORM 49/27_02.__0_0_3_)9,_::_12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCERVWZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIELD.\n_1. PLATFORM 49/27_02.__0_0_3_)9,_::_12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCERVWZ 100/26 (GA52).\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"
    ],
    "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: 1. platform 49/27 02. 0 0 3 )9, :: 12.6e, unlit and all navaids inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/27 02. 0 0 3 )9, :: 12.6e, unlit and all navaids inoperative",
      "Leman gas field",
      "2. cancervwz 100/26 (ga52)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 85,
    "heading": "2026-04-09 00:02:52 AREA: G",
    "published_at": "2026-04-09 00:02:52",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\n_WZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (\nFS_ONGONNIII_ZCZC",
    "clean_text": "ZCZC GA04\n_WZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (\nFS_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. This is a weather bulletin; readable sections mention ice across the covered waters.",
    "decoded_highlights": [
      "1. mf r/t and dsc services from gregness site 57-07.7n 002-03.2w off air",
      "Mrcc shetland",
      "2. cancel wz 213/26 ("
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 86,
    "heading": "2026-04-09 00:02:21 AREA: G",
    "published_at": "2026-04-09 00:02:21",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53-  _+_/.\n_U_K_U_E, FOG UMFSMF_ZFPYBO\n_M CAN_PSM_AM\n__TUJ KGA54).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 53- _+_/.\n_U_K_U_E, FOG UMFSMF_ZFPYBO\n_M CAN_PSM_AM\n__TUJ KGA54).\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",
      "BESSEMER 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. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "U k u e, fog umfsmf zfpybo",
      "Bessemer gas field",
      "1. platform 49/23e, 53- /"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 87,
    "heading": "2026-04-09 00:01:56 AREA: G",
    "published_at": "2026-04-09 00:01:56",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53-11.0N 002-05.8E CIIIUMSSM_FWJMFZ_PYHF\nP_BONGONNIII_ZCZC",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53-11.0N 002-05.8E CIIIUMSSM_FWJMFZ_PYHF\nP_BONGONNIII_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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Platform southwark 53-11.0n 002-05.8e ciiiumssm fwjmfz pyhf.",
    "decoded_highlights": [
      "Platform southwark 53-11.0n 002-05.8e ciiiumssm fwjmfz pyhf",
      "Inner bank",
      "P bongonniii zczc"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 88,
    "heading": "2026-04-09 00:01:21 AREA: G",
    "published_at": "2026-04-09 00:01:21",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/26 \nDOGGER. \n+9,_+_!\n943 28,$ !-4.. \n1_._):+11_._85: \nA. N1 __8_08.1N 002-09.5__\nB. E5 54-51.5N 002-20.7E. \n2. CANCEL WZ 95/26 (GA50). \nNIII_NIII_ZCZC",
    "clean_text": "ZCZC GA15\nWZ 221/26\nDOGGER.\n+9,_+_!\n943 28,$ !-4..\n1_._):+11_._85:\nA. N1 __8_08.1N 002-09.5__\nB. E5 54-51.5N 002-20.7E.\n2. CANCEL WZ 95/26 (GA50).\nNIII_NIII_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": [
      "DOGGER"
    ],
    "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: 2. cancel wz 95/26 (ga50). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. cancel wz 95/26 (ga50)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 89,
    "heading": "2026-04-09 00:00:45 AREA: G",
    "published_at": "2026-04-09 00:00:45",
    "area": "G",
    "message_id": "GA18",
    "text": "ZCZC GA18\n_AM\n_Y_T_\nFORTH. \nNEART NA GAOITHE WINDFARM. \n1. NNG E BUOY 56-14.3N :02-08.6W ANWM_MJMLCZ_OIHPCMKLB::_-_(_(1___C___AB__NKOHTKTG_KONMNGHKPO_ONNIII_ZCZC",
    "clean_text": "ZCZC GA18\n_AM\n_Y_T_\nFORTH.\nNEART NA GAOITHE WINDFARM.\n1. NNG E BUOY 56-14.3N :02-08.6W ANWM_MJMLCZ_OIHPCMKLB::_-_(_(1___C___AB__NKOHTKTG_KONMNGHKPO_ONNIII_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: 1. nng e buoy 56-14.3n :02-08.6w anwm mjmlcz oihpcmklb:: - ( (1 c ab nkohtktg konmnghkpo onniii zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. nng e buoy 56-14.3n :02-08.6w anwm mjmlcz oihpcmklb:: - ( (1 c ab nkohtktg konmnghkpo onniii zczc",
      "Neart na gaoithe windfarm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 1,
    "heading": "2026-04-08 23:55:11 AREA: F",
    "published_at": "2026-04-08 23:55:11",
    "area": "F",
    "message_id": "",
    "text": "ZCZC FA_7\n_1049 UTM __V\nBAOLIC SEA NA_ WARN _43/25\n_BALTIC _CEVINFO_MA\nAON\nVESSELS BOOD FOCCZYHJ_JCR_PN\n ABDE_W\nXE_HVKDR_ZCD_ZUHU_254/26 \nVIKK_\nBERYL OIL FIELD. \n1. _)_6_'.__BUOY 59-31.7__.\n_ P_IIKPBHGPMHP_ARILY REMOVED. \n\n_:-,:3)._-.\n_6_5_3.=_\n!7'_.9,_9,,_88__ZCZC",
    "clean_text": "ZCZC FA_7\n_1049 UTM __V\nBAOLIC SEA NA_ WARN _43/25\n_BALTIC _CEVINFO_MA\nAON\nVESSELS BOOD FOCCZYHJ_JCR_PN\nABDE_W\nXE_HVKDR_ZCD_ZUHU_254/26\nVIKK_\nBERYL OIL FIELD.\n1. _)_6_'.__BUOY 59-31.7__.\n_ P_IIKPBHGPMHP_ARILY REMOVED.\n\n_:-,:3)._-.\n_6_5_3.=_\n!7'_.9,_9,,_88__ZCZC",
    "display_region_heading": "Unresolved B1 code F",
    "display_region_label": "B1 code F",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code F. Readable text says: Baolic sea na warn 43/25. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Baolic sea na warn 43/25",
      "Vessels bood focczyhj jcr pn",
      "Beryl oil field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 2,
    "heading": "2026-04-08 23:53:05 AREA: F",
    "published_at": "2026-04-08 23:53:05",
    "area": "F",
    "message_id": "FA02",
    "text": "ZCZC FA02\n298!0!._:_/._69,_0_06*):6_.\n._6_ )_6_5_EASTERN GULF OF FISWONJ_FJO___.-4 5_47 30_100 UTC APR\nIN AREA TEMPORARILY DANGEROU _LMJDF_G\n59- 3_,_-53.43N 027-09.63E\n5+-'_9_=__\n_09.63E 59-46_47 _._-(H_PHGPON_XPSMHDFJM_PJ__PM\nPUU_G_H_MYONONNIIIU_CZC FA80\n071144 KHXM_Y_NNWD_(_)(__(_-7_'.)',(_$____3KKE_____((19(\nI\nKQ_B_R_BP_BB_GI__UMETE\nNAVIGATE WITH CAUTION.\n_U__U_____J_OO_AXAXM_' _90.)00.7_$26 _+9,_\n!+__._(_,.\nNNNN",
    "clean_text": "ZCZC FA02\n298!0!._:_/._69,_0_06*):6_.\n._6_ )_6_5_EASTERN GULF OF FISWONJ_FJO___.-4 5_47 30_100 UTC APR\nIN AREA TEMPORARILY DANGEROU _LMJDF_G\n59- 3_,_-53.43N 027-09.63E\n5+-'_9_=__\n_09.63E 59-46_47 _._-(H_PHGPON_XPSMHDFJM_PJ__PM\nPUU_G_H_MYONONNIIIU_CZC FA80\n071144 KHXM_Y_NNWD_(_)(__(_-7_'.)',(_$____3KKE_____((19(\nI\nKQ_B_R_BP_BB_GI__UMETE\nNAVIGATE WITH CAUTION.\n_U__U_____J_OO_AXAXM_' _90.)00.7_$26 _+9,_\n!+__._(_,.\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 temporarily dangerou lmjdf g. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "In area temporarily dangerou lmjdf g",
      "Navigate with caution"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 5,
    "heading": "2026-04-08 23:47:17 AREA: E",
    "published_at": "2026-04-08 23:47:17",
    "area": "E",
    "message_id": "EA21",
    "text": "ZCZC EA21\nWZ 182/26 \n,_':23\nSPANIEL BUOYC\n1-3_.1N 004-39.7W UNLIT_NN\n\nKKKKKKKKKKKKKKKK__ K_T\nTRGNU___\n_CZC FA69\n021059 UTC JUL\nBALTIC SEA NAV WARN\nUETUN_N_JZCHD__U___A_W__LK_IGILR_GI_Q__LVUC_IP_GP_L__PW\nH_IZD Z__:_*_,\n__8)$190_)_,)6\n0=)_8:) ____ )=\n_\n_=\n!__6,:_!_1BHEKUKEBKIE OBSERVED IN AREA.\n /_6!06*.2_!*02._+.0_06/!*\n__(/$-__(___0430-43$ !94 ,-=8_-58+,,'.:__*\n_9_,:3) _-)58: _,-= 2-6_._5\n_7_,,9,,888_\nZCZC",
    "clean_text": "ZCZC EA21\nWZ 182/26\n,_':23\nSPANIEL BUOYC\n1-3_.1N 004-39.7W UNLIT_NN\n\nKKKKKKKKKKKKKKKK__ K_T\nTRGNU___\n_CZC FA69\n021059 UTC JUL\nBALTIC SEA NAV WARN\nUETUN_N_JZCHD__U___A_W__LK_IGILR_GI_Q__LVUC_IP_GP_L__PW\nH_IZD Z__:_*_,\n__8)$190_)_,)6\n0=)_8:) ____ )=\n_\n_=\n!__6,:_!_1BHEKUKEBKIE OBSERVED IN AREA.\n/_6!06*.2_!*02._+.0_06/!*\n__(/$-__(___0430-43$ !94 ,-=8_-58+,,'.:__*\n_9_,:3) _-)58: _,-= 2-6_._5\n_7_,,9,,888_\nZCZC",
    "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": [
      "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 buoyc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Spaniel buoyc",
      "! 6,: ! 1bhekukebkie observed in area",
      "1-3 .1n 004-39.7w unlit nn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 6,
    "heading": "2026-04-08 23:46:56 AREA: E",
    "published_at": "2026-04-08 23:46:56",
    "area": "E",
    "message_id": "EA22",
    "text": "ZCZC EA22\nWZ 185/26 \nWIGHT. \nNEEDLES LIGHT 50-39.7N 001-35.5W FOG SIGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC EA22\nWZ 185/26\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": 7,
    "heading": "2026-04-08 23:46:36 AREA: E",
    "published_at": "2026-04-08 23:46:36",
    "area": "E",
    "message_id": "EA27",
    "text": "ZCZC EA27\n _A_\n ZUT_EMONGSCWE\nLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT..\n,.9,_\n\nZCZC",
    "clean_text": "ZCZC EA27\n_A_\nZUT_EMONGSCWE\nLAVERNOCK SPIT BUOY 51-23.0N 003-10.8W UNLIT..\n,.9,_\n\nZCZC",
    "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: 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",
      "Zut emongscwe"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 8,
    "heading": "2026-04-08 23:46:12 AREA: E",
    "published_at": "2026-04-08 23:46:12",
    "area": "E",
    "message_id": "EA40",
    "text": "ZCZC EA40\nWZ 215/\n2__2 '. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC EA40\nWZ 215/\n2__2 '.\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": 9,
    "heading": "2026-04-08 23:45:48 AREA: E",
    "published_at": "2026-04-08 23:45:48",
    "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": 10,
    "heading": "2026-04-08 23:44:55 AREA: E",
    "published_at": "2026-04-08 23:44:55",
    "area": "E",
    "message_id": "EA54",
    "text": "ZCZC EA54\n_WTQXWY \nFASTNET. \nGREAT SALTEE SOUTHWARDS. \nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STHFZ_NNNN",
    "clean_text": "ZCZC EA54\n_WTQXWY\nFASTNET.\nGREAT SALTEE SOUTHWARDS.\nCONINGBEG BUOY 52-03.2N 006-38.6W OFF STHFZ_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 sthfz nnnn.",
    "decoded_highlights": [
      "Coningbeg buoy 52-03.2n 006-38.6w off sthfz nnnn",
      "Great saltee southwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-08 23:44:06 AREA: E",
    "published_at": "2026-04-08 23:44:06",
    "area": "E",
    "message_id": "EA56",
    "text": "ZCZC EA56\nWZ 258/2_9\n__+6_'2_OFF CASQUETS TSS SOUTH-SOUTHWESTWARDS.\nCASQUETS LIGHT 49-43.3N 002-22.6W RACON INZPPYHF\nV_BO\nNNNN",
    "clean_text": "ZCZC EA56\nWZ 258/2_9\n__+6_'2_OFF CASQUETS TSS SOUTH-SOUTHWESTWARDS.\nCASQUETS LIGHT 49-43.3N 002-22.6W RACON INZPPYHF\nV_BO\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: Casquets light 49-43.3n 002-22.6w racon inzppyhf. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Casquets light 49-43.3n 002-22.6w racon inzppyhf"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-08 23:40:15 AREA: E",
    "published_at": "2026-04-08 23:40:15",
    "area": "E",
    "message_id": "EE12",
    "text": "ZCZC EE12\nISSUED BY THE MET OFFICE AT 0700._+._02__APR\n \nGALY_FYXM+._+_+FWOGENERAL SITUATFZM_M_FW_F_DHONGSZ_MH__SYO_M_39__99(:(190_(1_0-/_2((381+_K_C_EB_JOIII_GHD_PJONGJMZYMJPM_PMGHZM\nH_MGJSHMZYM_ZWMFMDRFBNEBHW_AABWB_EMHD_PJ\nFAIR. GOOD\n\nDOVER WIGHT PORTLWONG_YLM_PMGZYMSPJJ_MGF_YMEBHKDB_,1BHPAA_WBAEB__MWZ_PYMWMJPMUF__D\nFF_SLT OR MOD IN NW WIGHT AND PORTLAND. FAIR. MOD OR GOOD._+_'._++6.'_69,9,_S_TH\nVRB 3 OYMSPJJMLPX_W 2 TO 4. MOD OR YOC_D_MGL XSLT OR MOD LTR. FOG PATCHES. MOD OR GOOD, OCNL VERY POOR\n\nBISCAY\nVRB MAINLFM_M_TO 4.+:=$6_:)0.___/___62.'_'_24' 8, ', FOG PATCHESMSHYMFMZO__UOARB__ICGI_D_ VERY POOR LTR IN N\n\nS FITZROY\nCYCLONIC MAINLY NE 3 TO 59._+__ IN_UPO_G\nPYEMY_C_DM__B_3\n.)=)8_$:_8_216(_=_ .9$ )54 8, ,5.  4 TO 6 LT_VERY ROUGH AT FIRST IN SW, OTHERWISZWVZZZZYMZCD_BM_ASIONAL DRIZZL__MG+\n___$_. MOD OR ZZZW_M_IIUNL VERY POOR\n\nSOLE LUNDY FASTNET\nVRB 2 TO 4 BECMG W OR SW 3 TO\n_H_G_PPYMUM_HMGZYM_LTR IN W SOLE AND W FASTNET. MOD OR ROUGH IN SOLE AND SW FASTN_HPMGPSJP_DPYPMJJDBARBAUBHSXDZ_F_NL SMOOTH IN IRISH JQA__GYFMSHY_MG+.___/$0__9$ 94 _99$, OCNL VERY POOR\n\nZUTLOOK FLW 24 HOURS:\nGALES EXP INM_FHAYZ_MWMJZSC_ZMGQHERBKGIQON_)__3', DZ_PY\nY_GHT, PORTLAND, PLYMOUTH, BISCAY, LCW_MWM_J\nPHOZFFF_A_ZCZC",
    "clean_text": "ZCZC EE12\nISSUED BY THE MET OFFICE AT 0700._+._02__APR\n\nGALY_FYXM+._+_+FWOGENERAL SITUATFZM_M_FW_F_DHONGSZ_MH__SYO_M_39__99(:(190_(1_0-/_2((381+_K_C_EB_JOIII_GHD_PJONGJMZYMJPM_PMGHZM\nH_MGJSHMZYM_ZWMFMDRFBNEBHW_AABWB_EMHD_PJ\nFAIR. GOOD\n\nDOVER WIGHT PORTLWONG_YLM_PMGZYMSPJJ_MGF_YMEBHKDB_,1BHPAA_WBAEB__MWZ_PYMWMJPMUF__D\nFF_SLT OR MOD IN NW WIGHT AND PORTLAND. FAIR. MOD OR GOOD._+_'._++6.'_69,9,_S_TH\nVRB 3 OYMSPJJMLPX_W 2 TO 4. MOD OR YOC_D_MGL XSLT OR MOD LTR. FOG PATCHES. MOD OR GOOD, OCNL VERY POOR\n\nBISCAY\nVRB MAINLFM_M_TO 4.+:=$6_:)0.___/___62.'_'_24' 8, ', FOG PATCHESMSHYMFMZO__UOARB__ICGI_D_ VERY POOR LTR IN N\n\nS FITZROY\nCYCLONIC MAINLY NE 3 TO 59._+__ IN_UPO_G\nPYEMY_C_DM__B_3\n.)=)8_$:_8_216(_=_ .9$ )54 8, ,5. 4 TO 6 LT_VERY ROUGH AT FIRST IN SW, OTHERWISZWVZZZZYMZCD_BM_ASIONAL DRIZZL__MG+\n___$_. MOD OR ZZZW_M_IIUNL VERY POOR\n\nSOLE LUNDY FASTNET\nVRB 2 TO 4 BECMG W OR SW 3 TO\n_H_G_PPYMUM_HMGZYM_LTR IN W SOLE AND W FASTNET. MOD OR ROUGH IN SOLE AND SW FASTN_HPMGPSJP_DPYPMJJDBARBAUBHSXDZ_F_NL SMOOTH IN IRISH JQA__GYFMSHY_MG+.___/$0__9$ 94 _99$, OCNL VERY POOR\n\nZUTLOOK FLW 24 HOURS:\nGALES EXP INM_FHAYZ_MWMJZSC_ZMGQHERBKGIQON_)__3', DZ_PY\nY_GHT, PORTLAND, PLYMOUTH, BISCAY, LCW_MWM_J\nPHOZFFF_A_ZCZC",
    "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, fog, ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vrb 3 oymspjjmlpx w 2 to 4. mod or yoc d mgl xslt or mod ltr. fog patches. mod or good, ocnl very poor",
      "Vrb mainlfm m to 4. : $6 :)0. / 62.' ' 24' 8, ', fog patchesmshymfmzo uoarb icgi d very poor ltr in n",
      "Gales exp inm fhayz mwmjzsc zmgqherbkgiqon ) 3', dz py"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 13,
    "heading": "2026-04-08 23:33:05 AREA: T",
    "published_at": "2026-04-08 23:33:05",
    "area": "T",
    "message_id": "",
    "text": "ZKZC _TQG_\nGJ__QVSLAND_\nFAROEY_ WEATHER BULLETIN F_ DQQXUB_RBC9_._ 9=34 436(*-,3' 48$_3 8' '_8_/-0_ '), 70/. AO U__HLSPMKYHGSZUM_FHDM_DU_JMKJ_HZ_YWJM\nD_M_SDZCCF_LANDS FM T_NIGHT AND_OOOORROW._\nOUTER-BANVKYTRI9:\n59.94492 -!534,99, _-)3 !._2 (9 !.\n(21_:=__(_!=1_0=2\n_+0_\n_\n_\nGL\nX__ME_T_P TO _5\n=\n+9+6/+7.+666___((_._+928__9\n$3_, EVENING W Y _A\nANK:\n__-)3,9 =11 TO 16 MOD VIS TONIGHT S 8 TO 13. TOMORROW M_RNING GOOD VIS TOMORROW EVENI_G SW 5 TM 10. \n=TO 15_TONIGHT GALE FM S 10 TO 15 TOMORROW FTERNOON GAZ F_ _ 9 T_ 14 _Z_ZY_Z__P\nP_BM_ VIS. \n\nV\n\nV=-------------_----------------_\n(__\n7+___7ZCZC",
    "clean_text": "ZKZC _TQG_\nGJ__QVSLAND_\nFAROEY_ WEATHER BULLETIN F_ DQQXUB_RBC9_._ 9=34 436(*-,3' 48$_3 8' '_8_/-0_ '), 70/. AO U__HLSPMKYHGSZUM_FHDM_DU_JMKJ_HZ_YWJM\nD_M_SDZCCF_LANDS FM T_NIGHT AND_OOOORROW._\nOUTER-BANVKYTRI9:\n59.94492 -!534,99, _-)3 !._2 (9 !.\n(21_:=__(_!=1_0=2\n_+0_\n_\n_\nGL\nX__ME_T_P TO _5\n=\n+9+6/+7.+666___((_._+928__9\n$3_, EVENING W Y _A\nANK:\n__-)3,9 =11 TO 16 MOD VIS TONIGHT S 8 TO 13. TOMORROW M_RNING GOOD VIS TOMORROW EVENI_G SW 5 TM 10.\n=TO 15_TONIGHT GALE FM S 10 TO 15 TOMORROW FTERNOON GAZ F_ _ 9 T_ 14 _Z_ZY_Z__P\nP_BM_ VIS.\n\nV\n\nV=-------------_----------------_\n(__\n7+___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: To 15 tonight gale fm s 10 to 15 tomorrow fternoon gaz f 9 t 14 z zy z p. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "To 15 tonight gale fm s 10 to 15 tomorrow fternoon gaz f 9 t 14 z zy z p",
      "Faroey weather bulletin f dqqxub rbc9 . 9 34 436( -,3' 48$ 3 8' ' 8 /-0 '), 70/. ao u hlspmkyhgszum fhdm du jmkj hz ywjm",
      "-)3,9 11 to 16 mod vis tonight s 8 to 13. tomorrow m rning good vis tomorrow eveni g sw 5 tm 10"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-08 23:31:20 AREA: D",
    "published_at": "2026-04-08 23:31:20",
    "area": "D",
    "message_id": "DA52",
    "text": "ZCZC DA52\n_FAROE ISLANDS\nNAVIGATIONAL WARNING NO. 15/2026\nNAVAL GUNNER_EQB4(\n_1__._0_97.__(3_UBAXDO__BWI_AKV \n I__VLCYB_P_KB_K_UEBH_K__BP3__.,(O_BD_M_VA __OEVOKVE:_(._$0._!_0__0.\n 8GM___._5__9_$7,)2/EPB (5_5__:__*_$(\n,_(_BKQF THE F_ROES WITHIN THE FOLLOWING POSITIONS:\n_  (_1_:__3___09:19_:_9_9___/9OPCBG_BHWONG09//_$*__9_____9_LOQCB___8_,=___YPE OF WEPO_\nXM_U_NB\nS__PHEMD_FHDH__MQB_DEO_: 7000 METRES / 3,8 _$:_!_'._!'0*9,_02-060.__.)0._+!5-:_5+ 9, =_! :_-,,'\nMRCCRSHAVN\n081200UTC APRIL 2026\nNNNN",
    "clean_text": "ZCZC DA52\n_FAROE ISLANDS\nNAVIGATIONAL WARNING NO. 15/2026\nNAVAL GUNNER_EQB4(\n_1__._0_97.__(3_UBAXDO__BWI_AKV\nI__VLCYB_P_KB_K_UEBH_K__BP3__.,(O_BD_M_VA __OEVOKVE:_(._$0._!_0__0.\n8GM___._5__9_$7,)2/EPB (5_5__:__*_$(\n,_(_BKQF THE F_ROES WITHIN THE FOLLOWING POSITIONS:\n_ (_1_:__3___09:19_:_9_9___/9OPCBG_BHWONG09//_$*__9_____9_LOQCB___8_,=___YPE OF WEPO_\nXM_U_NB\nS__PHEMD_FHDH__MQB_DEO_: 7000 METRES / 3,8 _$:_!_'._!'0*9,_02-060.__.)0._+!5-:_5+ 9, =_! :_-,,'\nMRCCRSHAVN\n081200UTC APRIL 2026\nNNNN",
    "display_region_heading": "Unresolved B1 code D",
    "display_region_label": "B1 code D",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code D. Readable text says: Navigational warning no. 15/2026. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navigational warning no. 15/2026",
      "( bkqf the f roes within the following positions",
      "Faroe islands"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-08 23:30:38 AREA: D",
    "published_at": "2026-04-08 23:30:38",
    "area": "D",
    "message_id": "DA50",
    "text": "ZCZC DA50\nFAROE ISLANDS\nNAVIGATIONAL WARNING NO. 1157UEO_MMMMMMMMMMMMMMMMMMMMMLRWG_EGCLGCLP_PS_GU_P\nPUSUF_LKFHZUYF_SX_N_AFE__U  WRS W IS UNLIT.\n9__/__._+6*$_9_:__._-4:_ 2026\n\nNNNN",
    "clean_text": "ZCZC DA50\nFAROE ISLANDS\nNAVIGATIONAL WARNING NO. 1157UEO_MMMMMMMMMMMMMMMMMMMMMLRWG_EGCLGCLP_PS_GU_P\nPUSUF_LKFHZUYF_SX_N_AFE__U WRS W IS UNLIT.\n9__/__._+6*$_9_:__._-4:_ 2026\n\nNNNN",
    "display_region_heading": "Unresolved B1 code D",
    "display_region_label": "B1 code D",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code D. Readable text says: Navigational warning no. 1157ueo mmmmmmmmmmmmmmmmmmmmmlrwg egclgclp ps gu p. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Navigational warning no. 1157ueo mmmmmmmmmmmmmmmmmmmmmlrwg egclgclp ps gu p",
      "Faroe islands"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-08 23:17:53 AREA: L",
    "published_at": "2026-04-08 23:17:53",
    "area": "L",
    "message_id": "LA15",
    "text": "ZCZC LA15\n08_0:6 U_C APR 2_\nDW_F_H_\nA_M_UY_M_WY\nDENMARK. S_Y_I_JHYLZYWMDWMSF_DH\nLCZEM_HC\n__ATUMIJ_MJ_MO_ _WE_UWY_PZCZC",
    "clean_text": "ZCZC LA15\n08_0:6 U_C APR 2_\nDW_F_H_\nA_M_UY_M_WY\nDENMARK. S_Y_I_JHYLZYWMDWMSF_DH\nLCZEM_HC\n__ATUMIJ_MJ_MO_ _WE_UWY_PZCZC",
    "display_region_heading": "Unresolved B1 code L",
    "display_region_label": "B1 code L",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code L. 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": 18,
    "heading": "2026-04-08 23:16:56 AREA: M",
    "published_at": "2026-04-08 23:16:56",
    "area": "M",
    "message_id": "MA21",
    "text": "ZCZC MA21\n082006 UTC APR 26\nDANISH NAV WA__\nVKZ\nXWY\nDENMARK. SKAGERRAK. HIRTSHALS HARBOUR.\nSTARBOARD_KB_KWBGSJ_DBSMXC_QXCNH_D_OATUMQE UNLIT.\nNNNN",
    "clean_text": "ZCZC MA21\n082006 UTC APR 26\nDANISH NAV WA__\nVKZ\nXWY\nDENMARK. SKAGERRAK. HIRTSHALS HARBOUR.\nSTARBOARD_KB_KWBGSJ_DBSMXC_QXCNH_D_OATUMQE UNLIT.\nNNNN",
    "display_region_heading": "Unresolved B1 code M",
    "display_region_label": "B1 code M",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code M. Readable text says: Denmark. skagerrak. hirtshals harbour. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Denmark. skagerrak. hirtshals harbour"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 19,
    "heading": "2026-04-08 22:42:19 AREA: W",
    "published_at": "2026-04-08 22:42:19",
    "area": "W",
    "message_id": "WA50",
    "text": "ZCZC WA50\nAVURNAV TOULON 234=26\nPROVENCE - SARDAIGNE\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\n FROM 090800 UTC APR -___.+.8$59 UTC APR 26\n AREA 60/61/62/70_(_=72/80/81/82 BOUNDED BY__\nN_Y_U_B_G_AEPMPP_\n\nTYUU_B_G_V\nF_EUYBNGPONM\nY__ 00_-45 !47_07)\n HAZARDOUH TO NA\nFZHFZONUUOK\n:___1_91\n+_\n_77_:+: 2-19\nAVURNAV TOULON _WEUXWY\nPROVENCE - LEVANT ISLDF_ APPROACHES\nKY_S_S\n1. FI_NF_ TXR_I_E\n FROM 691208.____\n__9_(19__091359 UTC APR 26\n,.*60=202.)3._____3,(__)9,/_7(_((\n__::)(__,__,3((3\n_BN_Q_MPP_M_UFPT_PP_\n___-_/.80E\n 43-05.00\n__\nPYAZOK(__/__- _.90!,=___6-29_00_\n__-:'\n_\n_7716 05T_ THUFRID_\nCZCZC",
    "clean_text": "ZCZC WA50\nAVURNAV TOULON 234=26\nPROVENCE - SARDAIGNE\nSPECIAL OPERATIONS\n1. FIRING EXERCISE\nFROM 090800 UTC APR -___.+.8$59 UTC APR 26\nAREA 60/61/62/70_(_=72/80/81/82 BOUNDED BY__\nN_Y_U_B_G_AEPMPP_\n\nTYUU_B_G_V\nF_EUYBNGPONM\nY__ 00_-45 !47_07)\nHAZARDOUH TO NA\nFZHFZONUUOK\n:___1_91\n+_\n_77_:+: 2-19\nAVURNAV TOULON _WEUXWY\nPROVENCE - LEVANT ISLDF_ APPROACHES\nKY_S_S\n1. FI_NF_ TXR_I_E\nFROM 691208.____\n__9_(19__091359 UTC APR 26\n,.*60=202.)3._____3,(__)9,/_7(_((\n__::)(__,__,3((3\n_BN_Q_MPP_M_UFPT_PP_\n___-_/.80E\n43-05.00\n__\nPYAZOK(__/__- _.90!,=___6-29_00_\n__-:'\n_\n_7716 05T_ THUFRID_\nCZCZC",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: Provence - sardaigne. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Provence - sardaigne",
      "1. firing exercise",
      "Hazardouh to na"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 20,
    "heading": "2026-04-08 22:41:15 AREA: W",
    "published_at": "2026-04-08 22:41:15",
    "area": "W",
    "message_id": "WA51",
    "text": "ZCZC WA51\nAVURNAV TOULON 235/26\nPROVENCE__A_G_ZYJPONJP_FSMZ_PYHFZJON\n_FIRING\nIBYFPR 26 TO 090959 UTC APR 26\n AERA 57-58_-3-_42-24.90_006-40.00E/42-53.00N VPPUAERMIPE\n 67 !_!___\n__ -5__!__ \n_3::_____4'/_5\n)$__))*1_+)_//+___4'//\n_/6ULL_4+__93\n822_091059 UTC APR 26NNNN",
    "clean_text": "ZCZC WA51\nAVURNAV TOULON 235/26\nPROVENCE__A_G_ZYJPONJP_FSMZ_PYHFZJON\n_FIRING\nIBYFPR 26 TO 090959 UTC APR 26\nAERA 57-58_-3-_42-24.90_006-40.00E/42-53.00N VPPUAERMIPE\n67 !_!___\n__ -5__!__\n_3::_____4'/_5\n)$__))*1_+)_//+___4'//\n_/6ULL_4+__93\n822_091059 UTC APR 26NNNN",
    "resolved_station_name": "CROSS La Garde",
    "resolved_country": "France",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Provence, Ligurian Sea and western Mediterranean",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "AVURNAV TOULON"
    ],
    "display_region_heading": "France - Provence, Ligurian Sea and western Mediterranean",
    "display_region_label": "CROSS La Garde, France",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for France - Provence, Ligurian Sea and western Mediterranean. Readable text says: Aera 57-58 -3- 42-24.90 006-40.00e/42-53.00n vppuaermipe. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Aera 57-58 -3- 42-24.90 006-40.00e/42-53.00n vppuaermipe",
      "Avurnav toulon 235/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 21,
    "heading": "2026-04-08 22:31:22 AREA: V",
    "published_at": "2026-04-08 22:31:22",
    "area": "V",
    "message_id": "VA63",
    "text": "ZCZC VA63\n__081043 UTC MAR 26.9___-.\n_!_5_\nTHAMES. \nEAJHM_SFMZPM_F_M_YB_\nTURBINE G27, 52-09.8N _0_5E, FOG SIGNSMFZ_PYHF\nP_BMONGONNIKKKKKKKKKKVVVVVTR_KEBQNV_O_K__E_W_ABY :\n 42-40.00N 005-30.00E54_$)3 3*_\n1_334+3 $3__(31!__+_3=330\n1__(4)9_=*(0_!:$+33=_58\n1,3__+6_E\n 42-25.00_AEPMPP__WZZ\nMPPN 005-38.00E\n (CHART FR7507)\n HAZARDOUS TO NAVIGATION\n2. CANCEL THIS MSG 091459 UTC APR 26DFNN\n\nQZCZC",
    "clean_text": "ZCZC VA63\n__081043 UTC MAR 26.9___-.\n_!_5_\nTHAMES.\nEAJHM_SFMZPM_F_M_YB_\nTURBINE G27, 52-09.8N _0_5E, FOG SIGNSMFZ_PYHF\nP_BMONGONNIKKKKKKKKKKVVVVVTR_KEBQNV_O_K__E_W_ABY :\n42-40.00N 005-30.00E54_$)3 3*_\n1_334+3 $3__(31!__+_3=330\n1__(4)9_=*(0_!:$+33=_58\n1,3__+6_E\n42-25.00_AEPMPP__WZZ\nMPPN 005-38.00E\n(CHART FR7507)\nHAZARDOUS TO NAVIGATION\n2. CANCEL THIS MSG 091459 UTC APR 26DFNN\n\nQZCZC",
    "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. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine g27, 52-09.8n 0 5e, fog signsmfz pyhf",
      "Hazardous to navigation"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 23,
    "heading": "2026-04-08 22:20:15 AREA: U",
    "published_at": "2026-04-08 22:20:15",
    "area": "U",
    "message_id": "UE49",
    "text": "ZCZC UE49\n081920 UTC APR 26\nMONDOLFO RADIO\nN_N_P_D_ORECAST OVER MEDITERRANEAN AREAS ISSUED BY ROME METEOROLOGY CENTRE AT 18/UTC OF 08/04/2026\nAND VALID UP TO 06/UTC OF 09/04/20_1. WARNINGS:\nTHUNDERSTORMS UNDER COURSE: OVER ALBORAN SEA.\nHDCWPYJHZY_JM+60_0\n__H_BEOKJ_MJP_GALES UNDER COURSE: NIL\nGALES FORECAST: NIL\n2. WEATHER SITUATION:9 __6+_'.*_*__MEBEOKJ_MJP_HIGH AND FLAT FIELD OF 1024 HPA OVER\nN_PJHPYM_PWFHPYYPMJP_HIGH AND FLAT FIELD OF 1020 HPA OVER\nEAST-CENTRAL MEDITERRANEAN SEA.\n3. FORECAST TO 06/UTC OF 09/0657_76 AND 12 HOURS OUTLOOK:\nNORTHERN ADRIATICM_DPJHPYSEM_PM_G_FJHMZ_ORE -GOOD\n_FJFLFSFHEM_GJ_ZZHDMJPM_LOOK: EASTERLY 4 -FAIR.\nCENTRAL ADRIATIC SEA: NORTHWESTERLY 3 -MIST OFFSHORE -GOOD\nVISIBILITY -SLIGHT SEA EAST SECTOR / OUTLOOK: NORTHEASTERSEM_HONG_F__SOUTHERN ADRIATIC SEA: NORTHWESTERLYM_M_M_M_F\nPYEM__ZEONZFJ_NFSLFSFH_M_GJ_ZZHDMJPMF_YPJFROHBHAXDJ_A\n_BHAY_D_PJHPYS_MXBC_KGR_ROC8_(7_1KB$_734 85-)!.*0*._6+_._ !5_:__.+._+_+6_+_9,+6_$06.26!_!_.*__3-'534)6 3 SEA 2/EASTERLY 3 SEA 2/EASTERLY 4\nSEA 2/EASTERLY 3 SEA 2.\nCENTRAL ADRIATIC SEA: EASTERLY 2 SEA 2/EASTERLY 4 JEO_SOUTHEASTERLY 2 SEA 2/EASTERLY 3 SEA 2.\nSOUTHERN ADRIATIC SEA: NORTHWESTERLY 3 SEA 3/EASTERLY 2 SEA\n2/SOUTHEASTERLY 2 SEA 2/SOUTHEASTERLY 3 SEA 2.\n\nEND METEOMAR.\nNNNN",
    "clean_text": "ZCZC UE49\n081920 UTC APR 26\nMONDOLFO RADIO\nN_N_P_D_ORECAST OVER MEDITERRANEAN AREAS ISSUED BY ROME METEOROLOGY CENTRE AT 18/UTC OF 08/04/2026\nAND VALID UP TO 06/UTC OF 09/04/20_1. WARNINGS:\nTHUNDERSTORMS UNDER COURSE: OVER ALBORAN SEA.\nHDCWPYJHZY_JM+60_0\n__H_BEOKJ_MJP_GALES UNDER COURSE: NIL\nGALES FORECAST: NIL\n2. WEATHER SITUATION:9 __6+_'.*_*__MEBEOKJ_MJP_HIGH AND FLAT FIELD OF 1024 HPA OVER\nN_PJHPYM_PWFHPYYPMJP_HIGH AND FLAT FIELD OF 1020 HPA OVER\nEAST-CENTRAL MEDITERRANEAN SEA.\n3. FORECAST TO 06/UTC OF 09/0657_76 AND 12 HOURS OUTLOOK:\nNORTHERN ADRIATICM_DPJHPYSEM_PM_G_FJHMZ_ORE -GOOD\n_FJFLFSFHEM_GJ_ZZHDMJPM_LOOK: EASTERLY 4 -FAIR.\nCENTRAL ADRIATIC SEA: NORTHWESTERLY 3 -MIST OFFSHORE -GOOD\nVISIBILITY -SLIGHT SEA EAST SECTOR / OUTLOOK: NORTHEASTERSEM_HONG_F__SOUTHERN ADRIATIC SEA: NORTHWESTERLYM_M_M_M_F\nPYEM__ZEONZFJ_NFSLFSFH_M_GJ_ZZHDMJPMF_YPJFROHBHAXDJ_A\n_BHAY_D_PJHPYS_MXBC_KGR_ROC8_(7_1KB$_734 85-)!.*0*._6+_._ !5_:__.+._+_+6_+_9,+6_$06.26!_!_.*__3-'534)6 3 SEA 2/EASTERLY 3 SEA 2/EASTERLY 4\nSEA 2/EASTERLY 3 SEA 2.\nCENTRAL ADRIATIC SEA: EASTERLY 2 SEA 2/EASTERLY 4 JEO_SOUTHEASTERLY 2 SEA 2/EASTERLY 3 SEA 2.\nSOUTHERN ADRIATIC SEA: NORTHWESTERLY 3 SEA 3/EASTERLY 2 SEA\n2/SOUTHEASTERLY 2 SEA 2/SOUTHEASTERLY 3 SEA 2.\n\nEND METEOMAR.\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": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Italy - Adriatic Sea and central Italian coast. This is a weather bulletin; readable sections mention thunderstorms, gales across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Thunderstorms under course: over alboran sea",
      "Visibility -slight sea east sector / outlook: northeastersem hong f southern adriatic sea: northwesterlym m m m f",
      "H beokj mjp gales under course: nil"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 28,
    "heading": "2026-04-08 22:17:03 AREA: T",
    "published_at": "2026-04-08 22:17:03",
    "area": "T",
    "message_id": "",
    "text": "ZCZCM__FH_N\nP_FUFMGCH_MJ_B_AAJHPWPYWFZM_JFM_PHE_\nBE EEZ \nOBSTACLES ON THE SEA BED \nIN POS 51-23.7'__\n_UUZ__Z GPMWMON\nH UP_HHCGONG(:,_(_0____ORING AND FISHING ARE PROHIBITED \nWTHIN DISTANCE OF \nU_GBONGONNIII_ZCZC",
    "clean_text": "ZCZCM__FH_N\nP_FUFMGCH_MJ_B_AAJHPWPYWFZM_JFM_PHE_\nBE EEZ\nOBSTACLES ON THE SEA BED\nIN POS 51-23.7'__\n_UUZ__Z GPMWMON\nH UP_HHCGONG(:,_(_0____ORING AND FISHING ARE PROHIBITED\nWTHIN DISTANCE OF\nU_GBONGONNIII_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": [
      "BE EEZ"
    ],
    "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 says: H up hhcgong(:, ( 0 oring and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "H up hhcgong(:, ( 0 oring and fishing are prohibited",
      "Obstacles on the sea bed",
      "Wthin distance of"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 29,
    "heading": "2026-04-08 22:15:43 AREA: T",
    "published_at": "2026-04-08 22:15:43",
    "area": "T",
    "message_id": "",
    "text": "ZCZC T!:_,_ : _0MG_HXM_YONGZZJHPWPYWFZM_JFM\nCMHKQ_HAAQZ_FGG_RF__6_00_+4__!+*.888()3__\n5_\n.__.P_VMWMB_TG\nMW__PONGLPH_PP_M_ZS_ZKGRB_WFHPJM_\n51-31.75N 002-31.11_51-20.82N 002-52.76E \n51-19.93N 003-09.75E\n51-19.93N 003-09.75E \n51-19.31N_\n_N_F_Y__I_\n51-20.06N 002-51.09E \n51-31.19N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIR_ COGLIDOR\nSHIPPING REQUESTED TO PASS AT A SAFE DISTANCE\nMANU PEKKA IS LISTENING OUT ON VHF CH 16 AND 65\nNNNN",
    "clean_text": "ZCZC T!:_,_ : _0MG_HXM_YONGZZJHPWPYWFZM_JFM\nCMHKQ_HAAQZ_FGG_RF__6_00_+4__!+*.888()3__\n5_\n.__.P_VMWMB_TG\nMW__PONGLPH_PP_M_ZS_ZKGRB_WFHPJM_\n51-31.75N 002-31.11_51-20.82N 002-52.76E\n51-19.93N 003-09.75E\n51-19.93N 003-09.75E\n51-19.31N_\n_N_F_Y__I_\n51-20.06N 002-51.09E\n51-31.19N 002-30.45E\nA BAN ON ACHORING AND FISHING IN THE ENTIR_ COGLIDOR\nSHIPPING REQUESTED TO PASS AT A SAFE DISTANCE\nMANU PEKKA IS LISTENING OUT ON VHF CH 16 AND 65\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: A ban on achoring and fishing in the entir coglidor. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "A ban on achoring and fishing in the entir coglidor",
      "Shipping requested to pass at a safe distance",
      "Manu pekka is listening out on vhf ch 16 and 65"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 32,
    "heading": "2026-04-08 22:13:47 AREA: T",
    "published_at": "2026-04-08 22:13:47",
    "area": "T",
    "message_id": "TA16",
    "text": "ZCZC TA16\n579 _5  /(_/._69,_++*_02062!+._*!__/26\nTSS-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N 002-39.57E\n\nNNNN",
    "clean_text": "ZCZC TA16\n579 _5 /(_/._69,_++*_02062!+._*!__/26\nTSS-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAIN LOST IN POS 51-24.40N 002-39.57E\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": "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: Anchor and chain lost in pos 51-24.40n 002-39.57e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchor and chain lost in pos 51-24.40n 002-39.57e",
      "Tss-westhinder",
      "M/v st. clemens"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 34,
    "heading": "2026-04-08 22:12:32 AREA: T",
    "published_at": "2026-04-08 22:12:32",
    "area": "T",
    "message_id": "",
    "text": "ZCACMH_\n_011041 UTC APR\nTESTENDERADIO MSI 143/26\nTSS-OFF NOORDHINDER  \nSPECIAL _CYZJ_II_OY OWFB, W. FL 5S, \n51-40.23N 002-48.34E ESTABLISHED \nCANCEL THIS MESSAGE: 151041 UTC APR 26\nNNNN",
    "clean_text": "ZCACMH_\n_011041 UTC APR\nTESTENDERADIO MSI 143/26\nTSS-OFF NOORDHINDER\nSPECIAL _CYZJ_II_OY OWFB, W. FL 5S,\n51-40.23N 002-48.34E ESTABLISHED\nCANCEL THIS MESSAGE: 151041 UTC APR 26\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": "regional-context",
    "resolved_match_terms": [
      "NOORDHINDER"
    ],
    "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 says: 51-40.23n 002-48.34e established.",
    "decoded_highlights": [
      "51-40.23n 002-48.34e established",
      "Special cyzj ii oy owfb, w. fl 5s",
      "Tss-off noordhinder"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-08 22:11:14 AREA: T",
    "published_at": "2026-04-08 22:11:14",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_ _MGCH_MYONGZZ_HPWPYWFZM_JF\n__YV_EEZ\nOBJECT ON THE SEABED 51-27.16N _PWARWMYTE\nSHIPPING REQUESTED NOT TO ANCHOR NOR TO FISH IN A RADIUS OF 500 METER AROUND THIS OBJECT.\nNNNN",
    "clean_text": "ZCZ_ _MGCH_MYONGZZ_HPWPYWFZM_JF\n__YV_EEZ\nOBJECT ON THE SEABED 51-27.16N _PWARWMYTE\nSHIPPING REQUESTED NOT TO ANCHOR NOR TO FISH IN A RADIUS OF 500 METER AROUND THIS OBJECT.\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 sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping requested not to anchor nor to fish in a radius of 500 meter around this object",
      "Object on the seabed 51-27.16n pwarwmyte"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 41,
    "heading": "2026-04-08 22:04:18 AREA: S",
    "published_at": "2026-04-08 22:04:18",
    "area": "S",
    "message_id": "",
    "text": "ZCZC S_FPONG_XMHG_B_CY___\n__TC AP__\n_NAV. __-__. NOW\nQZ_\nGERMAN BIGHT. WEISSE BANKPM\n GJ_Y\nP_MZPYHFZJMLEM_\nM_K_RO SY_Y', CS 'C6T__XW_ONGYZC_M_HFZM_HYYCPGM\n_TINEE\nRESTRICTED MANOE_YLFSFH_MWCY__MZ_YHFZJ_ONIII_ERTH OF 2 NM REQUESTED.\nNNNN",
    "clean_text": "ZCZC S_FPONG_XMHG_B_CY___\n__TC AP__\n_NAV. __-__. NOW\nQZ_\nGERMAN BIGHT. WEISSE BANKPM\nGJ_Y\nP_MZPYHFZJMLEM_\nM_K_RO SY_Y', CS 'C6T__XW_ONGYZC_M_HFZM_HYYCPGM\n_TINEE\nRESTRICTED MANOE_YLFSFH_MWCY__MZ_YHFZJ_ONIII_ERTH 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": [
      "GERMAN BIGHT",
      "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: Restricted manoe ylfsfh mwcy mz yhfzj oniii erth of 2 nm requested. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Restricted manoe ylfsfh mwcy mz yhfzj oniii erth of 2 nm requested",
      "German bight. weisse bankpm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-08 22:02:07 AREA: S",
    "published_at": "2026-04-08 22:02:07",
    "area": "S",
    "message_id": "SA92",
    "text": "ZCZC SA92\nNCC-HAMBURG\n081020 UTC APR 26\nNAV. WARN. NO. 206\nEAST FRISIAN ISLANDS. NORDERNEY.\n'NORDNEY' LIGHTHOUSE 5_-43N 007-14E\nCHARACTERS CHANGED _Z_FL (3) 15S\nNNNN",
    "clean_text": "ZCZC SA92\nNCC-HAMBURG\n081020 UTC APR 26\nNAV. WARN. NO. 206\nEAST FRISIAN ISLANDS. NORDERNEY.\n'NORDNEY' LIGHTHOUSE 5_-43N 007-14E\nCHARACTERS CHANGED _Z_FL (3) 15S\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": [
      "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: 'nordney' lighthouse 5 -43n 007-14e.",
    "decoded_highlights": [
      "'nordney' lighthouse 5 -43n 007-14e",
      "Characters changed z fl (3) 15s",
      "East frisian islands. norderney"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 45,
    "heading": "2026-04-08 22:01:25 AREA: S",
    "published_at": "2026-04-08 22:01:25",
    "area": "S",
    "message_id": "SA93",
    "text": "ZCZC SA93\nNCC-HAMBURG\n08_330 UTC APR 26\nNAV. W_ NO. 209\nGERMAN BIGHT. HELIGOLAND.\nCARDINALE BUOY 'DUENE-O'  54-10.8N 007-56.1E ADRIFT\nCANCEL THIS MESSAGE   090130 UTC APR 26\nNNN_ONNKK_KKKKKKKKKKKKKKKKKKKKKK_KKKKKKKK_ KK__ZCZC",
    "clean_text": "ZCZC SA93\nNCC-HAMBURG\n08_330 UTC APR 26\nNAV. W_ NO. 209\nGERMAN BIGHT. HELIGOLAND.\nCARDINALE BUOY 'DUENE-O' 54-10.8N 007-56.1E ADRIFT\nCANCEL THIS MESSAGE 090130 UTC APR 26\nNNN_ONNKK_KKKKKKKKKKKKKKKKKKKKKK_KKKKKKKK_ KK__ZCZC",
    "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: Cardinale buoy 'duene-o' 54-10.8n 007-56.1e adrift. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Cardinale buoy 'duene-o' 54-10.8n 007-56.1e adrift",
      "Nnn onnkk kkkkkkkkkkkkkkkkkkkkkk kkkkkkkk kk zczc",
      "German bight. heligoland"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 46,
    "heading": "2026-04-08 21:40:18 AREA: Q",
    "published_at": "2026-04-08 21:40:18",
    "area": "Q",
    "message_id": "QA05",
    "text": "ZCZC QA05\n081840 UTC APR 26\nSPLIT RADIO\n\nX\n__HFZSMU\n_MG_Y\nZ_BPMC:0+_+__$06.26!_!/._.! 0945\n:_-_ 0945, BREAKWATER, EXPLOKF_PM_P\nF_PMFM\nF_F_HEM_FY_H_HZMGM\n_RUNUQ E. NAVIGATION, ANCHORING AND OTH_Y _\nF\nFHFPJMFM_ H_GBPHPYQBEKU/1__3_)_-1$_)__3_2'_,7_++++!!!_+:+: 1305\n\n081840 UTC APR_\n_SPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTE_ S_SFHMZ\nIFTYTU_U_\n\n1. \n\n\n\nFUV0+/\n_84'5 -)'9 59.94492 -!534,99, 9, '-ERN/CENTRAL ADRIATIC LOC GUSTS OF NW WIND 35-45 KT. OVERNIGHT LOC\nGUST OF NE WIND 35-50, IN VELEBITSKI KANAL UP TO 60 KT.\n\n2. SYNOPSIS:\nRIDGE OF HIGH I_J_MZ\nPYMHDPMWYFHFXM_BMHDPM_\nEM FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 09/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nNE WINDV___OVERNIGHT INCR TO 12-22 KT, IN VELEBITSKI KANAL TO 30 KT, TOMORROW BEFORE NOON DECR \nTO 4-12, OFFSHORE TURNING TO SE, LOC UP TO 16 KT. SEA 2-3, IN VELEBITSKI KANAL TONIGHT LOC 4.\nVIS 20 KM. MOSTLY CLEAR, TOMORROW MOD CLOUDY.\n\nCENTRAL ADRIATIC:\nAT FIRST AND TOMORROW AFTERNOON NW 8-18 KT._'+_.__._(3___ OVERNIGHT TURNING TO NE 12-24 KT, JUST LOC TO 28 KT, \nBEFORE NOONM_Q_O 8-18 KT. SEA 2-3._+_2*__ KM. MOSTLY CLEAR, TOMOYRZUM_ZWM_SZ_WE_\nS-ERN ADRI_C\nAT FIRST ANWMHZ_ZY_Z_M_06++.7._!1._! !._'+_.__._KT. 5+_06_!_$_._:6!___, BEFORE NOON DECR \nATO 8-18 _=___._*0._, OFFSHORE LOC 4. VIS 20 KM. MOSTLY CLEAR, TOM_W MOD CLOUDY.NNNN",
    "clean_text": "ZCZC QA05\n081840 UTC APR 26\nSPLIT RADIO\n\nX\n__HFZSMU\n_MG_Y\nZ_BPMC:0+_+__$06.26!_!/._.! 0945\n:_-_ 0945, BREAKWATER, EXPLOKF_PM_P\nF_PMFM\nF_F_HEM_FY_H_HZMGM\n_RUNUQ E. NAVIGATION, ANCHORING AND OTH_Y _\nF\nFHFPJMFM_ H_GBPHPYQBEKU/1__3_)_-1$_)__3_2'_,7_++++!!!_+:+: 1305\n\n081840 UTC APR_\n_SPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTE_ S_SFHMZ\nIFTYTU_U_\n\n1.\n\nFUV0+/\n_84'5 -)'9 59.94492 -!534,99, 9, '-ERN/CENTRAL ADRIATIC LOC GUSTS OF NW WIND 35-45 KT. OVERNIGHT LOC\nGUST OF NE WIND 35-50, IN VELEBITSKI KANAL UP TO 60 KT.\n\n2. SYNOPSIS:\nRIDGE OF HIGH I_J_MZ\nPYMHDPMWYFHFXM_BMHDPM_\nEM FORECAST FOR THE NEXT 24 HOURS VALID UNTIL 09/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\nNE WINDV___OVERNIGHT INCR TO 12-22 KT, IN VELEBITSKI KANAL TO 30 KT, TOMORROW BEFORE NOON DECR\nTO 4-12, OFFSHORE TURNING TO SE, LOC UP TO 16 KT. SEA 2-3, IN VELEBITSKI KANAL TONIGHT LOC 4.\nVIS 20 KM. MOSTLY CLEAR, TOMORROW MOD CLOUDY.\n\nCENTRAL ADRIATIC:\nAT FIRST AND TOMORROW AFTERNOON NW 8-18 KT._'+_.__._(3___ OVERNIGHT TURNING TO NE 12-24 KT, JUST LOC TO 28 KT,\nBEFORE NOONM_Q_O 8-18 KT. SEA 2-3._+_2*__ KM. MOSTLY CLEAR, TOMOYRZUM_ZWM_SZ_WE_\nS-ERN ADRI_C\nAT FIRST ANWMHZ_ZY_Z_M_06++.7._!1._! !._'+_.__._KT. 5+_06_!_$_._:6!___, BEFORE NOON DECR\nATO 8-18 _=___._*0._, OFFSHORE LOC 4. VIS 20 KM. MOSTLY CLEAR, TOM_W MOD CLOUDY.NNNN",
    "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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Croatia - Adriatic Sea. Readable text says: Runuq e. navigation, anchoring and oth y. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Runuq e. navigation, anchoring and oth y",
      "Weather bulletin for adriatic issued by the marine meteorological cente s sfhmz",
      "Em forecast for the next 24 hours valid until 09/04/2026 at 1700 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 50,
    "heading": "2026-04-08 21:32:06 AREA: P",
    "published_at": "2026-04-08 21:32:06",
    "area": "P",
    "message_id": "PA99",
    "text": "ZCZC PA99\n0_ 716._:__.YMNKQ_SI 106/26\nWINDFARM HOLLANDSE KUST ZUID\nYELLOW SPECIAL MARK LIGHT BUOYS FL(5) Y20S\nESTABLISHPWMFMHDPM_ZSUNG POSITIONS\nMT-HKZ 3 52-10,4420N 003-56,3420E\nMT-HKZ 4 52-10,=+___/=\n__0___6____0\n_\nNNNN",
    "clean_text": "ZCZC PA99\n0_ 716._:__.YMNKQ_SI 106/26\nWINDFARM HOLLANDSE KUST ZUID\nYELLOW SPECIAL MARK LIGHT BUOYS FL(5) Y20S\nESTABLISHPWMFMHDPM_ZSUNG POSITIONS\nMT-HKZ 3 52-10,4420N 003-56,3420E\nMT-HKZ 4 52-10,=+___/=\n__0___6____0\n_\nNNNN",
    "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. Readable text says: Yellow special mark light buoys fl(5) y20s. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Yellow special mark light buoys fl(5) y20s",
      "Windfarm hollandse kust zuid",
      "Establishpwmfmhdpm zsung positions"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 52,
    "heading": "2026-04-08 21:24:43 AREA: O",
    "published_at": "2026-04-08 21:24:43",
    "area": "O",
    "message_id": "",
    "text": "ZCZC OA_D_\nN\nM__M_UE_II TPPYQXWY __ZH\nQ\n_NWONN_IIKJ_\n_J\n\nF_CUU_U__ -.-_.+-54!_8NTM ML_ZCZC",
    "clean_text": "ZCZC OA_D_\nN\nM__M_UE_II TPPYQXWY __ZH\nQ\n_NWONN_IIKJ_\n_J\n\nF_CUU_U__ -.-_.+-54!_8NTM ML_ZCZC",
    "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. 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": 54,
    "heading": "2026-04-08 20:10:44 AREA: G",
    "published_at": "2026-04-08 20:10:44",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\nCROARTY.\nHYWIND FLOATING WIND FARM.\n1. TKALFYMDJ_U_K_B\n__LBLO_01-21.1W, FO_ SIGNAL INOPE_VE.\n2. CANCEL_WANVZT_EMVM_KNMCJL_H_AU_Z_VVVVVVVVVVVVVVVVTPE_MACK___--_* ):+: 9-49_\n_5)3_,-, ,-=.  _-4,',_ _2_77___-'7+:+: _-_2\n_13-32__:_:!976.\n8__$5_67\n_!._5'_\n_:_-49,,_!+__+(3_BK__\nQ_WZ___KZCZC",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROARTY.\nHYWIND FLOATING WIND FARM.\n1. TKALFYMDJ_U_K_B\n__LBLO_01-21.1W, FO_ SIGNAL INOPE_VE.\n2. CANCEL_WANVZT_EMVM_KNMCJL_H_AU_Z_VVVVVVVVVVVVVVVVTPE_MACK___--_* ):+: 9-49_\n_5)3_,-, ,-=. _-4,',_ _2_77___-'7+:+: _-_2\n_13-32__:_:!976.\n8__$5_67\n_!._5'_\n_:_-49,,_!+__+(3_BK__\nQ_WZ___KZCZC",
    "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: Hywind floating wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Hywind floating wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 55,
    "heading": "2026-04-08 20:09:49 AREA: G",
    "published_at": "2026-04-08 20:09:49",
    "area": "G",
    "message_id": "GA97",
    "text": "ZCZC GA97\nNAVAREA I 43/26 \nNORTH SEA.:9,__0'_ _78))3.95 9!_=_!0'2*8\nCHART GB 278. \nSAFETY ZONE, RADIUS 500 METRES,._0*_)'!*$02.!.__:_48N .00-46.38EONGONNIIIC_-/-/.\n+*9._(_2.2_0+_._!_._6__\nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA97\nNAVAREA I 43/26\nNORTH SEA.:9,__0'_ _78))3.95 9!_=_!0'2*8\nCHART GB 278.\nSAFETY ZONE, RADIUS 500 METRES,._0*_)'!*$02.!.__:_48N .00-46.38EONGONNIIIC_-/-/.\n+*9._(_2.2_0+_._!_._6__\nDUDGEON SOUTH BUOY 53-12.5N 001-25.6E UNLIT.\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. Readable text says: Dudgeon south buoy 53-12.5n 001-25.6e unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12.5n 001-25.6e unlit",
      "Safety zone, radius 500 metres,. 0 )'! $02.!. : 48n .00-46.38eongonniiic -/-/",
      "Navarea i 43/26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 56,
    "heading": "2026-04-08 20:08:40 AREA: G",
    "published_at": "2026-04-08 20:08:40",
    "area": "G",
    "message_id": "GA71",
    "text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NO_TZWESTWARDS.\n_\n0___0_._*_._._LB(02-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (_\n67'_9,_9,!!_*-/-/\n_\n3_9___-_\n,!_5-0__'R_BOO_ACE BANVMFFARM. \n1. TURBINE FOG SIGNALS\nCNZ_PYHF_PICIU\nXMON__D01, 53-20.1N 000-49.1_\nOMONGL_S01._\n_-\n5.7N 000-55.9E. \n2. CANCEL WZ 58/26 (__)7+'_.9,+!!!__7 _ZCZC",
    "clean_text": "ZCZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NO_TZWESTWARDS.\n_\n0___0_._*_._._LB(02-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCEL WZ 82/26 (_\n67'_9,_9,!!_*-/-/\n_\n3_9___-_\n,!_5-0__'R_BOO_ACE BANVMFFARM.\n1. TURBINE FOG SIGNALS\nCNZ_PYHF_PICIU\nXMON__D01, 53-20.1N 000-49.1_\nOMONGL_S01._\n_-\n5.7N 000-55.9E.\n2. CANCEL WZ 58/26 (__)7+'_.9,+!!!__7 _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",
      "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. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "0 0 . . . lb(02-59.1e unlit and all navaids inoperative",
      "1. turbine fog signals",
      "Orwell gas field no tzwestwards"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 57,
    "heading": "2026-04-08 20:08:11 AREA: G",
    "published_at": "2026-04-08 20:08:11",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWC\nTU__RAVENSPURN NORTH GAS FIELD. \n __'__+6_.-3_2__4,_(1:_0___.__P_UGLON.:_:__BHXJ__(7_(_0_7=)_\n: )_ _\n__=3. \nNNNN",
    "clean_text": "ZCZC GA74\nWC\nTU__RAVENSPURN NORTH GAS FIELD.\n__'__+6_.-3_2__4,_(1:_0___.__P_UGLON.:_:__BHXJ__(7_(_0_7=)_\n: )_ _\n__=3.\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. Readable text says: Tu ravenspurn north gas field. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Tu ravenspurn north gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-08 20:07:21 AREA: T",
    "published_at": "2026-04-08 20:07:21",
    "area": "T",
    "message_id": "",
    "text": "ICZCZC",
    "clean_text": "ICZCZC",
    "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": 59,
    "heading": "2026-04-08 20:07:21 AREA: G",
    "published_at": "2026-04-08 20:07:21",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26=_\n .$''. \nM\nM_M+_=1\n_.9____._\n_6 '853 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26=_\n.$''.\nM\nM_M+_=1\n_.9____._\n_6 '853 51-59.6N 001-24.5E OFF AIR.\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. Readable text says: 6 '853 51-59.6n 001-24.5e off air. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "6 '853 51-59.6n 001-24.5e off air"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-08 20:06:22 AREA: G",
    "published_at": "2026-04-08 20:06:22",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIEL_. \n__-5!94. 49/27-ED 53-03.6N 002-(\n*_0\n._:'_2.''.____(_7_K__!_B_CANCEL WZ 100/26 (_NNIII___\nUUUZXA___\nABM__\nNCCGHCPZHDQL__ZHNJQ_WOA_ORE DEMONSTRATOR WIND FA_M_M\nTUROFO_ 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIEL_.\n__-5!94. 49/27-ED 53-03.6N 002-(\n*_0\n._:'_2.''.____(_7_K__!_B_CANCEL WZ 100/26 (_NNIII___\nUUUZXA___\nABM__\nNCCGHCPZHDQL__ZHNJQ_WOA_ORE DEMONSTRATOR WIND FA_M_M\nTUROFO_ 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\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"
    ],
    "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 reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turofo 001-23.6w unlit and fog signal inoperative",
      "Leman gas fiel"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-08 20:05:51 AREA: G",
    "published_at": "2026-04-08 20:05:51",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nM_CCVJBPHS_1. MF R/_5 -,$\n2*_.*_6\n!_8*._6+_.__00(_._853 57-07.(O\n_U\n_UG_\nW._6-_9_:-,:3) 2+ 213/26 (GA_ISSM\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nM_CCVJBPHS_1. MF R/_5 -,$\n2*_.*_6\n!_8*._6+_.__00(_._853 57-07.(O\n_U\n_UG_\nW._6-_9_:-,:3) 2+ 213/26 (GA_ISSM\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": 62,
    "heading": "2026-04-08 20:05:21 AREA: G",
    "published_at": "2026-04-08 20:05:21",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA0(\n_226/26\nHUMBER.\n LPJJP_PY_ FIESW_ZO_\nC_OH*($_23E, 53-11.93,\n2-1_299 FFOG SIGNAS FZ_PF_HXON_M CANCEL WZ 1_6 (GA54).\n,9,,888_ZCZC",
    "clean_text": "ZCZC GA0(\n_226/26\nHUMBER.\nLPJJP_PY_ FIESW_ZO_\nC_OH*($_23E, 53-11.93,\n2-1_299 FFOG SIGNAS FZ_PF_HXON_M CANCEL WZ 1_6 (GA54).\n,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": "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": [
      "2-1 299 ffog signas fz pf hxon m cancel wz 1 6 (ga54)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 63,
    "heading": "2026-04-08 20:04:55 AREA: G",
    "published_at": "2026-04-08 20:04:55",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53_ 002-05__E_ D\nL_F\nMWMSSM_FWJMFT_X_CB9,()_(:7(_ZCZC",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53_ 002-05__E_ D\nL_F\nMWMSSM_FWJMFT_X_CB9,()_(:7(_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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Inner bank. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Inner bank"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 64,
    "heading": "2026-04-08 20:04:20 AREA: G",
    "published_at": "2026-04-08 20:04:20",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA8_9__(-__::._:09_ \nSOFIA OFFSHORE WIND FARM. \n1. BUOYS UNLIT: \n_A. N1 55-0_9 __\n_NUZDHGV_T TRATQMTN 002-20.7E. \n2_95/26 (GA_TPLM \nDD_I_NIII_ZCZC",
    "clean_text": "ZCZC GA8_9__(-__::._:09_\nSOFIA OFFSHORE WIND FARM.\n1. BUOYS UNLIT:\n_A. N1 55-0_9 __\n_NUZDHGV_T TRATQMTN 002-20.7E.\n2_95/26 (GA_TPLM\nDD_I_NIII_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": [
      "SOFIA OFFSHORE WIND FARM"
    ],
    "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: 1. buoys unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. buoys unlit",
      "Sofia offshore wind farm",
      "Nuzdhgv t tratqmtn 002-20.7e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 65,
    "heading": "2026-04-08 20:03:45 AREA: G",
    "published_at": "2026-04-08 20:03:45",
    "area": "G",
    "message_id": "",
    "text": "ZCZC G_ FO_G_AM\n_Y_T_\nFORTH. \nNEART NU_ITHE WINDFARM. \n_NNG E BUOY 56-14.3N 002\n(7/ME1.2._.*.):+_9_\n-:.:,)__\nXX_ AIS INOPERATIVE. \n2. CANCEL_AA_PXWY KG_ PS_MOCII_ONNIII__ZCZC",
    "clean_text": "ZCZC G_ FO_G_AM\n_Y_T_\nFORTH.\nNEART NU_ITHE WINDFARM.\n_NNG E BUOY 56-14.3N 002\n(7/ME1.2._.*.):+_9_\n-:.:,)__\nXX_ AIS INOPERATIVE.\n2. CANCEL_AA_PXWY KG_ PS_MOCII_ONNIII__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 an AIS transmitter is inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Xx ais inoperative",
      "Nng e buoy 56-14.3n 002",
      "Neart nu ithe windfarm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 66,
    "heading": "2026-04-08 20:01:23 AREA: G",
    "published_at": "2026-04-08 20:01:23",
    "area": "G",
    "message_id": "GA20",
    "text": "ZCZC GA20\nNAVAREA I 68/26\n1.=_,_60.!._3___8, !94:3 -5 031000 UTC _YM\nFUBXON_N\nUUE SERIES: 43, 6_7, 68.\n\nNOTES:\nA9=__0__*\n-_(3KBGBKKEL31__11/UB__QVX_BKEB_$.84-)56 ,958:3' 59 .-48,34' _7))358, (ANMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATEDM\n_\nPD_PWM_YZCM_S_ :\n3__ AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COM_LPHPMHP_HJ_Z_M_SMF_G+6/0.__60.!._8(8_,_', INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED IN SECTION III OF ANMB IN WEEKS 1, 13, 26 AND 39 AND ARE ALSO AVAILABLE FROM THE UKHO WEBSITE AT: HTTPS://MSI.ADMIRS_E_BGXB_BG_WFZ\nFY_H_ZWS_YF__BONONGSHPYHF_PSE_MGHDPJPMB_MLPMYP_CPJHPWML_MP\nG_IK_BF_M_YZBMOYPMFMXZ_GZYWFHZYMH_AVWARNINGS(AT\nS_C_DZ\nBG_\n_\n__ZM_\nKZ__KT_BKBKEKB_-47)(GA13)(OA74).\nNNNN",
    "clean_text": "ZCZC GA20\nNAVAREA I 68/26\n1.=_,_60.!._3___8, !94:3 -5 031000 UTC _YM\nFUBXON_N\nUUE SERIES: 43, 6_7, 68.\n\nNOTES:\nA9=__0__*\n-_(3KBGBKKEL31__11/UB__QVX_BKEB_$.84-)56 ,958:3' 59 .-48,34' _7))358, (ANMB).\n\nB. NAVAREA I WARNINGS LESS THAN 42 DAYS OLD (43/26 ONWARD) ARE PROMULGATEDM\n_\nPD_PWM_YZCM_S_ :\n3__ AND/OR RELEVANT NAVTEX TRANSMITTERS.\n\nC. THE COM_LPHPMHP_HJ_Z_M_SMF_G+6/0.__60.!._8(8_,_', INCLUDING THOSE WHICH ARE NO LONGER BEING BROADCAST, ARE REPRINTED IN SECTION III OF ANMB IN WEEKS 1, 13, 26 AND 39 AND ARE ALSO AVAILABLE FROM THE UKHO WEBSITE AT: HTTPS://MSI.ADMIRS_E_BGXB_BG_WFZ\nFY_H_ZWS_YF__BONONGSHPYHF_PSE_MGHDPJPMB_MLPMYP_CPJHPWML_MP\nG_IK_BF_M_YZBMOYPMFMXZ_GZYWFHZYMH_AVWARNINGS(AT\nS_C_DZ\nBG_\n_\n__ZM_\nKZ__KT_BKBKEKB_-47)(GA13)(OA74).\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. Readable text says: B. navarea i warnings less than 42 days old (43/26 onward) are promulgatedm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "B. navarea i warnings less than 42 days old (43/26 onward) are promulgatedm",
      "G ik bf m yzbmoypmfmxz gzywfhzymh avwarnings(at",
      "C. the com lphpmhp hj z m smf g 6/0. 60.!. 8(8 , ', including those which are no longer being broadcast, are reprinted in section iii of anmb in weeks 1, 13, 26 and 39 and are also available from the ukho website at: https://msi.admirs e bgxb bg wfz"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 67,
    "heading": "2026-04-08 20:00:53 AREA: G",
    "published_at": "2026-04-08 20:00:53",
    "area": "G",
    "message_id": "GA25",
    "text": "ZCZC GA25\nWZ 254/26 \nVIKING. \nBERYL OIL FIELD. \n1. BERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED. \n2. CANCEL WZ 143/26 (GA82). \nNNNN",
    "clean_text": "ZCZC GA25\nWZ 254/26\nVIKING.\nBERYL OIL FIELD.\n1. BERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED.\n2. CANCEL WZ 143/26 (GA82).\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": [
      "BERYL OIL 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: 1. beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "1. beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed",
      "Beryl oil field",
      "2. cancel wz 143/26 (ga82)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 68,
    "heading": "2026-04-08 20:00:16 AREA: G",
    "published_at": "2026-04-08 20:00:16",
    "area": "G",
    "message_id": "GB27",
    "text": "ZCZC GB27\nCULLERCOATSRADIO\nGALE WARNING WEDNESDAY 08._6!7._7 UTC\n\nVIKING\nSOUTHERLY GALE FORCE 8 INCREASING SEVERE GALE FORCE 9 LATER\n_\nFORTIES\nSOUTHEASTERLY GASPM_ZYXPM\nFM_P_IKKPXHPWMSHPYONGONN_FFXZCZC",
    "clean_text": "ZCZC GB27\nCULLERCOATSRADIO\nGALE WARNING WEDNESDAY 08._6!7._7 UTC\n\nVIKING\nSOUTHERLY GALE FORCE 8 INCREASING SEVERE GALE FORCE 9 LATER\n_\nFORTIES\nSOUTHEASTERLY GASPM_ZYXPM\nFM_P_IKKPXHPWMSHPYONGONN_FFXZCZC",
    "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",
      "CULLERCOATSRADIO"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - North Sea and north-east UK coast. Readable text says: Southerly gale force 8 increasing severe gale force 9 later.",
    "decoded_highlights": [
      "Southerly gale force 8 increasing severe gale force 9 later",
      "Gale warning wednesday 08. 6!7. 7 utc",
      "Cullercoatsradio"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 69,
    "heading": "2026-04-08 18:31:23 AREA: V",
    "published_at": "2026-04-08 18:31:23",
    "area": "V",
    "message_id": "VA63",
    "text": "ZCZC VA63\n08_0_( _75: .-4 26 \n_183/26 \nTHAM___=\nEAST ANGLIA ONE WIND FARM. \nTURBINE G27, 52-09__N 002-33.5E, FOG SIGNAL INOPERATIVE. \nNNN_OH IKKKKKKK_V__\nU\n_U_\n_XAF_AXAUC_G_CO_PYCZ_YYWFWFZONG_S_M_YFMKULQUK__B_SOUTHERLY GALE FORCE\n!.5!_60(1_3_0BEPB_CPH_MU_HZKE_Z_FPJO_CHDPJHPYSP_K__B__ETNB_+,=\n(_3:53$ )-534\nNNNN",
    "clean_text": "ZCZC VA63\n08_0_( _75: .-4 26\n_183/26\nTHAM___=\nEAST ANGLIA ONE WIND FARM.\nTURBINE G27, 52-09__N 002-33.5E, FOG SIGNAL INOPERATIVE.\nNNN_OH IKKKKKKK_V__\nU\n_U_\n_XAF_AXAUC_G_CO_PYCZ_YYWFWFZONG_S_M_YFMKULQUK__B_SOUTHERLY GALE FORCE\n!.5!_60(1_3_0BEPB_CPH_MU_HZKE_Z_FPJO_CHDPJHPYSP_K__B__ETNB_+,=\n(_3:53$ )-534\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. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine g27, 52-09 n 002-33.5e, fog signal inoperative",
      "Xaf axauc g co pycz yywfwfzong s m yfmkulquk b southerly gale force",
      "East anglia one wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-08 18:30:56 AREA: V",
    "published_at": "2026-04-08 18:30:56",
    "area": "V",
    "message_id": "VA69",
    "text": "ZCZC VA69\n191638 _ .-4 2026\nWZ 215/26\nGMDSS.\n__6_/._4.\nMF R/T SERVICE FROM BAWDS_E 51-59.6N 001-_.5E OFF AIG_NNFN\nN_ZCZC",
    "clean_text": "ZCZC VA69\n191638 _ .-4 2026\nWZ 215/26\nGMDSS.\n__6_/._4.\nMF R/T SERVICE FROM BAWDS_E 51-59.6N 001-_.5E OFF AIG_NNFN\nN_ZCZC",
    "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": [
      "Mf r/t service from bawds e 51-59.6n 001- .5e off aig nnfn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 73,
    "heading": "2026-04-08 18:18:42 AREA: T",
    "published_at": "2026-04-08 18:18:42",
    "area": "T",
    "message_id": "TA99",
    "text": "ZCZC TA99\n141654 UTC JA_\nOOSTENDERADIO MSI 027/26\nBE EEZ\nD_ZZ_YDF_SMFJRXDBQTKS_XF_K11UB)__09,$.7:/),/___\nF__MSEQUESTED NOT TO FISH NOR TOV__DI_R IN THE VICINITY\nNNNN",
    "clean_text": "ZCZC TA99\n141654 UTC JA_\nOOSTENDERADIO MSI 027/26\nBE EEZ\nD_ZZ_YDF_SMFJRXDBQTKS_XF_K11UB)__09,$.7:/),/___\nF__MSEQUESTED NOT TO FISH NOR TOV__DI_R 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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: F msequested not to fish nor tov di r in the vicinity. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "F msequested not to fish nor tov di r in the vicinity"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 75,
    "heading": "2026-04-08 18:17:22 AREA: T",
    "published_at": "2026-04-08 18:17:22",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n270420 U__MJK_MMONGZZJHPWPYWFM_JFM_PH_\nOOSTENDE-Z_LYC_\nCHAIN ON THE SE_LPWMFMHDPM\nF__X_\nOF 51-20,05N 003-03,75E\n_KJOFNG IS REQUEJHPWMZHMHZM_DZYMONGZYMHZMIII_!*_._9,,888_ZCZC",
    "clean_text": "ZCZC TA79\n270420 U__MJK_MMONGZZJHPWPYWFM_JFM_PH_\nOOSTENDE-Z_LYC_\nCHAIN ON THE SE_LPWMFMHDPM\nF__X_\nOF 51-20,05N 003-03,75E\n_KJOFNG IS REQUEJHPWMZHMHZM_DZYMONGZYMHZMIII_!*_._9,,888_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": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "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: Kjofng is requejhpwmzhmhzm dzymongzymhzmiii ! . 9,,888 zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Kjofng is requejhpwmzhmhzm dzymongzymhzmiii ! . 9,,888 zczc",
      "Chain on the se lpwmfmhdpm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  }
]