[
  {
    "index": 1,
    "heading": "2026-04-05 22:10:17 AREA: T",
    "published_at": "2026-04-05 22:10:17",
    "area": "T",
    "message_id": "TE10",
    "text": "ZCZC TE10\n051910 UTC APR\nOOSTENDERADIO WX 10/26\nTHAMES:\n_7.__._20_6._+._6)__59.94492._+6!_DOVER:\nW 4-5, _$3:4 59 =4_ _1-2 TO_ZWXZUM_ZXFOS\nWN_V1-2 TOMORROW MORNING.\nALL REGIO_S:\nTHIS EVENING VRB CLOUDIN__N_WITH AMOD D_RINJ SH. TONIGHT AND TOMO_ MORNING MOD VIS ALONG THE CONTINENTA\nVCOAST.\n\nNNNN",
    "clean_text": "ZCZC TE10\n051910 UTC APR\nOOSTENDERADIO WX 10/26\nTHAMES:\n_7.__._20_6._+._6)__59.94492._+6!_DOVER:\nW 4-5, _$3:4 59 =4_ _1-2 TO_ZWXZUM_ZXFOS\nWN_V1-2 TOMORROW MORNING.\nALL REGIO_S:\nTHIS EVENING VRB CLOUDIN__N_WITH AMOD D_RINJ SH. TONIGHT AND TOMO_ MORNING MOD VIS ALONG THE CONTINENTA\nVCOAST.\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Belgium - Belgian coast and southern North Sea. Readable text says: This evening vrb cloudin n with amod d rinj sh. tonight and tomo morning mod vis along the continenta. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "This evening vrb cloudin n with amod d rinj sh. tonight and tomo morning mod vis along the continenta",
      "Wn v1-2 tomorrow morning",
      "All regio s"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 3,
    "heading": "2026-04-05 22:06:55 AREA: S",
    "published_at": "2026-04-05 22:06:55",
    "area": "S",
    "message_id": "SA75",
    "text": "ZCZC SA75\nNCC-HAMBURG\n2:___MG_HXM_Y_\n_NAV. WARN. NO_BM FPONGPJHMYFJFMFJSWJ_BGQCF_H_ 'JUIST-N'  LIGHTBUOY  53-44N  006-55E MISSING.\nNNNN",
    "clean_text": "ZCZC SA75\nNCC-HAMBURG\n2:___MG_HXM_Y_\n_NAV. WARN. NO_BM FPONGPJHMYFJFMFJSWJ_BGQCF_H_ 'JUIST-N' LIGHTBUOY 53-44N 006-55E MISSING.\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: Nav. warn. no bm fpongpjhmyfjfmfjswj bgqcf h 'juist-n' lightbuoy 53-44n 006-55e missing. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nav. warn. no bm fpongpjhmyfjfmfjswj bgqcf h 'juist-n' lightbuoy 53-44n 006-55e missing",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 4,
    "heading": "2026-04-05 22:06:17 AREA: S",
    "published_at": "2026-04-05 22:06:17",
    "area": "S",
    "message_id": "SA79",
    "text": "ZCZC SA79\nNCC-H_LCY_ON\nP_F__MG_HXM_KM_AV. WARN. NO. 187\nGERMAN BIGHT.\nOFFSHORE WINDPARK 'NORDSEE OST'.\n5 SM LIGHTING INOPERATIVE ACROSS THE ENTIRE WIND FARM.\nNNNN",
    "clean_text": "ZCZC SA79\nNCC-H_LCY_ON\nP_F__MG_HXM_KM_AV. WARN. NO. 187\nGERMAN BIGHT.\nOFFSHORE WINDPARK 'NORDSEE OST'.\n5 SM LIGHTING INOPERATIVE ACROSS THE ENTIRE WIND FARM.\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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Germany - German Bight and German North Sea. Readable text says: 5 sm lighting inoperative across the entire wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "5 sm lighting inoperative across the entire wind farm",
      "German bight",
      "Offshore windpark 'nordsee ost'"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 10,
    "heading": "2026-04-05 22:01:31 AREA: S",
    "published_at": "2026-04-05 22:01:31",
    "area": "S",
    "message_id": "SA89",
    "text": "ZCZC SA89\nNCC-HAMBURG\n051500 UTC APR 26\nNAV. WARN. NO. 201\nNAV. WARN. NO. 200 CANCELLED.\nNNNN",
    "clean_text": "ZCZC SA89\nNCC-HAMBURG\n051500 UTC APR 26\nNAV. WARN. NO. 201\nNAV. WARN. NO. 200 CANCELLED.\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: Nav. warn. no. 201.",
    "decoded_highlights": [
      "Nav. warn. no. 201",
      "Nav. warn. no. 200 cancelled",
      "Ncc-hamburg"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 11,
    "heading": "2026-04-05 21:50:32 AREA: P",
    "published_at": "2026-04-05 21:50:32",
    "area": "P",
    "message_id": "PB50",
    "text": "ZCZC PB50\n051818 UTC APR 26\nGALEWARNING, 05 APR 18:09 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 7.\nHUMLP__THAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB50\n051818 UTC APR 26\nGALEWARNING, 05 APR 18:09 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 7.\nHUMLP__THAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 05 apr 18:09 utc.",
    "decoded_highlights": [
      "Galewarning, 05 apr 18:09 utc",
      "No warning",
      "End of galewarning"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 12,
    "heading": "2026-04-05 21:40:14 AREA: Q",
    "published_at": "2026-04-05 21:40:14",
    "area": "Q",
    "message_id": "QA05",
    "text": "ZCZC QA05\n05_'__.____.XM\n_SPLIT RADIO\n\nNAVIGATIONAL WNG9\n_/'1.: 67/2026\n\nNORTHER_TIC - PULA PORT\nCHART: 100-16\n\nPULA PZZ\n\nMMVLY_NCE_BHHN_=3 $3=8:3 8, =8:8,856____,N_T ON:_,:_948,_ -,$ 95_34 -:58(8583' 8: 150 METERS RADIUS FROM_POSITION PROHIBITED.\n\n\n_9,,8887+:+: 1392\n\n051840 UTC APRVQ__ TJ__F_MYWFZONON_PHDPYMLCSSPHFM_ZYM_YF_FM_FJJCPWMLJO_ MZYFVM_DA_A_AT_K_O_PYMJ_SF_\nZM__TYTUUEM_HM_ CM __9,_,\n_6.26!_!/._+*_.+_\n___+*_'4.+\n06_*-.\n\n2. SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVER BME\n_E NEXT 24 HO_S VALID UNTIL 06/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\n_UOR SW/N_MWF_M_Y KML_ \nSEA 1-2.\nVIS 10-20 KM, POSSVLESS THEN 1 KM DUE TO FOG, MOSTLY OVERNIGHT.\nMOSTLY CLEAR, LOC MOD CLOUDINESS.\n\nCEN_/NW WIND_4-14, AT FIRST UP TO 18 KT. \nSEA 12,_STILL TODAY LOC 3.\nVIS 10-20 KM.\n __+*_-_4.\n\nS-ERN ADRIATIC:\nSW/NW WIND 4-14, AT FIRST ON FAR S TO 18 KT.\nSTA 1-2, STILL TODAY LOC 3.\n/_!*_\n)6 :)3-4.NNNN",
    "clean_text": "ZCZC QA05\n05_'__.____.XM\n_SPLIT RADIO\n\nNAVIGATIONAL WNG9\n_/'1.: 67/2026\n\nNORTHER_TIC - PULA PORT\nCHART: 100-16\n\nPULA PZZ\n\nMMVLY_NCE_BHHN_=3 $3=8:3 8, =8:8,856____,N_T ON:_,:_948,_ -,$ 95_34 -:58(8583' 8: 150 METERS RADIUS FROM_POSITION PROHIBITED.\n\n_9,,8887+:+: 1392\n\n051840 UTC APRVQ__ TJ__F_MYWFZONON_PHDPYMLCSSPHFM_ZYM_YF_FM_FJJCPWMLJO_ MZYFVM_DA_A_AT_K_O_PYMJ_SF_\nZM__TYTUUEM_HM_ CM __9,_,\n_6.26!_!/._+*_.+_\n___+*_'4.+\n06_*-.\n\n2. SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVER BME\n_E NEXT 24 HO_S VALID UNTIL 06/04/2026 AT 1700 UTC\n\nN-ERN ADRIATIC:\n_UOR SW/N_MWF_M_Y KML_\nSEA 1-2.\nVIS 10-20 KM, POSSVLESS THEN 1 KM DUE TO FOG, MOSTLY OVERNIGHT.\nMOSTLY CLEAR, LOC MOD CLOUDINESS.\n\nCEN_/NW WIND_4-14, AT FIRST UP TO 18 KT.\nSEA 12,_STILL TODAY LOC 3.\nVIS 10-20 KM.\n__+*_-_4.\n\nS-ERN ADRIATIC:\nSW/NW WIND 4-14, AT FIRST ON FAR S TO 18 KT.\nSTA 1-2, STILL TODAY LOC 3.\n/_!*_\n)6 :)3-4.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. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vis 10-20 km, possvless then 1 km due to fog, mostly overnight",
      "E next 24 ho s valid until 06/04/2026 at 1700 utc",
      "Sw/nw wind 4-14, at first on far s to 18 kt"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 14,
    "heading": "2026-04-05 21:31:48 AREA: P",
    "published_at": "2026-04-05 21:31:48",
    "area": "P",
    "message_id": "PA99",
    "text": "ZCZC PA99\n011714 UTC APRM\n_MSI 106/26\nWINDFARM HOLLANDSE KUST ZUID\nYELLOW SPECIAL MARK LIGHT BUOYS FL(5) Y20S\nESTABLISHED IN THE FOLLOWING POSITIONS\nMT-HKZ 3 52-10,4420N 003-56,3420E\nMT-HKZ 4 52-10,3910N 003-56,4450E..\n_._\n,-2'6!:!!_+:+: 0-26\n260848 UTC MAR 26\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1          53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1         53-30N 006-14E FOGHORN INOPERATIVE\nK6-PC            53-42N 003-52E FOGHORN INOPERATIVE\nK14-FB-1       53-11N 003-06_0.:'!_9,_FA-1         53-34N 003-18E UNLIT\nCACPSM_JFM_ZPT_NNNN",
    "clean_text": "ZCZC PA99\n011714 UTC APRM\n_MSI 106/26\nWINDFARM HOLLANDSE KUST ZUID\nYELLOW SPECIAL MARK LIGHT BUOYS FL(5) Y20S\nESTABLISHED IN THE FOLLOWING POSITIONS\nMT-HKZ 3 52-10,4420N 003-56,3420E\nMT-HKZ 4 52-10,3910N 003-56,4450E..\n_._\n,-2'6!:!!_+:+: 0-26\n260848 UTC MAR 26\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1 53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1 53-30N 006-14E FOGHORN INOPERATIVE\nK6-PC 53-42N 003-52E FOGHORN INOPERATIVE\nK14-FB-1 53-11N 003-06_0.:'!_9,_FA-1 53-34N 003-18E UNLIT\nCACPSM_JFM_ZPT_NNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "NORTH SEA"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text reports an aid-to-navigation fault near 52-10.4420N 003-56.3420E; 52-10.3910N 003-56.4450E.",
    "decoded_highlights": [
      "N7-fa-1 53-30n 006-14e foghorn inoperative",
      "K6-pc 53-42n 003-52e foghorn inoperative",
      "Yellow special mark light buoys fl(5) y20s"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 15,
    "heading": "2026-04-05 21:30:17 AREA: P",
    "published_at": "2026-04-05 21:30:17",
    "area": "P",
    "message_id": "PB49",
    "text": "ZCZC PB49\n051638 UTC APR 26\nGALEWARNING, 05 APR 16:31 UTC.\nDOGGER. GERMAN BIGHT_ HUMBER.\nWEST 7.\nTHAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB49\n051638 UTC APR 26\nGALEWARNING, 05 APR 16:31 UTC.\nDOGGER. GERMAN BIGHT_ HUMBER.\nWEST 7.\nTHAMES. DOVER.\nNO WARNING.\n\nEND OF GALEWARNING\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 05 apr 16:31 utc.",
    "decoded_highlights": [
      "Galewarning, 05 apr 16:31 utc",
      "No warning",
      "End of galewarning"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 17,
    "heading": "2026-04-05 20:07:06 AREA: T",
    "published_at": "2026-04-05 20:07:06",
    "area": "T",
    "message_id": "",
    "text": "ZCZ_22__26\nTYNE.\n_SDHD__JJDZYPMTURBIM\n_\n_DX_Z__ZBZA_Z__CB_V_Z____ZCZC",
    "clean_text": "ZCZ_22__26\nTYNE.\n_SDHD__JJDZYPMTURBIM\n_\n_DX_Z__ZBZA_Z__CB_V_Z____ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 18,
    "heading": "2026-04-05 19:51:46 AREA: P",
    "published_at": "2026-04-05 19:51:46",
    "area": "P",
    "message_id": "PB48",
    "text": "ZCZC PB48\n051638 UTC APR 26\nGALEWARNING$.HM__YM\n _XP MG_H_\nDOGGER. GERMAN BIGHT. HUMBER.\nWEST 7.\nTHAMES. DOVER.\nNO WARNIN__M\n\nAND OF GALEWARNING\n\nNNNN",
    "clean_text": "ZCZC PB48\n051638 UTC APR 26\nGALEWARNING$.HM__YM\n_XP MG_H_\nDOGGER. GERMAN BIGHT. HUMBER.\nWEST 7.\nTHAMES. DOVER.\nNO WARNIN__M\n\nAND OF GALEWARNING\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning$.hm ym. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarning$.hm ym",
      "And of galewarning",
      "Dogger. german bight. humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 19,
    "heading": "2026-04-05 18:52:49 AREA: S",
    "published_at": "2026-04-05 18:52:49",
    "area": "S",
    "message_id": "SB51",
    "text": "ZCZC SB51\n_051551 !,-=53/-/__._74_ (NCC)\n_\n\n\n\n_\n_MAN BIGHT:\n0_O WARNING9\nNNNN",
    "clean_text": "ZCZC SB51\n_051551 !,-=53/-/__._74_ (NCC)\n_\n\n_\n_MAN BIGHT:\n0_O WARNING9\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code S. Readable text says: 0 o warning9. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "0 o warning9",
      "Man bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 20,
    "heading": "2026-04-05 18:07:56 AREA: S",
    "published_at": "2026-04-05 18:07:56",
    "area": "S",
    "message_id": "SA34",
    "text": "ZCZC SA34\nNC_VXHAMZUS LIGHT-VESSEL \n4-10N _PHE_YQXYKE\nYZ_BR_Y _FZPF O_W_O___ZTOOOOOOOOOOOOOOOOOZZZZZZZOOOZOOOOO_U__CKVA_A_VJP\nF__N\n\n _MG__0_0\n$\n6_+61__$._+.*+:_$_0*_.)+:_._.._*$!__/_ .9$34$53 =8'8_8)856.\nSEA: (!84'5 4 ME_E_.\nNNNN",
    "clean_text": "ZCZC SA34\nNC_VXHAMZUS LIGHT-VESSEL\n4-10N _PHE_YQXYKE\nYZ_BR_Y _FZPF O_W_O___ZTOOOOOOOOOOOOOOOOOZZZZZZZOOOZOOOOO_U__CKVA_A_VJP\nF__N\n\n_MG__0_0\n$\n6_+61__$._+.*+:_$_0*_.)+:_._.._*$!__/_ .9$34$53 =8'8_8)856.\nSEA: (!84'5 4 ME_E_.\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Nc vxhamzus light-vessel. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Nc vxhamzus light-vessel"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 22,
    "heading": "2026-04-05 18:04:13 AREA: S",
    "published_at": "2026-04-05 18:04:13",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC-NAMB_RGB\nQ_Q_ODOFFSHORE 1'.\n0!'_4=36 9034-9_6ZCZC",
    "clean_text": "ZCZC SA82\nNCC-NAMB_RGB\nQ_Q_ODOFFSHORE 1'.\n0!'_4=36 9034-9_6ZCZC",
    "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: Ncc-namb rgb. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ncc-namb rgb"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 23,
    "heading": "2026-04-05 18:03:20 AREA: T",
    "published_at": "2026-04-05 18:03:20",
    "area": "T",
    "message_id": "",
    "text": "ZCZCESABIE_\n_NCC-MAMBURG\n02_420 UT_ APNTN_5_AY\n_N. 7,_. 194\nGERMAN BI_5_ PEISSJ BDNK_\n_'33(_'6,34__8)856 $7_8,_ 90_$.\nNNNN",
    "clean_text": "ZCZCESABIE_\n_NCC-MAMBURG\n02_420 UT_ APNTN_5_AY\n_N. 7,_. 194\nGERMAN BI_5_ PEISSJ BDNK_\n_'33(_'6,34__8)856 $7_8,_ 90_$.\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: Zczcesabie. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Zczcesabie",
      "Ncc-mamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 25,
    "heading": "2026-04-05 17:34:47 AREA: P",
    "published_at": "2026-04-05 17:34:47",
    "area": "P",
    "message_id": "PA41",
    "text": "ZCZC PA41\n290609 UTCM_Y_\n\nMSI 103/26\nTSS NORTH FRIESLAND\nUNDERWATER OBSTRUCTION REPORTED\nIN VICINITY  OF A LINE JOINING \n54-07.0N 004-39.5E AND 54-03.5N 004-39.6E.\nDANGEROUS TO FISHERY.\nCANCEL MSI 102/26\nNNNN",
    "clean_text": "ZCZC PA41\n290609 UTCM_Y_\n\nMSI 103/26\nTSS NORTH FRIESLAND\nUNDERWATER OBSTRUCTION REPORTED\nIN VICINITY OF A LINE JOINING\n54-07.0N 004-39.5E AND 54-03.5N 004-39.6E.\nDANGEROUS TO FISHERY.\nCANCEL MSI 102/26\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: Dangerous to fishery.",
    "decoded_highlights": [
      "Dangerous to fishery",
      "In vicinity of a line joining",
      "Tss north friesland"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 26,
    "heading": "2026-04-05 17:34:16 AREA: P",
    "published_at": "2026-04-05 17:34:16",
    "area": "P",
    "message_id": "PA19",
    "text": "ZCZC PA19\n051128 UTC APR 26\nGALEWARNING, DTG 05 APR 11:21 UTC.\nGERMAN BIGHT.\nWEST 8.\nDOGGER.\nWEST 7.\nHUMBER. THAMES. DOVER.\nNO WARNING.\n\nNNNN",
    "clean_text": "ZCZC PA19\n051128 UTC APR 26\nGALEWARNING, DTG 05 APR 11:21 UTC.\nGERMAN BIGHT.\nWEST 8.\nDOGGER.\nWEST 7.\nHUMBER. THAMES. DOVER.\nNO WARNING.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, dtg 05 apr 11:21 utc.",
    "decoded_highlights": [
      "Galewarning, dtg 05 apr 11:21 utc",
      "No warning",
      "German bight"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 27,
    "heading": "2026-04-05 17:29:53 AREA: P",
    "published_at": "2026-04-05 17:29:53",
    "area": "P",
    "message_id": "PE83",
    "text": "ZCZC PE83\n051306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:21 UTC 050426\nGERMAN BF_DHMON_PJ_MIONGWZ_ \nWEST 7\n\nOTHER DISTRICTS:\nNO WARNING\n\nSYNOPSIS\nLOW, 980, OVER SWEDEN WILL MOVPMHZM_FSW_RIDGE OVER THE \nGULF OF BISCAY WILL MOVE TOMHDPMPHDPYSWJ_\nFORECAST VALID SUNDAY 15:00 TILL MONDAY 03:00 UTC\n\nTHAMES \nWEST TO SOUTHWEST 4-5, VEERING WEST TO NORTHWEST.\nOCCASIONAL SHOWERS.\nGOOD, IN XM__HXHFZHFZM_ZJJFLSEM_ZW__K_N__AVEHEIGHT 1.0-2.0 METER.\n\n\nHUMBER \nWEST 5-6, LT YM_P_YPJFM_PJHMHZMZYHD_PJ_M_YD__HA_ONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 2.0-3.0 METER.\n\n\nGERMAN BIGHT \nWEST 6:._'_06.20_60*!._0*_._+.+6_$_0*_.__3_9,_+_9,-) '_9234'.\nGOOD, IM_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 3.0-4.0 METER, DECREASING 2.5-3.5 _PH_Y_\n\nDOGGER \nWEST 6-7, LATER DECREASING WEST TO NORTHWEST 5-6.\nOCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.5-4.5 METER, DECREASING 2.5-3.5 METER.\n\n\nFORECAST VALID MONDAY 03:00 TILL MONDAY 15:00 UTC\n\nTHAMES \nWEST TO NORTHWEST 5-6, DECREASING 3-4, LATER DECREASING \nVARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 1.5_7_.3534, WP_YPJFM\n__P METER.\n\n\nHUMBER \nWEST TO NOYTD_PJ_M_HEMGWP_YPJFM_PYMGSHPYMWP_YPJF_MON_YFLSPM_M\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASII_IUS_P_OHL_NE_ZZZENELKB_32$9+(_1$__-_-3_2(_1__DKPBU_EKQGEBCR_IRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 2.5-3.5 METER, DECREASING 1.5-2.5 METER.\n\n\nDOGGER \nWEST TO NORTHWEST 5-6, DECYPJFM_PYMGSHPYML_G \nSOUTHWEST.\nGOOD.\nWAVEHEIGHT 2.5-3.5 METER, DECRPJFM\n __T METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZC PE83\n051306 UTC APR 26\nFORECAST DUTCH EEZ ISSUED AT 11:21 UTC 050426\nGERMAN BF_DHMON_PJ_MIONGWZ_\nWEST 7\n\nOTHER DISTRICTS:\nNO WARNING\n\nSYNOPSIS\nLOW, 980, OVER SWEDEN WILL MOVPMHZM_FSW_RIDGE OVER THE\nGULF OF BISCAY WILL MOVE TOMHDPMPHDPYSWJ_\nFORECAST VALID SUNDAY 15:00 TILL MONDAY 03:00 UTC\n\nTHAMES\nWEST TO SOUTHWEST 4-5, VEERING WEST TO NORTHWEST.\nOCCASIONAL SHOWERS.\nGOOD, IN XM__HXHFZHFZM_ZJJFLSEM_ZW__K_N__AVEHEIGHT 1.0-2.0 METER.\n\nHUMBER\nWEST 5-6, LT YM_P_YPJFM_PJHMHZMZYHD_PJ_M_YD__HA_ONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 2.0-3.0 METER.\n\nGERMAN BIGHT\nWEST 6:._'_06.20_60*!._0*_._+.+6_$_0*_.__3_9,_+_9,-) '_9234'.\nGOOD, IM_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 3.0-4.0 METER, DECREASING 2.5-3.5 _PH_Y_\n\nDOGGER\nWEST 6-7, LATER DECREASING WEST TO NORTHWEST 5-6.\nOCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.5-4.5 METER, DECREASING 2.5-3.5 METER.\n\nFORECAST VALID MONDAY 03:00 TILL MONDAY 15:00 UTC\n\nTHAMES\nWEST TO NORTHWEST 5-6, DECREASING 3-4, LATER DECREASING\nVARIABLE 1-3.\nGOOD.\nWAVEHEIGHT 1.5_7_.3534, WP_YPJFM\n__P METER.\n\nHUMBER\nWEST TO NOYTD_PJ_M_HEMGWP_YPJFM_PYMGSHPYMWP_YPJF_MON_YFLSPM_M\nGOOD.\nWAVEHEIGHT 2.0-3.0 METER, DECREASII_IUS_P_OHL_NE_ZZZENELKB_32$9+(_1$__-_-3_2(_1__DKPBU_EKQGEBCR_IRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 2.5-3.5 METER, DECREASING 1.5-2.5 METER.\n\nDOGGER\nWEST TO NORTHWEST 5-6, DECYPJFM_PYMGSHPYML_G\nSOUTHWEST.\nGOOD.\nWAVEHEIGHT 2.5-3.5 METER, DECRPJFM\n__T METER.\n\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "DUTCH EEZ"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Forecast dutch eez issued at 11:21 utc 050426. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Forecast dutch eez issued at 11:21 utc 050426",
      "Forecast valid sunday 15:00 till monday 03:00 utc",
      "Forecast valid monday 03:00 till monday 15:00 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 28,
    "heading": "2026-04-05 17:07:30 AREA: P",
    "published_at": "2026-04-05 17:07:30",
    "area": "P",
    "message_id": "PL04",
    "text": "ZCZC PL04\n051406 UTC APR 26\nSEASTATE WARNING CANCELLED 051400 UTC APR\nNNNN",
    "clean_text": "ZCZC PL04\n051406 UTC APR 26\nSEASTATE WARNING CANCELLED 051400 UTC APR\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Unresolved B1 code P. 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": 29,
    "heading": "2026-04-05 16:07:14 AREA: G",
    "published_at": "2026-04-05 16:07:14",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA/_\n=PZ _/__ \nHUMBER. \nRACE BANK WIND ARM. \n1._TURBINE FOG SIGNAZ_AWPMQF 000-49_B. S01, 53-15.7N 000)__26 (GA29). \nICN_\nT__P_QAS__FUT_AOCZ_QFZ_\n_\nEP__QFD__CF_Q\nDUDGEON W_ND_FYB_OMONGWCW_PZMJZCHDM_ 53-_2.5N 001-25._5=.:'!__-__22_2Z_ZC R_V\n__QYQXWY\nCROMAEWMKYBM__ \nC_\nC2, 57329.4N 0_01_._:,9__-3__3(_)-_B______WP_BZC__M\nHWZOK_AZCZC",
    "clean_text": "ZCZC GA/_\n=PZ _/__\nHUMBER.\nRACE BANK WIND ARM.\n1._TURBINE FOG SIGNAZ_AWPMQF 000-49_B. S01, 53-15.7N 000)__26 (GA29).\nICN_\nT__P_QAS__FUT_AOCZ_QFZ_\n_\nEP__QFD__CF_Q\nDUDGEON W_ND_FYB_OMONGWCW_PZMJZCHDM_ 53-_2.5N 001-25._5=.:'!__-__22_2Z_ZC R_V\n__QYQXWY\nCROMAEWMKYBM__\nC_\nC2, 57329.4N 0_01_._:,9__-3__3(_)-_B______WP_BZC__M\nHWZOK_AZCZC",
    "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": [
      "1. turbine fog signaz awpmqf 000-49 b. s01, 53-15.7n 000) 26 (ga29)",
      "Race bank wind arm",
      "Hwzok azczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 30,
    "heading": "2026-04-05 14:40:20 AREA: P",
    "published_at": "2026-04-05 14:40:20",
    "area": "P",
    "message_id": "PA18",
    "text": "ZCZC PA18\n051128 UTC APR 26\nGALEWARNING, DTG 05 APR 11:21 UTC.\n_ERMAN BIGHT.\nWEST 8.\nDOGGER.\nWEST 7.\nHUMBE__.__$_0*\n_.__+_06\n_9__-_((3)3UAZ_LRIIIIALL\n_CJCW_DAIEWUGBYT9__5_+__7_____\n7(_4_ !94 _ 11 ___8(_9_4:4 _\n '_:)_+0__KWZZ___NORTHWJST G_KKUFU\n_BZWBZW_JZBA_OKO_Q2!$\n_+ 3_.(\n !_35)_,_\n)9\n* $_\n_\n!7-77-1,9___--_+_+7 _, 00___9_\n8-_ .__222__,_ 8)_8_HCBK 21_7\n7*_7226/__9___:.9_ _9\n7!_3++3.34 __, !83)$\n_:__9+_'__=349\n23__, _3-6_.9_!\n_*!+( _-02\nW_WWZZZ_W__AA\nLOUU_J\nKM_ZWWP22-__$_2222___MRCC DTVER._\n_01-2\n.8 OFFUU\nUUU_Z___2_2_+:+: _)74\nWZT207/___\n\n702-59.1EXUF__OCDJ F_ NNAVAIJS INLPER____PU_ZCZC",
    "clean_text": "ZCZC PA18\n051128 UTC APR 26\nGALEWARNING, DTG 05 APR 11:21 UTC.\n_ERMAN BIGHT.\nWEST 8.\nDOGGER.\nWEST 7.\nHUMBE__.__$_0*\n_.__+_06\n_9__-_((3)3UAZ_LRIIIIALL\n_CJCW_DAIEWUGBYT9__5_+__7_____\n7(_4_ !94 _ 11 ___8(_9_4:4 _\n'_:)_+0__KWZZ___NORTHWJST G_KKUFU\n_BZWBZW_JZBA_OKO_Q2!$\n_+ 3_.(\n!_35)_,_\n)9\n* $_\n_\n!7-77-1,9___--_+_+7 _, 00___9_\n8-_ .__222__,_ 8)_8_HCBK 21_7\n7*_7226/__9___:.9_ _9\n7!_3++3.34 __, !83)$\n_:__9+_'__=349\n23__, _3-6_.9_!\n_*!+( _-02\nW_WWZZZ_W__AA\nLOUU_J\nKM_ZWWP22-__$_2222___MRCC DTVER._\n_01-2\n.8 OFFUU\nUUU_Z___2_2_+:+: _)74\nWZT207/___\n\n702-59.1EXUF__OCDJ F_ NNAVAIJS INLPER____PU_ZCZC",
    "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: Galewarning, dtg 05 apr 11:21 utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarning, dtg 05 apr 11:21 utc",
      "Erman bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 32,
    "heading": "2026-04-05 14:30:52 AREA: T",
    "published_at": "2026-04-05 14:30:52",
    "area": "T",
    "message_id": "",
    "text": "ZCZCM\n__JZ_\n_ Z _PF_GCHXM_Y_\nA_E\n__AA_\n _TU_O_\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\nNNNN",
    "clean_text": "ZCZCM\n__JZ_\n_ Z _PF_GCHXM_Y_\nA_E\n__AA_\n_TU_O_\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR.\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 ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mf r/t service from bawdsey site 51-59.6n 001-24.5e off air",
      "Mrcc dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 33,
    "heading": "2026-04-05 14:30:18 AREA: V",
    "published_at": "2026-04-05 14:30:18",
    "area": "V",
    "message_id": "",
    "text": "ZCZC V_QCH\nN\nP_ HP MG HXM_Y_\n_WZ 242/26 \nTHAMES. \nGUNFLEET SANDS WIND FARM. \n1. TURBINE A06 51-45.0N 001-14.6E FOG SIGNAL INOPERATIVE. \n2. CANCEL WZ 126/26 (VA58).\nNNNN",
    "clean_text": "ZCZC V_QCH\nN\nP_ HP MG HXM_Y_\n_WZ 242/26\nTHAMES.\nGUNFLEET SANDS WIND FARM.\n1. TURBINE A06 51-45.0N 001-14.6E FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 126/26 (VA58).\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text reports a fog signal outage near 51-45.0N 001-14.6E.",
    "decoded_highlights": [
      "1. turbine a06 51-45.0n 001-14.6e fog signal inoperative",
      "Gunfleet sands wind farm",
      "2. cancel wz 126/26 (va58)"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 35,
    "heading": "2026-04-05 14:18:38 AREA: T",
    "published_at": "2026-04-05 14:18:38",
    "area": "T",
    "message_id": "TA99",
    "text": "ZCZC TA99\n14165_  H_M_ZAAQDFUEKU-_1_9,(._:1__'B__HWQURAEE___(_5 3'5-_)8'_3$ 8, 09' 5127.375N 00222.306E \nUNMARKED\nSHIPPING IS REQUESTED NOT TO FISH NOR TO ANCHOR IN THE VICINITY\nNNNN",
    "clean_text": "ZCZC TA99\n14165_ H_M_ZAAQDFUEKU-_1_9,(._:1__'B__HWQURAEE___(_5 3'5-_)8'_3$ 8, 09' 5127.375N 00222.306E\nUNMARKED\nSHIPPING IS REQUESTED NOT TO FISH NOR TO ANCHOR IN THE VICINITY\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: Shipping is requested not to fish nor to anchor in the vicinity. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requested not to fish nor to anchor in the vicinity",
      "Unmarked"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 36,
    "heading": "2026-04-05 14:17:57 AREA: T",
    "published_at": "2026-04-05 14:17:57",
    "area": "T",
    "message_id": "",
    "text": "ZCZC TA_5\n__++*_02062!+._*!.\n0  _7_9,_)0.00-9,_0__'+_!_0!'+*_+._$0.'!0.)888_33, 09'8589,' 51-20.04N 003-05._$.47S_MOOPN 00_P__FEGPONGJDF_FFB_B1___HPWMI_OT TO ANCHZ_ NOR TO FISH IN THE VICINITY.\nNNN_ONNIIIUEZCZC",
    "clean_text": "ZCZC TA_5\n__++*_02062!+._*!.\n0 _7_9,_)0.00-9,_0__'+_!_0!'+*_+._$0.'!0.)888_33, 09'8589,' 51-20.04N 003-05._$.47S_MOOPN 00_P__FEGPONGJDF_FFB_B1___HPWMI_OT TO ANCHZ_ NOR TO FISH IN THE VICINITY.\nNNN_ONNIIIUEZCZC",
    "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: 0 7 9, )0.00-9, 0 ' ! 0!' . $0.'!0.)888 33, 09'8589,' 51-20.04n 003-05. $.47s moopn 00 p fegpongjdf ffb b1 hpwmi ot to anchz nor to fish in the vicinity. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "0 7 9, )0.00-9, 0 ' ! 0!' . $0.'!0.)888 33, 09'8589,' 51-20.04n 003-05. $.47s moopn 00 p fegpongjdf ffb b1 hpwmi ot to anchz nor to fish in the vicinity",
      "Nnn onniiiuezczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 37,
    "heading": "2026-04-05 14:17:18 AREA: T",
    "published_at": "2026-04-05 14:17:18",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n2704_5: '30 =\n__99!_02062!+._*!.)=__\nOOSTENDE-ZEEBGUGGE\nCHAIN ON THE SEABED IN THE_VCMI_H_NO_TQAWPNPTN 003-03,75E\nSHIPPING IS REQU_STED NOT TO ANCHOR \nNOR TO FISH CNM\n_CM_ZCZC",
    "clean_text": "ZCZC TA79\n2704_5: '30 =\n__99!_02062!+._*!.)=__\nOOSTENDE-ZEEBGUGGE\nCHAIN ON THE SEABED IN THE_VCMI_H_NO_TQAWPNPTN 003-03,75E\nSHIPPING IS REQU_STED NOT TO ANCHOR\nNOR TO FISH CNM\n_CM_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 sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requ sted not to anchor",
      "Nor to fish cnm",
      "Chain on the seabed in the vcmi h no tqawpnptn 003-03,75e"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 38,
    "heading": "2026-04-05 14:16:50 AREA: T",
    "published_at": "2026-04-05 14:16:50",
    "area": "T",
    "message_id": "",
    "text": "ZCZCV_\nF__N\n PU H_TC MAR\nOOSTENDERADIO MSI 101/26\nTSS-W_\nWESTHINDER MEASURINL__\nVTQAWEMEQN _5 7,43)8-_)3\nNNNN",
    "clean_text": "ZCZCV_\nF__N\nPU H_TC MAR\nOOSTENDERADIO MSI 101/26\nTSS-W_\nWESTHINDER MEASURINL__\nVTQAWEMEQN _5 7,43)8-_)3\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text says: Pu h tc mar. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Pu h tc mar",
      "Westhinder measurinl",
      "Vtqawemeqn 5 7,43)8- )3"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 40,
    "heading": "2026-04-05 14:14:03 AREA: T",
    "published_at": "2026-04-05 14:14:03",
    "area": "T",
    "message_id": "TA96",
    "text": "ZCZC TA96\n08 __3. ,9= \nOOSTENDERADIO MSI 543/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SEAB_LLOWING POS\n5117.431N  00302.602E\n5117.259N  00302.007E\n5116.3_4N  00259.8)\nSHIPPING ISMLP_CPJHPWMZHMHZMK__DZYMZYMHZM_FJDMFMHDPM_F_FH_ONGONNIII_ZCZC",
    "clean_text": "ZCZC TA96\n08 __3. ,9=\nOOSTENDERADIO MSI 543/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SEAB_LLOWING POS\n5117.431N 00302.602E\n5117.259N 00302.007E\n5116.3_4N 00259.8)\nSHIPPING ISMLP_CPJHPWMZHMHZMK__DZYMZYMHZM_FJDMFMHDPM_F_FH_ONGONNIII_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 seab llowing pos. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Obstacles on the seab llowing pos",
      "Shipping ismlp cpjhpwmzhmhzmk dzymzymhzm fjdmfmhdpm f fh ongonniii zczc",
      "Oostende-zeebrugge"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 44,
    "heading": "2026-04-05 14:11:21 AREA: T",
    "published_at": "2026-04-05 14:11:21",
    "area": "T",
    "message_id": "T12",
    "text": "ZCZC T12\n261_UTC MAR 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL SEAOOGRAPHICAL INSTRUMENT ESTABLISHED IN POS \n 1_ 330)9,,:_1./BBXKE__K_LB_QT__MHMMJKIIK DISTANCE AND NOT TOMR NOR FISH _NMHD_M_P\nDQ_GD_ZF_F_ZCZC",
    "clean_text": "ZCZC T12\n261_UTC MAR 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL SEAOOGRAPHICAL INSTRUMENT ESTABLISHED IN POS\n1_ 330)9,,:_1./BBXKE__K_LB_QT__MHMMJKIIK DISTANCE AND NOT TOMR NOR FISH _NMHD_M_P\nDQ_GD_ZF_F_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": "operational notice",
    "subject_code": "1",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text says: 1 330)9,,: 1./bbxke k lb qt mhmmjkiik distance and not tomr nor fish nmhd m p. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1 330)9,,: 1./bbxke k lb qt mhmmjkiik distance and not tomr nor fish nmhd m p",
      "Territorial seaoographical instrument established in pos"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 47,
    "heading": "2026-04-05 14:08:33 AREA: S",
    "published_at": "2026-04-05 14:08:33",
    "area": "S",
    "message_id": "SE79",
    "text": "ZCZC SE79\n051100 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMADM_F_DHONONGJCWE_WIND: SOUTH HZMJZCHD_PJ\nMLZCHM_C_GJDF_HF_MZYHD_PJHMWMWP_YPJFZON\n_VISIBILITY/WEATHER: LOCALLY SHOWERVORMHDCWPYZZ_J__FHD_ZU_KDZ_FFVBILITY.\nSEA: NORTHERN PART FIRST 6 METER.\n\nMONDAY:\nWIND: WEST TO NORTHWEST ABOUT 6, LATER VARIABLE WINDS ABOUT 3.\n_FLFSFHE_\n(_($: FIRST LOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA: FIHJLM_YMG_PH_Y_NNNN",
    "clean_text": "ZCZC SE79\n051100 NAVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FOR GERMADM_F_DHONONGJCWE_WIND: SOUTH HZMJZCHD_PJ\nMLZCHM_C_GJDF_HF_MZYHD_PJHMWMWP_YPJFZON\n_VISIBILITY/WEATHER: LOCALLY SHOWERVORMHDCWPYZZ_J__FHD_ZU_KDZ_FFVBILITY.\nSEA: NORTHERN PART FIRST 6 METER.\n\nMONDAY:\nWIND: WEST TO NORTHWEST ABOUT 6, LATER VARIABLE WINDS ABOUT 3.\n_FLFSFHE_\n(_($: FIRST LOCALLY SHOWER WITH MODERATE VISIBILITY.\nSEA: FIHJLM_YMG_PH_Y_NNNN",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Germany - German Bight and German North Sea. Readable text says: Visibility/weather: locally showervormhdcwpyzz j fhd zu kdz ffvbility. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Visibility/weather: locally showervormhdcwpyzz j fhd zu kdz ffvbility",
      "( ($: first locally shower with moderate visibility",
      "Weatherforecast for germadm f dhonongjcwe wind: south hzmjzchd pj"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 53,
    "heading": "2026-04-05 14:04:14 AREA: S",
    "published_at": "2026-04-05 14:04:14",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC-HAMBURG\n01063__UTC APR 26\nNAV. AAY_NO. 192\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHOR_C_ J_ONGJCY\nP__ZPYHFZJMFM_YZYPJJMLEMZ\nM\n_GVZ_BWZYMZYXHJ_G_JM\nJGBM!\n!*9,_6+:2._+*!_!+.__6_!__.\n_53$ .-,_8\n6)!'!__.2:6!_.+_KD_)1__'_3$2_-_9XBHLBE_MONNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVVVVVVVVVCZCZC",
    "clean_text": "ZCZC SA82\nNCC-HAMBURG\n01063__UTC APR 26\nNAV. AAY_NO. 192\nGERMAN BIGHT. NORTHWESTERLY OWF 'BARD OFFSHOR_C_ J_ONGJCY\nP__ZPYHFZJMFM_YZYPJJMLEMZ\nM\n_GVZ_BWZYMZYXHJ_G_JM\nJGBM!\n!*9,_6+:2._+*!_!+.__6_!__.\n_53$ .-,_8\n6)!'!__.2:6!_.+_KD_)1__'_3$2_-_9XBHLBE_MONNKKKKKKKKKKKKKKKKKKKKKKKKKKKKKVVVVVVVVVCZCZC",
    "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: German bight. northwesterly owf 'bard offshor c j ongjcy. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "German bight. northwesterly owf 'bard offshor c j ongjcy",
      "Nav. aay no. 192",
      "P zpyhfzjmfm yzypjjmlemz"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 54,
    "heading": "2026-04-05 14:03:21 AREA: T",
    "published_at": "2026-04-05 14:03:21",
    "area": "T",
    "message_id": "",
    "text": "CZCZC",
    "clean_text": "CZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 55,
    "heading": "2026-04-05 14:03:21 AREA: S",
    "published_at": "2026-04-05 14:03:21",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\nN_CWA_HAMBURG\n___PRWP UTC APR 26\nNAV. WARN.\n__+__. +6_,___6_.)!_$_\n_38''3 _-,(.\nSURVEY Z_PYHFZJMLEM_\nM\n_G:_1+\n1_OB_CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTEQM\nNNNN",
    "clean_text": "ZCZC SA83\nN_CWA_HAMBURG\n___PRWP UTC APR 26\nNAV. WARN.\n__+__. +6_,___6_.)!_$_\n_38''3 _-,(.\nSURVEY Z_PYHFZJMLEM_\nM\n_G:_1+\n1_OB_CS 'C6XR3',\nAROUND POSITION 54-47,3N 005-58,3E\nRESTRICTED MANOEVRABILITY DURING OPERATIONS,\nBERTH OF 2 NM REQUESTEQM\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: Survey z pyhfzjmlem. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Survey z pyhfzjmlem",
      "Around position 54-47,3n 005-58,3e",
      "Restricted manoevrability during operations"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 57,
    "heading": "2026-04-05 14:00:42 AREA: S",
    "published_at": "2026-04-05 14:00:42",
    "area": "S",
    "message_id": "SA87",
    "text": "ZCZC SA87\nNCC-HAMBKP\n_Y_UYMG_H_MYM\n_AKLLOHOKKRLBHL_LOCG__$11__E__W_J'1__$608_8+_5\nFOLLOWING CONTAINERV''3)' -43 -5 48'( 9! )9'8,_ :9,5-8,34' -,$\n8!597:_8,_ 5_3 '3-_3$ $748,_ _3-=6 '3- :9,$8589,' -,$ _8__ 2-=3' !49. -\n\nNORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\n\nMEASURES AWMSHPYM_ZCYJPMF_MP_PJJY_MHZM_ZF_MXZ__MHYJ_PYJPMHZONONGHDPMUOPM_FYN___)__HMMKB_B_28_+_3 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 160_9,_88_ARE RECOMMENDED TO FOLLOW ALTERNATIVE ROUTE VIAVHJJMPJHM_YFPJSWONGWM_PYBMLF_DHM_PJHPYM_ACH.\nNNNN",
    "clean_text": "ZCZC SA87\nNCC-HAMBKP\n_Y_UYMG_H_MYM\n_AKLLOHOKKRLBHL_LOCG__$11__E__W_J'1__$608_8+_5\nFOLLOWING CONTAINERV''3)' -43 -5 48'( 9! )9'8,_ :9,5-8,34' -,$\n8!597:_8,_ 5_3 '3-_3$ $748,_ _3-=6 '3- :9,$8589,' -,$ _8__ 2-=3' !49. -\n\nNORTH TO NORTHWEST DIRECTION:\nAT A WAVE HEIGHT ABOVE 3.0M CONTAINERVESSELS HAVE TO TAKE APPROPRIATE\n\nMEASURES AWMSHPYM_ZCYJPMF_MP_PJJY_MHZM_ZF_MXZ__MHYJ_PYJPMHZONONGHDPMUOPM_FYN___)__HMMKB_B_28_+_3 4.0M CONTAINERVESSELS WITH A LENGTH ABOVE 160_9,_88_ARE RECOMMENDED TO FOLLOW ALTERNATIVE ROUTE VIAVHJJMPJHM_YFPJSWONGWM_PYBMLF_DHM_PJHPYM_ACH.\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: At a wave height above 3.0m containervessels have to take appropriate. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "At a wave height above 3.0m containervessels have to take appropriate",
      "North to northwest direction",
      "Ncc-hambkp"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 58,
    "heading": "2026-04-05 14:00:11 AREA: S",
    "published_at": "2026-04-05 14:00:11",
    "area": "S",
    "message_id": "SB50",
    "text": "ZCZC SB50\n051100 NAVTEX-HAML_YM_L\nWARNING NO. 118  050840! \n! -04\nFOR GERMA_MBF_DH\n_O_GUM_CMGHZM_F_G_PJF_MFB_FPH_NNNN",
    "clean_text": "ZCZC SB50\n051100 NAVTEX-HAML_YM_L\nWARNING NO. 118 050840!\n! -04\nFOR GERMA_MBF_DH\n_O_GUM_CMGHZM_F_G_PJF_MFB_FPH_NNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code S. Readable text says: Warning no. 118 050840!. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Warning no. 118 050840!",
      "051100 navtex-haml ym l"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 59,
    "heading": "2026-04-05 13:29:53 AREA: P",
    "published_at": "2026-04-05 13:29:53",
    "area": "P",
    "message_id": "PB46",
    "text": "ZCZC PB46\n050718 KTCMYM\n_GALEWARNING, 05 APR 07:10 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 8.\nHUMBER.\nWEST TO SOUTHWEST 8.\nTHAMES.\nWEST TO SOUTHWEST 7.\nDOVER.\nNO WARNING.\n\nNNNN",
    "clean_text": "ZCZC PB46\n050718 KTCMYM\n_GALEWARNING, 05 APR 07:10 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 8.\nHUMBER.\nWEST TO SOUTHWEST 8.\nTHAMES.\nWEST TO SOUTHWEST 7.\nDOVER.\nNO WARNING.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 05 apr 07:10 utc.",
    "decoded_highlights": [
      "Galewarning, 05 apr 07:10 utc",
      "No warning",
      "Dogger. german bight"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 60,
    "heading": "2026-04-05 13:15:29 AREA: P",
    "published_at": "2026-04-05 13:15:29",
    "area": "P",
    "message_id": "PB47",
    "text": "ZCZC PB47\n051008 UTC APR 26\nGALEWARNING, DTG 05 APR 10:07 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 8.\nHUMBER. THAMES. DOVER.\nNO WARNING.\n\n\nNNNN",
    "clean_text": "ZCZC PB47\n051008 UTC APR 26\nGALEWARNING, DTG 05 APR 10:07 UTC.\nDOGGER. GERMAN BIGHT.\nWEST 8.\nHUMBER. THAMES. DOVER.\nNO WARNING.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, dtg 05 apr 10:07 utc.",
    "decoded_highlights": [
      "Galewarning, dtg 05 apr 10:07 utc",
      "No warning",
      "Dogger. german bight"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 61,
    "heading": "2026-04-05 12:59:49 AREA: G",
    "published_at": "2026-04-05 12:59:49",
    "area": "G",
    "message_id": "GB41",
    "text": "ZCZC GB41\nCULLERCOATSRADIO\nGALE WARNING SUNDAY 05 APRIL 0956 UTC\n\nFORTIES\nVIOLENT STORM FORCE 11 MQXH__X_R_LY AND DECREASING GALE FORCE 8 IMMINENT\n\nDOGGER\nWES_ERLY SEVERE GALE FORCE 9 DECREASING GALE FORCE 8 IMMINE_\nHUMBER THAMES\nGALE NOW CEASED\n\nFAIR ISLE\nNORTHWESTERLY STORM FORCE 10 NOW DECREASED SEV_G__SVM_ZYXPM\nZMGL_G WESTERLY_ANFM_FMIJF_IIC_\nUKFNB_E 8 IMMINENT\nNNNN",
    "clean_text": "ZCZC GB41\nCULLERCOATSRADIO\nGALE WARNING SUNDAY 05 APRIL 0956 UTC\n\nFORTIES\nVIOLENT STORM FORCE 11 MQXH__X_R_LY AND DECREASING GALE FORCE 8 IMMINENT\n\nDOGGER\nWES_ERLY SEVERE GALE FORCE 9 DECREASING GALE FORCE 8 IMMINE_\nHUMBER THAMES\nGALE NOW CEASED\n\nFAIR ISLE\nNORTHWESTERLY STORM FORCE 10 NOW DECREASED SEV_G__SVM_ZYXPM\nZMGL_G WESTERLY_ANFM_FMIJF_IIC_\nUKFNB_E 8 IMMINENT\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",
      "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: Violent storm force 11 mqxh x r ly and decreasing gale force 8 imminent. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Violent storm force 11 mqxh x r ly and decreasing gale force 8 imminent",
      "Wes erly severe gale force 9 decreasing gale force 8 immine",
      "Gale warning sunday 05 april 0956 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 62,
    "heading": "2026-04-05 12:07:10 AREA: G",
    "published_at": "2026-04-05 12:07:10",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ 143/26\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BUOY 59-31.7N 001-33.5E TEMPORARILY REMOVED.\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: Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 buoy 59-31.7n 001-33.5e temporarily removed",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 63,
    "heading": "2026-04-05 12:06:39 AREA: T",
    "published_at": "2026-04-05 12:06:39",
    "area": "T",
    "message_id": "",
    "text": "_CZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "_CZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\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 reports a fog signal outage near 57-29.4N 001-21.1W.",
    "decoded_highlights": [
      "1. turbine hs2, 57-29.4n 001-21.1w, fog signal inoperative",
      "Cromarty",
      "Hywind floating wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 64,
    "heading": "2026-04-05 12:06:16 AREA: G",
    "published_at": "2026-04-05 12:06:16",
    "area": "G",
    "message_id": "GA96",
    "text": "ZCZC GA96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \nDUDGEON SOUTH BUOY 53-12.\nN 001-25.6E UNLIT. \nNNNN",
    "clean_text": "ZCZC GA96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\nDUDGEON SOUTH BUOY 53-12.\nN 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.",
    "decoded_highlights": [
      "Dudgeon south buoy 53-12",
      "Dudgeon wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 65,
    "heading": "2026-04-05 12:05:39 AREA: G",
    "published_at": "2026-04-05 12:05:39",
    "area": "G",
    "message_id": "GA61",
    "text": "ZCZC GA61\nWZ 180/26=\nHUMBER. \nRACE BANK WIND FA_B_O_\n _QO_GHCYLFPM+6.*!''*.!+_06_!908_8(\n/.9,__,B_HSBHP/)9_,(._.)9,_:_$-_,BZ_KO_KTJ_KBD__26 (GA29). \nNNNN",
    "clean_text": "ZCZC GA61\nWZ 180/26=\nHUMBER.\nRACE BANK WIND FA_B_O_\n_QO_GHCYLFPM+6.*!''*.!+_06_!908_8(\n/.9,__,B_HSBHP/)9_,(._.)9,_:_$-_,BZ_KO_KTJ_KBD__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. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 66,
    "heading": "2026-04-05 12:05:07 AREA: T",
    "published_at": "2026-04-05 12:05:07",
    "area": "T",
    "message_id": "",
    "text": "ZFZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n_\n_:-,:3) 2+ 82/26 (GA42)\nNNNN",
    "clean_text": "ZFZC GA71\nWZ 204/26\nHUMBER.\nORWELL GAS FIELD NORTHWESTWARDS.\n1. MET MAST 53-10.7N 002-59.1E UNLIT AND ALL NAVAIDS INOPERATIVE.\n_\n_:-,:3) 2+ 82/26 (GA42)\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: 1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. met mast 53-10.7n 002-59.1e unlit and all navaids inoperative",
      "Orwell gas field northwestwards"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 67,
    "heading": "2026-04-05 12:04:37 AREA: G",
    "published_at": "2026-04-05 12:04:37",
    "area": "G",
    "message_id": "GA74",
    "text": "ZCZC GA74\nWZ 207/26 \nHUMBER. \nRAVENSPURN NORTH GAS FIELD. \nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC GA74\nWZ 207/26\nHUMBER.\nRAVENSPURN NORTH GAS FIELD.\nPLATFORM NORTH 43/26-ST2, 54-03.2N 001-02.0E, UNLIT AND ALL NAVAIDS 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 says: Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform north 43/26-st2, 54-03.2n 001-02.0e, unlit and all navaids inoperative",
      "Ravenspurn north gas field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 68,
    "heading": "2026-04-05 12:04:13 AREA: G",
    "published_at": "2026-04-05 12:04:13",
    "area": "G",
    "message_id": "GA81",
    "text": "ZCZC GA81\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \nO_XT SERVICE FROMMM_SSQY_ZHJMJFHPM_HH_II_KYBYG__\n_ UC__GUMZ_._6_\nNNNN",
    "clean_text": "ZCZC GA81\nWZ 214/26\nGMDSS.\nMRCC HUMBER.\nO_XT SERVICE FROMMM_SSQY_ZHJMJFHPM_HH_II_KYBYG__\n_ UC__GUMZ_._6_\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 ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "O xt service frommm ssqy zhjmjfhpm hh ii kybyg",
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 69,
    "heading": "2026-04-05 12:03:48 AREA: G",
    "published_at": "2026-04-05 12:03:48",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/2_.9\n__'. \nMO_C DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001-24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/2_.9\n__'.\nMO_C DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 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. 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 bawdsey site 51-59.6n 001-24.5e off air",
      "Mo c dover"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 70,
    "heading": "2026-04-05 12:03:21 AREA: G",
    "published_at": "2026-04-05 12:03:21",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\n_TYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N 001-23.6W UNLIT AND FOG SIGNAL INOPERATIVE\nNNNN",
    "clean_text": "ZCZC GA94\nWZ 220/26\n_TYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE 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.",
    "decoded_highlights": [
      "Turbine b10 55-06.8n 001-23.6w unlit and fog signal inoperative",
      "Blyth offshore demonstrator wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 71,
    "heading": "2026-04-05 12:02:49 AREA: G",
    "published_at": "2026-04-05 12:02:49",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUO_GM \nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-( 7_3_0\n._:'!_.2.''._!2*.!+_06_!_0__._. CANCEL WZ 100/26 (GA52).\nNNNN",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUO_GM\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-( 7_3_0\n._:'!_.2.''._!2*.!+_06_!_0__._. CANCEL WZ 100/26 (GA52).\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: 1. platform 49/27-ed 53-03.6n 002-( 7 3 0. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-( 7 3 0",
      "Leman gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 72,
    "heading": "2026-04-05 12:02:18 AREA: G",
    "published_at": "2026-04-05 12:02:18",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF RVOJHMWMW_OJNEB_,1__3_)_34EPQBQ_ITE 57-07.7N 002-03.2W_OJM_2. CAN_PSM_AM\n_ _TU_MVG\nFS_ONGONNIII_ZCZC",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\nMRCC SHETLAND.\n1. MF RVOJHMWMW_OJNEB_,1__3_)_34EPQBQ_ITE 57-07.7N 002-03.2W_OJM_2. CAN_PSM_AM\n_ _TU_MVG\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. Readable text says: Mrcc shetland. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc shetland",
      "Fs ongonniii zczc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 73,
    "heading": "2026-04-05 12:01:47 AREA: G",
    "published_at": "2026-04-05 12:01:47",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 5__9N 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ _._5_3.=___6'9,_9,,888_ZCZC",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\nBESSEMER GAS FIELD.\n1. PLATFORM 49/23E, 5__9N 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ _._5_3.=___6'9,_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",
      "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. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/23e, 5 9n 002-29.1e, fog signal inoperative",
      "Bessemer gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 74,
    "heading": "2026-04-05 12:01:22 AREA: G",
    "published_at": "2026-04-05 12:01:22",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53-11.0N 002-05.8E UNLIT AND ALL_NAVAIDS INOPERATIVE.\nNNNN",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53-11.0N 002-05.8E UNLIT AND ALL_NAVAIDS 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",
      "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 unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform southwark 53-11.0n 002-05.8e unlit and all navaids inoperative",
      "Inner bank"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 75,
    "heading": "2026-04-05 12:00:47 AREA: G",
    "published_at": "2026-04-05 12:00:47",
    "area": "G",
    "message_id": "GA15",
    "text": "ZCZC GA15\nWZ 221/26 \nDOGGER. \nSOFIA O_JJDZYWM_F_XW_BH_M_M BUOYS UNLIT: \nA. N1 55-08.1N 002-09.5E. \nB. E5 54-51.5N 002-20.7E. \n2. CANCEL WZ 95/26 (GA50). \nNNN_D_ _ZCZC",
    "clean_text": "ZCZC GA15\nWZ 221/26\nDOGGER.\nSOFIA O_JJDZYWM_F_XW_BH_M_M BUOYS UNLIT:\nA. N1 55-08.1N 002-09.5E.\nB. E5 54-51.5N 002-20.7E.\n2. CANCEL WZ 95/26 (GA50).\nNNN_D_ _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: Sofia o jjdzywm f xw bh m m buoys unlit. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sofia o jjdzywm f xw bh m m buoys unlit",
      "2. cancel wz 95/26 (ga50)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 76,
    "heading": "2026-04-05 12:00:12 AREA: G",
    "published_at": "2026-04-05 12:00:12",
    "area": "G",
    "message_id": "GA18",
    "text": "ZCZC GA18\nWZ 243/26 \nFORTH. \nMEART NA GAOITD___F_'_.. \n1. NNG E BUOY 56-14.3N 002-08.6W AD_M_MJMLCZEM\nH__ UPWAPOMIW AIS INOPERATIVE. \n2. CANCEL WZ 130/26 (GA73). \nNNNN",
    "clean_text": "ZCZC GA18\nWZ 243/26\nFORTH.\nMEART NA GAOITD___F_'_..\n1. NNG E BUOY 56-14.3N 002-08.6W AD_M_MJMLCZEM\nH__ UPWAPOMIW AIS INOPERATIVE.\n2. CANCEL WZ 130/26 (GA73).\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 an AIS transmitter is inoperative near 56-14.3N 002-08.6W. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. nng e buoy 56-14.3n 002-08.6w ad m mjmlczem",
      "H upwapomiw ais inoperative",
      "2. cancel wz 130/26 (ga73)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 77,
    "heading": "2026-04-05 11:49:10 AREA: S",
    "published_at": "2026-04-05 11:49:10",
    "area": "S",
    "message_id": "SB50",
    "text": "ZCZC SB50\n050847 NAVTEX-HAMBURG (NCC)\nWARNING NO. 118  050840UTC APR\nFOR GERMAN BIGHT:\n_7 TO 8, CEASING IMMINENT.\n,_9,,==_==================================__7_7_ZCZC",
    "clean_text": "ZCZC SB50\n050847 NAVTEX-HAMBURG (NCC)\nWARNING NO. 118 050840UTC APR\nFOR GERMAN BIGHT:\n_7 TO 8, CEASING IMMINENT.\n,_9,,==_==================================__7_7_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": [
      "NAVTEX HAMBURG"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Germany - German Bight and German North Sea. Readable text says: Warning no. 118 050840utc apr. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Warning no. 118 050840utc apr",
      "050847 navtex-hamburg (ncc)",
      "For german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 78,
    "heading": "2026-04-05 10:31:19 AREA: V",
    "published_at": "2026-04-05 10:31:19",
    "area": "V",
    "message_id": "VA63",
    "text": "ZCZC VA63\n 5F SYPMGCHXM_Y_\n_D_O\nG_AM\n_THAMES. \nEAST ANGLIA ONE WIND FARM. \nTURBFIII_27, 52-09.8N 02-33.5E, _OG IGNAL INOPERATIVE. \nNNNN",
    "clean_text": "ZCZC VA63\n5F SYPMGCHXM_Y_\n_D_O\nG_AM\n_THAMES.\nEAST ANGLIA ONE WIND FARM.\nTURBFIII_27, 52-09.8N 02-33.5E, _OG IGNAL INOPERATIVE.\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Turbfiii 27, 52-09.8n 02-33.5e, og ignal inoperative. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbfiii 27, 52-09.8n 02-33.5e, og ignal inoperative",
      "East anglia one wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 79,
    "heading": "2026-04-05 10:30:17 AREA: V",
    "published_at": "2026-04-05 10:30:17",
    "area": "V",
    "message_id": "VA75",
    "text": "ZCZC VA75\n3015315UTC MAR 2_.9__-.\n_6:57-.9,__+-,:__!/_._*DBQKUQBK8__:3)O_BINE A06 51-45.0N 001-14.6E FOG SIGNAL INOPERATIVE. \n2. CANCEL WZ 126/26 (VA58-6\nNNNN",
    "clean_text": "ZCZC VA75\n3015315UTC MAR 2_.9__-.\n_6:57-.9,__+-,:__!/_._*DBQKUQBK8__:3)O_BINE A06 51-45.0N 001-14.6E FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 126/26 (VA58-6\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 near 51-45.0N 001-14.6E. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "6:57-.9, -,: !/ . dbqkuqbk8 :3)o bine a06 51-45.0n 001-14.6e fog signal inoperative",
      "2. cancel wz 126/26 (va58-6"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 80,
    "heading": "2026-04-05 10:19:10 AREA: T",
    "published_at": "2026-04-05 10:19:10",
    "area": "T",
    "message_id": "",
    "text": "ZCHC TA53\n131305 UTC D_C_DC_\nU_HUUSX_LPMPPO__-10_ 9, 5_3 '3-_3$\nIN POS 51-36.\n_9(:,__94 ,94_59 !_$.!7.._ !__3____9,,8((((((=========7_ __/_____+:+: 0_4__,____//__04 26\nGALEWARNIN_PT _YM\nCX _MG_H_ERMAMLFDWHN_Z_HK_Q_WEST TAM_WKA__BK__BNWUL_E S_CW_C_T TZMJZCHD_PJ_M\nC_ONGWZ_PY\n_WARNING.\n\nNNNN",
    "clean_text": "ZCHC TA53\n131305 UTC D_C_DC_\nU_HUUSX_LPMPPO__-10_ 9, 5_3 '3-_3$\nIN POS 51-36.\n_9(:,__94 ,94_59 !_$.!7.._ !__3____9,,8((((((=========7_ __/_____+:+: 0_4__,____//__04 26\nGALEWARNIN_PT _YM\nCX _MG_H_ERMAMLFDWHN_Z_HK_Q_WEST TAM_WKA__BK__BNWUL_E S_CW_C_T TZMJZCHD_PJ_M\nC_ONGWZ_PY\n_WARNING.\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: Galewarnin pt ym. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Galewarnin pt ym"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 82,
    "heading": "2026-04-05 10:17:53 AREA: T",
    "published_at": "2026-04-05 10:17:53",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n2270420 UTC SEP  \nOOSTENDERADF_ MSI 350/25\nOOSTENDE-ZEEBRUGGE\nCHAIN ON THE SEABED IN THE VICINITY \nOF 51-20,05N 003-03,75E\nSHIPPING IS REQUESTED NOTM_Z_OFSZOZMICK_!*_.-VHE VICINITY\nNNNN",
    "clean_text": "ZCZC TA79\n2270420 UTC SEP\nOOSTENDERADF_ MSI 350/25\nOOSTENDE-ZEEBRUGGE\nCHAIN ON THE SEABED IN THE VICINITY\nOF 51-20,05N 003-03,75E\nSHIPPING IS REQUESTED NOTM_Z_OFSZOZMICK_!*_.-VHE 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"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Shipping is requested notm z ofszozmick ! .-vhe vicinity.",
    "decoded_highlights": [
      "Shipping is requested notm z ofszozmick ! .-vhe vicinity",
      "Chain on the seabed in the vicinity",
      "Oostende-zeebrugge"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 83,
    "heading": "2026-04-05 10:17:25 AREA: T",
    "published_at": "2026-04-05 10:17:25",
    "area": "T",
    "message_id": "",
    "text": "ZCZCCL_Q_\n1_4 UTC MAR\n_XOOSTENDERADIO MSI 101/26\nTSS-WESTHINDER \nWESTHINDER MEASURING POLE, 51-23._1N 002-26.26E \nLIGHT U_LSPONGONNII_ZCZC",
    "clean_text": "ZCZCCL_Q_\n1_4 UTC MAR\n_XOOSTENDERADIO MSI 101/26\nTSS-WESTHINDER\nWESTHINDER MEASURING POLE, 51-23._1N 002-26.26E\nLIGHT U_LSPONGONNII_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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text says: Light u lspongonnii zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Light u lspongonnii zczc",
      "Westhinder measuring pole, 51-23. 1n 002-26.26e",
      "Tss-westhinder"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 86,
    "heading": "2026-04-05 10:11:56 AREA: T",
    "published_at": "2026-04-05 10:11:56",
    "area": "T",
    "message_id": "TA12",
    "text": "ZCZC TA12\n2615_4 UTC MAR 26\nOOSTENDELWFZM_JFV_NP T_EONGHPYYFHZYFSMJPD_WYZ_YDF_SMFJHYCIIICB_B_XP_NLJFJDPWMF_M_Z_M\nH _U _EEP003-06,817E  UNMARKED\nSHIPPING IJM_P_CP__U_AB(_1_(__(_1(_!3 $8'5-,:3 -,$ ,95 59 -,:_94 ,94 !8'_ 8, 5_3 =8:8,856\n\nNNNN",
    "clean_text": "ZCZC TA12\n2615_4 UTC MAR 26\nOOSTENDELWFZM_JFV_NP T_EONGHPYYFHZYFSMJPD_WYZ_YDF_SMFJHYCIIICB_B_XP_NLJFJDPWMF_M_Z_M\nH _U _EEP003-06,817E UNMARKED\nSHIPPING IJM_P_CP__U_AB(_1_(__(_1(_!3 $8'5-,:3 -,$ ,95 59 -,:_94 ,94 !8'_ 8, 5_3 =8:8,856\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE"
    ],
    "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: H u eep003-06,817e unmarked. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "H u eep003-06,817e unmarked"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 88,
    "heading": "2026-04-05 10:10:52 AREA: T",
    "published_at": "2026-04-05 10:10:52",
    "area": "T",
    "message_id": "TA16",
    "text": "ZCZC TA16\n2918__  7_: .-4\nOOSTENDE_A_I_ MSI 134/26\nTS_-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAI_ LOST IN POS 51-24._9::9_==0\n_\n\n_\n\nZCZC",
    "clean_text": "ZCZC TA16\n2918__ 7_: .-4\nOOSTENDE_A_I_ MSI 134/26\nTS_-WESTHINDER\nM/V ST. CLEMENS\nANCHOR AND CHAI_ LOST IN POS 51-24._9::9_==0\n_\n\n_\n\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"
    ],
    "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 chai lost in pos 51-24. 9::9 0. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchor and chai lost in pos 51-24. 9::9 0",
      "Ts -westhinder",
      "M/v st. clemens"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 89,
    "heading": "2026-04-05 10:10:19 AREA: T",
    "published_at": "2026-04-05 10:10:19",
    "area": "T",
    "message_id": "",
    "text": "ZCZCCHV_HO\n050710  __ APR\n__WFZM_M_Y\nTHAMES,___VER NDE_P_ D_\nNNNN",
    "clean_text": "ZCZCCHV_HO\n050710 __ APR\n__WFZM_M_Y\nTHAMES,___VER NDE_P_ D_\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Zczcchv ho. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Zczcchv ho"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 90,
    "heading": "2026-04-05 10:08:43 AREA: T",
    "published_at": "2026-04-05 10:08:43",
    "area": "T",
    "message_id": "",
    "text": "ZCZCNSA75\nNCC-HAMBURG\n27:95_ _9! .-4 26\nNA_ WA_N. NO. 183\nEASTMYFJFMFJSWJ_ SJU_ST-N'  LIGHTBUOY  53-447\n  _-55E MISSING.\nNNNN",
    "clean_text": "ZCZCNSA75\nNCC-HAMBURG\n27:95_ _9! .-4 26\nNA_ WA_N. NO. 183\nEASTMYFJFMFJSWJ_ SJU_ST-N' LIGHTBUOY 53-447\n_-55E MISSING.\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-fallback",
    "resolved_match_terms": [
      "NCC HAMBURG"
    ],
    "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: Eastmyfjfmfjswj sju st-n' lightbuoy 53-447. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Eastmyfjfmfjswj sju st-n' lightbuoy 53-447",
      "-55e missing",
      "Ncc-hamburg"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 92,
    "heading": "2026-04-05 10:07:29 AREA: T",
    "published_at": "2026-04-05 10:07:29",
    "area": "T",
    "message_id": "",
    "text": "ZCZCVSA80\n/,/._:_LCY__N\nP_ P__MG_HXM_Y_\n_NAV. WARN. NO. 189\nEIDER EDTARE\n_VSEIDER' LIGHTBUOY  54-16N 008-29E\nTEMPORARILYCREPLACED BY UNLIT BUOY.\nNNNN",
    "clean_text": "ZCZCVSA80\n/,/._:_LCY__N\nP_ P__MG_HXM_Y_\n_NAV. WARN. NO. 189\nEIDER EDTARE\n_VSEIDER' LIGHTBUOY 54-16N 008-29E\nTEMPORARILYCREPLACED BY UNLIT BUOY.\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: Vseider' lightbuoy 54-16n 008-29e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Vseider' lightbuoy 54-16n 008-29e",
      "Temporarilycreplaced by unlit buoy",
      "Eider edtare"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 93,
    "heading": "2026-04-05 10:06:33 AREA: S",
    "published_at": "2026-04-05 10:06:33",
    "area": "S",
    "message_id": "",
    "text": "ZCZC SA_IQ\n_CC-HAMBKC_\n_\nVN \n__ MAR 26\nNAV. WARN. NO. 191\n_(_34.-, _8__5. SOUTHERLY WEISSE BANK.\nUNDERWATER OPERA\nFZ_F BY MV 'FUGRO QUEST',,CS '_FOWSN\nAROUND POSITION 54-46,6N 006-00,5E\nRESTRICTED MANO VRABIHITY DURINGCOPERAT_O L_\nTBWWOOOOOOOOOOOOOOOOO\nK_ZCZC",
    "clean_text": "ZCZC SA_IQ\n_CC-HAMBKC_\n_\nVN\n__ MAR 26\nNAV. WARN. NO. 191\n_(_34.-, _8__5. SOUTHERLY WEISSE BANK.\nUNDERWATER OPERA\nFZ_F BY MV 'FUGRO QUEST',,CS '_FOWSN\nAROUND POSITION 54-46,6N 006-00,5E\nRESTRICTED MANO VRABIHITY DURINGCOPERAT_O L_\nTBWWOOOOOOOOOOOOOOOOO\nK_ZCZC",
    "resolved_station_name": "Pinneberg",
    "resolved_country": "Germany",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "German Bight and German North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "WEISSE BANK"
    ],
    "display_region_heading": "Germany - German Bight and German North Sea",
    "display_region_label": "Pinneberg, Germany",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Germany - German Bight and German North Sea. Readable text says: Around position 54-46,6n 006-00,5e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around position 54-46,6n 006-00,5e",
      "Restricted mano vrabihity duringcoperat o l",
      "Underwater opera"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 94,
    "heading": "2026-04-05 10:05:35 AREA: S",
    "published_at": "2026-04-05 10:05:35",
    "area": "S",
    "message_id": "SA82",
    "text": "ZCZC SA82\nNCC_A_\nGERMAN BIGHT. NORTHWESTERLY OWF 'BACJ OF_DZYPM_ JB\nNGJCY\nD_ZZJMFM_YZYPJJMLEM_\nM\nK_VZBZKAUUEBAEKV_X_PBNQ_L_ISN\nAROUND POSITION 54-28,5N 005-30,8E.\nRESTRICTED MANOEVRABILITY DURING OPERATIONS.\nBERTH OF 1 NM R_:0*_02_NNNN",
    "clean_text": "ZCZC SA82\nNCC_A_\nGERMAN BIGHT. NORTHWESTERLY OWF 'BACJ OF_DZYPM_ JB\nNGJCY\nD_ZZJMFM_YZYPJJMLEM_\nM\nK_VZBZKAUUEBAEKV_X_PBNQ_L_ISN\nAROUND POSITION 54-28,5N 005-30,8E.\nRESTRICTED MANOEVRABILITY DURING OPERATIONS.\nBERTH OF 1 NM R_:0*_02_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"
    ],
    "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: Around position 54-28,5n 005-30,8e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Around position 54-28,5n 005-30,8e",
      "Restricted manoevrability during operations",
      "German bight. northwesterly owf 'bacj of dzypm jb"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 95,
    "heading": "2026-04-05 10:04:42 AREA: S",
    "published_at": "2026-04-05 10:04:42",
    "area": "S",
    "message_id": "SA83",
    "text": "ZCZC SA83\n',::2HAMBURG\n022420 UTC APR __)1=__99_*:6\n0__+PSARUNEN 005-58,3E\nRESTRICTED MANOEVRABILITY D_TINR_\nKYZ\n_\nLF\nV2+--)\n_/52_81!$10\n_____$.\nNNNN",
    "clean_text": "ZCZC SA83\n',::2HAMBURG\n022420 UTC APR __)1=__99_*:6\n0__+PSARUNEN 005-58,3E\nRESTRICTED MANOEVRABILITY D_TINR_\nKYZ\n_\nLF\nV2+--)\n_/52_81!$10\n_____$.\nNNNN",
    "display_region_heading": "Unresolved B1 code S",
    "display_region_label": "B1 code S",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code S. Readable text says: 0 psarunen 005-58,3e. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "0 psarunen 005-58,3e",
      "Restricted manoevrability d tinr"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 97,
    "heading": "2026-04-05 10:02:04 AREA: S",
    "published_at": "2026-04-05 10:02:04",
    "area": "S",
    "message_id": "SA87",
    "text": "ZCZC SA87\nNCC-HAMBURG\n042240 UTC AHY\n_JONG\n_WARN. NO. 200\nTSS TERSCHELLIIG-GERMAN BIGHT\nFOLLOWING CONTAINERVESSELS ARE AHMYFJ_MZ.'+!____!06*.29,__+:_$!_:6!+.$_\n_.*0_._+2!_!+*_(-_)__\n _0*._/+_.9,888_5_ 59 ,945_23'5 $843:589,:\nAT A WAVE NEFYDHMLZOPM\nP_GBM_ZHFPY_PJJPSJMD_O_O_ABDK__B_\n_U_P_X_A_ZEI=/\n,_\n'_!.__SH UN_HD_HSNXSFZNHXX_NMUS_A_UFWUN_FDFE_PMHZO_ONGHDPMU_PMWFYP_HF__AT A _ME\nHEIGHT AB_VE 4.0M C_NTAINERVESSELS WITH A LENGTH ABOVE 200M\n\nARE RECOMMPWPWMHZM_ZS_Z_MSHPYHF\n_MYZCHPM_FMYJK_WBU_IESLAND\nAND GERMAN BIGHT WESTERN APPRO_D_N\n\n_ZCZC",
    "clean_text": "ZCZC SA87\nNCC-HAMBURG\n042240 UTC AHY\n_JONG\n_WARN. NO. 200\nTSS TERSCHELLIIG-GERMAN BIGHT\nFOLLOWING CONTAINERVESSELS ARE AHMYFJ_MZ.'+!____!06*.29,__+:_$!_:6!+.$_\n_.*0_._+2!_!+*_(-_)__\n_0*._/+_.9,888_5_ 59 ,945_23'5 $843:589,:\nAT A WAVE NEFYDHMLZOPM\nP_GBM_ZHFPY_PJJPSJMD_O_O_ABDK__B_\n_U_P_X_A_ZEI=/\n,_\n'_!.__SH UN_HD_HSNXSFZNHXX_NMUS_A_UFWUN_FDFE_PMHZO_ONGHDPMU_PMWFYP_HF__AT A _ME\nHEIGHT AB_VE 4.0M C_NTAINERVESSELS WITH A LENGTH ABOVE 200M\n\nARE RECOMMPWPWMHZM_ZS_Z_MSHPYHF\n_MYZCHPM_FMYJK_WBU_IESLAND\nAND GERMAN BIGHT WESTERN APPRO_D_N\n\n_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: Height ab ve 4.0m c ntainervessels with a length above 200m. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Height ab ve 4.0m c ntainervessels with a length above 200m",
      "And german bight western appro d n",
      "Tss terschelliig-german bight"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 98,
    "heading": "2026-04-05 10:00:44 AREA: Z",
    "published_at": "2026-04-05 10:00:44",
    "area": "Z",
    "message_id": "Z",
    "text": "ZCZC Z\n_8\n =H___AVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FO 61__.)!_$_9,9,_*:230_9 __!_'975_ 5-___-\n2_-:2_,945_34, 0-45 -_\n/_6)1!.2.20_3949_2_1.__'*____=8'8_8)856.\nSEA: NORHDPYM_Y_B_AEO_B_,9,1_QOD_NR_Z_I_Q_IC_WIND_=_23-\n=\n9,9_9_23'5 -_975 6, LATET MYFLSPM_F_JMLZCHM\n___ISIBILITY/WEATHER: WOZ_M_CJFLFSFHE_: NORTHERN _A_IRST 4 METER.\nNNNN",
    "clean_text": "ZCZC Z\n_8\n=H___AVTEX-HAMBURG (NCC)\n\nWEATHERFORECAST FO 61__.)!_$_9,9,_*:230_9 __!_'975_ 5-___-\n2_-:2_,945_34, 0-45 -_\n/_6)1!.2.20_3949_2_1.__'*____=8'8_8)856.\nSEA: NORHDPYM_Y_B_AEO_B_,9,1_QOD_NR_Z_I_Q_IC_WIND_=_23-\n=\n9,9_9_23'5 -_975 6, LATET MYFLSPM_F_JMLZCHM\n___ISIBILITY/WEATHER: WOZ_M_CJFLFSFHE_: NORTHERN _A_IRST 4 METER.\nNNNN",
    "display_region_heading": "Unresolved B1 code Z",
    "display_region_label": "B1 code Z",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code Z. Readable text says: Weatherforecast fo 61 .)! $ 9,9, :230 9 ! '975 5- -. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weatherforecast fo 61 .)! $ 9,9, :230 9 ! '975 5- -",
      "Isibility/weather: woz m cjflfsfhe : northern a irst 4 meter"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 99,
    "heading": "2026-04-05 10:00:10 AREA: S",
    "published_at": "2026-04-05 10:00:10",
    "area": "S",
    "message_id": "SB49",
    "text": "ZCZC SB49\n050700 NAVTEX-HAMBURG (NCC)\nWARNINGVNB. 117  050220UTC APR\nFOR GERMANGHT:\nSVTZ_JUM__MGHZMIF\n_QW_$4_(9_),)__H_KQGEBQ_M\nNNNN",
    "clean_text": "ZCZC SB49\n050700 NAVTEX-HAMBURG (NCC)\nWARNINGVNB. 117 050220UTC APR\nFOR GERMANGHT:\nSVTZ_JUM__MGHZMIF\n_QW_$4_(9_),)__H_KQGEBQ_M\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": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Germany - German Bight and German North Sea. Readable text says: Warningvnb. 117 050220utc apr. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Warningvnb. 117 050220utc apr",
      "050700 navtex-hamburg (ncc)",
      "For germanght"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 100,
    "heading": "2026-04-05 09:31:36 AREA: P",
    "published_at": "2026-04-05 09:31:36",
    "area": "P",
    "message_id": "P",
    "text": "ZCZC P\nZ_VW__L\nILS__Q_JQ__26\n9QG_ZON_ZYHDMJP__AJ_RMS HAVQM\n__Q4-C   MMMMMMMMMMM HKCX__F_PSSGOYE_JEO_UQBXQ_P_PONS_4::____94, :60'!)'09_K_ VGMTZ_JJJCG_RSE_0:/3,__-58=\n__PC            _HP_YKLON,:_5'__/=__=\n36-58=3\n(16__)\n_)))))))_)_)9\n_/YHS\nF_NFUAFA-1. ________)___,=__4_'\n,_,:,,:_) .'8 91/26\nNNNN",
    "clean_text": "ZCZC P\nZ_VW__L\nILS__Q_JQ__26\n9QG_ZON_ZYHDMJP__AJ_RMS HAVQM\n__Q4-C MMMMMMMMMMM HKCX__F_PSSGOYE_JEO_UQBXQ_P_PONS_4::____94, :60'!)'09_K_ VGMTZ_JJJCG_RSE_0:/3,__-58=\n__PC _HP_YKLON,:_5'__/=__=\n36-58=3\n(16__)\n_)))))))_)_)9\n_/YHS\nF_NFUAFA-1. ________)___,=__4_'\n,_,:,,:_) .'8 91/26\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code P. 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": 101,
    "heading": "2026-04-05 09:30:32 AREA: P",
    "published_at": "2026-04-05 09:30:32",
    "area": "P",
    "message_id": "PA02",
    "text": "ZCZC PA02\n04190_.___/.(__!!__'8 2/269,_):+_.7_UMHGSDQ3_0''_+3$ $E MISSING\nUSZK_X__XE39MMGL_Q\n__THE SELPWO__ZFFFVBO_U__AXAXM\nY__NUZE__\n__ONKQ_SI 103/26\n__**.+6_$ !483')-,$\n:__34 9_'547:589, 43096_6___, =8:8__(4_* __9*__)___\n6/6.:5E AND 54-03.5N 0:6_+1_,,7_:*._+._!*$040_CEL MSI  UTUEONG_ZFFF___ZCZC",
    "clean_text": "ZCZC PA02\n04190_.___/.(__!!__'8 2/269,_):+_.7_UMHGSDQ3_0''_+3$ $E MISSING\nUSZK_X__XE39MMGL_Q\n__THE SELPWO__ZFFFVBO_U__AXAXM\nY__NUZE__\n__ONKQ_SI 103/26\n__**.+6_$ !483')-,$\n:__34 9_'547:589, 43096_6___, =8:8__(4_* __9*__)___\n6/6.:5E AND 54-03.5N 0:6_+1_,,7_:*._+._!*$040_CEL MSI UTUEONG_ZFFF___ZCZC",
    "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. 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": 102,
    "heading": "2026-04-05 09:29:53 AREA: P",
    "published_at": "2026-04-05 09:29:53",
    "area": "P",
    "message_id": "PB44",
    "text": "ZCZC PB44\n05066_1_2/: -04 !7__)32-6!3LOG_BAPR 00/0:__:_.\n0_8__81_3'5 _+.*9_/5_6)/_\nGERMA_GHT.9,_*+:_$(_1__,-__57._34.\nWEST HZMJZC_DPV_HWESTM\nF_ONGIABNRN_ZCHD_PDUM\n\n\nNNNN",
    "clean_text": "ZCZC PB44\n05066_1_2/: -04 !7__)32-6!3LOG_BAPR 00/0:__:_.\n0_8__81_3'5 _+.*9_/5_6)/_\nGERMA_GHT.9,_*+:_$(_1__,-__57._34.\nWEST HZMJZC_DPV_HWESTM\nF_ONGIABNRN_ZCHD_PDUM\n\nNNNN",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Unresolved B1 code P. Readable text says: West hzmjzc dpv hwestm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "West hzmjzc dpv hwestm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 103,
    "heading": "2026-04-05 08:40:13 AREA: K",
    "published_at": "2026-04-05 08:40:13",
    "area": "K",
    "message_id": "KA40",
    "text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nW_LHO_- _2\n!_9,_*P_F_MANF_JON\n_PUEP UTC APR 26 TO 111500 UTC APR 26\nAREA BOUNDED BY:\n49-59.92N 800-12._3W\n4+33 $/0_32.3$N \n49-34.72N 0_6\nNNNN",
    "clean_text": "ZCZC KA40\nAVURNAV CHERBOURG 40/26\nW_LHO_- _2\n!_9,_*P_F_MANF_JON\n_PUEP UTC APR 26 TO 111500 UTC APR 26\nAREA BOUNDED BY:\n49-59.92N 800-12._3W\n4+33 $/0_32.3$N\n49-34.72N 0_6\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 40/26. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav cherbourg 40/26",
      "Area bounded by"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 104,
    "heading": "2026-04-05 08:05:53 AREA: T",
    "published_at": "2026-04-05 08:05:53",
    "area": "T",
    "message_id": "",
    "text": "ZGZC_GA74\nWZ 20_/2_ \n_:_)_2,_\nNN_I\n\n__JCIC __N JJCC__WA. _\nTEAL AND GU_ZLEMO_B_J_C____NZM\nHHYWIND LO_T\nNGIWINJAEZ__B_KK((((((((-_24'_ZCZC",
    "clean_text": "ZGZC_GA74\nWZ 20_/2_\n_:_)_2,_\nNN_I\n\n__JCIC __N JJCC__WA. _\nTEAL AND GU_ZLEMO_B_J_C____NZM\nHHYWIND LO_T\nNGIWINJAEZ__B_KK((((((((-_24'_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Hhywind lo t. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Hhywind lo t"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 105,
    "heading": "2026-04-05 08:05:04 AREA: G",
    "published_at": "2026-04-05 08:05:04",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_FPONG_AM\n_ _TU_MO_G_S. \nK_X_ 001-24.5__.+_\n7___22__!\n_!+/=_-_8_\nWZ 214/26 \nGMDSS. \nMRCC HUMBER. \n_MF R/ 34:9-5' '85_-0(4!! -84. \nNNNN",
    "clean_text": "ZCZC GA_FPONG_AM\n_ _TU_MO_G_S.\nK_X_ 001-24.5__.+_\n7___22__!\n_!+/=_-_8_\nWZ 214/26\nGMDSS.\nMRCC HUMBER.\n_MF R/ 34:9-5' '85_-0(4!! -84.\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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom - North Sea and north-east UK coast. Readable text says: Mrcc humber. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Mrcc humber"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 106,
    "heading": "2026-04-05 08:04:37 AREA: G",
    "published_at": "2026-04-05 08:04:37",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\n___ 9!!'_943 $3.9,'54-594 28,$ !-4_)!09)\n/___$(_1\n____82._+_\n_(__7.!_+_,_:__$_9,,88_7\n_*__3ZCZC",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\n___ 9!!'_943 $3.9,'54-594 28,$ !-4_)!09)\n/___$(_1\n____82._+_\n_(__7.!_+_,_:__$_9,,88_7\n_*__3ZCZC",
    "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. 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": 107,
    "heading": "2026-04-05 08:04:04 AREA: G",
    "published_at": "2026-04-05 08:04:04",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_F_O __AV\nA_TUHUMBER. \nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. _. CANCEL WZ 1+_1+=96\n96\n1,=Z_ONNIII_ZCZC",
    "clean_text": "ZCZC GA_F_O __AV\nA_TUHUMBER.\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-12.6E, UNLIT AND ALL NAVAIDS INOPERATIVE. _. CANCEL WZ 1+_1+=96\n96\n1,=Z_ONNIII_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. Readable text says: 1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative. . cancel wz 1 1 96. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-12.6e, unlit and all navaids inoperative. . cancel wz 1 1 96",
      "A tuhumber",
      "Leman gas field"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 108,
    "heading": "2026-04-05 08:03:34 AREA: G",
    "published_at": "2026-04-05 08:03:34",
    "area": "G",
    "message_id": "",
    "text": "ZCZC GA_4\n__-.\n_7\n57*___3700_RCC SHETLAND.\n_._ 4/__.2.2*_.*_6\n!__*_4_)_3_EQQBQ_ITE 57-07.7N 002-03.2W OFF AIR.\n2. CAN_EL WZCWQEXWY KGA80).\nNNNN",
    "clean_text": "ZCZC GA_4\n__-.\n_7\n57*___3700_RCC SHETLAND.\n_._ 4/__.2.2*_.*_6\n!__*_4_)_3_EQQBQ_ITE 57-07.7N 002-03.2W OFF AIR.\n2. CAN_EL WZCWQEXWY KGA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code G. Readable text says: 2. can el wzcwqexwy kga80). Decoding is partial rather than complete.",
    "decoded_highlights": [
      "2. can el wzcwqexwy kga80)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 109,
    "heading": "2026-04-05 08:03:03 AREA: G",
    "published_at": "2026-04-05 08:03:03",
    "area": "G",
    "message_id": "GA07",
    "text": "ZCZC GA07\nWZ 226/26\nHUMBER.\n,/)0**0_06._*._!0_\n1. PLATFORM 49/23E, 53-11.9_, 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 104/26 (GA54).\nNNNN",
    "clean_text": "ZCZC GA07\nWZ 226/26\nHUMBER.\n,/)0**0_06._*._!0_\n1. PLATFORM 49/23E, 53-11.9_, 002-29.1E, FOG SIGNAL INOPERATIVE.\n2. CANCEL WZ 104/26 (GA54).\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": [
      "1. platform 49/23e, 53-11.9 , 002-29.1e, fog signal inoperative",
      "2. cancel wz 104/26 (ga54)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 110,
    "heading": "2026-04-05 08:02:37 AREA: G",
    "published_at": "2026-04-05 08:02:37",
    "area": "G",
    "message_id": "GA12",
    "text": "ZCZC GA12\nWZ 232/26 \nHUMBER. \nINNER BANK. \nPLATFORM SOUTHWARK 53-11.0N 002-05.8E UNLIT AND ALL NAVAIDS INOPERATIVE.\nNNNN",
    "clean_text": "ZCZC GA12\nWZ 232/26\nHUMBER.\nINNER BANK.\nPLATFORM SOUTHWARK 53-11.0N 002-05.8E UNLIT AND ALL NAVAIDS 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",
      "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 unlit and all navaids inoperative.",
    "decoded_highlights": [
      "Platform southwark 53-11.0n 002-05.8e unlit and all navaids inoperative",
      "Inner bank"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 111,
    "heading": "2026-04-05 08:00:56 AREA: P",
    "published_at": "2026-04-05 08:00:56",
    "area": "P",
    "message_id": "PL03",
    "text": "ZCZC PL03\n050108 UTC APR 26\nWAVE HEIGHT WARNING  300CM TSS TERSCHELLING - GERMAN BIGHT\nISSUED AT 050500 UTC APR\n\nCONTAINER VESSELS WITH A LENGTH OF 100-200M ARE AT RISK\nOF LOSING CONTAINERS DURING HEAVY SEA CONDITIONS, \nIN PARTICULAR FROM A WEST-NORTHWEST TO NORTHERLY DIRECTION.\nTHESE VESSELS SHOULD ALTER CZCYJPMF_MP_PJJY_MONHZM_ZF_MXZ__MK_NK_B_ABDWBCKBNQBKUBZ_E OTHER APPROPRFHPM_PJCYPJMHZM_ZFWMSZJFM_ZHFPYJ_NNNN",
    "clean_text": "ZCZC PL03\n050108 UTC APR 26\nWAVE HEIGHT WARNING 300CM TSS TERSCHELLING - GERMAN BIGHT\nISSUED AT 050500 UTC APR\n\nCONTAINER VESSELS WITH A LENGTH OF 100-200M ARE AT RISK\nOF LOSING CONTAINERS DURING HEAVY SEA CONDITIONS,\nIN PARTICULAR FROM A WEST-NORTHWEST TO NORTHERLY DIRECTION.\nTHESE VESSELS SHOULD ALTER CZCYJPMF_MP_PJJY_MONHZM_ZF_MXZ__MK_NK_B_ABDWBCKBNQBKUBZ_E OTHER APPROPRFHPM_PJCYPJMHZM_ZFWMSZJFM_ZHFPYJ_NNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TERSCHELLING"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "L",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. Readable text says: Wave height warning 300cm tss terschelling - german bight. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wave height warning 300cm tss terschelling - german bight",
      "Container vessels with a length of 100-200m are at risk",
      "Of losing containers during heavy sea conditions"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 112,
    "heading": "2026-04-05 07:45:01 AREA: P",
    "published_at": "2026-04-05 07:45:01",
    "area": "P",
    "message_id": "",
    "text": "ZCZC P__\nWZ \n ZUHKPO_LAVEY_Z_IT BUOY\n\n U_)9,_/_\n84\n)_77-'_8$(!31._9_7_+_7_-/-_.0_,_WZ \nCF_T__MO\nGC__G_N_ 50-39.7N_QAETMTGUMWJ++(__(\n__/_8=3. \n_ON_FF____ZCZMMP_M:_('+_4_!=._\nSPAFPSMZM_PB_IMQ_PRAEZMVGKBXLK3_7+)$8887_))\n99999999999999__5/4\n__8___ZC_C GT40\nGALE WA_F_MJCWEM_HM__YF_M_Y UTC\n\nCZB_HJON*_+6_.__6/\n.\n:_9____ 23'534)6 -,$ $3:43-'8,_=_-)3 !94:3 8 IMMINENT\n\nFORTH TYNJ\nSTORM KOR_PM\n_MG\nPPYFM_PJ_PYS_MWMW_IIKPXYPJ_M_SHMWZYXPM\nFM_F_ENT\n\nDOU_ZCZC",
    "clean_text": "ZCZC P__\nWZ\nZUHKPO_LAVEY_Z_IT BUOY\n\nU_)9,_/_\n84\n)_77-'_8$(!31._9_7_+_7_-/-_.0_,_WZ\nCF_T__MO\nGC__G_N_ 50-39.7N_QAETMTGUMWJ++(__(\n__/_8=3.\n_ON_FF____ZCZMMP_M:_('+_4_!=._\nSPAFPSMZM_PB_IMQ_PRAEZMVGKBXLK3_7+)$8887_))\n99999999999999__5/4\n__8___ZC_C GT40\nGALE WA_F_MJCWEM_HM__YF_M_Y UTC\n\nCZB_HJON*_+6_.__6/\n.\n:_9____ 23'534)6 -,$ $3:43-'8,_=_-)3 !94:3 8 IMMINENT\n\nFORTH TYNJ\nSTORM KOR_PM\n_MG\nPPYFM_PJ_PYS_MWMW_IIKPXYPJ_M_SHMWZYXPM\nFM_F_ENT\n\nDOU_ZCZC",
    "display_region_heading": "Unresolved B1 code P",
    "display_region_label": "B1 code P",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code P. Readable text says: Gale wa f mjcwem hm yf m y utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Gale wa f mjcwem hm yf m y utc",
      "Zuhkpo lavey z it buoy",
      "Storm kor pm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 114,
    "heading": "2026-04-05 07:44:13 AREA: T",
    "published_at": "2026-04-05 07:44:13",
    "area": "T",
    "message_id": "",
    "text": "ZCZCM\n\nY__N\nN_RHKN_\nPLYMOUTD_._'2*.0+7.1-/_22-4$'. \n:_$:_$._-01.2__88(_\n_:4__0:/_',:0(1_0\n_\n,\n\n7_1_ZCZC",
    "clean_text": "ZCZCM\n\nY__N\nN_RHKN_\nPLYMOUTD_._'2*.0+7.1-/_22-4$'.\n:_$:_$._-01.2__88(_\n_:4__0:/_',:0(1_0\n_\n,\n\n7_1_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 115,
    "heading": "2026-04-05 07:40:58 AREA: E",
    "published_at": "2026-04-05 07:40:58",
    "area": "E",
    "message_id": "EA54",
    "text": "ZCZC EA54\nWZ 251/26 \nFASTNET_.\n___60__.*'_00.*+:_$_6_*_\nCONINGBEG BUOY 52-03.2N 006-38.6I___G__RFOFFOFFVIIRLI_U__XAXA__N_NDK_HLKBKENKBGBQ__ _KEL0 )__7/!_$\n:+:*_$_:000.____._39,(:0_-=-43- 8._6_!31_11/UBK_W_M52_____'2._-'_3$ 8,._00='_.02!_!+*.+_:3*._+._3EQBSX_JD)_TRC_IK_\n\nB.\nDMYPMFMIII_UYF_JMSPJJMHDLBNEKOIK __PC_-(19_(:3(_0)__')_FC JO_IO_LL (EGC) _2_54-,'_,__RP_EAI_DZGIU7!+7_\n__$:9 9! -)) 8__+6/\n___*\n7____$__4,'*_._!_+*0.(252_:0_8_7_(! _ '3:589, 888 9! -,.).___5_+__OKQBHCUBGIZR_KEBV___ZV_MDOZMBY FROM TD_MFRALTY__/_3$-0\n_\n-=8_5!+'_6_31LZO_E_Q_TIVES__MGHDPJPMBJMLU_R_XT__BY E-))-8) !49. ,-=60.!./+__+62!(_GOV.UK\nN_N\n_HCPO_A74'_9,_9,,8____ZXA_MP_YZ_A_\nXBX_F YWCQGL ___H_V_DS. 0._0*_._62!'.):+-.,\n_:$$LBN./(4_)(__*9+_--884))7__ZCZC",
    "clean_text": "ZCZC EA54\nWZ 251/26\nFASTNET_.\n___60__.*'_00.*+:_$_6_*_\nCONINGBEG BUOY 52-03.2N 006-38.6I___G__RFOFFOFFVIIRLI_U__XAXA__N_NDK_HLKBKENKBGBQ__ _KEL0 )__7/!_$\n:+:*_$_:000.____._39,(:0_-=-43- 8._6_!31_11/UBK_W_M52_____'2._-'_3$ 8,._00='_.02!_!+*.+_:3*._+._3EQBSX_JD)_TRC_IK_\n\nB.\nDMYPMFMIII_UYF_JMSPJJMHDLBNEKOIK __PC_-(19_(:3(_0)__')_FC JO_IO_LL (EGC) _2_54-,'_,__RP_EAI_DZGIU7!+7_\n__$:9 9! -)) 8__+6/\n___*\n7____$__4,'*_._!_+*0.(252_:0_8_7_(! _ '3:589, 888 9! -,.).___5_+__OKQBHCUBGIZR_KEBV___ZV_MDOZMBY FROM TD_MFRALTY__/_3$-0\n_\n-=8_5!+'_6_31LZO_E_Q_TIVES__MGHDPJPMBJMLU_R_XT__BY E-))-8) !49. ,-=60.!./+__+62!(_GOV.UK\nN_N\n_HCPO_A74'_9,_9,,8____ZXA_MP_YZ_A_\nXBX_F YWCQGL ___H_V_DS. 0._0*_._62!'.):+-.,\n_:$$LBN./(4_)(__*9+_--884))7__ZCZC",
    "display_region_heading": "Unresolved B1 code E",
    "display_region_label": "B1 code E",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code E. Readable text says: Coningbeg buoy 52-03.2n 006-38.6i g rfoffoffviirli u xaxa n ndk hlkbkenkbgbq kel0 ) 7/! $. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Coningbeg buoy 52-03.2n 006-38.6i g rfoffoffviirli u xaxa n ndk hlkbkenkbgbq kel0 ) 7/! $"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 116,
    "heading": "2026-04-05 07:40:13 AREA: E",
    "published_at": "2026-04-05 07:40:13",
    "area": "E",
    "message_id": "EB74",
    "text": "ZCZC EB74\n\nGALE WARNING SUNDAY 05 _-048) _346 !(5:\n\nTHAMES\nSOUTHWESTERLY GALE _E 8 CONTINUING\n\nDOVER UF_DHM_ZYHSWMSBAMDW__KJ\nOL_KB_NKQUZZ__AJZ_K_NBL_KB_NKQUBSX__QAX_WFFXY GALE FORCEV\nC\nB_XVECTED LATER\n\nLUNDY FASTNET\nGALE NOW CEASED\nNNNN",
    "clean_text": "ZCZC EB74\n\nGALE WARNING SUNDAY 05 _-048) _346 !(5:\n\nTHAMES\nSOUTHWESTERLY GALE _E 8 CONTINUING\n\nDOVER UF_DHM_ZYHSWMSBAMDW__KJ\nOL_KB_NKQUZZ__AJZ_K_NBL_KB_NKQUBSX__QAX_WFFXY GALE FORCEV\nC\nB_XVECTED LATER\n\nLUNDY FASTNET\nGALE NOW CEASED\nNNNN",
    "resolved_station_name": "Niton",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "English Channel and western approaches",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "LUNDY"
    ],
    "display_region_heading": "United Kingdom - English Channel and western approaches",
    "display_region_label": "Niton, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - English Channel and western approaches. Readable text says: Ol kb nkquzz ajz k nbl kb nkqubsx qax wffxy gale forcev. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ol kb nkquzz ajz k nbl kb nkqubsx qax wffxy gale forcev",
      "Gale warning sunday 05 -048) 346 !(5",
      "Southwesterly gale e 8 continuing"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 117,
    "heading": "2026-04-05 07:08:56 AREA: P",
    "published_at": "2026-04-05 07:08:56",
    "area": "P",
    "message_id": "PB43",
    "text": "ZCZC PB43\n050338 UTC APR 26\nGALEWARNING, 05 APR 03:37 UTC.\nDOGGER.\nWEST TO SOUTHWEST 9.\nGERMAN BIGHT.\nSOUTHWEST 9.\nHUMB_\nWEST TO SOUTHWEST 8.\nTHAMES_SOUTHWEST 8.\nDOVER.\nSOUTHWEST 7.\n\n\nNNNN",
    "clean_text": "ZCZC PB43\n050338 UTC APR 26\nGALEWARNING, 05 APR 03:37 UTC.\nDOGGER.\nWEST TO SOUTHWEST 9.\nGERMAN BIGHT.\nSOUTHWEST 9.\nHUMB_\nWEST TO SOUTHWEST 8.\nTHAMES_SOUTHWEST 8.\nDOVER.\nSOUTHWEST 7.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Galewarning, 05 apr 03:37 utc.",
    "decoded_highlights": [
      "Galewarning, 05 apr 03:37 utc",
      "West to southwest 9",
      "German bight"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 118,
    "heading": "2026-04-05 06:50:56 AREA: G",
    "published_at": "2026-04-05 06:50:56",
    "area": "G",
    "message_id": "GB40",
    "text": "ZCZC GB40\nGALE WARNING SUNDAY 05 APRIL 0346 UTC\n\nCROMAYH_ONGJHZYBM__YXPM\nX9__8,_ 23'576 -,$ $3:43-'8,_ _-)3 !94:3 8 IMMINENT\n\nFORTH TYNE\nSTORM FORCE\n10 VEERING WESTERLY AND D_CREASING GALE FORCE 8 IMMFPHONONGWZ_\nSTOR_VBQZP__+\n7_ \n7_ 2-4,8,\n_):_.*+:_$0888__-)3 !94:3 8 EXPECTED LATER\n\nLUNDY FAJHPHONG_SPMZUM_PJPWONGONNKKKKKKKKKKKKKKKKQ_O_VKAQ_ZCZC",
    "clean_text": "ZCZC GB40\nGALE WARNING SUNDAY 05 APRIL 0346 UTC\n\nCROMAYH_ONGJHZYBM__YXPM\nX9__8,_ 23'576 -,$ $3:43-'8,_ _-)3 !94:3 8 IMMINENT\n\nFORTH TYNE\nSTORM FORCE\n10 VEERING WESTERLY AND D_CREASING GALE FORCE 8 IMMFPHONONGWZ_\nSTOR_VBQZP__+\n7_\n7_ 2-4,8,\n_):_.*+:_$0888__-)3 !94:3 8 EXPECTED LATER\n\nLUNDY FAJHPHONG_SPMZUM_PJPWONGONNKKKKKKKKKKKKKKKKQ_O_VKAQ_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "TYNE"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 10 veering westerly and d creasing gale force 8 immfphonongwz. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "10 veering westerly and d creasing gale force 8 immfphonongwz",
      "Gale warning sunday 05 april 0346 utc",
      "Storm force"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 121,
    "heading": "2026-04-05 06:23:11 AREA: U",
    "published_at": "2026-04-05 06:23:11",
    "area": "U",
    "message_id": "UA73",
    "text": "ZCZC UA73\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOSTAVURNAV NR. 195/2- APR 03\nMAR ADRIATICO - VENEZIA -\nGIORNO 05 AIYM\nU_UEK_B_ZYPM\nE_MG_H_MSSPMZYPMI_G__.$___$0___K_QB__(1BU_)H_NB_H_DOA_KD_-(*_*+_)(__BK_KD___3(1_43'58,9 .-''8.- -553,-!+09,9,9,,888_\n+:+: 7-74\n050320 UTC APPM\n_MONDOLFO RADIO\n\nCOASTAL WARNING 150/26 MAR 24 (1 REPETITION)  \nSOUTHERN ADRIATIC SEA   OTRANTO \nDAYS _ \nUC_U PI PO QP QE QR QT QY QU WP WQ WW WE WR\nWU WI WO AND 30 APR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT A\nFIRING\nMILITARY ACTIVITIES IN THE SEA AREA IN FRONT OF 'TORRE VENERI'\nFIRING RANGE, BOUNDED BY THE FOLLOWING POINTS:\nA    40 25'31 N   18 15'30 E  B    40 30'20 N   18 16'30 E \nC    40 29'25 N   18 19'03 E  D    40 27'45 N   18 20'_!._0.9,0....\n6M_HJHHMGMMM_WWSWI E  F    40 23'05 _,   18 23'1:\n(3 \n_    40 23'54 N   18 17'30 E \nSAILING, ANCHORAGE AND FISHING AREM_YZDFSFHU_AL_ONNTU_DUUZCZC",
    "clean_text": "ZCZC UA73\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOSTAVURNAV NR. 195/2- APR 03\nMAR ADRIATICO - VENEZIA -\nGIORNO 05 AIYM\nU_UEK_B_ZYPM\nE_MG_H_MSSPMZYPMI_G__.$___$0___K_QB__(1BU_)H_NB_H_DOA_KD_-(*_*+_)(__BK_KD___3(1_43'58,9 .-''8.- -553,-!+09,9,9,,888_\n+:+: 7-74\n050320 UTC APPM\n_MONDOLFO RADIO\n\nCOASTAL WARNING 150/26 MAR 24 (1 REPETITION)\nSOUTHERN ADRIATIC SEA OTRANTO\nDAYS _\nUC_U PI PO QP QE QR QT QY QU WP WQ WW WE WR\nWU WI WO AND 30 APR FROM 08 00LT TO 23 00LT, WILL BE CARRIED OUT A\nFIRING\nMILITARY ACTIVITIES IN THE SEA AREA IN FRONT OF 'TORRE VENERI'\nFIRING RANGE, BOUNDED BY THE FOLLOWING POINTS:\nA 40 25'31 N 18 15'30 E B 40 30'20 N 18 16'30 E\nC 40 29'25 N 18 19'03 E D 40 27'45 N 18 20'_!._0.9,0....\n6M_HJHHMGMMM_WWSWI E F 40 23'05 _, 18 23'1:\n(3\n_ 40 23'54 N 18 17'30 E\nSAILING, ANCHORAGE AND FISHING AREM_YZDFSFHU_AL_ONNTU_DUUZCZC",
    "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: Sailing, anchorage and fishing arem yzdfsfhu al onntu duuzczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Sailing, anchorage and fishing arem yzdfsfhu al onntu duuzczc",
      "Coastal warning 150/26 mar 24 (1 repetition)",
      "Military activities in the sea area in front of 'torre veneri'"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 122,
    "heading": "2026-04-05 06:21:34 AREA: U",
    "published_at": "2026-04-05 06:21:34",
    "area": "U",
    "message_id": "UA72",
    "text": "ZCZC UA72\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING \n TUE_GQ_\n_ _VUPMGYP_PHFHFZ_SM_MO__QAX_WE_BKUE(___1KBBB_E71__1 JAN U_LFSM\nPCVG0/.\n7UE_G_YZBMSZ_SMHF_PM\n_E_MGHZM__X__ZO_G_FHDMPL_SCJFZMZ_MHFZSMDZSFW_JMWM_CSEMWMC_CJH_MZ_FSSMLPON_YYFPWMZCHMM_FSFHY_MXHF\nFHEM_FHDMJ_S_M_PZJMFMHDPMYPONFM_YZHMZ_MHZYEIB_KB_J_IRING RANGE:\nA  40 38' 40 N   18 01' 12 E  B  40 39' 869 N   18\n03' 669 E \nC  40 39' 02 N   18 04' 24 E  D  40 37' 51 N   18 04' 27 E \nE  40 36' 39 N   18 03' 22 /3  !  40 38' 08 N   18 01' 12 E \nTRANSIT, ANCDGE AND FISHING ARE PROHIBITED \nNNNN",
    "clean_text": "ZCZC UA72\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING\nTUE_GQ_\n_ _VUPMGYP_PHFHFZ_SM_MO__QAX_WE_BKUE(___1KBBB_E71__1 JAN U_LFSM\nPCVG0/.\n7UE_G_YZBMSZ_SMHF_PM\n_E_MGHZM__X__ZO_G_FHDMPL_SCJFZMZ_MHFZSMDZSFW_JMWM_CSEMWMC_CJH_MZ_FSSMLPON_YYFPWMZCHMM_FSFHY_MXHF\nFHEM_FHDMJ_S_M_PZJMFMHDPMYPONFM_YZHMZ_MHZYEIB_KB_J_IRING RANGE:\nA 40 38' 40 N 18 01' 12 E B 40 39' 869 N 18\n03' 669 E\nC 40 39' 02 N 18 04' 24 E D 40 37' 51 N 18 04' 27 E\nE 40 36' 39 N 18 03' 22 /3 ! 40 38' 08 N 18 01' 12 E\nTRANSIT, ANCDGE AND FISHING ARE PROHIBITED\nNNNN",
    "resolved_station_name": "Mondolfo",
    "resolved_country": "Italy",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea and central Italian coast",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "MONDOLFO RADIO"
    ],
    "display_region_heading": "Italy - Adriatic Sea and central Italian coast",
    "display_region_label": "Mondolfo, Italy",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: Transit, ancdge and fishing are prohibited. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Transit, ancdge and fishing are prohibited",
      "Coastal warning",
      "Mondolfo radio"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 123,
    "heading": "2026-04-05 06:20:52 AREA: U",
    "published_at": "2026-04-05 06:20:52",
    "area": "U",
    "message_id": "UA71",
    "text": "ZCZC UA71\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MY__KW REPETITION) \nCENTRAL ADRIATIC SEA - PESCARA.\nLIGHTHOUSE OF PESCARA I.L. 3871 (E2316.35 IN POSITION:\n  42 27.9'N  LONG 014 14.0'E\nNOT WORKING.\n\nNNNN",
    "clean_text": "ZCZC UA71\n050320 UTC APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNING 148/26 MY__KW REPETITION)\nCENTRAL ADRIATIC SEA - PESCARA.\nLIGHTHOUSE OF PESCARA I.L. 3871 (E2316.35 IN POSITION:\n42 27.9'N LONG 014 14.0'E\nNOT WORKING.\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. Readable text says: Lighthouse of pescara i.l. 3871 (e2316.35 in position.",
    "decoded_highlights": [
      "Lighthouse of pescara i.l. 3871 (e2316.35 in position",
      "Coastal warning 148/26 my kw repetition)",
      "Central adriatic sea - pescara"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 124,
    "heading": "2026-04-05 06:20:13 AREA: U",
    "published_at": "2026-04-05 06:20:13",
    "area": "U",
    "message_id": "UA70",
    "text": "ZCZC UA70\n050320 U_C APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNINHM__BM _PT_AR 26 (3 RILANCIO)\nADRIATIC SEA - VENEZIA - ALBARELLA ISLAND\nIN PSN:\n- 45 04.2N - 012 20.8E\nLIGHTHOUSE NR 4 _BY_BHG_QPB_ORKING\n_NNNN",
    "clean_text": "ZCZC UA70\n050320 U_C APR 26\nMONDOLFO RADIO\n\nCOASTAL WARNINHM__BM _PT_AR 26 (3 RILANCIO)\nADRIATIC SEA - VENEZIA - ALBARELLA ISLAND\nIN PSN:\n- 45 04.2N - 012 20.8E\nLIGHTHOUSE NR 4 _BY_BHG_QPB_ORKING\n_NNNN",
    "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: Lighthouse nr 4 by bhg qpb orking. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Lighthouse nr 4 by bhg qpb orking",
      "Coastal warninhm bm pt ar 26 (3 rilancio)",
      "Adriatic sea - venezia - albarella island"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 125,
    "heading": "2026-04-05 06:18:43 AREA: T",
    "published_at": "2026-04-05 06:18:43",
    "area": "T",
    "message_id": "TA19",
    "text": "ZCZC TA19\n071438 UTC AP_ \n__O_ST__\nU DERWATERPIPELINEU RAVERSIJDE EZTABLISHED BETWEEN BEACH \n __ND 51-1MWOT_NVFKPWATQMEITE\nMARKED WITH_TH CARDINAL BUOY 'JDN'\nUNDERWATERPIPELINE LOMBARDSIJDE ESTABLISHED BETWEE_ OVA_QAQPMQUN 002-45.01E MARKED\nMARKED WITH NORTH CARDINAL BUO_M_JG_X_\nSHIPPING IS ___ FTJD NOT TO ANCDZYMIIIUTO FISH ABOVE \nTHESE PIP_LINES\nNNNN",
    "clean_text": "ZCZC TA19\n071438 UTC AP_\n__O_ST__\nU DERWATERPIPELINEU RAVERSIJDE EZTABLISHED BETWEEN BEACH\n__ND 51-1MWOT_NVFKPWATQMEITE\nMARKED WITH_TH CARDINAL BUOY 'JDN'\nUNDERWATERPIPELINE LOMBARDSIJDE ESTABLISHED BETWEE_ OVA_QAQPMQUN 002-45.01E MARKED\nMARKED WITH NORTH CARDINAL BUO_M_JG_X_\nSHIPPING IS ___ FTJD NOT TO ANCDZYMIIIUTO FISH ABOVE\nTHESE PIP_LINES\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 reports a pipeline-related hazard with local restrictions for nearby traffic. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is ftjd not to ancdzymiiiuto fish above",
      "U derwaterpipelineu raversijde eztablished between beach",
      "Underwaterpipeline lombardsijde established betwee ova qaqpmqun 002-45.01e marked"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 128,
    "heading": "2026-04-05 06:16:46 AREA: T",
    "published_at": "2026-04-05 06:16:46",
    "area": "T",
    "message_id": "TA79",
    "text": "ZCZC TA79\n270420 UTC S_..9,_++*_02062!+._*!._0__\nOOSTENDE-ZEEBRUGGEO G_DFMZMHDPMJPICKED IMHDPM\nF_F_H_MONGZ.\n_ __HG_M\n_PENUTE\nSHIPPING IS REQUESTEWMZHMHZM_DZ_MONGZYMHZMIII_!*$.!._$0.\n!_!H_ONGONNIII_ZCZC",
    "clean_text": "ZCZC TA79\n270420 UTC S_..9,_++*_02062!+._*!._0__\nOOSTENDE-ZEEBRUGGEO G_DFMZMHDPMJPICKED IMHDPM\nF_F_H_MONGZ.\n_ __HG_M\n_PENUTE\nSHIPPING IS REQUESTEWMZHMHZM_DZ_MONGZYMHZMIII_!*$.!._$0.\n!_!H_ONGONNIII_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: Shipping is requestewmzhmhzm dz mongzymhzmiii ! $.!. $0. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Shipping is requestewmzhmhzm dz mongzymhzmiii ! $.!. $0",
      "Oostende-zeebruggeo g dfmzmhdpmjpicked imhdpm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 129,
    "heading": "2026-04-05 06:16:06 AREA: T",
    "published_at": "2026-04-05 06:16:06",
    "area": "T",
    "message_id": "TA85",
    "text": "ZCZC TA85\n300:_!._:__.*=__++*_02062!+._*!._0_3_\nBE EEZ \n_BJ_ES ON THE SEA BED \nIN PZS_51-23.730N 002-29.791E AND \n51-23.557N 002-30.286E\nANCHORING AND FI_DF_MYPM_YZDFIII_ED \nWTHIN DISTANCPMZ.)7_GBONGONNIII_ZCZC",
    "clean_text": "ZCZC TA85\n300:_!._:__.*=__++*_02062!+._*!._0_3_\nBE EEZ\n_BJ_ES ON THE SEA BED\nIN PZS_51-23.730N 002-29.791E AND\n51-23.557N 002-30.286E\nANCHORING AND FI_DF_MYPM_YZDFIII_ED\nWTHIN DISTANCPMZ.)7_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": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Anchoring and fi df mypm yzdfiii ed. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Anchoring and fi df mypm yzdfiii ed",
      "Bj es on the sea bed",
      "In pzs 51-23.730n 002-29.791e and"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 131,
    "heading": "2026-04-05 06:14:37 AREA: T",
    "published_at": "2026-04-05 06:14:37",
    "area": "T",
    "message_id": "TA02",
    "text": "ZCZC TA02\n082006 UTC NZV 24\nOOSTENDERADIO MSI 544/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SEABED IN FOLLOWING POS\n5115.938N  00258.482E\n5115.943N  00258.492E\nSHIPPING IS REQUESTED NOT TO ANCHOR NOR TO FISH IN THE VICINITY\nNNNN",
    "clean_text": "ZCZC TA02\n082006 UTC NZV 24\nOOSTENDERADIO MSI 544/24\nOOSTENDE-ZEEBRUGGE\nOBSTACLES ON THE SEABED IN FOLLOWING POS\n5115.938N 00258.482E\n5115.943N 00258.492E\nSHIPPING IS REQUESTED NOT TO ANCHOR NOR TO FISH IN THE VICINITY\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Belgium - Belgian coast and southern North Sea. Readable text reports seabed obstacles and warns against anchoring or fishing nearby.",
    "decoded_highlights": [
      "Obstacles on the seabed in following pos",
      "Shipping is requested not to anchor nor to fish in the vicinity",
      "Oostende-zeebrugge"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 132,
    "heading": "2026-04-05 06:13:54 AREA: T",
    "published_at": "2026-04-05 06:13:54",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_\nQ_WYQTRR UTC MAR 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL S___DWYZ_Y__77_2)\n___1_3,5 3'5-_)8'_3$ 89._+*.\n_ __ 330)9,,:_1_./BBOLIVP__C_LE U\n_\nI_BEXXP_UZ_SS AT A SAFE DISTANCE AND NOT TO ANCHOR NOR FISH IN THE VICINITY\n\nNNNN",
    "clean_text": "ZCZC_\nQ_WYQTRR UTC MAR 26\nOOSTENDERADIO MSI 131/26\nTERRITORIAL S___DWYZ_Y__77_2)\n___1_3,5 3'5-_)8'_3$ 89._+*.\n_ __ 330)9,,:_1_./BBOLIVP__C_LE U\n_\nI_BEXXP_UZ_SS AT A SAFE DISTANCE AND NOT TO ANCHOR NOR FISH IN THE VICINITY\n\nNNNN",
    "resolved_station_name": "Oostende Radio",
    "resolved_country": "Belgium",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Belgian coast and southern North Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "OOSTENDE",
      "OOSTENDERADIO"
    ],
    "display_region_heading": "Belgium - Belgian coast and southern North Sea",
    "display_region_label": "Oostende Radio, Belgium",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "I bexxp uz ss at a safe distance and not to anchor nor fish in the vicinity",
      "Q wyqtrr utc mar 26"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 133,
    "heading": "2026-04-05 06:11:36 AREA: T",
    "published_at": "2026-04-05 06:11:36",
    "area": "T",
    "message_id": "TW2",
    "text": "ZCZC TW2\n52*_OOSTENDJE_SIO MSI VQREXWYV\nTSS_\n__MK__N_MSDJHMFP_ZJ_\nHVIWOWFZLTNG:*,-___*_32___ZC TA13 132/2_\n_AARGEULI18_\nLIGH__ VG5, 51-24.73N 002-56.78E DRIFTING \nSHIPPING IS REQUAS_ED TOM_P_ZYHMJF_DH__MONGHZMZJHP_M_Z_H_CXWONGOII__UU__ZCZC",
    "clean_text": "ZCZC TW2\n52*_OOSTENDJE_SIO MSI VQREXWYV\nTSS_\n__MK__N_MSDJHMFP_ZJ_\nHVIWOWFZLTNG:*,-___*_32___ZC TA13 132/2_\n_AARGEULI18_\nLIGH__ VG5, 51-24.73N 002-56.78E DRIFTING\nSHIPPING IS REQUAS_ED TOM_P_ZYHMJF_DH__MONGHZMZJHP_M_Z_H_CXWONGOII__UU__ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "W",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Ligh vg5, 51-24.73n 002-56.78e drifting. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Ligh vg5, 51-24.73n 002-56.78e drifting",
      "52 oostendje sio msi vqrexwyv"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 134,
    "heading": "2026-04-05 06:10:17 AREA: T",
    "published_at": "2026-04-05 06:10:17",
    "area": "T",
    "message_id": "",
    "text": "ZCZC T_BWU\n031)37:__ 8'_ 8_ -_4-,87_ _, _9=0=M_TER_AR\nO\nYLW__YW_ZM_JFX_NGJD__F_BQMEKXP_U_ THE 8:8,8_6_\nNNNN",
    "clean_text": "ZCZC T_BWU\n031)37:__ 8'_ 8_ -_4-,87_ _, _9=0=M_TER_AR\nO\nYLW__YW_ZM_JFX_NGJD__F_BQMEKXP_U_ THE 8:8,8_6_\nNNNN",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. The received text is too corrupted to decode safely. No reliable plain-language extraction was possible.",
    "decoded_highlights": [],
    "decoded_status": "raw",
    "decoded_status_label": "Low-confidence raw text"
  },
  {
    "index": 137,
    "heading": "2026-04-05 05:41:04 AREA: Q",
    "published_at": "2026-04-05 05:41:04",
    "area": "Q",
    "message_id": "",
    "text": "ZCZC QB8_\n\n0\n_26:__(_!___.5'\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MA_IO_ METEOROLOGICAL CENTER SPLIT ON 05/04/2026 AT 0000 UTC\n\n1. WARNING:\nON S-ERN/CENTRAL AZ_IATIC LOC GUSTJVZ_M__W WIND 34-45 KT, IN _PXY_BON_N_SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVE_E ADRIATIC FM THE W.\n\n =3*94_._*__+_\n+3 ,3/5 24 HOURS VALID UNTIL 06/_4/2026 AT 0000 UTC\n\nN-E_N ADRIATIC:\nNW, ALONG T_Q CZAST NE 4-12 KT, TILL MORNING TO 16_KT_OMGFMHDPM_HPXZZMKT, IN THE  MENING COMPLETELY DECR.\nSEA 1-2, STILLMHM_FYJHMSZXM\nPZO_G_FJ_\n__UM_VB_BO_G_ZJ_SEM_SP_Y_\nCENTRAL ADRIATIC:\nNE, OFFSHOYE_UM\n U_UUMGVH_MGHZ_YWJM_ THE AFTERNOON NW_4-14 KT, JUST LOC TO 18 KT, IN THE EVENING COMPLETELY DECR.\nSEA 2-3, AT FIRST JUST LOC 4, DECR TO 1-2.\nVIS 7_-20 K_B\n MOJTSEM_SP_YLUAZ__D__4__)__0\n=_\n\n_\n_+_'__8_$8_943 ,2 12-22 KT, TOWARDS MORNING DECR TO 6-_9/(_9/(_KT._KT, ON FAR S TO 18\n_=__._+_06_!_$___EB_RAQW KT.\nSEA 2-3, STIOV OVERNI_HHMSZXM\nY_ONH\nJ\n __CK_____OSTLYM_SP_Y_NNN\n\nFH__VVVVVVVVVVVVVM\n_UZ_XOOGN:___.,_FOR GERMAN BIGHT:\nS TO SW 7 TO 8,_-GERMAN BIGHT\nFOLLOWING CONTAICERVESSELS AR_E_IONS AN_ HIGP\nA__A_I_IGHT ABOVE _.0M CONTAINERVESSELS HAKE _O TAKE APPROPRIATE\nMEASURES AND ALTER COURSE IF NECESS_RY TO AVOID COMI_G TNANSVERSE TO\n\nTHE WAVE DIRECTIO_.\n_-5__ _38__5 )+_0.\n6__ONTAI_ERVESF_LJ_H ABOVE 200M\n__ONGYPMYP_Z_UUB_TIVE ROUTVNMFMHJJMPJHM6!=*'(+-_3'534, -0049-:_.\nNNNN",
    "clean_text": "ZCZC QB8_\n\n0\n_26:__(_!___.5'\nSPLIT RADIO\n\nWEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MA_IO_ METEOROLOGICAL CENTER SPLIT ON 05/04/2026 AT 0000 UTC\n\n1. WARNING:\nON S-ERN/CENTRAL AZ_IATIC LOC GUSTJVZ_M__W WIND 34-45 KT, IN _PXY_BON_N_SYNOPSIS:\nRIDGE OF HIGH STRETCHING OVE_E ADRIATIC FM THE W.\n\n=3*94_._*__+_\n+3 ,3/5 24 HOURS VALID UNTIL 06/_4/2026 AT 0000 UTC\n\nN-E_N ADRIATIC:\nNW, ALONG T_Q CZAST NE 4-12 KT, TILL MORNING TO 16_KT_OMGFMHDPM_HPXZZMKT, IN THE MENING COMPLETELY DECR.\nSEA 1-2, STILLMHM_FYJHMSZXM\nPZO_G_FJ_\n__UM_VB_BO_G_ZJ_SEM_SP_Y_\nCENTRAL ADRIATIC:\nNE, OFFSHOYE_UM\nU_UUMGVH_MGHZ_YWJM_ THE AFTERNOON NW_4-14 KT, JUST LOC TO 18 KT, IN THE EVENING COMPLETELY DECR.\nSEA 2-3, AT FIRST JUST LOC 4, DECR TO 1-2.\nVIS 7_-20 K_B\nMOJTSEM_SP_YLUAZ__D__4__)__0\n=_\n\n_\n_+_'__8_$8_943 ,2 12-22 KT, TOWARDS MORNING DECR TO 6-_9/(_9/(_KT._KT, ON FAR S TO 18\n_=__._+_06_!_$___EB_RAQW KT.\nSEA 2-3, STIOV OVERNI_HHMSZXM\nY_ONH\nJ\n__CK_____OSTLYM_SP_Y_NNN\n\nFH__VVVVVVVVVVVVVM\n_UZ_XOOGN:___.,_FOR GERMAN BIGHT:\nS TO SW 7 TO 8,_-GERMAN BIGHT\nFOLLOWING CONTAICERVESSELS AR_E_IONS AN_ HIGP\nA__A_I_IGHT ABOVE _.0M CONTAINERVESSELS HAKE _O TAKE APPROPRIATE\nMEASURES AND ALTER COURSE IF NECESS_RY TO AVOID COMI_G TNANSVERSE TO\n\nTHE WAVE DIRECTIO_.\n_-5__ _38__5 )+_0.\n6__ONTAI_ERVESF_LJ_H ABOVE 200M\n__ONGYPMYP_Z_UUB_TIVE ROUTVNMFMHJJMPJHM6!=*'(+-_3'534, -0049-:_.\nNNNN",
    "resolved_station_name": "Split",
    "resolved_country": "Croatia",
    "resolved_nav_area": "III",
    "resolved_coverage_label": "Adriatic Sea",
    "resolved_match_basis": "station-signature",
    "resolved_match_terms": [
      "SPLIT RADIO"
    ],
    "display_region_heading": "Croatia - Adriatic Sea",
    "display_region_label": "Split, Croatia",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Croatia - Adriatic Sea. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Weather bulletin for adriatic issued by the ma io meteorological center split on 05/04/2026 at 0000 utc",
      "Following contaicervessels ar e ions an higp",
      "On s-ern/central az iatic loc gustjvz m w wind 34-45 kt, in pxy bon n synopsis"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 138,
    "heading": "2026-04-05 05:40:13 AREA: T",
    "published_at": "2026-04-05 05:40:13",
    "area": "T",
    "message_id": "",
    "text": "ZCZN QA05\n0\n24, U_C APR 2\n_SPLIT_ON\nF_HFZSMU_\n_R.: '7/2026\n\nNORTHERN AJNA PORT.,__47-(2-539\nMFM_ H__GPHPYJMYWFCJM_YZBM_TION_LFSPW__ON_NONGONN__ZCZC",
    "clean_text": "ZCZN QA05\n0\n24, U_C APR 2\n_SPLIT_ON\nF_HFZSMU_\n_R.: '7/2026\n\nNORTHERN AJNA PORT.,__47-(2-539\nMFM_ H__GPHPYJMYWFCJM_YZBM_TION_LFSPW__ON_NONGONN__ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Northern ajna port., 47-(2-539. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Northern ajna port., 47-(2-539"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 140,
    "heading": "2026-04-05 05:37:37 AREA: P",
    "published_at": "2026-04-05 05:37:37",
    "area": "P",
    "message_id": "PA23",
    "text": "ZCZC PA23\n260848 UTC MA_ _\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1          53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1         53-30N 006-14E FOGHORN INOPERATIVE\nK6-PC            53-42ARE_NE_OGHORN INOPERATIVE\nK14-_-1       53-11N 003-34E UNLIT\nK7-FA-1         53-36_.\n_8E UNLIT\nCANCEL MSI 93/26\nNNNN",
    "clean_text": "ZCZC PA23\n260848 UTC MA_ _\nMSI 99/26\nNORTH SEA\nFOLLOWING PLATFORMS HAVE DEFECTS:\nL2-FA-1 53-57N 004-29E FOGHORN UNRELIABLE\nN7-FA-1 53-30N 006-14E FOGHORN INOPERATIVE\nK6-PC 53-42ARE_NE_OGHORN INOPERATIVE\nK14-_-1 53-11N 003-34E UNLIT\nK7-FA-1 53-36_.\n_8E UNLIT\nCANCEL MSI 93/26\nNNNN",
    "resolved_station_name": "Netherlands Coastguard Radio",
    "resolved_country": "Netherlands",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Dutch EEZ and southern North Sea",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "NORTH SEA"
    ],
    "display_region_heading": "Netherlands - Dutch EEZ and southern North Sea",
    "display_region_label": "Netherlands Coastguard Radio, Netherlands",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Netherlands - Dutch EEZ and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters.",
    "decoded_highlights": [
      "N7-fa-1 53-30n 006-14e foghorn inoperative",
      "L2-fa-1 53-57n 004-29e foghorn unreliable",
      "K6-pc 53-42are ne oghorn inoperative"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 144,
    "heading": "2026-04-05 05:30:23 AREA: T",
    "published_at": "2026-04-05 05:30:23",
    "area": "T",
    "message_id": "",
    "text": "ZCZXM___NH_ NE\n H_MYM\n__\nFORECAST DUTCH EEZ ISSUED AT 22:42 UTC 040426\nGERMAN BIGHT DOGGER \nSOUTHWEST 9\n\nTHAMES HUMBER \nSOUTHWEST 8\n\n\nSYNOPSIS\nLOW, 974, OVER VIKING IS MOVING EASTWARDS TOWARDS THE GULF \nOF BOTHNIA. ASSOCIATED TROUGHS WILL MOVE EASTWARDS ACROSS \nTHE COASTAL AR_A\n_\n\nFORECAST VALID SUNDAY 03:00 TILL SUNDAY 15:00 UTC\n\nTHAMES \nSOUTHWEST 7-8, SOON DECRPJFM_PJHMHZMJZCHD_PJ_M_HE_FIRST AND LATER RISK OF A SHOWEP\n_O_G_ZZW_MGFM_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\n\nHUMBER \nSOUTHWEST 7-8, SOON DECREASING WEST 6-7, DECREASING 5-6, \nLATER POSSIBLY 7.\nFIRST AND LATER RISK OF A SHOWER.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.0-4.0 METER, DECREASING 2.0-3.0 METER.\n\n\nGERMAN BIGHT \nSOUTHWEST 7-8, FIRST IN THE NORTHERN PART POJJFLSEM_ZMGJZZMON_PPYFM_PJH_MGWP_YPJFM_ECBONG_FYJHMWMSHPYMYFJ_MZ..*$+_06\n_9___++7BH)_3\n_\nWXW__OSSIBLY MODERATE.\nWAVPD_F_DHM\nP__B_MOB_NEBJK_EBU_EKQ394:,_____93__NRZZZEE_IOEEA__KA__BK_KGK__31__-10__9, SOON VEERING WEST, \nDECREASING 6-7.\nFIRST AND LATER RISK OF A SHOWER.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.5-4.5 METER, LATER DECREASING 2.5-3.5 METER.\n\n\nFORECAST VALID SUNDAY 15:00 TILIM_Z_EM_PX_MG_H_ONONHD_PJMON_PJHMHA_QAX_WK_Q_B_KQBHQ_ING WEST TO NORTHWEST, \nLATER DECREASING 3-4.\n/_!6*_.+_9,-) '_9234'9 __++2_._!._60/!_!__!+._+206_0_WAVEHEIGHT 1.5-2.____0_.\n\n\nHUMBER \nWEST TO NORTHWEST 5-6, OCCASIONALLY 7, LATER DECREASING 4-5.\nFIRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 2.0-2.5 METER.\n\n\nGERMAN BIGHT \nWEST TO NORTHWEST 6-7, LATER DECREASING 5-6.\nESPECIALLY FIRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 2.5-3.5 METER.\n\n\nDOGGER \nWEST 6-7_61.)_.7_:5 59 ,945_23'5 5-6.\nFIRST Z__JFZSMJDZ_PY__GOOD, IN PRECIPITATIO_MMZWPYHP_WAVEHEIGHT 2.5-3.5 METER.\n\n\n\n\nNNNN",
    "clean_text": "ZCZXM___NH_ NE\nH_MYM\n__\nFORECAST DUTCH EEZ ISSUED AT 22:42 UTC 040426\nGERMAN BIGHT DOGGER\nSOUTHWEST 9\n\nTHAMES HUMBER\nSOUTHWEST 8\n\nSYNOPSIS\nLOW, 974, OVER VIKING IS MOVING EASTWARDS TOWARDS THE GULF\nOF BOTHNIA. ASSOCIATED TROUGHS WILL MOVE EASTWARDS ACROSS\nTHE COASTAL AR_A\n_\n\nFORECAST VALID SUNDAY 03:00 TILL SUNDAY 15:00 UTC\n\nTHAMES\nSOUTHWEST 7-8, SOON DECRPJFM_PJHMHZMJZCHD_PJ_M_HE_FIRST AND LATER RISK OF A SHOWEP\n_O_G_ZZW_MGFM_YPXF_FHHFZM_ZJJFLSEM_ZWPYHP_WAVEHEIGHT 2.0-3.0 METER, DECREASING 1.5-2.0 METER.\n\nHUMBER\nSOUTHWEST 7-8, SOON DECREASING WEST 6-7, DECREASING 5-6,\nLATER POSSIBLY 7.\nFIRST AND LATER RISK OF A SHOWER.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.0-4.0 METER, DECREASING 2.0-3.0 METER.\n\nGERMAN BIGHT\nSOUTHWEST 7-8, FIRST IN THE NORTHERN PART POJJFLSEM_ZMGJZZMON_PPYFM_PJH_MGWP_YPJFM_ECBONG_FYJHMWMSHPYMYFJ_MZ..*$+_06\n_9___++7BH)_3\n_\nWXW__OSSIBLY MODERATE.\nWAVPD_F_DHM\nP__B_MOB_NEBJK_EBU_EKQ394:,_____93__NRZZZEE_IOEEA__KA__BK_KGK__31__-10__9, SOON VEERING WEST,\nDECREASING 6-7.\nFIRST AND LATER RISK OF A SHOWER.\nGOOD, IN PRECIPITATION POSSIBLY MODERATE.\nWAVEHEIGHT 3.5-4.5 METER, LATER DECREASING 2.5-3.5 METER.\n\nFORECAST VALID SUNDAY 15:00 TILIM_Z_EM_PX_MG_H_ONONHD_PJMON_PJHMHA_QAX_WK_Q_B_KQBHQ_ING WEST TO NORTHWEST,\nLATER DECREASING 3-4.\n/_!6*_.+_9,-) '_9234'9 __++2_._!._60/!_!__!+._+206_0_WAVEHEIGHT 1.5-2.____0_.\n\nHUMBER\nWEST TO NORTHWEST 5-6, OCCASIONALLY 7, LATER DECREASING 4-5.\nFIRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 2.0-3.0 METER, DECREASING 2.0-2.5 METER.\n\nGERMAN BIGHT\nWEST TO NORTHWEST 6-7, LATER DECREASING 5-6.\nESPECIALLY FIRST OCCASIONAL SHOWERS.\nGOOD, IN PRECIPITATION MODERATE.\nWAVEHEIGHT 2.5-3.5 METER.\n\nDOGGER\nWEST 6-7_61.)_.7_:5 59 ,945_23'5 5-6.\nFIRST Z__JFZSMJDZ_PY__GOOD, IN PRECIPITATIO_MMZWPYHP_WAVEHEIGHT 2.5-3.5 METER.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: First and later risk of a shower. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "First and later risk of a shower",
      "Forecast dutch eez issued at 22:42 utc 040426",
      "Forecast valid sunday 03:00 till sunday 15:00 utc"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 145,
    "heading": "2026-04-05 05:26:45 AREA: O",
    "published_at": "2026-04-05 05:26:45",
    "area": "O",
    "message_id": "",
    "text": "ZCZC OA3-\n0'89-'_4734 _9*5589809!8 __5 __.22N___ 0_22EN SHIPS AD TM_SU__Q__2__\n+.99_1\n6__2_0__/1_:8_TIL_ 05/=400 CH_ON_NQJM\nM_''._,_0.*'_.0.2.6!20.+0_YDVTGMBMC_7___4__-__FQONNE F2 TO F3 BEC MAINLY N TO NW. AT FIRST AND T\nWARDSNEND OJ PE_IO_:_.'/.__0__.+8,_\n__0_92 2\n_2_\n,..8\n_\n+:+: 0_42\n042248 KH_MYMNKQ_ALEWARNING, 04.__6.\n7_/67.___/_DOGGER. GERMMLF_DH\n_ONGJZCHD_PJ_M\nZ_ONGDC_LP__THAMES. DOVER.\nSOUTHWEST 8.\n\n\n\nNNNN",
    "clean_text": "ZCZC OA3-\n0'89-'_4734 _9*5589809!8 __5 __.22N___ 0_22EN SHIPS AD TM_SU__Q__2__\n+.99_1\n6__2_0__/1_:8_TIL_ 05/=400 CH_ON_NQJM\nM_''._,_0.*'_.0.2.6!20.+0_YDVTGMBMC_7___4__-__FQONNE F2 TO F3 BEC MAINLY N TO NW. AT FIRST AND T\nWARDSNEND OJ PE_IO_:_.'/.__0__.+8,_\n__0_92 2\n_2_\n,..8\n_\n+:+: 0_42\n042248 KH_MYMNKQ_ALEWARNING, 04.__6.\n7_/67.___/_DOGGER. GERMMLF_DH\n_ONGJZCHD_PJ_M\nZ_ONGDC_LP__THAMES. DOVER.\nSOUTHWEST 8.\n\nNNNN",
    "resolved_station_name": "Oostende (Thames Approaches relay)",
    "resolved_country": "Belgium / United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Thames approaches and Dover approaches",
    "resolved_match_basis": "station-signature-fallback",
    "resolved_match_terms": [
      "THAMES"
    ],
    "display_region_heading": "Belgium / United Kingdom - Thames approaches and Dover approaches",
    "display_region_label": "Oostende (Thames Approaches relay), Belgium / United Kingdom",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: 042248 kh mymnkq alewarning, 04. 6. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "042248 kh mymnkq alewarning, 04. 6",
      "Southwest 8"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 148,
    "heading": "2026-04-05 04:53:43 AREA: L",
    "published_at": "2026-04-05 04:53:43",
    "area": "L",
    "message_id": "LB15",
    "text": "ZCZC LB15\n0_(4_ UTC APR 26\n_,9423_8-, _-)3 2-4,8,_ ,9. GX374/202_\nISSED BY NORWEGIAN METEOROLOGICAL INSTITUTE 4.4.2026 AT 22 UTC\nINNER SKAGERRAK: SW GALE 8 FM SUN 05UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO MON 00UTC\nOUTER SKAGERRAK: SW GALE 8 FM SUN 06UTC TO 09UTC,=9-_*6_.\n _____1.9__.$__$___(/_.$__\n_4: SW GALE 8 FM SAT 23UTC TO SUN 06UTC, W VIOLENT STRM 11 FM SUN 06UTC TO :!5_9_\n!94583'\n:.__._'_._!.__-5 22UTC TO SUN _0_(__W VIOLENT STRM 11 FM SUN 03UTC TO 15UTC\nSOUTH UTSIRE: SE SEV GALE 9 FM SAT 23UTC TO SUN 03UTC AF_VIOLENT STRM 11 FM SUN 05UTC TO 16UTC\nNORTH UTSIRE: SE GALE 8 FM SUN 00UTC TO 06UTC AND W STRM 10 FM SUN 09UTC TO 18UTC\nN\nF___SE GALE 8 FM SAT 22UTC TO SUN 03UTC AND NW VIOLENT STRM 11 FM SUN 05UTC TO 15UTC\nEAST-TAMPEN: NW OCC GALE 8 FM SUN 12UTC TO 18UTC\n\nNNNN",
    "clean_text": "ZCZC LB15\n0_(4_ UTC APR 26\n_,9423_8-, _-)3 2-4,8,_ ,9. GX374/202_\nISSED BY NORWEGIAN METEOROLOGICAL INSTITUTE 4.4.2026 AT 22 UTC\nINNER SKAGERRAK: SW GALE 8 FM SUN 05UTC TO 09UTC, W STRM 10 FM SUN 09UTC TO MON 00UTC\nOUTER SKAGERRAK: SW GALE 8 FM SUN 06UTC TO 09UTC,=9-_*6_.\n_____1.9__.$__$___(/_.$__\n_4: SW GALE 8 FM SAT 23UTC TO SUN 06UTC, W VIOLENT STRM 11 FM SUN 06UTC TO :!5_9_\n!94583'\n:.__._'_._!.__-5 22UTC TO SUN _0_(__W VIOLENT STRM 11 FM SUN 03UTC TO 15UTC\nSOUTH UTSIRE: SE SEV GALE 9 FM SAT 23UTC TO SUN 03UTC AF_VIOLENT STRM 11 FM SUN 05UTC TO 16UTC\nNORTH UTSIRE: SE GALE 8 FM SUN 00UTC TO 06UTC AND W STRM 10 FM SUN 09UTC TO 18UTC\nN\nF___SE GALE 8 FM SAT 22UTC TO SUN 03UTC AND NW VIOLENT STRM 11 FM SUN 05UTC TO 15UTC\nEAST-TAMPEN: NW OCC GALE 8 FM SUN 12UTC TO 18UTC\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": [
      "SKAGERRAK"
    ],
    "display_region_heading": "Norway - South-west Norwegian coast",
    "display_region_label": "Rogaland Radio, Norway",
    "subject_label": "meteorological warning",
    "subject_code": "B",
    "decoded_summary": "meteorological warning for Norway - South-west Norwegian coast. Readable text says: Inner skagerrak: sw gale 8 fm sun 05utc to 09utc, w strm 10 fm sun 09utc to mon 00utc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Inner skagerrak: sw gale 8 fm sun 05utc to 09utc, w strm 10 fm sun 09utc to mon 00utc",
      "Outer skagerrak: sw gale 8 fm sun 06utc to 09utc, 9- 6",
      "4: sw gale 8 fm sat 23utc to sun 06utc, w violent strm 11 fm sun 06utc to :!5 9"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 149,
    "heading": "2026-04-05 04:50:07 AREA: L",
    "published_at": "2026-04-05 04:50:07",
    "area": "L",
    "message_id": "LE16",
    "text": "ZCZC LE16\n042300 UTC APR 26\nWEATHER BULLE_ISSUED BY NORWEGIAN METPZ_OLOGICAL INSTITUTE\n  SYNOPTIC SITUATION TODAY AT _UTC:\nLOW 993 HPA, 73 N 48 E, MOV E, FLN SLWY.\n_OUM__FUMGD__MAM_O__9______+_/8._0_M\nAFPMWD__MEFM_O/9_BQXLOX9_/_HPA, 55 N 08 W, MOV RAPIDLY NE, EXP 980 HPA, 61=__4 E, JCM_TC.\nHIGH 1014 HPA, 78 N 20 E, MOV E, EXP 1076.$_\n._!._)9_(___BQXOX9_/_\n  FORECAST VALID NEXT 24 HOURS:\n  INNER SKAGERRAK\nS_NEAR GS_M_FVVEER W, OCNL SW VIOLENT STRM 11. MOD TO VERY ROUGH, OCNL VERY HIGH. RAIN, MOD, BECMG DRY, GOOD.\n  OUTER SKAGERRAK\nSE NEAR GALE 7, OCNL W VIOLENT STRM 11, BECMG W GALE 8. MOD TO VERY L_CD_M_Z_SM\nPE_BWGEWBEKGOHAUN___OZ_1_EZBESOE__NB9__*_:_____.*_6_.\n _._)0/_.7.06._':__/97___OSPUL_ROUGH. RAIN, MOD.\n  FORTIES\nW VIOLENT STRM 11, DECR TO NEAR GALE 7. VERY ROUGH OR HIGH, OCNL VERY HIGH. RAIN, MOD, BECMG DRY, GOOD.\n  SOUTH UTSIRE\nVRB SEV GALE 9, OCNL W VIOLENT STRM 1 .\n.3:_6=1 !06._'_.\n:___\n063.$!_$._+._063.6_:_$8_._6!_.__+2\n_9,.._+6_$.:_*!609,_6)._'_._!._+_+__.*_6_.\n MGLPX_MUMPYM_SVBNXOONEQBE_XEW_H__JB__RWBEKGB__UN_LBOB___+_ _-)3 8, OCNL NW VIOLENT STRM 11, BECMG W NEAR GALE 7. VERY ROUGH OR HIGH. RAIN, MOD.\n  EAST-TAMPEN\nVRB NEAR GALE 7, BECMG W, OCNL NW GALE 8. VERY ROUGS. \n_8_, MOD.\n\nNNNN",
    "clean_text": "ZCZC LE16\n042300 UTC APR 26\nWEATHER BULLE_ISSUED BY NORWEGIAN METPZ_OLOGICAL INSTITUTE\nSYNOPTIC SITUATION TODAY AT _UTC:\nLOW 993 HPA, 73 N 48 E, MOV E, FLN SLWY.\n_OUM__FUMGD__MAM_O__9______+_/8._0_M\nAFPMWD__MEFM_O/9_BQXLOX9_/_HPA, 55 N 08 W, MOV RAPIDLY NE, EXP 980 HPA, 61=__4 E, JCM_TC.\nHIGH 1014 HPA, 78 N 20 E, MOV E, EXP 1076.$_\n._!._)9_(___BQXOX9_/_\nFORECAST VALID NEXT 24 HOURS:\nINNER SKAGERRAK\nS_NEAR GS_M_FVVEER W, OCNL SW VIOLENT STRM 11. MOD TO VERY ROUGH, OCNL VERY HIGH. RAIN, MOD, BECMG DRY, GOOD.\nOUTER SKAGERRAK\nSE NEAR GALE 7, OCNL W VIOLENT STRM 11, BECMG W GALE 8. MOD TO VERY L_CD_M_Z_SM\nPE_BWGEWBEKGOHAUN___OZ_1_EZBESOE__NB9__*_:_____.*_6_.\n_._)0/_.7.06._':__/97___OSPUL_ROUGH. RAIN, MOD.\nFORTIES\nW VIOLENT STRM 11, DECR TO NEAR GALE 7. VERY ROUGH OR HIGH, OCNL VERY HIGH. RAIN, MOD, BECMG DRY, GOOD.\nSOUTH UTSIRE\nVRB SEV GALE 9, OCNL W VIOLENT STRM 1 .\n.3:_6=1 !06._'_.\n:___\n063.$!_$._+._063.6_:_$8_._6!_.__+2\n_9,.._+6_$.:_*!609,_6)._'_._!._+_+__.*_6_.\nMGLPX_MUMPYM_SVBNXOONEQBE_XEW_H__JB__RWBEKGB__UN_LBOB___+_ _-)3 8, OCNL NW VIOLENT STRM 11, BECMG W NEAR GALE 7. VERY ROUGH OR HIGH. RAIN, MOD.\nEAST-TAMPEN\nVRB NEAR GALE 7, BECMG W, OCNL NW GALE 8. VERY ROUGS.\n_8_, MOD.\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": [
      "SKAGERRAK"
    ],
    "display_region_heading": "Norway - South-west Norwegian coast",
    "display_region_label": "Rogaland Radio, Norway",
    "subject_label": "weather forecast",
    "subject_code": "E",
    "decoded_summary": "weather forecast for Norway - South-west Norwegian coast. Readable text says: Se near gale 7, ocnl w violent strm 11, becmg w gale 8. mod to very l cd m z sm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Se near gale 7, ocnl w violent strm 11, becmg w gale 8. mod to very l cd m z sm",
      "W violent strm 11, decr to near gale 7. very rough or high, ocnl very high. rain, mod, becmg dry, good",
      "Mglpx mumpym svbnxooneqbe xew h jb rwbekgb un lbob -)3 8, ocnl nw violent strm 11, becmg w near gale 7. very rough or high. rain, mod"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 150,
    "heading": "2026-04-05 04:42:57 AREA: K",
    "published_at": "2026-04-05 04:42:57",
    "area": "K",
    "message_id": "KA26",
    "text": "ZCZC KA26\nAVURNAV CHEYLZCYM\nUETUEONGWZ_PYM_MGWJHM_XDPMPJHONGFWJMHZM\nF_HFZM_D_PJONGFJIII_PYMZCHMZ_MJ_Y\nF__M\nMGSF_DHMCSFHONGLZCPPMLJJCYPSSPON\nH__PUBFG_\n__CBF_GPONG\nF_HPMIIK_UFH_M_CHFZONGONNIKKKKKKKKKKKKKKKU_TJ_R__ZCZC",
    "clean_text": "ZCZC KA26\nAVURNAV CHEYLZCYM\nUETUEONGWZ_PYM_MGWJHM_XDPMPJHONGFWJMHZM\nF_HFZM_D_PJONGFJIII_PYMZCHMZ_MJ_Y\nF__M\nMGSF_DHMCSFHONGLZCPPMLJJCYPSSPON\nH__PUBFG_\n__CBF_GPONG\nF_HPMIIK_UFH_M_CHFZONGONNIKKKKKKKKKKKKKKKU_TJ_R__ZCZC",
    "display_region_heading": "Unresolved B1 code K",
    "display_region_label": "B1 code K",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code K. Readable text says: Avurnav cheylzcym. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Avurnav cheylzcym",
      "Uetueongwz pym mgwjhm xdpmpjhongfwjmhzm",
      "Mgsf dhmcsfhonglzcppmljjcypsspon"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 151,
    "heading": "2026-04-05 04:41:45 AREA: K",
    "published_at": "2026-04-05 04:41:45",
    "area": "K",
    "message_id": "KA28",
    "text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nWORKS\nCABLE LAYING OPERATION\nFROM 050000 UTC MAR 26\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLING, DREDGIXG_N ANCHORING ANWMWF_FM_FHDFIIIIFJMYPONGYPMLZCWPWMLE_50-10.84N 001-29.44E\n50-10.44N 001-29.13E\n50-13.61N 001-21.02E\n\nH HBF_G_\n_  ZBY_GP_N\nH _B_G_PQAQWMPWE\n50-19.74N 001-04.77E\n50-20.11N 001-04.93E\n50-19.36N 001-12.46E\n50-15.97N 001-20.08E\n50-13.73N 001-21.92E\nNNNN",
    "clean_text": "ZCZC KA28\nWIGHT - LARGE CAYEUX-SUR-MER\nWORKS\nCABLE LAYING OPERATION\nFROM 050000 UTC MAR 26\nUNTIL FURTHER NOTICE\nNO FISHING, TRAWLING, DREDGIXG_N ANCHORING ANWMWF_FM_FHDFIIIIFJMYPONGYPMLZCWPWMLE_50-10.84N 001-29.44E\n50-10.44N 001-29.13E\n50-13.61N 001-21.02E\n\nH HBF_G_\n_ ZBY_GP_N\nH _B_G_PQAQWMPWE\n50-19.74N 001-04.77E\n50-20.11N 001-04.93E\n50-19.36N 001-12.46E\n50-15.97N 001-20.08E\n50-13.73N 001-21.92E\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": "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 sets local operating restrictions near 50-10.44N 001-29.13E; 50-13.61N 001-21.02E, including anchoring, fishing, or towing limits.",
    "decoded_highlights": [
      "No fishing, trawling, dredgixg n anchoring anwmwf fm fhdfiiiifjmypongypmlzcwpwmle 50-10.84n 001-29.44e",
      "Cable laying operation",
      "Until further notice"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 152,
    "heading": "2026-04-05 04:41:10 AREA: T",
    "published_at": "2026-04-05 04:41:10",
    "area": "T",
    "message_id": "",
    "text": "CZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WITH CAUTION\nNNNN",
    "clean_text": "CZC KA29\nAVURNAV CHERBOURG 029/26\nDOVER - DST MANCHE EST\nAIDS TO NAVIGATION CHANGES\nLIGHT BUOY - LIGHT UNLIT\nBYOY FAIRY SUD\n51-21.20N 002-17.30E\nNAVIGATE WITH CAUTION\nNNNN",
    "resolved_station_name": "Niton (France relay)",
    "resolved_country": "United Kingdom / France",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "Channel Islands and north-east French coast",
    "resolved_match_basis": "station-signature-fallback",
    "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": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault near 51-21.20N 002-17.30E.",
    "decoded_highlights": [
      "Light buoy - light unlit",
      "Avurnav cherbourg 029/26",
      "Dover - dst manche est"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 153,
    "heading": "2026-04-05 04:22:08 AREA: J",
    "published_at": "2026-04-05 04:22:08",
    "area": "J",
    "message_id": "JA42",
    "text": "ZCZC JA42\n07060 _ -04\nPOLISH NAV WARN 070/202_\nSOUTHERN BALTIC_M POTP__RY: \nS-_ CENTERED 54-39.2N 0_-_59E\nAPRIL V_ TO 14:00\n:_!._!6!._6+__\nSX_ M5+:2=:59\n7ZO BA_ZCZM_GA_W_\n V___B_MG_HMM__M\n_GERMAN NAV WARN 193\nWEST_R_LTIC. BIGHT OF MECKLE_BUUG_V AOU\n_M ADU_FMFJHYCBPHJMPJHLSFJDPWMONGWMZYM\nA_SAF__BEIVL ___IQNLB____\n_, ,_\n7\n__3_7\n_777_22ZCB_BKUB____B_K_NECKPPA__CXFLOATING N_V_AWM_YCU_ \n_DXAKUL_L_YC_SFH_M+__.7+*!,. __\nA_ZXZQD_\nT_MVTXO___QEAYB_\n__EZ\n30_ 7:)_2 _,)887(-/-/.____!59**__*9+:+: 0)02\n050108 UTCVA_I_\nWAVE HEIGHT WARNING  300CM TSS TERSCHELLING - __34.-.____5\n8''73$ -5 050100 UTC APR\n\nCONTAINER VESSELAM_FHDMMSP_HD_Z.\n __U_GBMYPMHMYFJ_ONZ_MSZJFM_ZHFPYJMWCYF_O_Y SEA CONDITIONS, \nIN PARTICULAR FROM A WES_-NORTHWEST TO NOLT_UGS_MWFYP_HF__THESE VESSELS SHOULD ALTE_ FOIR_ NECESSARY \nTO AVOID COMING ABEAM TO THE WAVES AND \nTAKE OTHER APPROPRIATE MEASURES TO AVOID LOSING CONTAINERS.\nNNNN",
    "clean_text": "ZCZC JA42\n07060 _ -04\nPOLISH NAV WARN 070/202_\nSOUTHERN BALTIC_M POTP__RY:\nS-_ CENTERED 54-39.2N 0_-_59E\nAPRIL V_ TO 14:00\n:_!._!6!._6+__\nSX_ M5+:2=:59\n7ZO BA_ZCZM_GA_W_\nV___B_MG_HMM__M\n_GERMAN NAV WARN 193\nWEST_R_LTIC. BIGHT OF MECKLE_BUUG_V AOU\n_M ADU_FMFJHYCBPHJMPJHLSFJDPWMONGWMZYM\nA_SAF__BEIVL ___IQNLB____\n_, ,_\n7\n__3_7\n_777_22ZCB_BKUB____B_K_NECKPPA__CXFLOATING N_V_AWM_YCU_\n_DXAKUL_L_YC_SFH_M+__.7+*!,. __\nA_ZXZQD_\nT_MVTXO___QEAYB_\n__EZ\n30_ 7:)_2 _,)887(-/-/.____!59**__*9+:+: 0)02\n050108 UTCVA_I_\nWAVE HEIGHT WARNING 300CM TSS TERSCHELLING - __34.-.____5\n8''73$ -5 050100 UTC APR\n\nCONTAINER VESSELAM_FHDMMSP_HD_Z.\n__U_GBMYPMHMYFJ_ONZ_MSZJFM_ZHFPYJMWCYF_O_Y SEA CONDITIONS,\nIN PARTICULAR FROM A WES_-NORTHWEST TO NOLT_UGS_MWFYP_HF__THESE VESSELS SHOULD ALTE_ FOIR_ NECESSARY\nTO AVOID COMING ABEAM TO THE WAVES AND\nTAKE OTHER APPROPRIATE MEASURES TO AVOID LOSING CONTAINERS.\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: Wave height warning 300cm tss terschelling - 34.-. 5. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Wave height warning 300cm tss terschelling - 34.-. 5",
      "In particular from a wes -northwest to nolt ugs mwfyp hf these vessels should alte foir necessary",
      "Take other appropriate measures to avoid losing containers"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 154,
    "heading": "2026-04-05 04:18:43 AREA: T",
    "published_at": "2026-04-05 04:18:43",
    "area": "T",
    "message_id": "",
    "text": "ICZCZRED BUOY.__(.2__\nZERTHIOF__ B_AJZ_ PB_JF5 MMSI: 31100186_ \nIN AREA BOUNDR_ BY PSN:\n55_.66E  55-28.37N 017-04_15E \n__9/.(_/.3_BB_MUEF_017-12.8_PVON_HH_N 017-23.97E  _577= __/.__: 7!_7LF_ZD_XMHLB/_:__94$_+__2$:_()/___2N 017-22.80E  _TTAEWMIIN 21____BZ_$$:,_4_)9/.:___ 43173'53$ -5 )3-'5 1.0 ___M\nN_NN\n\nQJP_ZCZC",
    "clean_text": "ICZCZRED BUOY.__(.2__\nZERTHIOF__ B_AJZ_ PB_JF5 MMSI: 31100186_\nIN AREA BOUNDR_ BY PSN:\n55_.66E 55-28.37N 017-04_15E\n__9/.(_/.3_BB_MUEF_017-12.8_PVON_HH_N 017-23.97E _577= __/.__: 7!_7LF_ZD_XMHLB/_:__94$_+__2$:_()/___2N 017-22.80E _TTAEWMIIN 21____BZ_$$:,_4_)9/.:___ 43173'53$ -5 )3-'5 1.0 ___M\nN_NN\n\nQJP_ZCZC",
    "display_region_heading": "Unresolved B1 code T",
    "display_region_label": "B1 code T",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code T. Readable text says: Iczczred buoy. (.2. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Iczczred buoy. (.2",
      "In area boundr by psn"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 155,
    "heading": "2026-04-05 04:10:50 AREA: G",
    "published_at": "2026-04-05 04:10:50",
    "area": "G",
    "message_id": "GA82",
    "text": "ZCZC GA82\nWZ 143/26 \nVIKING. \nBERYL OIL FIELD. \nBERYL SPM3 BCZ_OAEQMUN 001-33.5E TEMPORARILY REMOVED. \nNNNN",
    "clean_text": "ZCZC GA82\nWZ 143/26\nVIKING.\nBERYL OIL FIELD.\nBERYL SPM3 BCZ_OAEQMUN 001-33.5E TEMPORARILY REMOVED.\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: Beryl spm3 bcz oaeqmun 001-33.5e temporarily removed.",
    "decoded_highlights": [
      "Beryl spm3 bcz oaeqmun 001-33.5e temporarily removed",
      "Beryl oil field"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 156,
    "heading": "2026-04-05 04:10:20 AREA: G",
    "published_at": "2026-04-05 04:10:20",
    "area": "G",
    "message_id": "GA89",
    "text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, _OG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\nNNNN",
    "clean_text": "ZCZC GA89\nWZ 161/26\nCROMARTY.\nHYWIND FLOATING WIND FARM.\n1. TURBINE HS2, 57-29.4N 001-21.1W, _OG SIGNAL INOPERATIVE.\n2. CANCEL WZ 39/26 (GA12).\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": [
      "CROMARTY"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. turbine hs2, 57-29.4n 001-21.1w, og signal inoperative.",
    "decoded_highlights": [
      "1. turbine hs2, 57-29.4n 001-21.1w, og signal inoperative",
      "Cromarty",
      "Hywind floating wind farm"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 157,
    "heading": "2026-04-05 04:09:57 AREA: T",
    "published_at": "2026-04-05 04:09:57",
    "area": "T",
    "message_id": "",
    "text": "ZCZC_Z96\nWZ 171/26 \nHUMBER. \nDUDGEON WIND FARM. \n_WW_PZMJZCHDMLCZEM_HP __HG_M\n_ UHI_IKBEGPMCSFH_\nNNNN",
    "clean_text": "ZCZC_Z96\nWZ 171/26\nHUMBER.\nDUDGEON WIND FARM.\n_WW_PZMJZCHDMLCZEM_HP __HG_M\n_ UHI_IKBEGPMCSFH_\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: Dudgeon wind farm. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Dudgeon wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 158,
    "heading": "2026-04-05 04:08:47 AREA: C",
    "published_at": "2026-04-05 04:08:47",
    "area": "C",
    "message_id": "",
    "text": "ZCZC CTI__\nYZVRXWY\nHUMBER.\nORWELL G_S FIELD NORTHWESTWARDS.\n1. MET MA_TV_L_U\n__VL___88((U_A_NBXJ__(7_(_-=-8$' 8,9034-58=3.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "clean_text": "ZCZC CTI__\nYZVRXWY\nHUMBER.\nORWELL G_S FIELD NORTHWESTWARDS.\n1. MET MA_TV_L_U\n__VL___88((U_A_NBXJ__(7_(_-=-8$' 8,9034-58=3.\n2. CANCEL WZ 82/26 (GA42).\nNNNN",
    "display_region_heading": "Unresolved B1 code C",
    "display_region_label": "B1 code C",
    "subject_label": "operational notice",
    "subject_code": "",
    "decoded_summary": "operational notice for Unresolved B1 code C. Readable text says: Orwell g s field northwestwards. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Orwell g s field northwestwards",
      "2. cancel wz 82/26 (ga42)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 159,
    "heading": "2026-04-05 04:07:28 AREA: G",
    "published_at": "2026-04-05 04:07:28",
    "area": "G",
    "message_id": "GA83",
    "text": "ZCZC GA83\nWZ 215/26 \nGMDSS. \nMRCC DOVER. \nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001_24.5E OFF AIR. \nNNNN",
    "clean_text": "ZCZC GA83\nWZ 215/26\nGMDSS.\nMRCC DOVER.\nMF R/T SERVICE FROM BAWDSEY SITE 51-59.6N 001_24.5E OFF AIR.\nNNNN",
    "display_region_heading": "Unresolved B1 code 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": [
      "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": 160,
    "heading": "2026-04-05 04:07:01 AREA: G",
    "published_at": "2026-04-05 04:07:01",
    "area": "G",
    "message_id": "GA94",
    "text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N 001-23.6_MCSFHMWM+_.*!_'.!+_06_!_09,_9,,8887ZCZC",
    "clean_text": "ZCZC GA94\nWZ 220/26\nTYNE.\nBLYTH OFFSHORE DEMONSTRATOR WIND FARM.\nTURBINE B10 55-06.8N 001-23.6_MCSFHMWM+_.*!_'.!+_06_!_09,_9,,8887ZCZC",
    "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 says: Turbine b10 55-06.8n 001-23.6 mcsfhmwm . ! '.! 06 ! 09, 9,,8887zczc. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "Turbine b10 55-06.8n 001-23.6 mcsfhmwm . ! '.! 06 ! 09, 9,,8887zczc",
      "Blyth offshore demonstrator wind farm"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  },
  {
    "index": 161,
    "heading": "2026-04-05 04:06:29 AREA: G",
    "published_at": "2026-04-05 04:06:29",
    "area": "G",
    "message_id": "GA02",
    "text": "ZCZC GA02\nWZ 223/26\nHUMBER. \nLEMAN GAS FIELD. \n1. PLATFORM 49/27-ED 53-03.6N 002-1_3E, UNLIT AND ALL NAVAIDS INOPERATIVE. \n2. CANCPSM_AM\n TUEMVGRNDCJ__HZFFF_ZCZC",
    "clean_text": "ZCZC GA02\nWZ 223/26\nHUMBER.\nLEMAN GAS FIELD.\n1. PLATFORM 49/27-ED 53-03.6N 002-1_3E, UNLIT AND ALL NAVAIDS INOPERATIVE.\n2. CANCPSM_AM\nTUEMVGRNDCJ__HZFFF_ZCZC",
    "resolved_station_name": "Cullercoats",
    "resolved_country": "United Kingdom",
    "resolved_nav_area": "I",
    "resolved_coverage_label": "North Sea and north-east UK coast",
    "resolved_match_basis": "regional-context",
    "resolved_match_terms": [
      "HUMBER"
    ],
    "display_region_heading": "United Kingdom - North Sea and north-east UK coast",
    "display_region_label": "Cullercoats, United Kingdom",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text says: 1. platform 49/27-ed 53-03.6n 002-1 3e, unlit and all navaids inoperative.",
    "decoded_highlights": [
      "1. platform 49/27-ed 53-03.6n 002-1 3e, unlit and all navaids inoperative",
      "Leman gas field",
      "2. cancpsm am"
    ],
    "decoded_status": "decoded",
    "decoded_status_label": "Decoded"
  },
  {
    "index": 162,
    "heading": "2026-04-05 04:05:58 AREA: G",
    "published_at": "2026-04-05 04:05:58",
    "area": "G",
    "message_id": "GA04",
    "text": "ZCZC GA04\nWZ 225/26\nGMDSS.\n__6_/.*$0_'2_1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "clean_text": "ZCZC GA04\nWZ 225/26\nGMDSS.\n__6_/.*$0_'2_1. MF R/T AND DSC SERVICES FROM GREGNESS SITE 57-07.7N 002-03.2W OFF AIR.\n2. CANCEL WZ 213/26 (GA80).\nNNNN",
    "display_region_heading": "Unresolved B1 code G",
    "display_region_label": "B1 code G",
    "subject_label": "navigational warning",
    "subject_code": "A",
    "decoded_summary": "navigational warning for Unresolved B1 code G. This is a weather bulletin; readable sections mention ice across the covered waters. Decoding is partial rather than complete.",
    "decoded_highlights": [
      "6 /. $0 '2 1. mf r/t and dsc services from gregness site 57-07.7n 002-03.2w off air",
      "2. cancel wz 213/26 (ga80)"
    ],
    "decoded_status": "partial",
    "decoded_status_label": "Partially decoded"
  }
]