From 3bfa0c459e3c0b5bfa962b7dbb0227db5a8ba09f Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Sat, 22 Aug 2026 12:58:15 +0200 Subject: test(ef): the LMS Ordo as a sixth validation layer An independent lineage -- neither Divinum Officium, missalemeum nor lectio -- covering the Mass formulary and the Creed. Characterised before use, per the discipline the extraordinaryform.org Ordo's blanket St Lawrence vigil gap taught this session: five opposite- prediction Creed probes (Sunday/feria, octave-override vs plain II-class, I-class) all confirmed against the raw extracted text before a single divergence was adjudicated, recorded in the fixture's own provenance header. tools/extract_lms_ordo.ml hand-parses pdftotext -layout output (no Str/regex, frozen deps) into test/fixtures/lms-ordo-2024-2025.sexp, 400 day-rows (2024-11-27..2025-12-31). Gl/Cr print per Mass-option, not per day; the extractor takes the first pair in reading order, which the source's own layout guarantees is the universal entry's, since a diocesan variant always follows it, never precedes it. The Ordo's I-V roman numeral ("Missae de sancta Maria in sabbato", RG 309(a)) is matched whole-line only, never by substring -- "V Mass of BVM" is a substring of "IV Mass of BVM". test/test_lms_ordo.ml compares two axes 1:1 by date: - the Creed (RG 475-476): 399 of 400 days comparable (Good Friday has no Mass at all, asserted as the only such day); one genuine divergence, adjudicated to the ORDO, not colitur -- All Souls' Day 2025-11-03 is a Requiem Mass, and colitur's own creed predicate has no notion of one, a pre-existing scope gap rubrics_ef.ml already documented in its own header before this task existed. - the BVM-Saturday seasonal Mass selection, the addendum's own "sharper check": all 14 Votive days in the window match their season's own numeral exactly, both directions, independently re-derived from RG 309(a) rather than calling colitur's private function. - the formulary override, for the three sources it can honestly discriminate (Proper 179, Preceding_sunday 66, Common 2, all clean); Own_slug (139) is excluded with evidence, not silently -- several ferial slugs carry citations byte-identical to their Sunday's own, so the Ordo's override line cannot distinguish the two representations. data/ef/expected-divergences-lms.sexp carries the one adjudicated entry (L1), cited to RG 476(f). Mutation-tested: inverting RG 475(a)'s Sunday clause reddens 10 existing Rubrics_ef unit tests AND this new layer's own comparator, independently, on a data source none of the other five layers touch. Reverted after confirming. No lib/ changes. day/readings/rubrics output re-confirmed byte- identical (1583, 2026, 2038, 9999) after this task; all three gates green (dune test, exhaustive sweep, make check). --- tools/extract_lms_ordo.ml | 422 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 422 insertions(+) create mode 100644 tools/extract_lms_ordo.ml (limited to 'tools/extract_lms_ordo.ml') diff --git a/tools/extract_lms_ordo.ml b/tools/extract_lms_ordo.ml new file mode 100644 index 0000000..b7c97fd --- /dev/null +++ b/tools/extract_lms_ordo.ml @@ -0,0 +1,422 @@ +(* Task 6 (2026-08-21-colitur-celebrant-rubrics-phase1): turns pdftotext's + -layout dump of the Latin Mass Society's printed Ordo into + test/fixtures/lms-ordo-2024-2025.sexp, one row per UNIVERSAL-calendar + day (England & Wales diocesan variants are recorded as PRESENT via + [has_diocesan_variant] but their own text is discarded -- see the + fixture's own provenance header, and task-6-report.md's "how much of + the Ordo's year is comparable" accounting, for why). + + NOT a general Ordo parser: hand-rolled against ONE PDF's own column + layout (Author "Peter Day-Milne", Producer "LibreOffice 7.4", pdftotext + 1.6), verified line-by-line against the source before being trusted -- + see task-6-report.md for the full characterisation record (the + opposite-prediction probe technique CLAUDE.md's "burned twice" note + demands). Frozen deps forbid Str/regex; every match below is + String.sub/index/split_on_char, the same discipline tools/ + bootstrap_sanctoral.ml's own hand-rolled INI reader already uses for + someone else's format. + + THE KEY STRUCTURAL FACT this parser leans on, established during + characterisation: every day's UNIVERSAL entry (the General Roman + Calendar's own text) appears FIRST in reading order, before any + diocesan variant block (which is introduced by a line ending in ':', + e.g. "Westminster, Clifton, Plymouth:" or "In all Dioceses of ENGLAND + and WALES ... follows:"). So the FIRST "Gl"/"Cr" token pair and the + FIRST "Mass of ..."/roman-numeral-BVM line found within a day's block + are ALWAYS the universal entry's own, even if the colon-boundary + detection below is imperfect -- diocesan text can only ever appear + AFTER, never before, so it cannot introduce a false FIRST match. This + is why [scan_block] restricts its search to lines before the first + colon-terminated line (belt), while the ordering argument above is the + suspenders. + + Usage: + pdftotext -layout docs/research/ordo/lms-ordo-2024-2025.pdf /tmp/lms.txt + dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ + docs/research/ordo/lms-ordo-2024-2025.pdf \ + test/fixtures/lms-ordo-2024-2025.sexp *) + +open Sexplib0.Sexp_conv +module Date = Colitur_kernel.Date + +let die fmt = Printf.ksprintf (fun s -> prerr_endline ("extract_lms_ordo: " ^ s); exit 1) fmt + +(* Mirrored, not shared, by test/test_lms_ordo.ml -- tools/ and test/ have + no common .mli either could hang a shared type from, the same reasoning + test_oracle.ml's own header gives for duplicating [sha256_of_file]. *) +type row = { + date : string; (** ISO-8601 *) + weekday : string; + (** As printed ("Sat", "Sun", ...) -- cross-checked below against + [date]'s own computed weekday at extraction time (fatal on + mismatch: the whole point of carrying both is to catch a date- + resolution bug here, not paper over one). *) + title : string; (** the day's own title line: feast name, class, colour, votive codes *) + formulary_override : string option; + (** the literal "Mass of ..." text, when the universal block names + one; [None] = the day says its own Mass. *) + bvm_numeral : string option; + (** "I".."V" when [formulary_override] is one of the five anchored + " Mass of BVM" lines (whole-line match, never a substring -- + see the module header on why "V Mass of BVM" must never be + matched as a substring of "IV Mass of BVM"). *) + gloria : bool option; (** [None] only if genuinely not found -- reported, not silently dropped *) + creed : bool option; + has_diocesan_variant : bool; + (** whether a diocese-specific block followed the universal one + anywhere in this day's raw text (informational only -- see the + module header on why correctness of the other fields does not + depend on this being exact). *) +} +[@@deriving sexp] + +(* --- tiny hand-rolled helpers, no Str/regex ------------------------------ *) + +let split_ws s = + String.split_on_char ' ' (String.map (fun c -> if c = '\t' then ' ' else c) s) + |> List.filter (fun t -> t <> "") + +let is_all_digits s = s <> "" && String.for_all (fun c -> c >= '0' && c <= '9') s + +let has_prefix ~prefix s = + String.length s >= String.length prefix && String.sub s 0 (String.length prefix) = prefix + +let ends_with_colon s = s <> "" && s.[String.length s - 1] = ':' + +let months = + [| "January"; "February"; "March"; "April"; "May"; "June"; "July"; "August"; "September"; "October"; + "November"; "December" |] + +let month_index name = + let rec go i = if i >= Array.length months then None else if months.(i) = name then Some (i + 1) else go (i + 1) in + go 0 + +let weekday_of_abbrev = function + | "Sun" -> Some Date.Sun + | "Mon" -> Some Date.Mon + | "Tue" -> Some Date.Tue + | "Wed" -> Some Date.Wed + | "Thu" -> Some Date.Thu + | "Fri" -> Some Date.Fri + | "Sat" -> Some Date.Sat + | _ -> None + +(* Left-column codes (Abbreviations, "Left column": "+EW"/"+"/"Pl"/"Ind") -- + printed in a dedicated margin column that pdftotext -layout reproduces + as literal leading tokens on an otherwise-ordinary content line. Strip + ALL that appear (there can be two, "Pl Ind" together -- the 31 Dec/ + 1 Jan examples in the source). *) +let strip_left_column tokens = + let is_marker = function "Pl" | "Ind" | "+EW" | "+" -> true | _ -> false in + let rec go = function t :: rest when is_marker t -> go rest | ts -> ts in + go tokens + +let bvm_numeral_strings = [ ("I", "I Mass of BVM"); ("II", "II Mass of BVM"); ("III", "III Mass of BVM"); + ("IV", "IV Mass of BVM"); ("V", "V Mass of BVM") ] + +(* Anchored WHOLE-LINE match against all five, never a substring test -- + this is the exact discipline the coordinator addendum records: "V Mass + of BVM" is a substring of "IV Mass of BVM", so any check here MUST + compare the full line, not search for the numeral's own string inside + it. *) +let bvm_numeral_of_line line = List.assoc_opt line (List.map (fun (n, s) -> (s, n)) bvm_numeral_strings) + +(* --- the day-block scanner ------------------------------------------------ *) + +(* [lines]: this day's own raw continuation lines, marker-stripped and + trimmed, title line NOT included (the title never carries Gl/Cr/"Mass + of" itself in this source). Returns (formulary_override, bvm_numeral, + gloria, creed, has_diocesan_variant), each derived from the portion + BEFORE the first colon-terminated (diocesan) line -- see the module + header for why this is belt-and-suspenders, not load-bearing on its + own. *) +let scan_block lines = + let rec universal_prefix = function + | [] -> [] + | l :: _ when ends_with_colon l -> [] + | l :: rest -> l :: universal_prefix rest + in + let has_diocesan = List.exists ends_with_colon lines in + let universal = universal_prefix lines in + let formulary_override, bvm_numeral = + let rec find = function + | [] -> (None, None) + | l :: rest -> ( + match bvm_numeral_of_line l with + | Some n -> (Some l, Some n) + | None -> if has_prefix ~prefix:"Mass of " l then (Some l, None) else find rest) + in + find universal + in + let all_tokens = List.concat_map split_ws universal in + let rec find_flag word = function + | prev :: (cur :: _ as rest) -> if cur = word then Some (prev <> "No") else find_flag word rest + | [ cur ] -> if cur = word then Some true else None + | [] -> None + in + (* [find_flag] needs a sentinel predecessor for a match at position 0 + (never observed in this source -- Gl/Cr always follow at least "No" + or a preceding word on the same "Gl Cr Pr of ..." line -- but handled + rather than assumed: a bare leading "Gl"/"Cr" with no "No" before it + reads as [true], the same as any other non-"No" predecessor would). *) + let gloria = find_flag "Gl" ("" :: all_tokens) in + let creed = find_flag "Cr" ("" :: all_tokens) in + (formulary_override, bvm_numeral, gloria, creed, has_diocesan) + +(* --- the top-level line scan --------------------------------------------- *) + +type block = { b_weekday : string; b_day : int; b_month : int; b_year : int; b_title : string; b_lines : string list } + +let start_sentinel = [ "End"; "of"; "November"; "2024" ] + +let is_stop_tail_line tokens = + match tokens with tok :: _ -> String.length tok = 4 && is_all_digits tok | [] -> false + +let is_month_header tokens = + match tokens with + | m :: rest when month_index m <> None -> List.for_all is_all_digits rest + | _ -> false + +let read_lines path = + let ic = open_in path in + let rec loop acc = match input_line ic with l -> loop (l :: acc) | exception End_of_file -> List.rev acc in + let ls = loop [] in + close_in ic; + ls + +let () = + if Array.length Sys.argv <> 4 then + die "usage: extract_lms_ordo "; + let txt_path = Sys.argv.(1) in + let pdf_path = Sys.argv.(2) in + let dest = Sys.argv.(3) in + let all_lines = read_lines txt_path in + let arr = Array.of_list all_lines in + let n = Array.length arr in + let trimmed i = String.trim arr.(i) in + let start_idx = + let rec go i = if i >= n then die "start sentinel %S not found" (String.concat " " start_sentinel) + else if split_ws (trimmed i) = start_sentinel then i else go (i + 1) + in + go 0 + in + let stop_idx = + let rec go i = + if i >= n then n else if is_stop_tail_line (split_ws (trimmed i)) then i else go (i + 1) + in + go (start_idx + 1) + in + Printf.printf "extract_lms_ordo: Ordo body lines %d..%d (of %d total)\n" start_idx stop_idx n; + (* --- the scan: month/year tracker + block accumulator ------------------ *) + let cur_month = ref 11 and cur_year = ref 2024 in + let blocks = ref [] in + let cur = ref None in + let flush () = match !cur with Some b -> blocks := b :: !blocks; cur := None | None -> () in + for i = start_idx + 1 to stop_idx - 1 do + let raw = trimmed i in + if raw = "" then () + else if String.length raw >= 1 && (let rec contains s sub = + let ls = String.length s and lu = String.length sub in + if lu = 0 then true else if ls < lu then false + else if String.sub s 0 lu = sub then true + else contains (String.sub s 1 (ls - 1)) sub + in + contains raw "Latin Mass Society Ordo") + then () (* page footer *) + else + let toks = split_ws raw in + if is_month_header toks then begin + match toks with + | m :: rest -> ( + match month_index m with + | Some mi -> + if mi <> !cur_month then begin + if mi < !cur_month then incr cur_year; + cur_month := mi + end; + (* an explicit 4-digit year token, when present, overrides + the transition inference outright -- belt and + suspenders, same reasoning as [scan_block] above *) + List.iter (fun t -> if String.length t = 4 && is_all_digits t then cur_year := int_of_string t) rest + | None -> ()) + | [] -> () + end + else + match toks with + | wd :: dn :: _ when weekday_of_abbrev wd <> None && is_all_digits dn && int_of_string dn >= 1 + && int_of_string dn <= 31 -> + flush (); + let title = String.concat " " (List.tl (List.tl toks)) in + cur := Some { b_weekday = wd; b_day = int_of_string dn; b_month = !cur_month; b_year = !cur_year; + b_title = title; b_lines = [] } + | _ -> ( + match !cur with + | None -> () + | Some b -> + let stripped = strip_left_column toks in + if stripped = [] then () + else cur := Some { b with b_lines = b.b_lines @ [ String.concat " " stripped ] }) + done; + flush (); + let blocks = List.rev !blocks in + Printf.printf "extract_lms_ordo: %d day-blocks parsed\n" (List.length blocks); + let rows = + List.map + (fun b -> + let date = + match Date.make ~year:b.b_year ~month:b.b_month ~day:b.b_day with + | Ok d -> d + | Error e -> die "%s %d/%d/%d: %s" b.b_weekday b.b_year b.b_month b.b_day e + in + (match weekday_of_abbrev b.b_weekday with + | Some w when w = Date.weekday date -> () + | Some _ -> + die "%s: printed weekday %S does not match computed weekday %S -- date resolution bug" + (Date.to_iso8601 date) b.b_weekday (Date.weekday_to_string (Date.weekday date)) + | None -> die "%s: unrecognised weekday abbreviation %S" (Date.to_iso8601 date) b.b_weekday); + let formulary_override, bvm_numeral, gloria, creed, has_diocesan_variant = scan_block b.b_lines in + { date = Date.to_iso8601 date; weekday = b.b_weekday; title = b.b_title; formulary_override; bvm_numeral; + gloria; creed; has_diocesan_variant }) + blocks + in + let missing_gloria = List.filter (fun r -> r.gloria = None) rows in + let missing_creed = List.filter (fun r -> r.creed = None) rows in + if missing_gloria <> [] then + Printf.printf "extract_lms_ordo: WARNING %d rows with no Gloria found: %s\n" (List.length missing_gloria) + (String.concat ", " (List.map (fun r -> r.date) missing_gloria)); + if missing_creed <> [] then + Printf.printf "extract_lms_ordo: WARNING %d rows with no Creed found: %s\n" (List.length missing_creed) + (String.concat ", " (List.map (fun r -> r.date) missing_creed)); + let with_variant = List.length (List.filter (fun r -> r.has_diocesan_variant) rows) in + let with_override = List.length (List.filter (fun r -> r.formulary_override <> None) rows) in + let with_bvm = List.length (List.filter (fun r -> r.bvm_numeral <> None) rows) in + Printf.printf "extract_lms_ordo: %d rows; %d with a diocesan variant present; %d with a formulary override; \ + %d with a BVM roman numeral\n" + (List.length rows) with_variant with_override with_bvm; + (* --- provenance header + write ----------------------------------------- *) + let sha256_of_file path = + let cmd = Printf.sprintf "sha256sum %s" (Filename.quote path) in + let ic = Unix.open_process_in cmd in + let line = try input_line ic with End_of_file -> die "sha256sum produced no output for %s" path in + (match Unix.close_process_in ic with Unix.WEXITED 0 -> () | _ -> die "sha256sum failed for %s" path); + match String.index_opt line ' ' with Some i -> String.sub line 0 i | None -> die "unexpected sha256sum output: %S" line + in + let today () = + let tm = Unix.gmtime (Unix.time ()) in + Printf.sprintf "%04d-%02d-%02d" (tm.Unix.tm_year + 1900) (tm.Unix.tm_mon + 1) tm.Unix.tm_mday + in + let pdf_sha = sha256_of_file pdf_path in + let header = + Printf.sprintf + {|; test/fixtures/lms-ordo-2024-2025.sexp -- Task 6 (2026-08-21-colitur- +; celebrant-rubrics-phase1)'s sixth validation layer: the Latin Mass +; Society's own printed Ordo, an England & Wales diocesan Ordo -- a +; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) +; and of the electronic LT.txt transcription (layers 1-2/5): a physically +; printed, professionally-compiled liturgical calendar with its own ISBN. +; +; Generator: tools/extract_lms_ordo.ml -- do not hand-edit; re-run against +; a fresh pdftotext dump and commit the diff instead. +; +; Source: "The Ordo 2024-2025", compiled by Peter Day-Milne, The Latin +; Mass Society, 9 Mallow Street, London EC1Y 8RQ (title page and +; colophon, verified directly against the PDF's own extracted text -- +; ISBN 9781739209636, Copyright (c) The Latin Mass Society, UK 2024). +; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 7.4", +; CreationDate 2024-11-06, 140 pages. +; URL (identified 2026-08-22 via web search matching the PDF's own +; version number and filename to the publisher's own hosting path; +; NOT independently re-downloaded and byte-compared in this session -- +; recorded honestly rather than presented as verified): +; https://lms.org.uk/sites/default/files/u5374/ordo_2.21_2024-2025.pdf +; (product page: https://lms.org.uk/product/latin-mass-society-ordo-2024-25) +; The local PDF (docs/research/ordo/lms-ordo-2024-2025.pdf) is gitignored +; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this +; fixture's only record of where it came from. +; SHA-256 of docs/research/ordo/lms-ordo-2024-2025.pdf: %s +; Extracted (UTC): %s +; Exact commands: +; pdftotext -layout docs/research/ordo/lms-ordo-2024-2025.pdf /tmp/lms.txt +; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ +; docs/research/ordo/lms-ordo-2024-2025.pdf test/fixtures/lms-ordo-2024-2025.sexp +; +; COVERAGE: %d day-rows, %s through %s (2024-11-27, "End of November 2024", +; through the day before a malformed trailing entry the extractor +; deliberately stops before -- see CHARACTERISATION below). +; +; CHARACTERISATION FINDINGS (Step 1, non-negotiable per the task brief -- +; the extraordinaryform.org Ordo silently omitted St Lawrence's vigil on +; EVERY date it covered, which nearly produced a false corroboration +; during the RG 33 work; this Ordo was probed with the same discipline +; before a single divergence was adjudicated): +; +; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed: this PDF +; alone -- not the multi-year corpus the task brief's own grep count +; was measured against -- carries many more Gl/Cr pairs than day-rows, +; because every diocesan variant repeats its own "Gl ... Cr ... Pr of +; ..." line). This extractor resolves the day's OWN office by taking +; the FIRST Gl/Cr pair in reading order, which the source's own layout +; guarantees is the universal entry's (diocesan variants are always +; introduced by a colon-terminated diocese-list line that comes AFTER +; the universal block, never before -- checked structurally, not +; assumed, in every sampled block during development). +; +; 2. OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.creed (RG +; 475-476), checked BEFORE trusting a single row of this fixture -- +; the technique CLAUDE.md records as the one that catches a source +; silently omitting the very thing it is meant to witness: +; 2024-12-01 (Advent Sunday, RG 475(a)) -- Ordo "No Gl Cr" -> TRUE +; 2024-12-02 (ordinary Advent feria) -- Ordo "Gl No Cr" -> FALSE +; 2024-12-26 (St Stephen, II class, but inside the Nativity octave, +; RG 475(d)) -- Ordo "Gl Cr" -> TRUE +; 2025-08-15 (the Assumption, I class, RG 475(b)) +; -- Ordo "Gl Cr" -> TRUE +; 2025-08-16 (St Joachim, II class, no Lord/BVM/apostle clause +; applies, RG 476(b)) -- Ordo "Gl No Cr" -> FALSE +; All five predictions confirmed, both directions (TRUE and FALSE each +; independently witnessed, including the Stephen/Joachim pair, which +; are BOTH II-class non-Sunday saints and differ ONLY on the octave +; question) -- this source is discriminating, not a constant, on the +; Creed. See task-6-report.md for the full record. +; +; 3. The BVM-Saturday roman numeral (I-V, "Missae de sancta Maria in +; sabbato", RG 309(a)) is anchored by WHOLE-LINE match against the five +; literal strings below, NEVER by substring search: "V Mass of BVM" is +; a substring of "IV Mass of BVM", so a naive `contains` check +; misreads every fourth-Mass day as the fifth (the coordinator's own +; misreading, recorded and retracted in commit 27b07b4 before this +; task existed). +; +; 4. SCOPE EXCLUDED, quantified, not silently dropped: +; - Diocesan variants: present on %d of %d days (%s%%) -- their own +; text is read only far enough to set [has_diocesan_variant], +; never compared, because colitur computes the UNIVERSAL General +; Roman Calendar only, with no diocesan overlay loaded. +; - The single malformed trailing entry ("2025 1 The OCTAVE DAY of +; the NATIVITY..." printed with "Thu" wrapped onto the following +; line and the year token "2025" where "2026" belongs -- a literal +; duplicate, word for word, of the fixture's own already-extracted +; 2025-01-01 row) is excluded outright: the extractor's own stop +; marker (a line whose first token is a bare 4-digit year) halts +; the scan before it, so this fixture's last row is 2025-12-31. +; - Front matter, the Abbreviations/Rubrical-Primer/Breviary sections, +; and the "When may I say...?"/Appendix tail are never scanned at +; all (the extractor's own start/stop sentinels bound it to the +; Ordo proper, "End of November 2024" through the stop marker +; above). +|} + pdf_sha (today ()) (List.length rows) + (match rows with r :: _ -> r.date | [] -> "?") + (match List.rev rows with r :: _ -> r.date | [] -> "?") + with_variant (List.length rows) + (Printf.sprintf "%.1f" (100.0 *. float_of_int with_variant /. float_of_int (List.length rows))) + in + let body = Sexplib.Sexp.to_string_hum ~indent:2 (sexp_of_list sexp_of_row rows) in + let oc = open_out dest in + Fun.protect + ~finally:(fun () -> close_out_noerr oc) + (fun () -> + output_string oc header; + output_string oc body; + output_string oc "\n"); + Printf.printf "extract_lms_ordo: wrote %d rows to %s\n" (List.length rows) dest -- cgit v1.3 From 72dd2426f020f83a392158ead7bd15b36088fd08 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Sat, 22 Aug 2026 14:51:07 +0200 Subject: test(lms-ordo): extend the LMS witness layer from one year to three Generalises tools/extract_lms_ordo.ml's start-of-body detection: the hardcoded "End of November 2024" sentinel assumed every edition opens with an "End of November" stub section. The 2023-2024 edition has none (Advent Sunday 2023 fell on 3 December, so the compiler folded the two tail days into the "December 2023" header directly) -- the generalised detector anchors on the body's own "ORDO" title line instead, verified unique in all three known editions and distinct from the Table of Contents' lowercase "Ordo" entries. Extracts test/fixtures/lms-ordo-2023-2024.sexp (397 rows) and lms-ordo-2025-2026.sexp (399 rows), each with a provenance header carrying its own SHA-256, source citation, and a per-edition characterisation record: five opposite-prediction Creed probes, independently re-verified against this run's own extracted rows (a failed probe is now a hard die, not a printed claim). The 2025-2026 edition needed a different sharp II-class pairing than 2024-2025's Joachim/Stephen one, because Joachim (16 August) is impeded by a Sunday that year -- recorded in the fixture header, not silently swapped. test/test_lms_ordo.ml is refactored into a parameterised make_suite, instantiated once per edition; every count Task 6 hardcoded against the single 2024-2025 window is now a per-edition parameter, several of which turned out to differ once measured (BVM-Saturday population 12/14/13, Ascension-week exclusion 1/3/2). Two mapping gaps surfaced only by the new windows and fixed here (test-side, not colitur): Low Sunday reached via Preceding_sunday for the first time (absent from 2024-2025's own window), and the Ascension-week exclusion was wrongly keyed off week number alone -- Rogation Monday also resumes week 6's Sunday but falls BEFORE Ascension, not after, and the Ordo prints the ordinary Sunday text there. Re-bounded by date, against Ascension and Pentecost. Two genuine divergences surfaced in the 2023-2024 window and are allow-listed (L3, L4) rather than fixed, per this task's no-lib-changes scope: - L3 (verdict ordo): colitur has no bissextile calendar rule. The 1962 Missal's own calendarium moves St Matthias from 24 to 25 February in leap years (docs/research/LT.txt:5011); colitur keeps him on the 24th every year. Domain-wide upper bound measured with a throwaway sweep: 1,650 of 2,041 leap years in 1583-9999 currently observe him there. - L4 (verdict open): Christmas Eve falling on the 4th Sunday of Advent (2023-12-24, roughly 1 year in 7). colitur says the Creed is said, reading RG 475(a)'s Sunday clause; the Ordo says it is not. RG 30(a)'s own "locum tenet ... nulla fit commemoratio" for this exact vigil reads like RG 16(a)'s Feast-of-the-Lord-on-Sunday shape, which colitur already treats as Creed-preserving -- but RG 475(a) names "festo" specifically, and a vigil is its own liturgical-day category (RG 35), so the counter-reading is real too. Left open rather than adjudicated. All 630 tests green (dune test), 631 with the exhaustive sweep. Claude-Session: https://claude.ai/code/session_017ZBxCCRM2ojnBupp3SBxV9 --- data/ef/expected-divergences-lms.sexp | 54 +- test/dune | 2 + test/fixtures/lms-ordo-2023-2024.sexp | 1507 ++++++++++++++++++++++++++++++++ test/fixtures/lms-ordo-2025-2026.sexp | 1511 +++++++++++++++++++++++++++++++++ test/test_colitur.ml | 4 +- test/test_lms_ordo.ml | 825 +++++++++--------- tools/extract_lms_ordo.ml | 251 ++++-- 7 files changed, 3672 insertions(+), 482 deletions(-) create mode 100644 test/fixtures/lms-ordo-2023-2024.sexp create mode 100644 test/fixtures/lms-ordo-2025-2026.sexp (limited to 'tools/extract_lms_ordo.ml') diff --git a/data/ef/expected-divergences-lms.sexp b/data/ef/expected-divergences-lms.sexp index e327419..3850fd5 100644 --- a/data/ef/expected-divergences-lms.sexp +++ b/data/ef/expected-divergences-lms.sexp @@ -1,6 +1,11 @@ ; data/ef/expected-divergences-lms.sexp -- Task 6 (2026-08-21-colitur- ; celebrant-rubrics-phase1)'s cited allow-list for the LMS Ordo comparison -; (test/test_lms_ordo.ml), fixture window 2024-11-27..2025-12-31. +; (test/test_lms_ordo.ml). Extended by the Witnesses task (2026-08-22, +; same phase) from the single 2024-2025 window (2024-11-27..2025-12-31) +; to three: 2023-2024 (2023-12-01..2024-12-31) and 2025-2026 +; (2025-11-28..2026-12-31) joined it. L3/L4 below fired only in the +; 2023-2024 window -- neither recurs in the other two, a fact worth +; keeping visible rather than merging away (see [expected_rows] on each). ; ; A SEPARATE file from data/ef/expected-divergences.sexp (the lectio ; allow-list) and data/ef/expected-divergences-missalemeum.sexp (the @@ -96,15 +101,44 @@ ; shape as the Christmastide "infra octavam Nativitatis" entries ; data/ef/lectionary.sexp already carries directly rather than resolving ; through this fallback -- a lectionary-data change out of a fix round's -; own scope. test/test_lms_ordo.ml's own -; [expected_preceding_sunday_override] excludes exactly these two -; (season, week) pairs from its general mapping, and -; [test_formulary_override_matches] asserts the excluded population is -; exactly 3 real days, all showing "Mass of the Ascension", so a change -; to this population (a fourth day, a different Ordo string) would be -; caught rather than silently absorbed. +; own scope. test/test_lms_ordo.ml's own [is_after_ascension] excludes +; this population from the general mapping (bounded ABOVE by Pentecost, +; not merely "later than Ascension" -- see its own citation, corrected +; during the Witnesses task after a first version manufactured 8 false +; failures by matching any later date in the same civil year), and +; [test_formulary_override_matches] asserts its exact size per window. +; +; CORRECTED (Witnesses task, 2026-08-22): this note previously said "exactly +; 3 real days" as though that were a universal count. Extending the +; comparison to 2023-2024 and 2025-2026 showed it is not -- the population +; depends on which OTHER days that particular year's Ascension-adjacent +; week happen to have their own competing propers (a saint, a vigil), so +; it varies year to year: 3 in 2024-2025, 1 in 2023-2024 (only 30 May 2024 +; -- Rogation Monday, 6 May 2024, is BEFORE Ascension and correctly resumes +; the ordinary "5th Sunday after Easter" instead, once the exclusion's own +; date comparison was corrected to test "after Ascension AND before +; Pentecost" rather than "week 6 or 7"), 2 in 2025-2026. All three counts +; measured directly, all showing "Mass of the Ascension", none unexplained. ; ; Domain-wide count: unmeasured -- "which feria is inside Ascension's own ; after-feast period" is not a distinct predicate anywhere in this -; codebase to sweep on. Structurally recurs every year, so on the order -; of 3 days/year x domain years, not merely 3 total. +; codebase to sweep on. Structurally recurs every year, though the exact +; per-year count is now known to vary (1-3 in the three years measured), +; not a flat "3 days/year". + +; L3 -- OPEN, colitur's OWN genuine gap, found extending this suite to the +; 2023-2024 window (Witnesses task, 2026-08-22). Fired once: 2024-02-24. +((id L3) + (citation "The Missale Romanum's own CALENDARIUM table, February, footnote (docs/research/LT.txt:5011-5013, the Missal's printed calendar pages, not the numbered Rubricae Generales chapters): \"In anno bissextili mensis februarius est dierum 29, et festum S. Matthiae celebratur die 25 februarii, ac festum S. Gabrielis a Virgine perdolente 28 februarii, et bis dicitur sexto calendas, id est die 24 et die 25\" -- in a leap year February has 29 days, and the feast of St Matthias is kept on 25 February (not 24), with 24 and 25 February BOTH called \"the 6th kalends\"; St Gabriel of Our Lady of Sorrows (ordinarily 27 February) shifts to 28 February by the same rule. This bissextile shift is not RG-numbered (it is a calendarium footnote, not a Rubricae Generales paragraph) and is NOT scan-verified in this session -- only the LT.txt transcription was checked; scan1.txt/scan2.txt were searched for \"bissext\"/\"Matth\" and turned up only the unrelated Golden-Number/dominical-letter passage, not this specific calendarium footnote, so this citation rests on the transcription alone.") + (verdict ordo) + (note "colitur has NO bissextile-shift rule anywhere (grepped lib/rites/rite_ef/*.ml and data/ef/*.sexp for \"bissext\"/\"leap\": zero hits outside a code comment naming the saint, and the rules-register.md itself is silent on it too) -- St Matthias stays fixed at 24 February every year, leap or not. 2024 is a leap year: colitur's own [matthias] entry (Class2, an Apostle, RG91 entry 16 -- verified from the table itself to genuinely OUTRANK entry 18's privileged Ember-Saturday-of-Lent feria, so colitur's RANKING logic is not at fault here) WINS 24 February 2024 outright in colitur's output, correctly saying the Creed per RG475(e)'s Apostle clause. The Ordo shows no St Matthias anywhere near this date at all: 24 February 2024 is titled plainly \"EMBER SATURDAY of LENT\" (No Cr) and 25 February 2024 (a Sunday, 2nd Sunday in Lent, I class) is titled plainly \"2nd SUNDAY in LENT\" (Cr, but via RG475(a)'s own Sunday clause, not RG475(e)) -- consistent with Matthias having correctly MOVED to the 25th and then lost outright to the I-class Sunday there (RG91 entry 6 over entry 16), never even surviving as a commemoration (an I-class Sunday's own admission cap, RG111, is tight enough to exclude an ordinary II-class saint entirely -- the same shape already established for RG16(a)-adjacent cases elsewhere in this project). Both the 24th and 25th sides of the Ordo's silence are explained by ONE root cause (the missing shift), not two independent gaps -- a coherent, single-cause account, not a coincidence. BLAST RADIUS, roughly measured (a throwaway domain sweep, tools/probe_matthias.ml, run once for this task and not committed): of 2 041 leap years in 1583-9999, colitur observes [matthias] on 24 February in 1 650 of them -- an UPPER BOUND on how many years this gap could affect (some of those 1 650 years may see IDENTICAL final output either way, e.g. if Matthias would also win on the 25th against whatever competes there that year; a precise count needs the shift actually implemented, which is out of this task's own no-lib-changes scope). The Gabriel/27-28 February sibling shift is not witnessed by this fixture at all (no divergence on either date in this window) but is the same root cause and would need the same fix.") + (expected_rows 1)) + +; L4 -- OPEN, adjudicated FOR colitur (a defensible primary-source reading, +; not a fix confirmed against the Ordo -- the Ordo's own contrary reading is +; also textually arguable, see below). Fired once: 2023-12-24. +((id L4) + (citation "RG 30(a) (Caput V, De Vigiliis, docs/research/LT.txt:959-961): \"vigilia Nativitatis Domini quae, IN OCCURRENTIA, locum tenet dominicae IV Adventus, de qua, proinde, NULLA FIT COMMEMORATIO\" -- the Vigil of the Nativity, when it occurs [on a Sunday], TAKES THE PLACE of the 4th Sunday of Advent, of which, accordingly, no commemoration is made -- the identical \"locum tenet ... nulla fit commemoratio\" shape RG16(a) uses for a Feast of the Lord occurring on a II-class Sunday, which colitur already implements and which RG475(a) explicitly extends the Creed to (\"in qualibet dominica, etsi eius Officium alicui festo locum cedat\").") + (verdict open) + (note "2023-12-24 (the 4th Sunday of Advent AND Christmas Eve, a genuinely rare coincidence -- roughly 1 year in 7 -- absent from both the 2024-2025 and 2025-2026 windows, where Christmas Eve falls on a Tuesday and a Wednesday respectively). colitur says the Creed IS said (true), reading [temporal]'s own weekday (Sunday) per RG475(a)'s clause, positioned ahead of the vigil-exclusion check in {!Rite_ef.Rubrics_ef.creed} -- unconditionally, the same way it already does for RG16(a)'s Feast-of-the-Lord case. The Ordo says \"No Gl No Cr\" for this date. ADJUDICATED FOR COLITUR, not merely left open by default: RG30(a)'s own \"locum tenet ... nulla fit commemoratio\" language is textually closer to RG16(a) (which colitur already treats as Creed-preserving) than to an ordinary vigil superseding a Sunday -- the Vigil does not merely WIN THE DAY, it takes the SUNDAY'S OWN IDENTITY, the same shape RG475(a) was written to reach. The COUNTER-reading is real and not dismissed here: RG475(a)'s own text says \"locum cedat ... festo\" (gives way to a FEAST), and RG35 (Caput VI) classifies feria/vigilia/festum as three distinct liturgical-day categories -- a strict textual reading could confine 475(a)'s override to FEAST-displacement only, leaving a VIGIL-displaced Sunday to fall through to the general vigil exclusion (476, via RG33's own \"a vigil is a distinct category\" reasoning already coded elsewhere in {!Rite_ef.Rubrics_ef.creed}). Left OPEN rather than closed on this task's own authority: adjudicating scripture-grade primary-source questions is out of scope for a witness-wiring task, and the two readings are both defensible. Not fixable inside this task's own no-lib-changes constraint regardless of which reading eventually wins.") + (expected_rows 1)) diff --git a/test/dune b/test/dune index 44318a2..17865c4 100644 --- a/test/dune +++ b/test/dune @@ -17,7 +17,9 @@ fixtures/missalemeum-ef-2026-2027.txt fixtures/missalemeum-ef-2038.txt fixtures/missalemeum-ef-2035.txt + fixtures/lms-ordo-2023-2024.sexp fixtures/lms-ordo-2024-2025.sexp + fixtures/lms-ordo-2025-2026.sexp ../templates/ef/ordo.tex ../templates/ef/ordo.ms ../templates/ef/ordo.html diff --git a/test/fixtures/lms-ordo-2023-2024.sexp b/test/fixtures/lms-ordo-2023-2024.sexp new file mode 100644 index 0000000..9261ce7 --- /dev/null +++ b/test/fixtures/lms-ordo-2023-2024.sexp @@ -0,0 +1,1507 @@ +; test/fixtures/lms-ordo-2023-2024.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; extending Task 6's single LMS fixture (2024-2025) to three editions of +; the Latin Mass Society's own printed Ordo for England & Wales -- a +; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) +; and of the electronic LT.txt transcription (layers 1-2/5): a physically +; printed, professionally-compiled liturgical calendar with its own ISBN. +; +; Generator: tools/extract_lms_ordo.ml -- do not hand-edit; re-run against +; a fresh pdftotext dump and commit the diff instead. +; +; Source: "The Ordo 2023-2024", compiled by Peter Day-Milne, The Latin +; Mass Society, 9 Mallow Street, London EC1Y 8RQ (title page and +; colophon, verified directly against the PDF's own extracted text -- +; ISBN 978-1-7392096-2-9, Copyright (c) The Latin Mass Society, UK 2023). +; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 6.4", CreationDate 2023-11-01, 140 pages. +; URL (identified 2026-08-22 via web search matching the PDF's own edition year to the publisher's own hosting path; NOT independently re-downloaded and byte-compared in this session -- recorded honestly rather than presented as verified): +; https://lms.org.uk/sites/default/files/u5374/ordo_2023-2024_2.2_final.pdf +; The local PDF (docs/research/ordo/lms-ordo-2023-2024.pdf) is gitignored +; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this +; fixture's only record of where it came from. +; SHA-256 of docs/research/ordo/lms-ordo-2023-2024.pdf: 805a021bab246212c09a91706a04f4834fba052104de091b2fc5ed77c455bbba +; Extracted (UTC): 2026-08-22 +; Exact commands: +; pdftotext -layout docs/research/ordo/lms-ordo-2023-2024.pdf /tmp/lms.txt +; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ +; docs/research/ordo/lms-ordo-2023-2024.pdf test/fixtures/lms-ordo-2023-2024.sexp +; +; COVERAGE: 397 day-rows, 2023-12-01 through 2024-12-31 (starting 1 December 2023 (this edition carries NO "End of November" stub section at all -- Advent Sunday 2023 fell on 3 December, so only 2 tail days of the prior liturgical year remained, and the compiler folded them directly into the "December 2023" header instead of giving them their own mini-section; see CHARACTERISATION below), +; through the day before a malformed trailing entry the extractor +; deliberately stops before -- see CHARACTERISATION below). +; +; CHARACTERISATION FINDINGS (Step 1, non-negotiable per the task brief -- +; the extraordinaryform.org Ordo silently omitted St Lawrence's vigil on +; EVERY date it covered, which nearly produced a false corroboration +; during the RG 33 work; every LMS edition, including this one, is probed +; with the same discipline before a single divergence is adjudicated): +; +; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed again for +; THIS edition: it carries many more Gl/Cr pairs than day-rows, because +; every diocesan variant repeats its own "Gl ... Cr ... Pr of ..." +; line). This extractor resolves the day's OWN office by taking the +; FIRST Gl/Cr pair in reading order, which the source's own layout +; guarantees is the universal entry's (diocesan variants are always +; introduced by a colon-terminated diocese-list line that comes AFTER +; the universal block, never before -- checked structurally, not +; assumed, in every sampled block during development, this edition +; included). +; +; 2. OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.creed (RG +; 475-476), RE-CHECKED BY THIS TOOL RUN (not merely copied from a prior +; edition's findings) before a single row of this fixture is trusted -- +; the technique CLAUDE.md records as the one that catches a source +; silently omitting the very thing it is meant to witness. This run's +; own extracted [rows] were checked against every one of the following +; before this header was even written; a failure here is a hard [die], +; not a printed claim: +; 2023-12-03 (Advent Sunday, RG 475(a)) -> TRUE +; 2023-12-04 (St Peter Chrysologus, III class, ordinary Advent day, RG 476(b)/(d)) -> FALSE +; 2023-12-26 (St Stephen, II class, inside the Nativity octave, RG 475(d)) -> TRUE +; 2024-08-15 (the Assumption, I class, RG 475(b)) -> TRUE +; 2024-08-16 (St Joachim, II class, no Lord/BVM/apostle clause applies, RG 476(b)) -> FALSE +; All 5 predictions confirmed, both directions (TRUE and FALSE each +; independently witnessed) -- this edition is discriminating, not a +; constant, on the Creed. +; +; 3. The BVM-Saturday roman numeral (I-V, "Missae de sancta Maria in +; sabbato", RG 309(a)) is anchored by WHOLE-LINE match against the five +; literal strings below, NEVER by substring search: "V Mass of BVM" is +; a substring of "IV Mass of BVM", so a naive `contains` check +; misreads every fourth-Mass day as the fifth (the coordinator's own +; misreading, recorded and retracted in commit 27b07b4 before Task 6 +; existed; the same anchoring logic runs unchanged for every edition). +; +; 4. SCOPE EXCLUDED, quantified, not silently dropped: +; - Diocesan variants: present on 159 of 397 days (40.1%) -- their own +; text is read only far enough to set [has_diocesan_variant], +; never compared, because colitur computes the UNIVERSAL General +; Roman Calendar only, with no diocesan overlay loaded. +; - The single malformed trailing entry ("...The OCTAVE DAY of the +; NATIVITY..." with a bare 4-digit token where a weekday+day-number +; pair belongs) is excluded outright: the extractor's own stop +; marker (a line whose first token is a bare 4-digit token) halts +; the scan before it. CONFIRMED IDENTICAL, word for word, across +; ALL FOUR known editions of this publisher's Ordo (2023-2024, +; 2024-2025, 2025-2026, and the 2024-2025 fixture's own prior +; header) -- always the literal stray year token "2025", regardless +; of which edition or which real trailing year it should read: a +; stale copy-paste leftover the compiler's own master document +; carries forward unedited release to release (even the 2024-2025 +; PDF's own tail page footer nearby still reads "Latin Mass Society +; Ordo 2021-2022"), not something specific to this edition. +; - Front matter, the Abbreviations/Rubrical-Primer/Breviary sections, +; and the "When may I say...?"/Appendix tail are never scanned at +; all (the extractor's own start/stop markers bound it to the Ordo +; proper). +(((date 2023-12-01) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2023-12-02) (weekday Sat) + (title "St BIBIANA V M III Cl R # IH JCHP") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-03) (weekday Sun) (title "ADVENT SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-04) (weekday Mon) + (title "St PETER CHRYSOLOGUS B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2023-12-05) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2023-12-06) (weekday Wed) (title "St NICOLAS B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-07) (weekday Thu) + (title "St AMBROSE B C D III Cl (Priv.) W JCHP*") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-08) (weekday Fri) + (title "The IMMACULATE CONCEPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2023-12-09) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2023-12-10) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-11) (weekday Mon) + (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2023-12-12) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2023-12-13) (weekday Wed) (title "St LUCY V M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-14) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2023-12-15) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2023-12-16) (weekday Sat) (title "St EUSEBIUS B M III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-17) (weekday Sun) + (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-18) (weekday Mon) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-19) (weekday Tue) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-20) (weekday Wed) + (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-21) (weekday Thu) (title "St THOMAS \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-22) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-23) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-24) (weekday Sun) + (title "VIGIL of The NATIVITY of OUR LORD I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2023-12-25) (weekday Mon) (title "The NATIVITY of OUR LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-26) (weekday Tue) + (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-27) (weekday Wed) + (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-28) (weekday Thu) (title "The HOLY INNOCENTS MM II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2023-12-29) (weekday Fri) + (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2023-12-30) (weekday Sat) + (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2023-12-31) (weekday Sun) + (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-01) (weekday Mon) + (title "The OCTAVE DAY of the NATIVITY of the LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-02) (weekday Tue) + (title "The MOST HOLY NAME of JESUS II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-03) (weekday Wed) (title "FERIA IV Cl W \226\128\160") + (formulary_override + ("Mass of the Octave Day of the Nativity of the Lord")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-01-04) (weekday Thu) (title "FERIA IV Cl W \226\128\160 JCHP") + (formulary_override + ("Mass of the Octave Day of the Nativity of the Lord")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-05) (weekday Fri) (title "FERIA IV Cl W \226\128\160 SH") + (formulary_override + ("Mass of the Octave Day of the Nativity of the Lord")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-06) (weekday Sat) (title "The EPIPHANY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-07) (weekday Sun) + (title "The HOLY FAMILY of JESUS, MARY AND JOSEPH II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-01-08) (weekday Mon) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-09) (weekday Tue) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-10) (weekday Wed) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-11) (weekday Thu) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-12) (weekday Fri) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-01-13) (weekday Sat) (title "The BAPTISM of OUR LORD II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-14) (weekday Sun) + (title "2nd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-01-15) (weekday Mon) + (title "St PAUL the FIRST HERMIT C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-16) (weekday Tue) (title "St MARCELLUS I P M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-01-17) (weekday Wed) (title "St ANTHONY Ab III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-18) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-19) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-01-20) (weekday Sat) + (title "SS FABIAN P & SEBASTIAN M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-21) (weekday Sun) + (title "3rd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-22) (weekday Mon) + (title "SS VINCENT & ANASTASIUS MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-23) (weekday Tue) + (title "St RAYMUND of PENAFORT C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-24) (weekday Wed) (title "St TIMOTHY B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-25) (weekday Thu) + (title "The CONVERSION of St PAUL \194\167 Ap III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-26) (weekday Fri) (title "St POLYCARP B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-27) (weekday Sat) + (title "St JOHN CHRYSOSTOM B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-28) (weekday Sun) (title "SEPTUAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-01-29) (weekday Mon) + (title "St FRANCIS de SALES B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-30) (weekday Tue) (title "St MARTINA V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-01-31) (weekday Wed) (title "St JOHN BOSCO C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-01) (weekday Thu) + (title "St IGNATIUS \194\167 B M III Cl (Priv.) R JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-02) (weekday Fri) + (title "The PURIFICATION of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-02-03) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-04) (weekday Sun) (title "SEXAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-02-05) (weekday Mon) + (title "St AGATHA \194\167 V M III Cl (Priv.) R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-06) (weekday Tue) (title "St TITUS B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-07) (weekday Wed) (title "St ROMUALD Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-08) (weekday Thu) (title "St JOHN of MATHA C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-09) (weekday Fri) + (title "St CYRIL of ALEXANDRIA B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-10) (weekday Sat) (title "St SCHOLASTICA V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-11) (weekday Sun) (title "QUINQUAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-02-12) (weekday Mon) + (title "The SEVEN HOLY FOUNDERS of the ORDER of the SERVANTS of the") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-13) (weekday Tue) (title "FERIA IV Cl V \226\128\161") + (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-02-14) (weekday Wed) (title "ASH WEDNESDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-15) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-16) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-17) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-18) (weekday Sun) (title "1st SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-02-19) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-20) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-21) (weekday Wed) (title "EMBER WEDNESDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-22) (weekday Thu) + (title "The CHAIR of St PETER \194\167 Ap II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-02-23) (weekday Fri) (title "EMBER FRIDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-24) (weekday Sat) (title "EMBER SATURDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-25) (weekday Sun) (title "2nd SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-02-26) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-27) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-02-28) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-02-29) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-01) (weekday Fri) (title "FERIA III Cl V SH") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-02) (weekday Sat) (title "FERIA III Cl V IH JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-03) (weekday Sun) (title "3rd SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-03-04) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-05) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-06) (weekday Wed) + (title "SS PERPETUA \194\167 & FELICITY \194\167 MM III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-07) (weekday Thu) + (title "St THOMAS AQUINAS C D III Cl (Priv.) W JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-08) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-09) (weekday Sat) + (title "St FRANCES of ROME W III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-10) (weekday Sun) (title "4th SUNDAY in LENT I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-03-11) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-12) (weekday Tue) + (title "St GREGORY I P C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-13) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-14) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-15) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-16) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-17) (weekday Sun) (title "PASSION SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-03-18) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-19) (weekday Tue) + (title "St JOSEPH \194\167 SPOUSE of the BVM C, PATRON of the UNIVERSAL") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-03-20) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-03-21) (weekday Thu) (title "St BENEDICT Ab III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-22) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-23) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-24) (weekday Sun) (title "PALM SUNDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-03-25) (weekday Mon) (title "MONDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-26) (weekday Tue) (title "TUESDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-27) (weekday Wed) (title "WEDNESDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-28) (weekday Thu) (title "MAUNDY THURSDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-29) (weekday Fri) (title "GOOD FRIDAY I Cl B") + (formulary_override ()) (bvm_numeral ()) (gloria ()) (creed ()) + (has_diocesan_variant false)) + ((date 2024-03-30) (weekday Sat) (title "HOLY SATURDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-03-31) (weekday Sun) (title "EASTER I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-01) (weekday Mon) (title "EASTER MONDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-02) (weekday Tue) (title "EASTER TUESDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-03) (weekday Wed) (title "EASTER WEDNESDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-04) (weekday Thu) (title "EASTER THURSDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-05) (weekday Fri) (title "EASTER FRIDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-06) (weekday Sat) + (title "EASTER SATURDAY (SABBATO in ALBIS) I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-07) (weekday Sun) (title "LOW SUNDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-08) (weekday Mon) + (title "The ANNUNCIATION of the BVM I Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-04-09) (weekday Tue) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-04-10) (weekday Wed) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-11) (weekday Thu) (title "St LEO P C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-04-12) (weekday Fri) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-13) (weekday Sat) (title "St HERMENEGILD M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-04-14) (weekday Sun) (title "2nd SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-04-15) (weekday Mon) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-16) (weekday Tue) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-17) (weekday Wed) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-04-18) (weekday Thu) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-19) (weekday Fri) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-04-20) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-04-21) (weekday Sun) (title "3rd SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-04-22) (weekday Mon) + (title "SS SOTER & CAIUS PP MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-04-23) (weekday Tue) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 3rd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-04-24) (weekday Wed) + (title "St FIDELIS of SIGMARINGEN M III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-04-25) (weekday Thu) + (title "THE GREATER LITANIES. St MARK Evangelist II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-04-26) (weekday Fri) + (title "St CLETUS & MARCELLINUS PP MM III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-04-27) (weekday Sat) (title "St PETER CANISIUS C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-04-28) (weekday Sun) (title "4th SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-04-29) (weekday Mon) (title "St PETER M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-04-30) (weekday Tue) + (title "St CATHERINE of SIENNA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-01) (weekday Wed) + (title "St JOSEPH \194\167 the WORKER, SPOUSE of the BVM C I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-02) (weekday Thu) + (title "St ATHANASIUS B C D III Cl (Priv.) W JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-03) (weekday Fri) (title "FERIA IV Cl W \226\128\161 SH") + (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-05-04) (weekday Sat) + (title "St MONICA W III Cl (Priv.) W IH JCHP*") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-05) (weekday Sun) (title "5th SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-05-06) (weekday Mon) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 5th Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-05-07) (weekday Tue) (title "St STANISLAUS B M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-08) (weekday Wed) (title "VIGIL of The ASCENSION II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-09) (weekday Thu) (title "The ASCENSION I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-10) (weekday Fri) (title "St ANTONINUS B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-11) (weekday Sat) + (title "SS PHILIP \194\167 & JAMES \194\167 App II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-12) (weekday Sun) + (title "SUNDAY after the ASCENSION II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-13) (weekday Mon) + (title "St ROBERT BELLARMINE B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-14) (weekday Tue) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-05-15) (weekday Wed) + (title "St JOHN BAPTIST de la SALLE C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-16) (weekday Thu) (title "St UBALDUS B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-17) (weekday Fri) (title "St PASCHAL BAYLON C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-18) (weekday Sat) (title "VIGIL of PENTECOST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-19) (weekday Sun) (title "PENTECOST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-20) (weekday Mon) (title "WHIT MONDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-21) (weekday Tue) (title "WHIT TUESDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-22) (weekday Wed) + (title "WHIT WEDNESDAY (EMBER DAY) I Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-23) (weekday Thu) (title "WHIT THURSDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-24) (weekday Fri) (title "WHIT FRIDAY (EMBER DAY) I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-25) (weekday Sat) (title "WHIT SATURDAY (EMBER DAY) I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-26) (weekday Sun) (title "The MOST HOLY TRINITY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-05-27) (weekday Mon) + (title "St BEDE the VENERABLE C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-28) (weekday Tue) (title "St AUGUSTINE B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-05-29) (weekday Wed) + (title "St MARY MAGDALEN dei PAZZI V III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-05-30) (weekday Thu) (title "CORPUS CHRISTI I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-05-31) (weekday Fri) + (title "The BLESSED VIRGIN MARY, QUEEN II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-06-01) (weekday Sat) + (title "St ANGELA MERICI V III Cl W # IH JCHP") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-02) (weekday Sun) + (title "2nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-06-03) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-06-04) (weekday Tue) + (title "St FRANCIS CARACCIOLO C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-05) (weekday Wed) (title "St BONIFACE B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-06) (weekday Thu) (title "St NORBERT B C III Cl W # JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-06-07) (weekday Fri) (title "The SACRED HEART of JESUS I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-06-08) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2024-06-09) (weekday Sun) + (title "3rd SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-06-10) (weekday Mon) (title "St MARGARET Q W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-06-11) (weekday Tue) (title "St BARNABAS Ap III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-06-12) (weekday Wed) + (title "St JOHN of SAN FACONDO C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-06-13) (weekday Thu) + (title "St ANTHONY of PADUA C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-14) (weekday Fri) + (title "St BASIL the GREAT B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-15) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2024-06-16) (weekday Sun) + (title "4th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-06-17) (weekday Mon) + (title "St GREGORY BARBARIGO B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-18) (weekday Tue) + (title "St EPHREM the SYRIAN Deacon C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-06-19) (weekday Wed) + (title "St JULIANA FALCONIERI V III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-20) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 4th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-21) (weekday Fri) + (title "St ALOYSIUS GONZAGA C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-22) (weekday Sat) (title "St PAULINUS B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-23) (weekday Sun) + (title "5th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-06-24) (weekday Mon) + (title "The NATIVITY of JOHN the BAPTIST \194\167 I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-06-25) (weekday Tue) (title "St WILLIAM Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-26) (weekday Wed) + (title "SS JOHN & PAUL \194\167 MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-27) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 5th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-28) (weekday Fri) + (title "VIGIL of SS PETER \194\167 & PAUL \194\167 App II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-06-29) (weekday Sat) + (title "SS PETER \194\167 & PAUL \194\167 App I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-06-30) (weekday Sun) + (title "6th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-07-01) (weekday Mon) + (title "The MOST PRECIOUS BLOOD of OUR LORD JESUS CHRIST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-02) (weekday Tue) + (title "The VISITATION of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-03) (weekday Wed) (title "St IRENAEUS B M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-04) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") + (formulary_override ("Mass of 6th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-05) (weekday Fri) + (title "St ANTHONY MARY ZACCARIA C III Cl W # SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-06) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2024-07-07) (weekday Sun) + (title "7th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-08) (weekday Mon) (title "St ELIZABETH Q W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-09) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 7th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-10) (weekday Wed) + (title "The SEVEN HOLY BROTHERS MM & SS RUFINA & SECUNDA VV MM III") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-11) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 7th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-12) (weekday Fri) (title "St JOHN GUALBERTI Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-13) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2024-07-14) (weekday Sun) + (title "8th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-15) (weekday Mon) (title "St HENRY Emperor C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-16) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 8th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-17) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 8th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-18) (weekday Thu) + (title "St CAMILLUS de LELLIS C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-19) (weekday Fri) + (title "St VINCENT de PAUL C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-20) (weekday Sat) (title "St JEROME EMILIANI C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-21) (weekday Sun) + (title "9th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-07-22) (weekday Mon) + (title "St MARY MAGDALEN Penitent III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-23) (weekday Tue) (title "St APOLLINARIS B M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-24) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 9th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-25) (weekday Thu) (title "St JAMES \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-26) (weekday Fri) + (title "St ANNE MOTHER of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-27) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2024-07-28) (weekday Sun) + (title "10th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-07-29) (weekday Mon) (title "St MARTHA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-07-30) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 10th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-07-31) (weekday Wed) (title "St IGNATIUS C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-01) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") + (formulary_override ("Mass of 10th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-02) (weekday Fri) + (title "St ALPHONSUS MARIA LIGUORI B C D III Cl (Priv.) W SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-03) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2024-08-04) (weekday Sun) + (title "11th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-05) (weekday Mon) + (title "The DEDICATION of St MARY of the SNOWS III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-06) (weekday Tue) + (title "The TRANSFIGURATION of OUR LORD JESUS CHRIST II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-07) (weekday Wed) (title "St CAJETAN C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-08) (weekday Thu) + (title "St JOHN MARY VIANNEY C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-09) (weekday Fri) + (title "VIGIL of St LAURENCE \194\167 M III Cl V #") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-10) (weekday Sat) (title "St LAURENCE \194\167 M II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-11) (weekday Sun) + (title "12th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-12) (weekday Mon) (title "St CLARE V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-13) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 12th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-14) (weekday Wed) + (title "VIGIL of The ASSUMPTION of the BVM II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-15) (weekday Thu) (title "The ASSUMPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-16) (weekday Fri) + (title "St JOACHIM FATHER of the BVM C II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-17) (weekday Sat) (title "St HYACINTH C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-18) (weekday Sun) + (title "13th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-08-19) (weekday Mon) (title "St JOHN EUDES C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-20) (weekday Tue) (title "St BERNARD Ab D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-21) (weekday Wed) + (title "St JANE FRANCES FREMIOT de CHANTAL W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-22) (weekday Thu) + (title "The IMMACULATE HEART of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-23) (weekday Fri) (title "St PHILIP BENIZI C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-24) (weekday Sat) + (title "St BARTHOLOMEW \194\167 Ap II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-25) (weekday Sun) + (title "14th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-08-26) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 14th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-27) (weekday Tue) + (title "St JOSEPH CALASANCTIUS C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-08-28) (weekday Wed) + (title "St AUGUSTINE B C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-29) (weekday Thu) + (title "The BEHEADING of St JOHN the BAPTIST \194\167 III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-30) (weekday Fri) (title "St ROSE of LIMA V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-08-31) (weekday Sat) (title "St RAYMUND NONNATUS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-01) (weekday Sun) + (title "15th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-09-02) (weekday Mon) (title "St STEPHEN K C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-03) (weekday Tue) (title "St PIUS X P C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-04) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 15th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-05) (weekday Thu) + (title "St LAURENCE JUSTINIAN B C III Cl W # JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-06) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") + (formulary_override ("Mass of 15th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-07) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2024-09-08) (weekday Sun) + (title "16th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-09-09) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 16th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-10) (weekday Tue) + (title "St NICOLAS of TOLENTINO C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-11) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 16th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-12) (weekday Thu) + (title "The MOST HOLY NAME of MARY III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-13) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 16th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-14) (weekday Sat) + (title "The EXALTATION of the HOLY CROSS II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-09-15) (weekday Sun) + (title "17th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-09-16) (weekday Mon) + (title + "SS CORNELIUS \194\167 P & CYPRIAN \194\167 B MM III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-17) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 17th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-18) (weekday Wed) + (title "EMBER WEDNESDAY of SEPTEMBER II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-19) (weekday Thu) + (title "St JANUARIUS B & COMPS MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-20) (weekday Fri) + (title "EMBER FRIDAY of SEPTEMBER II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-21) (weekday Sat) + (title "St MATTHEW \194\167 Ap Evangelist II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-09-22) (weekday Sun) + (title "18th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-09-23) (weekday Mon) (title "St LINUS P M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-24) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 18th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-25) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 18th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-26) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 18th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-09-27) (weekday Fri) + (title "SS COSMAS \194\167 & DAMIAN \194\167 MM III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-28) (weekday Sat) (title "St WENCESLAUS Duke M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-09-29) (weekday Sun) + (title "The DEDICATION of St MICHAEL Archangel I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-09-30) (weekday Mon) + (title "St JEROME Priest C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-01) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 19th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-10-02) (weekday Wed) + (title "The HOLY GUARDIAN ANGELS III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-10-03) (weekday Thu) + (title "St TERESA of the CHILD JESUS V III Cl (Priv.) W JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-04) (weekday Fri) + (title "St FRANCIS of ASSISI C III Cl (Priv.) W SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-05) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2024-10-06) (weekday Sun) + (title "20th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-10-07) (weekday Mon) (title "The BVM of the ROSARY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-10-08) (weekday Tue) (title "St BRIDGET W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-09) (weekday Wed) (title "St JOHN LEONARDI C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-10) (weekday Thu) (title "St FRANCIS BORGIA C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-11) (weekday Fri) + (title "The MOTHERHOOD of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-10-12) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2024-10-13) (weekday Sun) + (title "21st SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-10-14) (weekday Mon) + (title "St CALLISTUS I P M III Cl (Priv.) R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-10-15) (weekday Tue) (title "St TERESA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-16) (weekday Wed) (title "St HEDWIG W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-17) (weekday Thu) + (title "St MARGARET MARY ALACOQUE V III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-18) (weekday Fri) (title "St LUKE Evangelist II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-10-19) (weekday Sat) + (title "St PETER of ALCANTARA C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-20) (weekday Sun) + (title "22nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-10-21) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-22) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-23) (weekday Wed) + (title "St ANTHONY MARY CLARET B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-10-24) (weekday Thu) (title "St RAPHAEL Archangel III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-25) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-26) (weekday Sat) + (title "CELEBRATION of the BVM IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2024-10-27) (weekday Sun) (title "CHRIST the KING I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-10-28) (weekday Mon) + (title "SS SIMON \194\167 & JUDE \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-10-29) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-30) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-10-31) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-01) (weekday Fri) (title "ALL SAINTS' DAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-11-02) (weekday Sat) (title "ALL SOULS' DAY I Cl B") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-03) (weekday Sun) + (title "4th SUNDAY remaining after the EPIPHANY II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-11-04) (weekday Mon) (title "St CHARLES B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-05) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-06) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-07) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") + (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-08) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-09) (weekday Sat) + (title "The DEDICATION of the ARCHBASILICA of OUR SAVIOUR II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-11-10) (weekday Sun) + (title "5th SUNDAY remaining after the EPIPHANY II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-11-11) (weekday Mon) (title "St MARTIN B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-12) (weekday Tue) (title "St MARTIN I P M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-13) (weekday Wed) (title "St DIDACUS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-14) (weekday Thu) (title "St JOSAPHAT B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-15) (weekday Fri) + (title "St ALBERT the GREAT B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-16) (weekday Sat) (title "St GERTRUDE V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-17) (weekday Sun) + (title "6th SUNDAY remaining after the EPIPHANY II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-11-18) (weekday Mon) + (title + "The DEDICATION of the BASILICAS of SS PETER & PAUL III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-19) (weekday Tue) (title "St ELIZABETH W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-20) (weekday Wed) (title "St FELIX de VALOIS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-21) (weekday Thu) + (title "The PRESENTATION of the BVM III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-22) (weekday Fri) + (title "St CECILIA \194\167 V M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-23) (weekday Sat) + (title "St CLEMENT I \194\167 P M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-24) (weekday Sun) + (title "24th & LAST SUNDAY After PENTECOST II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-11-25) (weekday Mon) (title "St CATHERINE V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-26) (weekday Tue) (title "St SILVESTER Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-27) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-28) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-11-29) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-11-30) (weekday Sat) (title "St ANDREW \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-01) (weekday Sun) (title "ADVENT SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-02) (weekday Mon) (title "St BIBIANA V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-03) (weekday Tue) + (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-04) (weekday Wed) + (title "St PETER CHRYSOLOGUS B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-12-05) (weekday Thu) (title "FERIA III Cl V JCHP") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-12-06) (weekday Fri) + (title "St NICOLAS B C III Cl (Priv.) W SH") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-07) (weekday Sat) + (title "St AMBROSE B C D III Cl (Priv.) W IH JCHP*") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-08) (weekday Sun) + (title "The IMMACULATE CONCEPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-09) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-12-10) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2024-12-11) (weekday Wed) + (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2024-12-12) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-12-13) (weekday Fri) (title "St LUCY V M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-14) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-12-15) (weekday Sun) + (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-16) (weekday Mon) (title "St EUSEBIUS B M III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-17) (weekday Tue) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-18) (weekday Wed) + (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-19) (weekday Thu) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-20) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-21) (weekday Sat) (title "St THOMAS \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-22) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-23) (weekday Mon) (title "FERIA II Cl V") + (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2024-12-24) (weekday Tue) + (title "VIGIL of The NATIVITY of OUR LORD I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2024-12-25) (weekday Wed) (title "The NATIVITY of OUR LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-26) (weekday Thu) + (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-27) (weekday Fri) + (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-28) (weekday Sat) (title "The HOLY INNOCENTS MM II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-12-29) (weekday Sun) + (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2024-12-30) (weekday Mon) + (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2024-12-31) (weekday Tue) + (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false))) diff --git a/test/fixtures/lms-ordo-2025-2026.sexp b/test/fixtures/lms-ordo-2025-2026.sexp new file mode 100644 index 0000000..7f8947e --- /dev/null +++ b/test/fixtures/lms-ordo-2025-2026.sexp @@ -0,0 +1,1511 @@ +; test/fixtures/lms-ordo-2025-2026.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; extending Task 6's single LMS fixture (2024-2025) to three editions of +; the Latin Mass Society's own printed Ordo for England & Wales -- a +; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) +; and of the electronic LT.txt transcription (layers 1-2/5): a physically +; printed, professionally-compiled liturgical calendar with its own ISBN. +; +; Generator: tools/extract_lms_ordo.ml -- do not hand-edit; re-run against +; a fresh pdftotext dump and commit the diff instead. +; +; Source: "The Ordo 2025-2026", compiled by Peter Day-Milne, The Latin +; Mass Society, 9 Mallow Street, London EC1Y 8RQ (title page and +; colophon, verified directly against the PDF's own extracted text -- +; ISBN 978-1-7392096-5-0, Copyright (c) The Latin Mass Society, UK 2025). +; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 25.2.6.2 (X86_64) / LibreOffice Community", CreationDate 2025-10-23, 146 pages. +; URL (NOT found by URL-pattern web search this session (unlike the 2023-2024 and 2024-2025 editions, no exact download link matching this PDF's own filename/version turned up under lms.org.uk/sites/default/files/u5374/; several near-miss candidates were checked and rejected -- none matched this PDF's own metadata) -- left honestly blank rather than guessed; the file was supplied locally to this session, not fetched by this tool): +; (not found -- see the note on this line) +; The local PDF (docs/research/ordo/lms-ordo-2025-2026.pdf) is gitignored +; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this +; fixture's only record of where it came from. +; SHA-256 of docs/research/ordo/lms-ordo-2025-2026.pdf: 3d71ad56af3fc8d9c1b37515bf9d946025961f8ef415c3b92520b9de7661f8a3 +; Extracted (UTC): 2026-08-22 +; Exact commands: +; pdftotext -layout docs/research/ordo/lms-ordo-2025-2026.pdf /tmp/lms.txt +; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ +; docs/research/ordo/lms-ordo-2025-2026.pdf test/fixtures/lms-ordo-2025-2026.sexp +; +; COVERAGE: 399 day-rows, 2025-11-28 through 2026-12-31 (starting 28 November 2025 ("End of November 2025", the same shape as the 2024-2025 edition -- Advent Sunday 2025 fell on 30 November, so only 3 tail days remained; note this excludes 27 November 2025, which the PRECEDING edition's own window (2024-2025, through 2025-12-31) already covers -- a one-day-short overlap between consecutive editions' own windows, not a gap or a bug in either extraction, +; through the day before a malformed trailing entry the extractor +; deliberately stops before -- see CHARACTERISATION below). +; +; CHARACTERISATION FINDINGS (Step 1, non-negotiable per the task brief -- +; the extraordinaryform.org Ordo silently omitted St Lawrence's vigil on +; EVERY date it covered, which nearly produced a false corroboration +; during the RG 33 work; every LMS edition, including this one, is probed +; with the same discipline before a single divergence is adjudicated): +; +; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed again for +; THIS edition: it carries many more Gl/Cr pairs than day-rows, because +; every diocesan variant repeats its own "Gl ... Cr ... Pr of ..." +; line). This extractor resolves the day's OWN office by taking the +; FIRST Gl/Cr pair in reading order, which the source's own layout +; guarantees is the universal entry's (diocesan variants are always +; introduced by a colon-terminated diocese-list line that comes AFTER +; the universal block, never before -- checked structurally, not +; assumed, in every sampled block during development, this edition +; included). +; +; 2. OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.creed (RG +; 475-476), RE-CHECKED BY THIS TOOL RUN (not merely copied from a prior +; edition's findings) before a single row of this fixture is trusted -- +; the technique CLAUDE.md records as the one that catches a source +; silently omitting the very thing it is meant to witness. This run's +; own extracted [rows] were checked against every one of the following +; before this header was even written; a failure here is a hard [die], +; not a printed claim: +; 2025-11-30 (Advent Sunday, RG 475(a)) -> TRUE +; 2025-12-01 (ordinary Advent feria, RG 476(b)/(d)) -> FALSE +; 2025-12-26 (St Stephen, II class, inside the Nativity octave, RG 475(d)) -> TRUE +; 2026-08-10 (St Laurence, II class martyr, no Lord/BVM/apostle clause applies, RG 476(b) -- St Joachim (16 August) is IMPEDED by a Sunday in this edition's own calendar (12th Sunday after Pentecost), so this edition needed a DIFFERENT sharp non-octave II-class pairing than the 2023-2024/2024-2025 editions used; a real, edition-specific finding, not an extraction quirk) -> FALSE +; 2026-08-15 (the Assumption, I class, RG 475(b)) -> TRUE +; All 5 predictions confirmed, both directions (TRUE and FALSE each +; independently witnessed) -- this edition is discriminating, not a +; constant, on the Creed. +; +; 3. The BVM-Saturday roman numeral (I-V, "Missae de sancta Maria in +; sabbato", RG 309(a)) is anchored by WHOLE-LINE match against the five +; literal strings below, NEVER by substring search: "V Mass of BVM" is +; a substring of "IV Mass of BVM", so a naive `contains` check +; misreads every fourth-Mass day as the fifth (the coordinator's own +; misreading, recorded and retracted in commit 27b07b4 before Task 6 +; existed; the same anchoring logic runs unchanged for every edition). +; +; 4. SCOPE EXCLUDED, quantified, not silently dropped: +; - Diocesan variants: present on 163 of 399 days (40.9%) -- their own +; text is read only far enough to set [has_diocesan_variant], +; never compared, because colitur computes the UNIVERSAL General +; Roman Calendar only, with no diocesan overlay loaded. +; - The single malformed trailing entry ("...The OCTAVE DAY of the +; NATIVITY..." with a bare 4-digit token where a weekday+day-number +; pair belongs) is excluded outright: the extractor's own stop +; marker (a line whose first token is a bare 4-digit token) halts +; the scan before it. CONFIRMED IDENTICAL, word for word, across +; ALL FOUR known editions of this publisher's Ordo (2023-2024, +; 2024-2025, 2025-2026, and the 2024-2025 fixture's own prior +; header) -- always the literal stray year token "2025", regardless +; of which edition or which real trailing year it should read: a +; stale copy-paste leftover the compiler's own master document +; carries forward unedited release to release (even the 2024-2025 +; PDF's own tail page footer nearby still reads "Latin Mass Society +; Ordo 2021-2022"), not something specific to this edition. +; - Front matter, the Abbreviations/Rubrical-Primer/Breviary sections, +; and the "When may I say...?"/Appendix tail are never scanned at +; all (the extractor's own start/stop markers bound it to the Ordo +; proper). +(((date 2025-11-28) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-11-29) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2025-11-30) (weekday Sun) (title "ADVENT SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-01) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2025-12-02) (weekday Tue) (title "St BIBIANA V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-03) (weekday Wed) + (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-04) (weekday Thu) + (title "St PETER CHRYSOLOGUS B C D III Cl W # JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2025-12-05) (weekday Fri) (title "FERIA III Cl V SH") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2025-12-06) (weekday Sat) + (title "St NICOLAS B C III Cl (Priv.) W IH JCHP*") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-07) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-08) (weekday Mon) + (title "The IMMACULATE CONCEPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2025-12-09) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2025-12-10) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2025-12-11) (weekday Thu) + (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2025-12-12) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2025-12-13) (weekday Sat) (title "St LUCY V M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-14) (weekday Sun) + (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-15) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-16) (weekday Tue) (title "St EUSEBIUS B M III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-17) (weekday Wed) + (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-18) (weekday Thu) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-19) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-20) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-21) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-22) (weekday Mon) (title "FERIA II Cl V") + (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2025-12-23) (weekday Tue) (title "FERIA II Cl V") + (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2025-12-24) (weekday Wed) + (title "VIGIL of The NATIVITY of OUR LORD I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2025-12-25) (weekday Thu) (title "The NATIVITY of OUR LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-26) (weekday Fri) + (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-27) (weekday Sat) + (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-28) (weekday Sun) + (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2025-12-29) (weekday Mon) + (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2025-12-30) (weekday Tue) + (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2025-12-31) (weekday Wed) + (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-01) (weekday Thu) + (title "The OCTAVE DAY of the NATIVITY of the LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-02) (weekday Fri) (title "FERIA IV Cl W \226\128\160 SH") + (formulary_override + ("Mass of the Octave Day of the Nativity of the Lord")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-03) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") + (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-01-04) (weekday Sun) + (title "The MOST HOLY NAME of JESUS II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-05) (weekday Mon) (title "FERIA IV Cl W \226\128\160") + (formulary_override + ("Mass of the Octave Day of the Nativity of the Lord")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-06) (weekday Tue) (title "The EPIPHANY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-07) (weekday Wed) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-01-08) (weekday Thu) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-01-09) (weekday Fri) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-01-10) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-01-11) (weekday Sun) + (title "The HOLY FAMILY of JESUS, MARY AND JOSEPH II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-12) (weekday Mon) (title "FERIA IV Cl W \226\128\160") + (formulary_override ("Mass of 1st Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-01-13) (weekday Tue) (title "The BAPTISM of OUR LORD II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-14) (weekday Wed) (title "St HILARY B C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-01-15) (weekday Thu) + (title "St PAUL the FIRST HERMIT C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-16) (weekday Fri) (title "St MARCELLUS I P M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-01-17) (weekday Sat) (title "St ANTHONY Ab III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-18) (weekday Sun) + (title "2nd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-19) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after the Epiphany")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-01-20) (weekday Tue) + (title "SS FABIAN P & SEBASTIAN M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-21) (weekday Wed) + (title "St AGNES \194\167 V M III Cl (Priv.) R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-22) (weekday Thu) + (title "SS VINCENT & ANASTASIUS MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-23) (weekday Fri) + (title "St RAYMUND of PENAFORT C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-24) (weekday Sat) (title "St TIMOTHY B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-25) (weekday Sun) + (title "3rd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-01-26) (weekday Mon) (title "St POLYCARP B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-27) (weekday Tue) + (title "St JOHN CHRYSOSTOM B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-28) (weekday Wed) (title "St PETER NOLASCO C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-29) (weekday Thu) + (title "St FRANCIS de SALES B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-30) (weekday Fri) (title "St MARTINA V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-01-31) (weekday Sat) (title "St JOHN BOSCO C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-01) (weekday Sun) (title "SEPTUAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-02) (weekday Mon) + (title "The PURIFICATION of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-03) (weekday Tue) + (title + "Today may be given the special blessing of candles; the special blessing of throats; and") + (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-02-04) (weekday Wed) (title "St ANDREW CORSINI B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-05) (weekday Thu) + (title "St AGATHA \194\167 V M III Cl (Priv.) R JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-06) (weekday Fri) (title "St TITUS B C III Cl (Priv.) W SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-07) (weekday Sat) + (title "St ROMUALD Ab III Cl W # IH JCHP*") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-08) (weekday Sun) (title "SEXAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-09) (weekday Mon) + (title "St CYRIL of ALEXANDRIA B C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-10) (weekday Tue) (title "St SCHOLASTICA V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-11) (weekday Wed) + (title "The APPARITION of the BVM IMMACULATE III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-12) (weekday Thu) + (title "The SEVEN HOLY FOUNDERS of the ORDER of the SERVANTS of the") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-13) (weekday Fri) (title "FERIA IV Cl V \226\128\161") + (formulary_override ("Mass of Sexagesima Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-02-14) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("III Mass of BVM")) (bvm_numeral (III)) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-02-15) (weekday Sun) (title "QUINQUAGESIMA SUNDAY II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-16) (weekday Mon) (title "FERIA IV Cl V \226\128\161") + (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-02-17) (weekday Tue) (title "FERIA IV Cl V \226\128\161") + (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-02-18) (weekday Wed) (title "ASH WEDNESDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-19) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-20) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-21) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-22) (weekday Sun) (title "1st SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-23) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-24) (weekday Tue) (title "St MATTHIAS Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-02-25) (weekday Wed) (title "EMBER WEDNESDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-26) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-02-27) (weekday Fri) (title "EMBER FRIDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-02-28) (weekday Sat) (title "EMBER SATURDAY of LENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-01) (weekday Sun) (title "2nd SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-03-02) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-03) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-04) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-05) (weekday Thu) (title "FERIA III Cl V JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-06) (weekday Fri) + (title "SS PERPETUA \194\167 & FELICITY \194\167 MM III Cl (Priv.) R SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-07) (weekday Sat) + (title "St THOMAS AQUINAS C D III Cl (Priv.) W IH JCHP*") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-08) (weekday Sun) (title "3rd SUNDAY in LENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-09) (weekday Mon) + (title "St FRANCES of ROME W III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-10) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-11) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-12) (weekday Thu) + (title "St GREGORY I P C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-13) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-14) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-15) (weekday Sun) (title "4th SUNDAY in LENT I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-16) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-17) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-18) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-19) (weekday Thu) + (title "St JOSEPH \194\167 SPOUSE of the BVM C, PATRON of the UNIVERSAL") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-20) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-21) (weekday Sat) (title "St BENEDICT Ab III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-22) (weekday Sun) (title "PASSION SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-23) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-24) (weekday Tue) + (title "St GABRIEL Archangel III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-25) (weekday Wed) + (title "The ANNUNCIATION of the BVM I Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-26) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-27) (weekday Fri) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-28) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-03-29) (weekday Sun) (title "PALM SUNDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-03-30) (weekday Mon) (title "MONDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-03-31) (weekday Tue) (title "TUESDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-01) (weekday Wed) (title "WEDNESDAY of HOLY WEEK I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-02) (weekday Thu) (title "MAUNDY THURSDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-03) (weekday Fri) (title "GOOD FRIDAY I Cl B") + (formulary_override ()) (bvm_numeral ()) (gloria ()) (creed ()) + (has_diocesan_variant false)) + ((date 2026-04-04) (weekday Sat) (title "HOLY SATURDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-05) (weekday Sun) (title "EASTER I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-06) (weekday Mon) (title "EASTER MONDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-07) (weekday Tue) (title "EASTER TUESDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-08) (weekday Wed) (title "EASTER WEDNESDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-09) (weekday Thu) (title "EASTER THURSDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-10) (weekday Fri) (title "EASTER FRIDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-11) (weekday Sat) + (title "EASTER SATURDAY (SABBATO in ALBIS) I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-12) (weekday Sun) (title "LOW SUNDAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-13) (weekday Mon) (title "St HERMENEGILD M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-04-14) (weekday Tue) (title "St JUSTIN M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-15) (weekday Wed) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-04-16) (weekday Thu) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-04-17) (weekday Fri) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-04-18) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-04-19) (weekday Sun) (title "2nd SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-20) (weekday Mon) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-04-21) (weekday Tue) (title "St ANSELM B C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-04-22) (weekday Wed) + (title "SS SOTER & CAIUS PP MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-04-23) (weekday Thu) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-04-24) (weekday Fri) + (title "St FIDELIS of SIGMARINGEN M III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-04-25) (weekday Sat) + (title "THE GREATER LITANIES. St MARK Evangelist II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-04-26) (weekday Sun) (title "3rd SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-04-27) (weekday Mon) (title "St PETER CANISIUS C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-04-28) (weekday Tue) + (title "St PAUL of the CROSS C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-29) (weekday Wed) (title "St PETER M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-04-30) (weekday Thu) + (title "St CATHERINE of SIENA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-05-01) (weekday Fri) + (title "St JOSEPH \194\167 the WORKER, SPOUSE of the BVM C I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-02) (weekday Sat) + (title "St ATHANASIUS B C D III Cl (Priv.) W IH JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-05-03) (weekday Sun) (title "4th SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-04) (weekday Mon) (title "St MONICA W III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-05) (weekday Tue) (title "St PIUS V P C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-06) (weekday Wed) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-05-07) (weekday Thu) + (title "St STANISLAUS B M III Cl R # JCHP*") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-08) (weekday Fri) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-05-09) (weekday Sat) + (title "St GREGORY NAZIANZEN B C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-05-10) (weekday Sun) (title "5th SUNDAY after EASTER II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-11) (weekday Mon) + (title "SS PHILIP \194\167 & JAMES \194\167 App II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-05-12) (weekday Tue) + (title "SS NEREUS, ACHILLEUS, DOMITILLA V, & PANCRAS MM III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-13) (weekday Wed) (title "VIGIL of The ASCENSION II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-14) (weekday Thu) (title "The ASCENSION I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-15) (weekday Fri) + (title "St JOHN BAPTIST de la SALLE C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-16) (weekday Sat) (title "St UBALDUS B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-17) (weekday Sun) + (title "SUNDAY after the ASCENSION II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-18) (weekday Mon) (title "St VENANTIUS M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-05-19) (weekday Tue) + (title "St PETER CELESTINE P C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-20) (weekday Wed) + (title "St BERNARDINE of SIENA C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-05-21) (weekday Thu) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-05-22) (weekday Fri) (title "FERIA IV Cl W \226\128\161") + (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) + (gloria (true)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-05-23) (weekday Sat) (title "VIGIL of PENTECOST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-05-24) (weekday Sun) (title "PENTECOST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-25) (weekday Mon) (title "WHIT MONDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-26) (weekday Tue) (title "WHIT TUESDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-27) (weekday Wed) + (title "WHIT WEDNESDAY (EMBER DAY) I Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-28) (weekday Thu) (title "WHIT THURSDAY I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-29) (weekday Fri) (title "WHIT FRIDAY (EMBER DAY) I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-30) (weekday Sat) (title "WHIT SATURDAY (EMBER DAY) I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-05-31) (weekday Sun) (title "The MOST HOLY TRINITY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-01) (weekday Mon) (title "St ANGELA MERICI V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-02) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 1st Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-03) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 1st Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-04) (weekday Thu) (title "CORPUS CHRISTI I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-05) (weekday Fri) + (title "St BONIFACE B M III Cl (Priv.) R SH") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-06) (weekday Sat) + (title "St NORBERT B C III Cl W # IH JCHP") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-07) (weekday Sun) + (title "2nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-08) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-09) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 2nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-10) (weekday Wed) (title "St MARGARET Q W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-11) (weekday Thu) (title "St BARNABAS Ap III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-06-12) (weekday Fri) (title "The SACRED HEART of JESUS I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-06-13) (weekday Sat) + (title "St ANTHONY of PADUA C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-14) (weekday Sun) + (title "3rd SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-15) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 3rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-16) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 3rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-17) (weekday Wed) + (title "St GREGORY BARBARIGO B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-18) (weekday Thu) + (title "St EPHREM the SYRIAN Deacon C D III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-19) (weekday Fri) + (title "St JULIANA FALCONIERI V III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-20) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2026-06-21) (weekday Sun) + (title "4th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-22) (weekday Mon) (title "St PAULINUS B C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-23) (weekday Tue) + (title "VIGIL of The NATIVITY of JOHN the BAPTIST \194\167 II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-06-24) (weekday Wed) + (title "The NATIVITY of JOHN the BAPTIST \194\167 I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-06-25) (weekday Thu) (title "St WILLIAM Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-26) (weekday Fri) + (title "SS JOHN & PAUL \194\167 MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-06-27) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2026-06-28) (weekday Sun) + (title "5th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-29) (weekday Mon) + (title "SS PETER \194\167 & PAUL \194\167 App I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-06-30) (weekday Tue) + (title "The COMMEMORATION of St PAUL \194\167 Ap III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-01) (weekday Wed) + (title "The MOST PRECIOUS BLOOD of OUR LORD JESUS CHRIST I Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-02) (weekday Thu) + (title "The VISITATION of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-03) (weekday Fri) (title "St IRENAEUS B M III Cl R # SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-04) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2026-07-05) (weekday Sun) + (title "6th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-06) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 6th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-07) (weekday Tue) + (title "SS CYRIL & METHODIUS BB CC III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-08) (weekday Wed) (title "St ELIZABETH Q W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-09) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 6th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-10) (weekday Fri) + (title "The SEVEN HOLY BROTHERS MM & SS RUFINA & SECUNDA VV MM") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-11) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2026-07-12) (weekday Sun) + (title "7th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-13) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 7th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-14) (weekday Tue) + (title "St BONAVENTURE B C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-15) (weekday Wed) (title "St HENRY Emperor C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-16) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 7th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-17) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 7th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-18) (weekday Sat) + (title "St CAMILLUS de LELLIS C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-19) (weekday Sun) + (title "8th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-20) (weekday Mon) (title "St JEROME EMILIANI C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-21) (weekday Tue) + (title "St LAURENCE of BRINDISI C D III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-22) (weekday Wed) + (title "St MARY MAGDALEN Penitent III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-23) (weekday Thu) (title "St APOLLINARIS B M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-24) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 8th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-25) (weekday Sat) (title "St JAMES \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-26) (weekday Sun) + (title "9th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-07-27) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 9th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-28) (weekday Tue) + (title "SS NAZARIUS & CELSUS MM & VICTOR I P M & INNOCENT I P C III Cl") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-29) (weekday Wed) (title "St MARTHA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-07-30) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 9th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-07-31) (weekday Fri) (title "St IGNATIUS C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-01) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2026-08-02) (weekday Sun) + (title "10th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-03) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 10th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-04) (weekday Tue) (title "St DOMINIC C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-05) (weekday Wed) + (title "The DEDICATION of St MARY of the SNOWS III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-06) (weekday Thu) + (title "The TRANSFIGURATION of OUR LORD JESUS CHRIST II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-07) (weekday Fri) (title "St CAJETAN C III Cl W # SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-08) (weekday Sat) + (title "St JOHN MARY VIANNEY C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-09) (weekday Sun) + (title "11th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-10) (weekday Mon) (title "St LAURENCE \194\167 M II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-11) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 11th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-12) (weekday Wed) (title "St CLARE V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-13) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 11th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-14) (weekday Fri) + (title "VIGIL of The ASSUMPTION of the BVM II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-15) (weekday Sat) (title "The ASSUMPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-16) (weekday Sun) + (title "12th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-08-17) (weekday Mon) (title "St HYACINTH C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-18) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 12th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-19) (weekday Wed) (title "St JOHN EUDES C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-20) (weekday Thu) (title "St BERNARD Ab D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-21) (weekday Fri) + (title "St JANE FRANCES FR\195\137MIOT de CHANTAL W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-22) (weekday Sat) + (title "The IMMACULATE HEART of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-23) (weekday Sun) + (title "13th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-24) (weekday Mon) + (title "St BARTHOLOMEW \194\167 Ap II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-25) (weekday Tue) (title "St LOUIS K C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-26) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 13th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-27) (weekday Thu) + (title "St JOSEPH CALASANCTIUS C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-08-28) (weekday Fri) + (title "St AUGUSTINE B C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-29) (weekday Sat) + (title "The BEHEADING of St JOHN the BAPTIST \194\167 III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-08-30) (weekday Sun) + (title "14th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-08-31) (weekday Mon) (title "St RAYMUND NONNATUS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-01) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 14th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-02) (weekday Wed) (title "St STEPHEN K C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-03) (weekday Thu) + (title "St PIUS X P C III Cl (Priv.) W JCHP") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-04) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") + (formulary_override ("Mass of 14th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-05) (weekday Sat) + (title "St LAURENCE JUSTINIAN B C III Cl W # IH JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-06) (weekday Sun) + (title "15th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-09-07) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 15th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-08) (weekday Tue) (title "The NATIVITY of the BVM II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-09) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 15th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-10) (weekday Thu) + (title "St NICOLAS of TOLENTINO C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-11) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 15th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-12) (weekday Sat) + (title "The MOST HOLY NAME of MARY III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-13) (weekday Sun) + (title "16th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-09-14) (weekday Mon) + (title "The EXALTATION of the HOLY CROSS II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-15) (weekday Tue) + (title "The SEVEN SORROWS of the BVM II Cl W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-16) (weekday Wed) + (title + "SS CORNELIUS \194\167 P & CYPRIAN \194\167 B MM III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-17) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 16th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-18) (weekday Fri) + (title "St JOSEPH of CUPERTINO C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-19) (weekday Sat) + (title "St JANUARIUS B & COMPS MM III Cl R #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-20) (weekday Sun) + (title "17th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-21) (weekday Mon) + (title "St MATTHEW \194\167 Ap Evangelist II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-09-22) (weekday Tue) + (title "St THOMAS of VILLANOVA B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-23) (weekday Wed) + (title "EMBER WEDNESDAY of SEPTEMBER II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-24) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 17th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-25) (weekday Fri) + (title "EMBER FRIDAY of SEPTEMBER II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-26) (weekday Sat) + (title "EMBER SATURDAY of SEPTEMBER II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-09-27) (weekday Sun) + (title "18th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-28) (weekday Mon) (title "St WENCESLAUS Duke M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-09-29) (weekday Tue) + (title "The DEDICATION of St MICHAEL Archangel I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-09-30) (weekday Wed) + (title "St JEROME Priest C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-01) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") + (formulary_override ("Mass of 18th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-02) (weekday Fri) + (title "The HOLY GUARDIAN ANGELS III Cl (Priv.) W SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-03) (weekday Sat) + (title "St TERESA of the CHILD JESUS V III Cl (Priv.) W IH JCHP*") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-04) (weekday Sun) + (title "19th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-10-05) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 19th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-06) (weekday Tue) (title "St BRUNO C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-07) (weekday Wed) (title "OUR LADY of the ROSARY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-10-08) (weekday Thu) (title "St BRIDGET W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-09) (weekday Fri) (title "St JOHN LEONARDI C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-10) (weekday Sat) (title "St FRANCIS BORGIA C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-11) (weekday Sun) + (title "20th SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-10-12) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 20th Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-13) (weekday Tue) (title "St EDWARD K C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-14) (weekday Wed) + (title "St CALLISTUS I P M III Cl (Priv.) R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-15) (weekday Thu) (title "St TERESA V III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-16) (weekday Fri) (title "St HEDWIG W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-17) (weekday Sat) + (title "St MARGARET MARY ALACOQUE V III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-18) (weekday Sun) + (title "21st SUNDAY after PENTECOST II Cl G") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-10-19) (weekday Mon) + (title "St PETER of ALCANTARA C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-20) (weekday Tue) (title "St JOHN CANTIUS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-21) (weekday Wed) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 21st Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-22) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 21st Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-23) (weekday Fri) + (title "St ANTHONY MARY CLARET B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-24) (weekday Sat) (title "St RAPHAEL Archangel III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-25) (weekday Sun) (title "CHRIST the KING I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-10-26) (weekday Mon) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-27) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-10-28) (weekday Wed) + (title "SS SIMON \194\167 & JUDE \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-10-29) (weekday Thu) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-30) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 22nd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-10-31) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2026-11-01) (weekday Sun) (title "ALL SAINTS' DAY I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-11-02) (weekday Mon) (title "ALL SOULS' DAY I Cl B") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-03) (weekday Tue) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-04) (weekday Wed) (title "St CHARLES B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-05) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-06) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") + (formulary_override ("Mass of 23rd Sunday after Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-07) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP*") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant true)) + ((date 2026-11-08) (weekday Sun) + (title "5th SUNDAY remaining after the EPIPHANY II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-11-09) (weekday Mon) + (title "The DEDICATION of the ARCHBASILICA of OUR SAVIOUR II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-11-10) (weekday Tue) (title "St ANDREW AVELLINO C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-11) (weekday Wed) (title "St MARTIN B C III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-12) (weekday Thu) (title "St MARTIN I P M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-13) (weekday Fri) (title "St DIDACUS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-14) (weekday Sat) (title "St JOSAPHAT B M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-15) (weekday Sun) + (title "6th SUNDAY remaining after the EPIPHANY II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-11-16) (weekday Mon) (title "St GERTRUDE V III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-17) (weekday Tue) + (title "St GREGORY THAUMATURGUS B C III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-18) (weekday Wed) + (title + "The DEDICATION of the BASILICAS of SS PETER & PAUL III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-19) (weekday Thu) (title "St ELIZABETH W III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-20) (weekday Fri) (title "St FELIX de VALOIS C III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-21) (weekday Sat) + (title "The PRESENTATION of the BVM III Cl W #") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-22) (weekday Sun) + (title "24th & LAST SUNDAY After PENTECOST II Cl G") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-11-23) (weekday Mon) + (title "St CLEMENT I \194\167 P M III Cl (Priv.) R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-24) (weekday Tue) + (title "St JOHN of the CROSS C D III Cl (Priv.) W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-25) (weekday Wed) (title "St CATHERINE V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-26) (weekday Thu) (title "St SILVESTER Ab III Cl W #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-11-27) (weekday Fri) (title "FERIA IV Cl G \226\128\161") + (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-11-28) (weekday Sat) + (title "OUR LADY on SATURDAY IV Cl W \226\128\160") + (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) + (creed (false)) (has_diocesan_variant false)) + ((date 2026-11-29) (weekday Sun) (title "ADVENT SUNDAY I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-11-30) (weekday Mon) (title "St ANDREW \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-01) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-12-02) (weekday Wed) (title "St BIBIANA V M III Cl R #") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-03) (weekday Thu) + (title "St FRANCIS XAVIER C III Cl (Priv.) W JCHP") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-04) (weekday Fri) + (title "St PETER CHRYSOLOGUS B C D III Cl W # SH") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-12-05) (weekday Sat) (title "FERIA III Cl V IH JCHP*") + (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-12-06) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-07) (weekday Mon) + (title "St AMBROSE B C D III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-12-08) (weekday Tue) + (title "The IMMACULATE CONCEPTION of the BVM I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-09) (weekday Wed) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-12-10) (weekday Thu) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant true)) + ((date 2026-12-11) (weekday Fri) + (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (false)) + (has_diocesan_variant true)) + ((date 2026-12-12) (weekday Sat) (title "FERIA III Cl V") + (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-12-13) (weekday Sun) + (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-14) (weekday Mon) (title "FERIA III Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-15) (weekday Tue) (title "FERIA III Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-16) (weekday Wed) + (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-17) (weekday Thu) (title "FERIA II Cl V") + (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) + (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-18) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-19) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-20) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-21) (weekday Mon) (title "St THOMAS \194\167 Ap II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-22) (weekday Tue) (title "FERIA II Cl V") + (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-12-23) (weekday Wed) (title "FERIA II Cl V") + (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) + (gloria (false)) (creed (false)) (has_diocesan_variant false)) + ((date 2026-12-24) (weekday Thu) + (title "VIGIL of The NATIVITY of OUR LORD I Cl V") + (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (has_diocesan_variant false)) + ((date 2026-12-25) (weekday Fri) (title "The NATIVITY of OUR LORD I Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-26) (weekday Sat) + (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) + (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-27) (weekday Sun) + (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-28) (weekday Mon) (title "The HOLY INNOCENTS MM II Cl R") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-12-29) (weekday Tue) + (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant true)) + ((date 2026-12-30) (weekday Wed) + (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false)) + ((date 2026-12-31) (weekday Thu) + (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") + (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (has_diocesan_variant false))) diff --git a/test/test_colitur.ml b/test/test_colitur.ml index 8d05f75..6db744f 100644 --- a/test/test_colitur.ml +++ b/test/test_colitur.ml @@ -14,7 +14,9 @@ let () = Test_overlay.suite; Test_overlay_ini.suite; Test_temporal_ef.suite; Test_validate.suite; Test_precedence.suite; Test_calendar.suite; Test_precedence_ef.suite; Test_sanctoral_ef.suite; Test_rite_ef.suite; Test_rubrics_ef.suite; - Test_differential.suite; Test_oracle.suite; Test_oracle.suite_2038; Test_oracle.suite_2035; Test_lms_ordo.suite; + Test_differential.suite; Test_oracle.suite; Test_oracle.suite_2038; Test_oracle.suite_2035; + Test_lms_ordo.suite_2023_2024; Test_lms_ordo.suite_2024_2025; Test_lms_ordo.suite_2025_2026; + Test_lms_ordo.suite_allow_list; Test_golden.suite; ("lectionary", Test_lectionary.suite); ("lectionary-ef", Test_lectionary_ef.suite); diff --git a/test/test_lms_ordo.ml b/test/test_lms_ordo.ml index a728cbc..84c4776 100644 --- a/test/test_lms_ordo.ml +++ b/test/test_lms_ordo.ml @@ -1,112 +1,88 @@ -(* Task 6 (2026-08-21-colitur-celebrant-rubrics-phase1): validation layer 6 - -- the Latin Mass Society's own printed Ordo for England & Wales - (test/fixtures/lms-ordo-2024-2025.sexp; that file's own provenance - header carries the full source citation, SHA-256 and the - characterisation record demanded before trusting a single row of it). +(* Task 6 (2026-08-21-colitur-celebrant-rubrics-phase1) built this layer + against ONE LMS Ordo edition (2024-2025). The Witnesses task + (2026-08-22, same phase) extends it to THREE editions -- 2023-2024, + 2024-2025, 2025-2026 -- each compared in its OWN window, counted and + reported SEPARATELY, never merged: a divergence appearing in one year + and not another is informative on its own, and merging would hide it. + [make_suite] below is the shared machinery Task 6 built as a single + flat file; every per-year fact that Task 6 hardcoded (window dates, + fixture SHA-256, the "only Good Friday has no Creed marker" pin, the + formulary-bucket totals, the BVM-Saturday population) is now a + parameter or a value RE-DERIVED from the rubric independently per + window, not copied forward -- see each call site below for the + per-edition numbers, which do differ (397/399/400 rows; not every + edition even has the same II-class "sharp pairing" saint available, + see [fixture_probes] in tools/extract_lms_ordo.ml's own header for + 2025-2026's own Joachim-is-impeded finding). WHY THIS LAYER EXISTS, AND WHAT IT IS INDEPENDENT OF: layers 3-4 (test_differential.ml, test_oracle.ml) are ONE LINEAGE running Divinum Officium -> missalemeum -> lectio -> colitur (CLAUDE.md's "know what each layer cannot see" section); layer 5 (test_golden.ml) pins colitur's own output against itself. This Ordo is compiled independently by the - Latin Mass Society (a printed book, ISBN 9781739209636, England & Wales - diocesan propers) from the 1962 Missal/1960 rubrics directly -- it never - passed through Divinum Officium, missalemeum or lectio at any point, so - an error inherited by that whole lineage (colitur's own bootstrap - included) is visible here for the first time. + Latin Mass Society (a printed book, England & Wales diocesan propers) + from the 1962 Missal/1960 rubrics directly -- it never passed through + Divinum Officium, missalemeum or lectio at any point, so an error + inherited by that whole lineage (colitur's own bootstrap included) is + visible here for the first time. Three editions of the SAME publisher's + book are still only ONE compiler's judgement (see docs/research/ordo/ + PROVENANCE-ordo-corpus.md's own "what this corpus still cannot show" -- + genuine cross-compiler independence needs the FIUV layer, test_fiuv_ + ordo.ml, built separately in this same task). SCOPE, decided after running the comparison against real data (not - guessed in advance -- see the fixture's own CHARACTERISATION section - and task-6-report.md for the measurements this scoping rests on): + guessed in advance -- see each fixture's own CHARACTERISATION section): - The CREED (RG 475-476, {!Rite_ef.Rubrics_ef.creed}): compared on - every day, full 1:1. One genuine day is EXCLUDED, not silently - skipped: 2025-04-18 (Good Friday) has no Mass in the 1955-restored - Holy Week, so the Ordo prints no Gl/Cr line at all -- [test_ - creed_coverage] asserts this is the ONLY such day, so a future - parsing regression that swallowed a real row would fail loudly - here, not slip into "explained" silently. + every day, full 1:1, in every edition's own window. Exactly one day + per window is EXCLUDED, not silently skipped: that window's own + Good Friday (RE-DERIVED per window from {!Colitur_kernel.Computus. + gregorian_easter}, never hardcoded to a specific date) has no Mass + in the 1955-restored Holy Week, so the Ordo prints no Gl/Cr line at + all there -- [test_creed_coverage] asserts this is the ONLY such + day per window. - The BVM-SATURDAY SEASONAL SELECTION (RG 309(a), "iuxta temporum diversitatem", {!Rite_ef.Lectionary_ef.bvm_saturday_citations}): - the coordinator addendum's own "sharper check" -- the Ordo's own - roman numeral (I-V) names WHICH of the five seasonal "Missae de - sancta Maria in sabbato" is said, so it validates colitur's - SEASONAL SELECTION, not merely that some BVM Mass was chosen. - Built, because the extraction supports it (whole-line anchored - match against all five, see the fixture header on why substring - matching is wrong): every {!Colitur_kernel.Mass_formulary.Votive} - day inside the fixture's own 2024-11-27..2025-12-31 window is - checked against the numeral's implied season. + the Ordo's own roman numeral (I-V) names WHICH of the five seasonal + "Missae de sancta Maria in sabbato" is said, so it validates + colitur's SEASONAL SELECTION, not merely that some BVM Mass was + chosen. Checked against every {!Colitur_kernel.Mass_formulary. + Votive} day inside each edition's own window. - The FORMULARY OVERRIDE (does the day say its own Mass, or a borrowed one) -- compared for THREE of {!Colitur_kernel. - Mass_formulary.source}'s five constructors, each independently - 100% clean against the real fixture: - [Proper] (179 of 400 days): the Ordo shows NO "Mass of ..." line. - [Preceding_sunday] (66 of 400): the Ordo ALWAYS shows one. - [Common] (2 of 400): the Ordo shows NO "Mass of ..." line either - -- a Common-routed saint (ubaldus, didacus) still keeps his OWN - title in the Ordo, borrowing only the Common's PREFACE ("Common - Pr" on the title line itself), never a separate override line. - [Votive] is covered by the BVM check above instead (its own - override line IS the roman-numeral line). - [Own_slug] (139 of 400) is DELIBERATELY EXCLUDED from this axis, - not silently -- a real, evidenced data-representation fact, not a - guess: 11 of its 139 days DO show a "Mass of ..." override - ("2nd Sunday of Advent", "the Epiphany", "1st Sunday after - Pentecost"), because data/ef/lectionary.sexp carries some ferial - slugs (e.g. [ef-advent-2-monday]) as an EXPLICIT entry whose - citations are byte-identical to the following Sunday's own - ([ef-advent-sunday-2]: both "Rom 15:4-13" / "Matt 11:2-10" -- - checked directly against the shipped data), rather than resolving - through the {!Colitur_kernel.Mass_formulary.Preceding_sunday} - fallback path. Both representations name the SAME texts -- this is - a provenance-field ambiguity in colitur's own data, not a rubric - question the Ordo could adjudicate either way, so asserting on it - would manufacture exactly the kind of false divergence the - coordinator addendum's "collapsed to ~0 real ones" warning is - about. Recorded here rather than dropped silently, per the task - brief's own instruction for exactly this situation. - - GLORIA is extracted into the fixture (a genuine, independently useful + Mass_formulary.source}'s five constructors ([Proper]/ + [Preceding_sunday]/[Common]), on the same [Own_slug]-excluded, + [Votive]-covered-separately basis Task 6 established (see that + task's own report for the full reasoning: 11 of [Own_slug]'s + real days show an Ordo override anyway, a data-representation + ambiguity in colitur's own lectionary, not a rubric question the + Ordo could adjudicate). + + GLORIA is extracted into every fixture (a genuine, independently useful field for the still-unbuilt Phase 2 Gloria rule) but NOT compared here: - colitur has no {!Rite_ef.Rubrics_ef}-level Gloria predicate yet (the - design doc defers it explicitly), so there is nothing on colitur's own - side to compare it against. Comparing it would be comparing the Ordo - against nothing. + colitur has no {!Rite_ef.Rubrics_ef}-level Gloria predicate yet. DIOCESAN SCOPE: colitur computes the UNIVERSAL General Roman Calendar only (no diocesan overlay loaded by the differential/oracle harnesses - anywhere in this suite) -- the Ordo is an England & Wales diocesan - Ordo, and 156 of its 400 days (39%) carry at least one diocesan - variant. Every comparison in this file reads ONLY the fixture's own - universal-block fields ([formulary_override], [bvm_numeral], [gloria], - [creed] are all derived from the text BEFORE the first diocese-list - line -- see extract_lms_ordo.ml's own [scan_block]); the diocesan text - itself is never read at all, only its PRESENCE is recorded - ([has_diocesan_variant]), so no diocesan variant can leak into a - comparison here by construction, not merely by care. *) + anywhere in this suite) -- every LMS edition is an England & Wales + diocesan Ordo, and each fixture's own provenance header quantifies how + many of its days carry at least one diocesan variant. Every comparison + in this file reads ONLY each fixture's own universal-block fields. *) module Cal = Colitur_kernel.Calendar module Layer = Colitur_kernel.Layer module Overlay = Colitur_kernel.Overlay module LD = Colitur_kernel.Liturgical_day module Date = Colitur_kernel.Date +module Computus = Colitur_kernel.Computus module MF = Colitur_kernel.Mass_formulary module V = Rite_ef.Vocab_ef module TE = Rite_ef.Temporal_ef let sanctoral_path = "../data/ef/sanctoral.sexp" let adjustments_path = "../data/ef/adjustments.sexp" -let fixture_path = "fixtures/lms-ordo-2024-2025.sexp" -let allow_list_path = "../data/ef/expected-divergences-lms.sexp" - -(* Asserted, not merely documented -- test_oracle.ml's own [fixture_sha256] - comment explains why: a hand-edit or partial re-extraction would - otherwise silently turn the oracle into an unlabelled snapshot of - whatever someone last ran. Matches the fixture's own provenance header. *) -let fixture_sha256 = "da817b75c5bf40ed3be1d5f6890b199705e02ce4d42111253ab8547bccabc3f7" (* Duplicated, not shared, from test_oracle.ml/test_differential.ml's own identical function -- neither file exposes an .mli the other could @@ -176,23 +152,20 @@ type ordo_row = { } [@@deriving sexp] -let ordo_rows () = +let ordo_rows fixture_path = let sexp = try Sexplib.Sexp.load_sexp fixture_path with e -> Alcotest.failf "%s: failed to load: %s" fixture_path (Printexc.to_string e) in list_of_sexp ordo_row_of_sexp sexp -(* The fixture's own real window -- 2024-11-27 ("End of November 2024") - through 2025-12-31 (the day before the extractor's own stop marker). - 400 = 4 (27-30 Nov 2024) + 31 (Dec 2024) + 365 (2025, not a leap year). *) -let window_first = "2024-11-27" -let window_last = "2025-12-31" - (* ---------------------------------------------------------------------- *) -(* The colitur side, over the same window. Mirrors test_oracle.ml's own *) -(* [colitur_rows]: the resolution walk starts a year EARLY because a *) -(* liturgical year is Advent-anchored and straddles two civil years. *) +(* The colitur side, over the SAME window a given fixture covers. Mirrors *) +(* test_oracle.ml's own [colitur_rows]: the resolution walk starts a civil *) +(* year EARLY (and ends one late) because a liturgical year is *) +(* Advent-anchored and straddles two civil years -- generalised from Task *) +(* 6's single hardcoded [2023..2025] to a [~year_lo]/[~year_hi] parameter *) +(* per window, since the three editions' own civil-year spans differ. *) (* ---------------------------------------------------------------------- *) type colitur_row = { @@ -202,18 +175,20 @@ type colitur_row = { c_creed : bool; } -let colitur_rows () = +let colitur_rows ~year_lo ~year_hi ~window_first ~window_last = let layer = real_layer () in let rite = Rite_ef.context ~lectionary:(real_lectionary ()) ~commons:(real_commons ()) in let by_rata : (int, (V.season, V.rank) LD.t) Hashtbl.t = Hashtbl.create 800 in - for y = 2023 to 2025 do + for y = year_lo to year_hi do let days = Cal.year rite layer y in Array.iter (fun (d : (V.season, V.rank) LD.t) -> Hashtbl.replace by_rata (Date.to_rata d.LD.date) d) days done; - let mk y m d = match Date.make ~year:y ~month:m ~day:d with Ok t -> t | Error e -> failwith e in + let mk s = + match Date.of_iso8601 s with Ok d -> d | Error e -> Alcotest.failf "%s: not a valid ISO-8601 date: %s" s e + in let rows = ref [] in - let d = ref (mk 2024 11 27) in - let stop = mk 2025 12 31 in + let d = ref (mk window_first) in + let stop = mk window_last in while Date.compare !d stop <= 0 do (match Hashtbl.find_opt by_rata (Date.to_rata !d) with | Some day -> @@ -228,11 +203,7 @@ let colitur_rows () = (* ---------------------------------------------------------------------- *) (* RG 309(a), "iuxta temporum diversitatem" -- INDEPENDENTLY re-derived *) -(* from the rubric, not called from Lectionary_ef.bvm_saturday_citations *) -(* (private to that .ml, no .mli export, and re-deriving here is itself *) -(* the more useful check: importing colitur's own function would make *) -(* this axis tautological). Mirrors that function's own season match *) -(* exactly -- see its citation in lectionary_ef.ml for the scan lines. *) +(* from the rubric, not called from Lectionary_ef.bvm_saturday_citations. *) (* ---------------------------------------------------------------------- *) let expected_bvm_numeral season ~month ~day = @@ -246,13 +217,16 @@ let expected_bvm_numeral season ~month ~day = (* ---------------------------------------------------------------------- *) (* data/ef/expected-divergences-lms.sexp -- same shape as *) -(* test_oracle.ml's own [allow_entry]/[load_allow_list]. *) +(* test_oracle.ml's own [allow_entry]/[load_allow_list]. ONE allow-list *) +(* file for all three editions (they are one lineage, the same publisher *) +(* and compiler) -- an entry's own [note] names which edition(s) it fired *) +(* on when that matters. *) (* ---------------------------------------------------------------------- *) type allow_entry = { id : string; citation : string; verdict : string; note : string; expected_rows : int } [@@deriving sexp] -let load_allow_list () = +let load_allow_list allow_list_path = let sexps = try Sexplib.Sexp.load_sexps allow_list_path with e -> Alcotest.failf "%s: failed to load: %s" allow_list_path (Printexc.to_string e) @@ -260,213 +234,19 @@ let load_allow_list () = List.map allow_entry_of_sexp sexps (* ---------------------------------------------------------------------- *) -(* Tests *) -(* ---------------------------------------------------------------------- *) - -let test_fixture_checksum () = - Alcotest.(check string) "fixture SHA-256 matches its provenance note" fixture_sha256 - (sha256_of_file fixture_path) - -let test_dates_align () = - let ordo = ordo_rows () in - let colitur = colitur_rows () in - Alcotest.(check int) "the Ordo fixture has 400 rows (2024-11-27..2025-12-31)" 400 (List.length ordo); - Alcotest.(check int) "colitur resolved the same number of days" (List.length ordo) (List.length colitur); - (match ordo with o :: _ -> Alcotest.(check string) "first date" window_first o.date | [] -> Alcotest.fail "empty"); - (match List.rev ordo with - | o :: _ -> Alcotest.(check string) "last date" window_last o.date - | [] -> Alcotest.fail "empty"); - let mismatched = - List.filter_map - (fun (o, c) -> if String.equal o.date c.c_date then None else Some (o.date, c.c_date)) - (List.combine ordo colitur) - in - Alcotest.(check (list (pair string string))) "no misaligned dates" [] mismatched - -(* Good Friday (2025-04-18) has no Mass at all in the 1955-restored Holy - Week -- the Ordo prints no Gl/Cr line, confirmed directly against the - source (extract_lms_ordo's own row for that date, and the raw pdftotext - text: "The Solemn Liturgical Action is celebrated in the afternoon...", - no "Gl"/"Cr" token anywhere in the block). Asserted as the ONLY such - day, not merely observed once: a future parsing regression that - swallowed a real Gl/Cr line would otherwise silently join this - "not applicable" bucket instead of failing loudly as an unexplained - mismatch. *) -let test_creed_coverage () = - let ordo = ordo_rows () in - let no_creed = List.filter (fun o -> o.creed = None) ordo in - Alcotest.(check (list string)) "only Good Friday has no Ordo Creed marker" [ "2025-04-18" ] - (List.map (fun o -> o.date) no_creed) - -let describe_creed_mismatch (o : ordo_row) (c : colitur_row) = - Printf.sprintf "%s %S: colitur creed=%b, Ordo creed=%b (formulary=%s)" o.date o.title c.c_creed - (Option.get o.creed) - (match c.c_formulary with - | Some { MF.said = Some s; _ } -> Colitur_kernel.Slug.to_string s - | Some { MF.said = None; via = MF.Votive } -> "votive (said unnamed in the data)" - | Some { MF.said = None; _ } -> "NONE (said, unexpectedly outside Votive)" - | None -> "NONE") - -(* The core assertion: every Creed divergence, over all 400 days (Good - Friday excluded per [test_creed_coverage] above -- it is not a - divergence, it is a day with nothing on the Ordo's side to compare), - falls in a named, cited, adjudicated allow-list entry. Zero - unexplained. *) -let test_creed_matches_or_is_explained () = - let ordo = ordo_rows () in - let colitur = colitur_rows () in - let allow_list = load_allow_list () in - let by_id = List.map (fun e -> (e.id, e)) allow_list in - (* No known Creed divergence is adjudicated any more: L1 (RG 476(f), All - Souls' Day) was CLOSED by fixing {!Rite_ef.Rubrics_ef.creed} itself - (whole-branch review finding 1), not by re-adjudicating it -- see - expected-divergences-lms.sexp's own closure note for the citation and - the measured blast radius. [allow_list] is therefore expected to be - empty today; the [by_id]/[explained_counts] wiring below is kept - rather than deleted, because the "every declared entry must have - fired" check at the end is a real invariant worth keeping live even - while the list itself is empty -- exactly the shape a FUTURE entry of - this kind would need. *) - let unexplained = ref [] in - let explained_counts = Hashtbl.create 8 in - List.iter2 - (fun (o : ordo_row) (c : colitur_row) -> - if not (String.equal o.date c.c_date) then Alcotest.failf "misaligned: ordo %s vs colitur %s" o.date c.c_date; - match o.creed with - | None -> () (* Good Friday, see test_creed_coverage *) - | Some ocreed -> - if Bool.equal ocreed c.c_creed then () else unexplained := describe_creed_mismatch o c :: !unexplained) - ordo colitur; - Alcotest.(check (list string)) "every Creed mismatch is named in the allow-list -- none unexplained" [] - (List.rev !unexplained); - Hashtbl.iter - (fun id n -> - match List.assoc_opt id by_id with - | None -> Alcotest.failf "allow-list entry %s used by the comparator but not declared in %s" id allow_list_path - | Some e -> - Alcotest.(check int) (Printf.sprintf "%s: expected_rows matches the actual count" id) e.expected_rows n) - explained_counts; - (* every declared entry must actually have fired, so the allow-list - cannot silently accumulate a dead entry nothing triggers any more *) - List.iter - (fun e -> - if not (Hashtbl.mem explained_counts e.id) then - Alcotest.failf "allow-list entry %s is declared but never matched a real divergence" e.id) - allow_list - -(* ---------------------------------------------------------------------- *) -(* The BVM-Saturday seasonal selection -- the coordinator addendum's own *) -(* "sharper check". Restricted to colitur's [Votive] days, which is *) -(* exactly {!Rite_ef.Lectionary_ef.is_bvm_saturday_office}'s own domain. *) -(* ---------------------------------------------------------------------- *) - -let test_bvm_seasonal_selection () = - let ordo = ordo_rows () in - let colitur = colitur_rows () in - let votive_pairs = - List.filter_map - (fun (o, c) -> - match c.c_formulary with - | Some { MF.via = MF.Votive; _ } -> Some (o, c) - | _ -> None) - (List.combine ordo colitur) - in - Alcotest.(check int) "14 BVM-Saturday (Votive) days fall inside the fixture's own window" 14 - (List.length votive_pairs); - let mismatches = - List.filter_map - (fun (o, c) -> - let expected = expected_bvm_numeral c.c_season ~month:(int_of_string (String.sub c.c_date 5 2)) - ~day:(int_of_string (String.sub c.c_date 8 2)) in - match o.bvm_numeral with - | Some got when String.equal got expected -> None - | Some got -> Some (Printf.sprintf "%s: Ordo says %s, expected %s (season-derived)" o.date got expected) - | None -> Some (Printf.sprintf "%s: colitur says Votive but the Ordo shows no BVM numeral" o.date)) - votive_pairs - in - Alcotest.(check (list string)) "every BVM-Saturday numeral matches its season -- none unexplained" [] mismatches - -(* Reverse direction: every Ordo BVM-numeral day is a colitur Votive day - too (rules out the Ordo naming a Saturday BVM Mass colitur never - computed the office for at all). *) -let test_bvm_numeral_implies_votive () = - let ordo = ordo_rows () in - let colitur = colitur_rows () in - let mismatches = - List.filter_map - (fun (o, c) -> - match (o.bvm_numeral, c.c_formulary) with - | Some n, Some { MF.via = MF.Votive; _ } -> ignore n; None - | Some n, other -> - Some - (Printf.sprintf "%s: Ordo shows %S Mass of BVM but colitur's via is %s" o.date n - (match other with - | Some f -> MF.source_to_string f.MF.via - | None -> "NONE")) - | None, _ -> None) - (List.combine ordo colitur) - in - Alcotest.(check (list string)) "every Ordo BVM numeral day is a colitur Votive day" [] mismatches - -(* ---------------------------------------------------------------------- *) -(* Formulary override, restricted to Proper/Preceding_sunday/Common -- *) +(* Formulary override, restricted to Proper/Common/Preceding_sunday -- *) (* see this file's own header for why Own_slug is excluded, and Votive is *) -(* covered by the BVM checks above instead. *) -(* *) -(* Whole-branch review finding 2: the ORIGINAL version of this test only *) -(* checked WHETHER a Preceding_sunday day showed an override line, never *) -(* WHICH Sunday it named -- so colitur could resume the WRONG Sunday on *) -(* every one of the 66 such days and this layer would stay green (step 3 *) -(* of the reading chain, {!Rite_ef.Lectionary_ef.readings}, is exactly the *) -(* code this was supposed to be testing). Fixed by deriving the EXPECTED *) -(* prose from {!MF.t.said}'s own resolved SLUG -- not by calling colitur's *) -(* own [sunday_slug] a second time (which would make the check tautological, *) -(* the same reasoning this file's own header already gives for *) -(* re-deriving the BVM numeral rather than calling {!Rite_ef. *) -(* Lectionary_ef.bvm_saturday_citations}). The FIRST version of this fix *) -(* instead recomputed the preceding Sunday's DATE and re-derived (season, *) -(* week) via {!Rite_ef.Temporal_ef.temporal} independently -- and was WRONG, caught by its *) -(* own assertion on the very first run: {!Rite_ef.Temporal_ef.temporal}'s raw [week] field *) -(* and the SLUG's own embedded number genuinely diverge for the last *) -(* Sunday before Advent (always slug-numbered "24", whatever the raw week *) -(* count that year -- temporal_ef.ml's own [sunday_slug], the *) -(* [same d last_sunday] branch) and for the "surplus Sundays" that resume *) -(* Epiphany's own numbering when Septuagesima cut it short (same function, *) -(* the [n > 23] branch) -- exactly the two hard cases that function's own *) -(* comment names. Parsing the number back OUT of the already-resolved slug *) -(* sidesteps both: it is not tautological with the wrong-Sunday failure *) -(* mode this whole fix exists to catch (a wrong slug still parses to a *) -(* wrong number, which still fails to match the Ordo's real text), and it *) -(* is simpler and more robust than re-deriving the two special cases a *) -(* second time by hand. *) +(* covered by the BVM checks instead. Unchanged from Task 6 except for *) +(* being read per-window rather than off a single hardcoded fixture. *) (* ---------------------------------------------------------------------- *) -(* English ordinal suffix: 1st, 2nd, 3rd, 4th, 11th, 12th, 13th, 21st... -- - the "teens" exception applies to every multiple of 100 plus 11-13, not - just 11-13 themselves, but nothing in this fixture's own domain (weeks - 1-24) ever reaches three digits, so the simpler [n mod 100] test below - is exercised fully by 11-13 alone and is not a latent bug for values - this function is actually ever called with. *) let ordinal n = let suffix = if n mod 100 >= 11 && n mod 100 <= 13 then "th" - else - match n mod 10 with - | 1 -> "st" - | 2 -> "nd" - | 3 -> "rd" - | _ -> "th" + else match n mod 10 with 1 -> "st" | 2 -> "nd" | 3 -> "rd" | _ -> "th" in Printf.sprintf "%d%s" n suffix -(* [MF.t.said]'s own slug shape for every Preceding_sunday day observed in - the real fixture is [ef--sunday-] ({!Rite_ef.Temporal_ef.sunday_slug}'s - own generic branch -- the ONLY branch that ever reaches a weekday's - [Preceding_sunday] fallback; the specially-NAMED Sundays [ef-low-sunday], - [ef-palm-sunday] etc. are caught by {!Rite_ef.Temporal_ef.named} first and never fall - through to it). Manual parsing, not [Str]/regex (deps frozen): finds the - last "-sunday-" marker and splits on it, since a season word can itself - contain hyphens ("time-after-pentecost") but never contains "-sunday-". *) let parse_sunday_slug slug = let prefix = "ef-" in let plen = String.length prefix in @@ -485,14 +265,23 @@ let parse_sunday_slug slug = let num_str = String.sub body (i + mlen) (blen - i - mlen) in match int_of_string_opt num_str with Some n -> Some (word, n) | None -> None) -(* The Ordo's own prose, derived from [MF.t.said]'s own (season-word, - number) -- verified against every one of the 66 real Preceding_sunday - days in the fixture (test_formulary_override_matches below), not - invented from the naming convention alone. [None] means "this pair is - EXCLUDED from the mapping", handled explicitly by the caller, never - silently -- see [ascension_week_override] just below for the one real - population that lands there. *) -let expected_preceding_sunday_override (word : string) (n : int) = +(* [~season] disambiguates ONE genuinely ambiguous case, found extending + this suite to the 2023-2024 window (2024-11-05..08): colitur's own + "resumed-Sunday tail" (CLAUDE.md's own term) REUSES an Epiphany Sunday's + own slug ([ef-time-after-epiphany-sunday-4]) for a feria whose REAL + calendar date falls in November, inside Time after Pentecost -- Easter + was late enough in 2024 that not every Epiphany Sunday got "used" before + Septuagesima cut the season short, so the leftover ones resume near the + END of the year instead. The Ordo's own prose distinguishes the two + occurrences of the SAME slug by wording alone: "4th Sunday after the + Epiphany" in January, "4th Sunday REMAINING after the Epiphany" in + November (verified directly against the raw dump). [c_season] is the + feria's own actual calendar season -- [Time_after_epiphany] for the + January occurrence, [Time_after_pentecost] for the November one -- so + comparing it against the WORD parsed out of the resumed slug ("time- + after-epiphany" either way) is exactly the signal needed, with no new + colitur-side field required. *) +let expected_preceding_sunday_override ~(season : V.season) (word : string) (n : int) = match (word, n) with | "advent", 1 -> Some "Advent Sunday" | "advent", 2 -> Some "2nd Sunday of Advent" @@ -501,113 +290,118 @@ let expected_preceding_sunday_override (word : string) (n : int) = | "septuagesima", 1 -> Some "Septuagesima Sunday" | "septuagesima", 2 -> Some "Sexagesima Sunday" | "septuagesima", 3 -> Some "Quinquagesima Sunday" - | "time-after-epiphany", n -> Some (Printf.sprintf "%s Sunday after the Epiphany" (ordinal n)) + | "time-after-epiphany", n when season = V.Time_after_epiphany -> + Some (Printf.sprintf "%s Sunday after the Epiphany" (ordinal n)) + | "time-after-epiphany", n -> Some (Printf.sprintf "%s Sunday remaining after the Epiphany" (ordinal n)) | "time-after-pentecost", 24 -> Some "24th & Last Sunday After Pentecost" | "time-after-pentecost", n -> Some (Printf.sprintf "%s Sunday after Pentecost" (ordinal n)) - (* [ef-easter-sunday-]: Paschaltide's own numbering counts Easter - Sunday itself as 1 (Low Sunday, named separately via {!Rite_ef.Temporal_ef.named} and - so never reaching this generic branch at all, is 2), so the ordinal - PRINTED is [n - 1] -- confirmed against every one of n=3..5 in the - fixture ("2nd" through "4th" Sunday after Easter). n=6,7 are - deliberately NOT given here: see [ascension_week_override]. *) - | "easter", n when n >= 3 && n <= 5 -> Some (Printf.sprintf "%s Sunday after Easter" (ordinal (n - 1))) + (* [n >= 3], no upper bound: Task 6's original [n <= 5] excluded n=6/7 on + the (overfit, 2024-2025-window-only) assumption that EVERY such day is + Ascension-adjacent. Extending to 2023-2024/2025-2026 found a REAL + counter-example -- Rogation Monday (RG 87-89), which also resumes + week 6's own Sunday but falls BEFORE Ascension, not after, and the + Ordo prints the ordinary "5th Sunday after Easter" there, not "Mass + of the Ascension". The caller now decides Ascension-adjacency by the + day's own DATE against {!Computus.ascension}, not by [n] -- so this + mapping can be trusted for n=6/7 whenever the caller does not first + divert to [ascension_week_override]. *) + | "easter", n when n >= 3 -> Some (Printf.sprintf "%s Sunday after Easter" (ordinal (n - 1))) | _ -> None -(* One NAMED Sunday (not a generic "ef--sunday-" slug at all) - reaches [Preceding_sunday] in the real 66-day population: Christ the - King ({!Rite_ef.Temporal_ef.christ_the_king}, "the last Sunday of - October"), whose own ferias resume it the same way any other Sunday's - would. Unlike the Septuagesima trio's fixed proper names, its ORDINAL - position among the Sundays after Pentecost is not fixed -- it varies - year to year with Easter's own date -- so there is no string this - function could hard-code the way [expected_preceding_sunday_override] - does for the others. [word]/[n] cannot express it EITHER, because - {!Rite_ef.Temporal_ef.named} overrides the SLUG for that Sunday but, - confirmed directly in temporal_ef.ml ([build ~season ~slug ~colour - ~rank ~week:(week d) ()], called identically whether or not [named] - matched), never the raw [week] FIELD -- so re-deriving that one field - for this one named exception is not the same mistake the first version - of this fix made re-deriving [week] WHOLESALE (that failed on the - season's own two special-numbering cases, both of which this function - sidesteps by reading the slug directly); here there is no slug number - to read in the first place, so [week] is the only source of truth, - narrowly applied to the single slug that needs it. *) let expected_named_sunday_override slug ~year = if String.equal slug "ef-christ-the-king" then match TE.week (TE.christ_the_king year) with | Some n -> Some (Printf.sprintf "%s Sunday after Pentecost" (ordinal n)) | None -> None + (* [ef-low-sunday]: a SECOND named-Sunday population reaching + [Preceding_sunday], found the same way [ef-christ-the-king] was -- + absent from the 2024-2025 window Task 6 built this mapping against + (every Low-Sunday-week feria that year had its own proper), present + in both 2023-2024 (9-12 April 2024) and 2025-2026. The Ordo's own + text is the plain, unnumbered "Mass of Low Sunday". *) + else if String.equal slug "ef-low-sunday" then Some "Low Sunday" else None -(* [n] = 6 or 7 (Paschaltide's own numbering, see the comment above -- the - calendar Sundays traditionally called the 5th and 6th Sunday after - Easter) are STRUCTURALLY, not coincidentally, always Ascension-adjacent: - the Ascension is a fixed Easter+39 (a Thursday inside week 6), so EVERY - feria whose own [Preceding_sunday] fallback would otherwise resolve to - one of these two weeks falls between Ascension Thursday and the - following Saturday, every year, not merely in this fixture's own - 2024-2025 window. A REAL finding, not a fixture artefact: the Ordo - shows "Mass of the Ascension" on all three such days this window - contains (2025-05-30, 2025-06-02, 2025-06-03 -- Friday and the - following Monday/Tuesday, the days between Ascension and the Sunday - after it that have no proper of their own), never "5th"/"6th Sunday - after Easter" -- the Missal keeps saying ASCENSION's own Mass through - this stretch, not the last numbered Sunday's. colitur's step 3 has no - notion of "inside Ascension's own after-feast period" -- it always - resumes the nearest PRECEDING SUNDAY, numbered or not -- so on these - three real days {!MF.t.said} is a plain "ef-easter-sunday-6"/"-7" slug - the Missal would never actually print as such. A genuine content gap in - colitur's reading chain, found by this fix, NOT fixed here (fixing it - means teaching step 3 or the lectionary data about Ascension's own - after-feast period, a lectionary-data change out of this fix round's - own scope) -- recorded honestly, the same way L1 in - expected-divergences-lms.sexp already records the 476(f) gap this same - branch closed, and counted below so a change to this population would - be caught rather than silently absorbed. *) +(* See Task 6's own [ascension_week_override] citation (test_lms_ordo.ml + history, expected-divergences-lms.sexp L2): STRUCTURAL, not a fixture + artefact -- the Ascension is a fixed Easter+39, so every feria whose own + [Preceding_sunday] fallback would otherwise resolve to a week-6/7 Sunday + falls, in SOME years, between Ascension Thursday and the following + Sunday. Extending this suite past the single 2024-2025 window sharpened + the finding: it is specifically the days AFTER Ascension (not merely + "any week-6/7 Preceding_sunday day") that get this treatment -- see + [expected_preceding_sunday_override]'s own citation for the Rogation + Monday counter-example that exposed the difference. [is_ascension_week] + below is the corrected predicate: the day's own DATE compared against + {!Computus.ascension} for its own year, not [n]. *) let ascension_week_override = "Mass of the Ascension" -let test_formulary_override_matches () = - let ordo = ordo_rows () in - let colitur = colitur_rows () in +(* Bounded ABOVE by Pentecost, not merely "later than Ascension" -- a bare + lower bound is wrong for any date past Ascension in the SAME civil year + (every date from June to December satisfies "> Ascension", which a + first version of this predicate did and it manufactured 8 false + failures across the 2024-2025/2025-2026 windows, in July/November/ + December, caught immediately by re-running against those two + previously-clean windows). Task 6's own original population (Friday + after Ascension, then the following Monday/Tuesday) already showed the + window extends PAST the immediately-following Sunday, not merely up to + it, so Pentecost -- the next fixed liturgical anchor, Easter+49 -- is + the natural, provable upper bound: nothing in this stretch has its own + proper once Ascension's octave-like privilege takes over, and Pentecost + itself always does (RG 91 entry 3). *) +let is_after_ascension date = + let year = Date.year date in + Date.compare date (Computus.ascension year) > 0 && Date.compare date (Computus.pentecost year) < 0 + +type formulary_counts = { + fc_bad : string list; + fc_proper : int; + fc_common : int; + fc_preceding_sunday : int; + fc_ascension_week : int; +} + +let check_formulary_overrides ordo colitur = let pairs = List.combine ordo colitur in - let counts = Hashtbl.create 8 in - let bump k = Hashtbl.replace counts k (1 + try Hashtbl.find counts k with Not_found -> 0) in + let proper = ref 0 and common = ref 0 and preceding_sunday = ref 0 and ascension_week = ref 0 in let bad = ref [] in - let ascension_week_count = ref 0 in List.iter - (fun (o, c) -> + (fun ((o : ordo_row), (c : colitur_row)) -> match c.c_formulary with | Some { MF.via = MF.Proper; _ } -> - bump "proper"; + incr proper; if o.formulary_override <> None then bad := Printf.sprintf "%s: Proper day but Ordo shows override %s" o.date (Option.get o.formulary_override) :: !bad | Some { MF.via = MF.Common; _ } -> - bump "common"; + incr common; if o.formulary_override <> None then bad := Printf.sprintf "%s: Common day but Ordo shows override %s" o.date (Option.get o.formulary_override) :: !bad | Some { MF.via = MF.Preceding_sunday; said } -> ( - bump "preceding_sunday"; - (* [said] is [Some] for every constructor except [Votive] (see - {!Colitur_kernel.Mass_formulary.t}'s own citation) -- a bare - [Option.get] here would raise an unhelpful exception if that - ever stopped being true; [Alcotest.failf] names the day - instead. *) + incr preceding_sunday; let slug = match said with | Some s -> Colitur_kernel.Slug.to_string s | None -> Alcotest.failf "%s: Preceding_sunday day with said = None (should be impossible)" o.date in let ordo_says = Printf.sprintf "Mass of %s" in - (* Try the generic [ef--sunday-] shape first; fall back - to the one NAMED Sunday that also reaches this population - ([expected_named_sunday_override], see its own citation) when - the slug doesn't parse that way at all. *) let year = int_of_string (String.sub o.date 0 4) in + let date = match Date.of_iso8601 o.date with Ok d -> d | Error e -> Alcotest.failf "%s: %s" o.date e in + if is_after_ascension date then ( + match o.formulary_override with + | Some got when String.equal got ascension_week_override -> incr ascension_week + | Some got -> + bad := + Printf.sprintf "%s: colitur resumed %S (after Ascension), Ordo shows %S, not the adjudicated %S" + o.date slug got ascension_week_override + :: !bad + | None -> + bad := Printf.sprintf "%s: colitur resumed %S (after Ascension), Ordo shows no override" o.date slug :: !bad) + else let expected = match parse_sunday_slug slug with - | Some (word, n) -> expected_preceding_sunday_override word n + | Some (word, n) -> expected_preceding_sunday_override ~season:c.c_season word n | None -> expected_named_sunday_override slug ~year in match expected with @@ -618,13 +412,8 @@ let test_formulary_override_matches () = | Some got -> bad := Printf.sprintf "%s: colitur resumed %S, Ordo says %S" o.date expected_line got :: !bad | None -> bad := Printf.sprintf "%s: colitur resumed %S, Ordo shows no override" o.date expected_line :: !bad) | None -> ( - (* The Ascension-week exclusion above -- checked, not - assumed: fails loudly if the Ordo's own text ever stops - matching the one string this population is adjudicated to - carry, or if a slug outside every adjudicated case above - ever reaches here. *) match o.formulary_override with - | Some got when String.equal got ascension_week_override -> incr ascension_week_count + | Some got when String.equal got ascension_week_override -> incr ascension_week | Some got -> bad := Printf.sprintf "%s: unmapped (colitur resumed %S) and Ordo shows %S, not the adjudicated %S" o.date @@ -634,33 +423,214 @@ let test_formulary_override_matches () = bad := Printf.sprintf "%s: unmapped (colitur resumed %S) and Ordo shows no override" o.date slug :: !bad)) | Some { MF.via = MF.Votive; _ } | Some { MF.via = MF.Own_slug; _ } | None -> ()) pairs; - Alcotest.(check (list string)) "every formulary-override mismatch is explained -- none unexplained" [] (List.rev !bad); - Alcotest.(check int) "179 Proper days in the window" 179 (try Hashtbl.find counts "proper" with Not_found -> 0); - Alcotest.(check int) "2 Common days in the window" 2 (try Hashtbl.find counts "common" with Not_found -> 0); - Alcotest.(check int) "66 Preceding_sunday days in the window" 66 - (try Hashtbl.find counts "preceding_sunday" with Not_found -> 0); - Alcotest.(check int) "3 Preceding_sunday days fall in the Ascension-week exclusion, no more, no fewer" 3 - !ascension_week_count - -let test_via_distribution_totals_400 () = - let colitur = colitur_rows () in - let via_name c = - match c.c_formulary with - | None -> "none" - | Some f -> MF.source_to_string f.MF.via - in - let counts = Hashtbl.create 8 in - List.iter - (fun c -> Hashtbl.replace counts (via_name c) (1 + try Hashtbl.find counts (via_name c) with Not_found -> 0)) - colitur; - let total = Hashtbl.fold (fun _ n acc -> acc + n) counts 0 in - Alcotest.(check int) "every via bucket sums to the full 400-day window" 400 total + { fc_bad = List.rev !bad; fc_proper = !proper; fc_common = !common; fc_preceding_sunday = !preceding_sunday; + fc_ascension_week = !ascension_week } -let suite = - ( "lms-ordo", +(* ---------------------------------------------------------------------- *) +(* [make_suite]: one edition's worth of tests, parameterised. Every count *) +(* below is a genuine per-edition PIN (measured once against real data, *) +(* not guessed), the same discipline every other golden/oracle fixture in *) +(* this suite already uses -- a change to any of them is a real finding, *) +(* not noise to silence. *) +(* ---------------------------------------------------------------------- *) + +let make_suite ~label ~fixture_path ~fixture_sha256 ~window_first ~window_last ~year_lo ~year_hi ~allow_list_path + ~expected_rows ~expected_bvm_votive ~expected_proper ~expected_common ~expected_preceding_sunday + ~expected_ascension_week = + let test_fixture_checksum () = + Alcotest.(check string) "fixture SHA-256 matches its provenance note" fixture_sha256 + (sha256_of_file fixture_path) + in + let test_dates_align () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + Alcotest.(check int) (Printf.sprintf "the Ordo fixture has %d rows (%s..%s)" expected_rows window_first window_last) + expected_rows (List.length ordo); + Alcotest.(check int) "colitur resolved the same number of days" (List.length ordo) (List.length colitur); + (match ordo with o :: _ -> Alcotest.(check string) "first date" window_first o.date | [] -> Alcotest.fail "empty"); + (match List.rev ordo with + | o :: _ -> Alcotest.(check string) "last date" window_last o.date + | [] -> Alcotest.fail "empty"); + let mismatched = + List.filter_map + (fun (o, c) -> if String.equal o.date c.c_date then None else Some (o.date, c.c_date)) + (List.combine ordo colitur) + in + Alcotest.(check (list (pair string string))) "no misaligned dates" [] mismatched + in + (* This window's own Good Friday(s) (Easter-2, RE-DERIVED here from + {!Computus.gregorian_easter} for every civil year the window touches, + never hardcoded) is the only day expected to carry no Ordo Creed + marker at all -- Good Friday has no Mass in the 1955-restored Holy + Week. Exactly one such date falls inside any one edition's ~13-month + window (its OTHER Easter, a year apart, falls outside it), but this + is computed, not assumed: a window that unexpectedly contained zero or + two would be a real finding this test would catch. *) + let window_good_fridays () = + let first_year = int_of_string (String.sub window_first 0 4) in + let last_year = int_of_string (String.sub window_last 0 4) in + let candidates = + List.concat_map + (fun y -> + let gf = Date.add_days (Computus.gregorian_easter y) (-2) in + [ Date.to_iso8601 gf ]) + (List.init (last_year - first_year + 1) (fun i -> first_year + i)) + in + List.filter (fun d -> String.compare d window_first >= 0 && String.compare d window_last <= 0) candidates + in + let test_creed_coverage () = + let ordo = ordo_rows fixture_path in + let no_creed = List.filter (fun o -> o.creed = None) ordo in + let expected = window_good_fridays () in + Alcotest.(check (list string)) "only this window's own Good Friday has no Ordo Creed marker" expected + (List.map (fun o -> o.date) no_creed) + in + let describe_creed_mismatch (o : ordo_row) (c : colitur_row) = + Printf.sprintf "%s %S: colitur creed=%b, Ordo creed=%b (formulary=%s)" o.date o.title c.c_creed + (Option.get o.creed) + (match c.c_formulary with + | Some { MF.said = Some s; _ } -> Colitur_kernel.Slug.to_string s + | Some { MF.said = None; via = MF.Votive } -> "votive (said unnamed in the data)" + | Some { MF.said = None; _ } -> "NONE (said, unexpectedly outside Votive)" + | None -> "NONE") + in + (* Which allow-list id, if any, explains a Creed mismatch on this date. + Date-keyed (not merely "any mismatch is fine") deliberately: an id + that stops firing, or fires on a NEW date it was never adjudicated + for, must be visible as a real change, not silently absorbed by a + loose "some entry explains something" check. Task 6's own version of + this function declared [by_id]/[explained_counts] but never actually + populated the latter (the mechanism this comment sits in) -- L1 was + already CLOSED by the time that task shipped, so it had nothing real + to explain and the gap went unexercised. L3/L4 (Witnesses task, + 2026-08-22, both 2023-2024-only) are the first live tests of it. *) + let allow_list_id_for_date d = + if String.equal d "2024-02-24" then Some "L3" + else if String.equal d "2023-12-24" then Some "L4" + else None + in + let test_creed_matches_or_is_explained () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let allow_list = load_allow_list allow_list_path in + let by_id = List.map (fun e -> (e.id, e)) allow_list in + let unexplained = ref [] in + let explained_counts = Hashtbl.create 8 in + List.iter2 + (fun (o : ordo_row) (c : colitur_row) -> + if not (String.equal o.date c.c_date) then Alcotest.failf "misaligned: ordo %s vs colitur %s" o.date c.c_date; + match o.creed with + | None -> () + | Some ocreed -> + if Bool.equal ocreed c.c_creed then () + else ( + match allow_list_id_for_date o.date with + | Some id -> Hashtbl.replace explained_counts id (1 + try Hashtbl.find explained_counts id with Not_found -> 0) + | None -> unexplained := describe_creed_mismatch o c :: !unexplained)) + ordo colitur; + Alcotest.(check (list string)) (Printf.sprintf "[%s] every Creed mismatch is named in the allow-list -- none unexplained" label) + [] (List.rev !unexplained); + Hashtbl.iter + (fun id n -> + match List.assoc_opt id by_id with + | None -> Alcotest.failf "allow-list entry %s used by the comparator but not declared in %s" id allow_list_path + | Some e -> + Alcotest.(check int) (Printf.sprintf "%s: expected_rows matches the actual count" id) e.expected_rows n) + explained_counts + in + let test_bvm_seasonal_selection () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let votive_pairs = + List.filter_map + (fun (o, c) -> match c.c_formulary with Some { MF.via = MF.Votive; _ } -> Some (o, c) | _ -> None) + (List.combine ordo colitur) + in + Alcotest.(check int) (Printf.sprintf "%d BVM-Saturday (Votive) days fall inside this window" expected_bvm_votive) + expected_bvm_votive (List.length votive_pairs); + let mismatches = + List.filter_map + (fun (o, c) -> + let expected = expected_bvm_numeral c.c_season ~month:(int_of_string (String.sub c.c_date 5 2)) + ~day:(int_of_string (String.sub c.c_date 8 2)) in + match o.bvm_numeral with + | Some got when String.equal got expected -> None + | Some got -> Some (Printf.sprintf "%s: Ordo says %s, expected %s (season-derived)" o.date got expected) + | None -> + (* One SOURCE-TEXT anomaly, found extending this suite to + 2023-2024: 2024-02-03 is the ONLY BVM-Saturday day in the + 2023-2024 fixture (of 12) whose Ordo entry carries no + roman-numeral " Mass of BVM" line at all. Verified + directly against the raw pdftotext dump (not inferred): + every OTHER BVM-Saturday day in this edition prints "Sat + CELEBRATION of the BVM IV Cl W" immediately followed + by its own " Mass of BVM" line; this one date's block + goes straight from the title line to "(Blessing of + throats in honour of St Blaise may be given on this + day)" -- the numeral line the Ordo's own layout convention + would otherwise print is simply MISSING from the printed + text, a publisher-side omission this session cannot + correct, not a colitur defect (colitur's own side is + independently right here: St Blaise is scan-verified + "Com." -- a bare commemoration, not a feast -- in the + calendarium itself, docs/research/LT.txt:4978, so RG 91's + table has no row for him and the BVM-Saturday office + correctly wins the day outright, exactly as colitur + computes). Excluded by name, not silently: a future + change to this population (a different date, or a SECOND + gap) would still be caught below. *) + if String.equal fixture_path "fixtures/lms-ordo-2023-2024.sexp" && String.equal o.date "2024-02-03" then + None + else Some (Printf.sprintf "%s: colitur says Votive but the Ordo shows no BVM numeral" o.date)) + votive_pairs + in + Alcotest.(check (list string)) "every BVM-Saturday numeral matches its season -- none unexplained" [] mismatches + in + let test_bvm_numeral_implies_votive () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let mismatches = + List.filter_map + (fun (o, c) -> + match (o.bvm_numeral, c.c_formulary) with + | Some n, Some { MF.via = MF.Votive; _ } -> ignore n; None + | Some n, other -> + Some + (Printf.sprintf "%s: Ordo shows %S Mass of BVM but colitur's via is %s" o.date n + (match other with Some f -> MF.source_to_string f.MF.via | None -> "NONE")) + | None, _ -> None) + (List.combine ordo colitur) + in + Alcotest.(check (list string)) "every Ordo BVM numeral day is a colitur Votive day" [] mismatches + in + let test_formulary_override_matches () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let r = check_formulary_overrides ordo colitur in + Alcotest.(check (list string)) "every formulary-override mismatch is explained -- none unexplained" [] r.fc_bad; + Alcotest.(check int) (Printf.sprintf "%d Proper days in the window" expected_proper) expected_proper r.fc_proper; + Alcotest.(check int) (Printf.sprintf "%d Common days in the window" expected_common) expected_common r.fc_common; + Alcotest.(check int) (Printf.sprintf "%d Preceding_sunday days in the window" expected_preceding_sunday) + expected_preceding_sunday r.fc_preceding_sunday; + Alcotest.(check int) + (Printf.sprintf "%d Preceding_sunday days fall in the Ascension-week exclusion, no more, no fewer" + expected_ascension_week) + expected_ascension_week r.fc_ascension_week + in + let test_via_distribution_totals () = + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let via_name c = match c.c_formulary with None -> "none" | Some f -> MF.source_to_string f.MF.via in + let counts = Hashtbl.create 8 in + List.iter + (fun c -> Hashtbl.replace counts (via_name c) (1 + try Hashtbl.find counts (via_name c) with Not_found -> 0)) + colitur; + let total = Hashtbl.fold (fun _ n acc -> acc + n) counts 0 in + Alcotest.(check int) "every via bucket sums to the full window" expected_rows total + in + ( label, [ Alcotest.test_case "fixture SHA-256 matches its provenance note" `Quick test_fixture_checksum; - Alcotest.test_case "streams are 400 rows each, dates aligned 1:1" `Quick test_dates_align; - Alcotest.test_case "only Good Friday has no Ordo Creed marker" `Quick test_creed_coverage; + Alcotest.test_case "streams are N rows each, dates aligned 1:1" `Quick test_dates_align; + Alcotest.test_case "only this window's own Good Friday has no Ordo Creed marker" `Quick test_creed_coverage; Alcotest.test_case "every Creed difference is named in the cited allow-list -- none unexplained" `Quick test_creed_matches_or_is_explained; Alcotest.test_case "every BVM-Saturday numeral matches its season" `Quick test_bvm_seasonal_selection; @@ -668,5 +638,42 @@ let suite = test_bvm_numeral_implies_votive; Alcotest.test_case "formulary override STRING matches on Proper/Common/Preceding_sunday days" `Quick test_formulary_override_matches; - Alcotest.test_case "the via distribution sums to the full window" `Quick test_via_distribution_totals_400 + Alcotest.test_case "the via distribution sums to the full window" `Quick test_via_distribution_totals ] ) + +let allow_list_path = "../data/ef/expected-divergences-lms.sexp" + +(* Guards against a stale allow-list entry (declared in the sexp file, but + the OCaml-side [allow_list_id_for_date] predicate above no longer maps + any date to it, or never did) -- the per-window suites above only prove + an id that DOES fire has the right count; nothing in them can notice an + id that never fires in ANY of the three windows, since each suite only + ever looks at its own explained_counts. Fixed to the two ids this task + added (L3, L4) -- L1 is CLOSED/removed and L2 is deliberately prose-only + (see the sexp file's own header on why), so neither is expected here. *) +let test_allow_list_ids_are_exactly_l3_l4 () = + let ids = List.sort String.compare (List.map (fun e -> e.id) (load_allow_list allow_list_path)) in + Alcotest.(check (list string)) "the LMS allow-list declares exactly L3 and L4" [ "L3"; "L4" ] ids + +let suite_allow_list = ("lms-ordo-allow-list", [ Alcotest.test_case "declares exactly L3 and L4" `Quick test_allow_list_ids_are_exactly_l3_l4 ]) + +let suite_2023_2024 = + make_suite ~label:"lms-ordo-2023-2024" ~fixture_path:"fixtures/lms-ordo-2023-2024.sexp" + ~fixture_sha256:"c8d9d4b790f6b4438e932f70dad8ebe9a0316662f1eb02c26248e04c7be1a62b" ~window_first:"2023-12-01" + ~window_last:"2024-12-31" ~year_lo:2022 ~year_hi:2025 ~allow_list_path ~expected_rows:397 + ~expected_bvm_votive:12 ~expected_proper:182 ~expected_common:2 ~expected_preceding_sunday:61 + ~expected_ascension_week:1 + +let suite_2024_2025 = + make_suite ~label:"lms-ordo-2024-2025" ~fixture_path:"fixtures/lms-ordo-2024-2025.sexp" + ~fixture_sha256:"da817b75c5bf40ed3be1d5f6890b199705e02ce4d42111253ab8547bccabc3f7" ~window_first:"2024-11-27" + ~window_last:"2025-12-31" ~year_lo:2023 ~year_hi:2026 ~allow_list_path ~expected_rows:400 + ~expected_bvm_votive:14 ~expected_proper:179 ~expected_common:2 ~expected_preceding_sunday:66 + ~expected_ascension_week:3 + +let suite_2025_2026 = + make_suite ~label:"lms-ordo-2025-2026" ~fixture_path:"fixtures/lms-ordo-2025-2026.sexp" + ~fixture_sha256:"8839a61e0c7d1e6c8326114f4f45a5c183551287a88f4ed01127154add6ae5a5" ~window_first:"2025-11-28" + ~window_last:"2026-12-31" ~year_lo:2024 ~year_hi:2027 ~allow_list_path ~expected_rows:399 + ~expected_bvm_votive:13 ~expected_proper:174 ~expected_common:2 ~expected_preceding_sunday:68 + ~expected_ascension_week:2 diff --git a/tools/extract_lms_ordo.ml b/tools/extract_lms_ordo.ml index b7c97fd..8680a91 100644 --- a/tools/extract_lms_ordo.ml +++ b/tools/extract_lms_ordo.ml @@ -167,7 +167,36 @@ let scan_block lines = type block = { b_weekday : string; b_day : int; b_month : int; b_year : int; b_title : string; b_lines : string list } -let start_sentinel = [ "End"; "of"; "November"; "2024" ] +(* Generalised (Witnesses task, 2026-08-22) from a single hardcoded + sentinel ["End";"of";"November";"2024"], which assumed every edition + opens its Ordo body with an "End of November " stub section. That + assumption FAILED characterisation against the two newly-acquired + editions: the 2023-2024 PDF has NO such stub -- Advent Sunday 2023 fell + on 3 December, so only 2 tail days of the old liturgical year remained + (1-2 December), and the compiler folded them directly into the + "December 2023" header rather than giving them their own mini-section. + So a start marker anchored to "End of November" cannot generalise. + + What DOES generalise, checked directly against all three editions' + pdftotext -layout dumps: exactly one line in the whole document begins + with the bare, all-uppercase token "ORDO" -- either alone ("ORDO", + 2024-2025/2025-2026, introducing an "End of " stub next) + or fused with the edition's own year range ("ORDO 2023-2024", + introducing the first REAL month header directly, no stub). This is + NEVER the Table of Contents' own entry, which prints title-case "Ordo + 20XX-20XX" followed by dot leaders and a page number -- a different + string ("Ordo", not "ORDO"), confirmed by grepping all three raw dumps + for both patterns before relying on either. *) +let is_ordo_marker tokens = match tokens with "ORDO" :: _ -> true | _ -> false + +(* The "End of " stub heading, when an edition has one -- + parsed directly (never hardcoded to November/a specific year) so the + edition's own initial (month, year) state comes from the text itself, + not an assumption baked into the tool. *) +let parse_end_of_month tokens = + match tokens with + | [ "End"; "of"; m; y ] when is_all_digits y -> ( match month_index m with Some mi -> Some (mi, int_of_string y) | None -> None) + | _ -> None let is_stop_tail_line tokens = match tokens with tok :: _ -> String.length tok = 4 && is_all_digits tok | [] -> false @@ -194,21 +223,52 @@ let () = let arr = Array.of_list all_lines in let n = Array.length arr in let trimmed i = String.trim arr.(i) in - let start_idx = - let rec go i = if i >= n then die "start sentinel %S not found" (String.concat " " start_sentinel) - else if split_ws (trimmed i) = start_sentinel then i else go (i + 1) + let ordo_marker_idx = + let rec go i = if i >= n then die "no line begins with the bare \"ORDO\" body marker (see the tool's own comment on [is_ordo_marker] -- this edition's format may have drifted)" + else if is_ordo_marker (split_ws (trimmed i)) then i else go (i + 1) in go 0 in + (* The first non-blank line after the marker is either an "End of + " stub (consumed here as a pure sentinel, exactly as the old + hardcoded design did -- [start_idx] becomes ITS OWN index so the main + loop below begins right after it) or a real " " header + with an explicit year token (an edition with no stub, e.g. 2023-2024 -- + [start_idx] becomes the ORDO marker's own index instead, so the main + loop re-encounters this header line on its very first iteration and + [is_month_header]'s own existing per-line handling sets [cur_month]/ + [cur_year] from it normally). Either way [init_month]/[init_year] come + directly from parsed text, never a hardcoded constant -- a missing + explicit year on this FIRST header is a genuine format break, so it + dies loudly rather than silently seeding a wrong year. *) + let rec first_nonblank i = + if i >= n then die "no content found after the ORDO marker at line %d" ordo_marker_idx + else if trimmed i = "" then first_nonblank (i + 1) + else i + in + let content_idx = first_nonblank (ordo_marker_idx + 1) in + let content_toks = split_ws (trimmed content_idx) in + let start_idx, init_month, init_year = + match parse_end_of_month content_toks with + | Some (mi, y) -> (content_idx, mi, y) + | None -> ( + match content_toks with + | m :: (y :: _ as rest) when month_index m <> None && List.for_all is_all_digits rest -> + (ordo_marker_idx, (match month_index m with Some x -> x | None -> assert false), int_of_string y) + | _ -> + die "first content after the ORDO marker (%S) is neither an \"End of \" stub nor a \" \" header carrying an explicit year" + (String.concat " " content_toks)) + in let stop_idx = let rec go i = if i >= n then n else if is_stop_tail_line (split_ws (trimmed i)) then i else go (i + 1) in go (start_idx + 1) in - Printf.printf "extract_lms_ordo: Ordo body lines %d..%d (of %d total)\n" start_idx stop_idx n; + Printf.printf "extract_lms_ordo: Ordo body lines %d..%d (of %d total), initial month/year %d/%d\n" start_idx stop_idx n + init_month init_year; (* --- the scan: month/year tracker + block accumulator ------------------ *) - let cur_month = ref 11 and cur_year = ref 2024 in + let cur_month = ref init_month and cur_year = ref init_year in let blocks = ref [] in let cur = ref None in let flush () = match !cur with Some b -> blocks := b :: !blocks; cur := None | None -> () in @@ -306,11 +366,81 @@ let () = Printf.sprintf "%04d-%02d-%02d" (tm.Unix.tm_year + 1900) (tm.Unix.tm_mon + 1) tm.Unix.tm_mday in let pdf_sha = sha256_of_file pdf_path in + (* --- per-edition provenance + characterisation, Witnesses task --------- + Generalised 2026-08-22 from Task 6's single hand-written header (which + named "lms-ordo-2024-2025.sexp" literally throughout). Facts 1/3/4 + below are STRUCTURAL -- true of the publisher's whole known corpus, + re-checked directly against the two new editions' own pdftotext dumps + before being asserted here again, not merely copied forward. Fact 2 + (the Creed opposite-prediction probes) is inherently edition-specific + (the actual calendar dates differ year to year, and one edition's own + calendar even breaks the standard pairing -- see the 2025-2026 note + below), so it is looked up per [dest] and, critically, RE-VERIFIED + against this run's own [rows] before being printed: a probe that + fails is a [die], not a silently-wrong "confirmed" claim in a fixture + header nobody will re-check by eye. *) + let base = Filename.basename dest in + let pdf_base = Filename.basename pdf_path in + let edition_label, isbn, copyright_year, pdf_meta, url, url_note, window_open_desc = + match base with + | "lms-ordo-2023-2024.sexp" -> + ( "2023-2024", + "978-1-7392096-2-9", + "2023", + {|Author "Peter Day-Milne", Producer "LibreOffice 6.4", CreationDate 2023-11-01, 140 pages|}, + "https://lms.org.uk/sites/default/files/u5374/ordo_2023-2024_2.2_final.pdf", + "identified 2026-08-22 via web search matching the PDF's own edition year to the publisher's own hosting path; NOT independently re-downloaded and byte-compared in this session -- recorded honestly rather than presented as verified", + {|1 December 2023 (this edition carries NO "End of November" stub section at all -- Advent Sunday 2023 fell on 3 December, so only 2 tail days of the prior liturgical year remained, and the compiler folded them directly into the "December 2023" header instead of giving them their own mini-section; see CHARACTERISATION below)|} + ) + | "lms-ordo-2025-2026.sexp" -> + ( "2025-2026", + "978-1-7392096-5-0", + "2025", + {|Author "Peter Day-Milne", Producer "LibreOffice 25.2.6.2 (X86_64) / LibreOffice Community", CreationDate 2025-10-23, 146 pages|}, + "(not found -- see the note on this line)", + "NOT found by URL-pattern web search this session (unlike the 2023-2024 and 2024-2025 editions, no exact download link matching this PDF's own filename/version turned up under lms.org.uk/sites/default/files/u5374/; several near-miss candidates were checked and rejected -- none matched this PDF's own metadata) -- left honestly blank rather than guessed; the file was supplied locally to this session, not fetched by this tool", + {|28 November 2025 ("End of November 2025", the same shape as the 2024-2025 edition -- Advent Sunday 2025 fell on 30 November, so only 3 tail days remained; note this excludes 27 November 2025, which the PRECEDING edition's own window (2024-2025, through 2025-12-31) already covers -- a one-day-short overlap between consecutive editions' own windows, not a gap or a bug in either extraction|} + ) + | _ -> die "no provenance/characterisation entry for %s -- add one to extract_lms_ordo.ml's own per-edition table before generating this fixture (the tool refuses to emit an under-characterised header)" base + in + let creed_of_date rows d = List.find_map (fun r -> if String.equal r.date d then r.creed else None) rows in + let probes = + match base with + | "lms-ordo-2023-2024.sexp" -> + [ ("2023-12-03", true, "Advent Sunday, RG 475(a)"); + ("2023-12-04", false, "St Peter Chrysologus, III class, ordinary Advent day, RG 476(b)/(d)"); + ("2023-12-26", true, "St Stephen, II class, inside the Nativity octave, RG 475(d)"); + ("2024-08-15", true, "the Assumption, I class, RG 475(b)"); + ("2024-08-16", false, "St Joachim, II class, no Lord/BVM/apostle clause applies, RG 476(b)") ] + | "lms-ordo-2025-2026.sexp" -> + [ ("2025-11-30", true, "Advent Sunday, RG 475(a)"); + ("2025-12-01", false, "ordinary Advent feria, RG 476(b)/(d)"); + ("2025-12-26", true, "St Stephen, II class, inside the Nativity octave, RG 475(d)"); + ( "2026-08-10", false, + "St Laurence, II class martyr, no Lord/BVM/apostle clause applies, RG 476(b) -- St Joachim (16 August) is IMPEDED by a Sunday in this edition's own calendar (12th Sunday after Pentecost), so this edition needed a DIFFERENT sharp non-octave II-class pairing than the 2023-2024/2024-2025 editions used; a real, edition-specific finding, not an extraction quirk" + ); + ("2026-08-15", true, "the Assumption, I class, RG 475(b)") ] + | _ -> die "no probe list for %s" base + in + List.iter + (fun (d, expected, desc) -> + match creed_of_date rows d with + | Some got when Bool.equal got expected -> () + | Some got -> die "characterisation probe FAILED: %s (%s) -- expected creed=%b, extracted creed=%b" d desc expected got + | None -> die "characterisation probe FAILED: %s (%s) -- no row extracted for this date at all" d desc) + probes; + Printf.printf "extract_lms_ordo: all %d characterisation probes confirmed for %s\n" (List.length probes) edition_label; + let probe_lines = + String.concat "\n" + (List.map + (fun (d, expected, desc) -> Printf.sprintf "; %s (%s) -> %s" d desc (if expected then "TRUE" else "FALSE")) + probes) + in let header = Printf.sprintf - {|; test/fixtures/lms-ordo-2024-2025.sexp -- Task 6 (2026-08-21-colitur- -; celebrant-rubrics-phase1)'s sixth validation layer: the Latin Mass -; Society's own printed Ordo, an England & Wales diocesan Ordo -- a + {|; %s -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; extending Task 6's single LMS fixture (2024-2025) to three editions of +; the Latin Mass Society's own printed Ordo for England & Wales -- a ; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) ; and of the electronic LT.txt transcription (layers 1-2/5): a physically ; printed, professionally-compiled liturgical calendar with its own ISBN. @@ -318,97 +448,94 @@ let () = ; Generator: tools/extract_lms_ordo.ml -- do not hand-edit; re-run against ; a fresh pdftotext dump and commit the diff instead. ; -; Source: "The Ordo 2024-2025", compiled by Peter Day-Milne, The Latin +; Source: "The Ordo %s", compiled by Peter Day-Milne, The Latin ; Mass Society, 9 Mallow Street, London EC1Y 8RQ (title page and ; colophon, verified directly against the PDF's own extracted text -- -; ISBN 9781739209636, Copyright (c) The Latin Mass Society, UK 2024). -; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 7.4", -; CreationDate 2024-11-06, 140 pages. -; URL (identified 2026-08-22 via web search matching the PDF's own -; version number and filename to the publisher's own hosting path; -; NOT independently re-downloaded and byte-compared in this session -- -; recorded honestly rather than presented as verified): -; https://lms.org.uk/sites/default/files/u5374/ordo_2.21_2024-2025.pdf -; (product page: https://lms.org.uk/product/latin-mass-society-ordo-2024-25) -; The local PDF (docs/research/ordo/lms-ordo-2024-2025.pdf) is gitignored +; ISBN %s, Copyright (c) The Latin Mass Society, UK %s). +; PDF metadata: %s. +; URL (%s): +; %s +; The local PDF (docs/research/ordo/%s) is gitignored ; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this ; fixture's only record of where it came from. -; SHA-256 of docs/research/ordo/lms-ordo-2024-2025.pdf: %s +; SHA-256 of docs/research/ordo/%s: %s ; Extracted (UTC): %s ; Exact commands: -; pdftotext -layout docs/research/ordo/lms-ordo-2024-2025.pdf /tmp/lms.txt +; pdftotext -layout docs/research/ordo/%s /tmp/lms.txt ; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ -; docs/research/ordo/lms-ordo-2024-2025.pdf test/fixtures/lms-ordo-2024-2025.sexp +; docs/research/ordo/%s %s ; -; COVERAGE: %d day-rows, %s through %s (2024-11-27, "End of November 2024", +; COVERAGE: %d day-rows, %s through %s (starting %s, ; through the day before a malformed trailing entry the extractor ; deliberately stops before -- see CHARACTERISATION below). ; ; CHARACTERISATION FINDINGS (Step 1, non-negotiable per the task brief -- ; the extraordinaryform.org Ordo silently omitted St Lawrence's vigil on ; EVERY date it covered, which nearly produced a false corroboration -; during the RG 33 work; this Ordo was probed with the same discipline -; before a single divergence was adjudicated): +; during the RG 33 work; every LMS edition, including this one, is probed +; with the same discipline before a single divergence is adjudicated): ; -; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed: this PDF -; alone -- not the multi-year corpus the task brief's own grep count -; was measured against -- carries many more Gl/Cr pairs than day-rows, -; because every diocesan variant repeats its own "Gl ... Cr ... Pr of -; ..." line). This extractor resolves the day's OWN office by taking -; the FIRST Gl/Cr pair in reading order, which the source's own layout +; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed again for +; THIS edition: it carries many more Gl/Cr pairs than day-rows, because +; every diocesan variant repeats its own "Gl ... Cr ... Pr of ..." +; line). This extractor resolves the day's OWN office by taking the +; FIRST Gl/Cr pair in reading order, which the source's own layout ; guarantees is the universal entry's (diocesan variants are always ; introduced by a colon-terminated diocese-list line that comes AFTER ; the universal block, never before -- checked structurally, not -; assumed, in every sampled block during development). +; assumed, in every sampled block during development, this edition +; included). ; ; 2. OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.creed (RG -; 475-476), checked BEFORE trusting a single row of this fixture -- +; 475-476), RE-CHECKED BY THIS TOOL RUN (not merely copied from a prior +; edition's findings) before a single row of this fixture is trusted -- ; the technique CLAUDE.md records as the one that catches a source -; silently omitting the very thing it is meant to witness: -; 2024-12-01 (Advent Sunday, RG 475(a)) -- Ordo "No Gl Cr" -> TRUE -; 2024-12-02 (ordinary Advent feria) -- Ordo "Gl No Cr" -> FALSE -; 2024-12-26 (St Stephen, II class, but inside the Nativity octave, -; RG 475(d)) -- Ordo "Gl Cr" -> TRUE -; 2025-08-15 (the Assumption, I class, RG 475(b)) -; -- Ordo "Gl Cr" -> TRUE -; 2025-08-16 (St Joachim, II class, no Lord/BVM/apostle clause -; applies, RG 476(b)) -- Ordo "Gl No Cr" -> FALSE -; All five predictions confirmed, both directions (TRUE and FALSE each -; independently witnessed, including the Stephen/Joachim pair, which -; are BOTH II-class non-Sunday saints and differ ONLY on the octave -; question) -- this source is discriminating, not a constant, on the -; Creed. See task-6-report.md for the full record. +; silently omitting the very thing it is meant to witness. This run's +; own extracted [rows] were checked against every one of the following +; before this header was even written; a failure here is a hard [die], +; not a printed claim: +%s +; All %d predictions confirmed, both directions (TRUE and FALSE each +; independently witnessed) -- this edition is discriminating, not a +; constant, on the Creed. ; ; 3. The BVM-Saturday roman numeral (I-V, "Missae de sancta Maria in ; sabbato", RG 309(a)) is anchored by WHOLE-LINE match against the five ; literal strings below, NEVER by substring search: "V Mass of BVM" is ; a substring of "IV Mass of BVM", so a naive `contains` check ; misreads every fourth-Mass day as the fifth (the coordinator's own -; misreading, recorded and retracted in commit 27b07b4 before this -; task existed). +; misreading, recorded and retracted in commit 27b07b4 before Task 6 +; existed; the same anchoring logic runs unchanged for every edition). ; ; 4. SCOPE EXCLUDED, quantified, not silently dropped: ; - Diocesan variants: present on %d of %d days (%s%%) -- their own ; text is read only far enough to set [has_diocesan_variant], ; never compared, because colitur computes the UNIVERSAL General ; Roman Calendar only, with no diocesan overlay loaded. -; - The single malformed trailing entry ("2025 1 The OCTAVE DAY of -; the NATIVITY..." printed with "Thu" wrapped onto the following -; line and the year token "2025" where "2026" belongs -- a literal -; duplicate, word for word, of the fixture's own already-extracted -; 2025-01-01 row) is excluded outright: the extractor's own stop -; marker (a line whose first token is a bare 4-digit year) halts -; the scan before it, so this fixture's last row is 2025-12-31. +; - The single malformed trailing entry ("...The OCTAVE DAY of the +; NATIVITY..." with a bare 4-digit token where a weekday+day-number +; pair belongs) is excluded outright: the extractor's own stop +; marker (a line whose first token is a bare 4-digit token) halts +; the scan before it. CONFIRMED IDENTICAL, word for word, across +; ALL FOUR known editions of this publisher's Ordo (2023-2024, +; 2024-2025, 2025-2026, and the 2024-2025 fixture's own prior +; header) -- always the literal stray year token "2025", regardless +; of which edition or which real trailing year it should read: a +; stale copy-paste leftover the compiler's own master document +; carries forward unedited release to release (even the 2024-2025 +; PDF's own tail page footer nearby still reads "Latin Mass Society +; Ordo 2021-2022"), not something specific to this edition. ; - Front matter, the Abbreviations/Rubrical-Primer/Breviary sections, ; and the "When may I say...?"/Appendix tail are never scanned at -; all (the extractor's own start/stop sentinels bound it to the -; Ordo proper, "End of November 2024" through the stop marker -; above). +; all (the extractor's own start/stop markers bound it to the Ordo +; proper). |} - pdf_sha (today ()) (List.length rows) + dest edition_label isbn copyright_year pdf_meta url_note url pdf_base pdf_base pdf_sha (today ()) pdf_base + pdf_base dest + (List.length rows) (match rows with r :: _ -> r.date | [] -> "?") (match List.rev rows with r :: _ -> r.date | [] -> "?") - with_variant (List.length rows) + window_open_desc probe_lines (List.length probes) with_variant (List.length rows) (Printf.sprintf "%.1f" (100.0 *. float_of_int with_variant /. float_of_int (List.length rows))) in let body = Sexplib.Sexp.to_string_hum ~indent:2 (sexp_of_list sexp_of_row rows) in -- cgit v1.3 From 8faf89f89bd6783a518b6fc0b48c6ee452ba2e94 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Sun, 23 Aug 2026 23:01:42 +0200 Subject: feat(ordo): wire the LMS preface column into the witness suite Extends tools/extract_lms_ordo.ml's row type with a praef field (the first "Pr of ..." / "Common Pr" match in each day's universal block, same first-in-reading-order discipline already used for Gl/Cr) and regenerates all three LMS fixtures. Also brings lms-ordo-2024-2025.sexp under the generalised, probe-verified provenance template the Witnesses task previously added only for the two newer editions -- it had kept Task 6's original hand-written header. Characterisation finding: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y or Common Pr"), not a single value per day, and several named options (Martyrs, All Saints and Patron Saints, the Dedication of a Church, the Most Holy Sacrament, St John the Baptist, the Angels) are genuinely absent from RG 484-497's own fourteen named prefaces. Every instance found in the universal block pairs such an extra with a genuine RG-482 answer, so test/test_lms_ordo.ml compares by membership (classify_praef_options, a 15-entry prefix table split on the standalone token "or"), not string equality. Opposite-prediction probes (Nativity/Apostles/Requiem) are hard- verified inside the extractor itself before any fixture is trusted, the same discipline already used for the Creed column. Result: 396/396, 399/399, 398/398 comparable rows agree across the three editions (Good Friday excluded per edition, no Mass that day), zero allow-list entries needed. extraordinaryform.org's own three editions were characterised but deliberately not wired in this pass -- see .superpowers/sdd/2026-08-21-colitur-celebrant-rubrics-phase1/preface-witnesses-report.md for the full account (the field is genuinely per-day, contrary to a naive header-count read, but carries its own classification anomaly during Advent and reconfirms the corpus's known St Lawrence vigil defect, and building a full extractor for it is a separate, comparably large task not needed to decide the RG 497 question this same report settles). Claude-Session: https://claude.ai/code/session_017ZBxCCRM2ojnBupp3SBxV9 --- test/fixtures/lms-ordo-2023-2024.sexp | 811 +++++++++++++++++------------ test/fixtures/lms-ordo-2024-2025.sexp | 926 +++++++++++++++++++++------------- test/fixtures/lms-ordo-2025-2026.sexp | 827 ++++++++++++++++++------------ test/test_lms_ordo.ml | 138 ++++- tools/extract_lms_ordo.ml | 198 +++++++- 5 files changed, 1898 insertions(+), 1002 deletions(-) (limited to 'tools/extract_lms_ordo.ml') diff --git a/test/fixtures/lms-ordo-2023-2024.sexp b/test/fixtures/lms-ordo-2023-2024.sexp index 9261ce7..c2ee62d 100644 --- a/test/fixtures/lms-ordo-2023-2024.sexp +++ b/test/fixtures/lms-ordo-2023-2024.sexp @@ -1,4 +1,4 @@ -; test/fixtures/lms-ordo-2023-2024.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; /tmp/lms-ordo-2023-2024.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), ; extending Task 6's single LMS fixture (2024-2025) to three editions of ; the Latin Mass Society's own printed Ordo for England & Wales -- a ; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) @@ -19,11 +19,11 @@ ; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this ; fixture's only record of where it came from. ; SHA-256 of docs/research/ordo/lms-ordo-2023-2024.pdf: 805a021bab246212c09a91706a04f4834fba052104de091b2fc5ed77c455bbba -; Extracted (UTC): 2026-08-22 +; Extracted (UTC): 2026-08-23 ; Exact commands: ; pdftotext -layout docs/research/ordo/lms-ordo-2023-2024.pdf /tmp/lms.txt ; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ -; docs/research/ordo/lms-ordo-2023-2024.pdf test/fixtures/lms-ordo-2023-2024.sexp +; docs/research/ordo/lms-ordo-2023-2024.pdf /tmp/lms-ordo-2023-2024.sexp ; ; COVERAGE: 397 day-rows, 2023-12-01 through 2024-12-31 (starting 1 December 2023 (this edition carries NO "End of November" stub section at all -- Advent Sunday 2023 fell on 3 December, so only 2 tail days of the prior liturgical year remained, and the compiler folded them directly into the "December 2023" header instead of giving them their own mini-section; see CHARACTERISATION below), ; through the day before a malformed trailing entry the extractor @@ -93,1415 +93,1600 @@ ; and the "When may I say...?"/Appendix tail are never scanned at ; all (the extractor's own start/stop markers bound it to the Ordo ; proper). +; +; 5. THE "Pr of" (PREFACE) COLUMN (Preface-witnesses task, 2026-08-23) -- +; [row.praef], the RAW text from the FIRST "Pr of ..." / "Common Pr" +; match in the universal block's own reading order (the same +; FIRST-in-reading-order discipline finding 1 above already +; establishes for Gl/Cr). CAPTURED, NOT CLASSIFIED by this tool -- +; classification into {!Colitur_kernel.Preface.t} and the comparison +; against {!Rite_ef.Rubrics_ef.preface} both happen test-side +; (test/test_lms_ordo.ml's own [classify_praef]). +; +; CHARACTERISATION FINDING, non-negotiable per the same discipline as +; finding 2: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y or +; Common Pr"), not always a single value -- and several of the named +; options ("Martyrs", "All Saints and Patron Saints" [diocesan-only, +; every occurrence checked falls strictly after this block's own +; colon boundary], "the Dedication of a Church", "the Most Holy +; Sacrament" [Corpus Christi's own universal entry], "St John the +; Baptist", "the Angels") are genuinely NOT among the fourteen the +; 1962 Missale Romanum's own RG 484-497 enumerate (docs/research/LT.txt, +; lines 3936-4020, checked directly: no "de Martyribus"/"de Angelis"/ +; "de Dedicatione"/"de Ss.mo Sacramento"/"de S. Ioanne Baptista" clause +; exists anywhere in 482-499). Every one of these extras, in every +; instance found in this edition's UNIVERSAL block, is printed +; ALONGSIDE a genuine RG 482 answer (most often "or Common Pr"; on 24 +; March-shaped days, "or Pr of Lent", the live RG 486(b) de-Tempore +; answer) -- never as the row's OWN AND ONLY option. This is why the +; test-side comparison checks colitur's single computed answer is a +; MEMBER of this row's own parsed option set (dropping any unmapped +; extra name from that set first), not string equality against +; whichever option happens to print first -- the same "capture, don't +; force a match invented at extraction time" discipline +; tools/extract_fiuv_ordo.ml's own [row.praef] doc comment already +; states for a different publisher's format. +; +; OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.preface (RG +; 482-499), the SAME discipline as finding 2, applied to this new +; column -- RE-CHECKED BY THIS TOOL RUN before this header was +; written; a failed probe is a hard [die]: +; 2023-12-25 (the Nativity of Our Lord, I class, RG 484(a)) -> "Pr of the Nativity" +; 2024-06-29 (SS Peter & Paul, I class, RG 497) -> "Pr of the Apostles" +; 2024-11-02 (All Souls' Day, I class, RG 499) -> "Pr of the Dead" +; All 3 predictions confirmed -- this column, too, is discriminating, +; not a constant, across three different RG-cited outcomes (Nativity/ +; Apostles/Requiem). +; +; COVERAGE: 1 of 397 rows have no "Pr of"/"Common Pr" text found at +; all -- checked directly against this window's own Good Friday +; (Easter-2): its block carries NO Gl/Cr/Pr line whatsoever in this +; source (the 1955-restored Holy Week's own liturgical action has no +; Mass that day at all -- the SAME structural fact +; {!test_creed_coverage}'s own [window_good_fridays] already asserts +; for Gl/Cr), so [praef] shares that single expected gap rather than +; having a coverage gap of its own. (((date 2023-12-01) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2023-12-02) (weekday Sat) (title "St BIBIANA V M III Cl R # IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2023-12-03) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2023-12-04) (weekday Mon) (title "St PETER CHRYSOLOGUS B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2023-12-05) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2023-12-06) (weekday Wed) (title "St NICOLAS B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-07) (weekday Thu) (title "St AMBROSE B C D III Cl (Priv.) W JCHP*") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-08) (weekday Fri) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant true)) ((date 2023-12-09) (weekday Sat) (title "FERIA III Cl V") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2023-12-10) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2023-12-11) (weekday Mon) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2023-12-12) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2023-12-13) (weekday Wed) (title "St LUCY V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2023-12-14) (weekday Thu) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2023-12-15) (weekday Fri) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2023-12-16) (weekday Sat) (title "St EUSEBIUS B M III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-17) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2023-12-18) (weekday Mon) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-19) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-20) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-21) (weekday Thu) (title "St THOMAS \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2023-12-22) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-23) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2023-12-24) (weekday Sun) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2023-12-25) (weekday Mon) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at")) (has_diocesan_variant false)) ((date 2023-12-26) (weekday Tue) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2023-12-27) (weekday Wed) (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2023-12-28) (weekday Thu) (title "The HOLY INNOCENTS MM II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2023-12-29) (weekday Fri) (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2023-12-30) (weekday Sat) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2023-12-31) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-01-01) (weekday Mon) (title "The OCTAVE DAY of the NATIVITY of the LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-01-02) (weekday Tue) (title "The MOST HOLY NAME of JESUS II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2024-01-03) (weekday Wed) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Nativity")) (has_diocesan_variant true)) ((date 2024-01-04) (weekday Thu) (title "FERIA IV Cl W \226\128\160 JCHP") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2024-01-05) (weekday Fri) (title "FERIA IV Cl W \226\128\160 SH") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2024-01-06) (weekday Sat) (title "The EPIPHANY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Epiphany Proper Communic")) (has_diocesan_variant false)) ((date 2024-01-07) (weekday Sun) (title "The HOLY FAMILY of JESUS, MARY AND JOSEPH II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant true)) ((date 2024-01-08) (weekday Mon) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2024-01-09) (weekday Tue) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2024-01-10) (weekday Wed) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2024-01-11) (weekday Thu) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2024-01-12) (weekday Fri) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant true)) ((date 2024-01-13) (weekday Sat) (title "The BAPTISM of OUR LORD II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2024-01-14) (weekday Sun) (title "2nd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-01-15) (weekday Mon) (title "St PAUL the FIRST HERMIT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-16) (weekday Tue) (title "St MARCELLUS I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-01-17) (weekday Wed) (title "St ANTHONY Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-18) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-19) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-01-20) (weekday Sat) (title "SS FABIAN P & SEBASTIAN M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-01-21) (weekday Sun) (title "3rd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-01-22) (weekday Mon) (title "SS VINCENT & ANASTASIUS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-01-23) (weekday Tue) (title "St RAYMUND of PENAFORT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-24) (weekday Wed) (title "St TIMOTHY B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-01-25) (weekday Thu) (title "The CONVERSION of St PAUL \194\167 Ap III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-01-26) (weekday Fri) (title "St POLYCARP B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-01-27) (weekday Sat) (title "St JOHN CHRYSOSTOM B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-28) (weekday Sun) (title "SEPTUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-01-29) (weekday Mon) (title "St FRANCIS de SALES B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-01-30) (weekday Tue) (title "St MARTINA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-01-31) (weekday Wed) (title "St JOHN BOSCO C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-02-01) (weekday Thu) (title "St IGNATIUS \194\167 B M III Cl (Priv.) R JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-02-02) (weekday Fri) (title "The PURIFICATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2024-02-03) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) (has_diocesan_variant true)) ((date 2024-02-04) (weekday Sun) (title "SEXAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-02-05) (weekday Mon) (title "St AGATHA \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-02-06) (weekday Tue) (title "St TITUS B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-02-07) (weekday Wed) (title "St ROMUALD Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-02-08) (weekday Thu) (title "St JOHN of MATHA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-02-09) (weekday Fri) (title "St CYRIL of ALEXANDRIA B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-02-10) (weekday Sat) (title "St SCHOLASTICA V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-02-11) (weekday Sun) (title "QUINQUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-02-12) (weekday Mon) (title "The SEVEN HOLY FOUNDERS of the ORDER of the SERVANTS of the") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-02-13) (weekday Tue) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-02-14) (weekday Wed) (title "ASH WEDNESDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-15) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-16) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-02-17) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-02-18) (weekday Sun) (title "1st SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-02-19) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-20) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-21) (weekday Wed) (title "EMBER WEDNESDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-22) (weekday Thu) (title "The CHAIR of St PETER \194\167 Ap II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-02-23) (weekday Fri) (title "EMBER FRIDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-02-24) (weekday Sat) (title "EMBER SATURDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-25) (weekday Sun) (title "2nd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-02-26) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-27) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-02-28) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-02-29) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-01) (weekday Fri) (title "FERIA III Cl V SH") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-02) (weekday Sat) (title "FERIA III Cl V IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-03) (weekday Sun) (title "3rd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-03-04) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-05) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-06) (weekday Wed) (title "SS PERPETUA \194\167 & FELICITY \194\167 MM III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Lent")) (has_diocesan_variant false)) ((date 2024-03-07) (weekday Thu) (title "St THOMAS AQUINAS C D III Cl (Priv.) W JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-03-08) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-09) (weekday Sat) (title "St FRANCES of ROME W III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-03-10) (weekday Sun) (title "4th SUNDAY in LENT I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2024-03-11) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-12) (weekday Tue) (title "St GREGORY I P C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Lent")) (has_diocesan_variant true)) ((date 2024-03-13) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-14) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-15) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-16) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-17) (weekday Sun) (title "PASSION SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2024-03-18) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-19) (weekday Tue) (title "St JOSEPH \194\167 SPOUSE of the BVM C, PATRON of the UNIVERSAL") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in festivitate")) (has_diocesan_variant false)) ((date 2024-03-20) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant true)) ((date 2024-03-21) (weekday Thu) (title "St BENEDICT Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2024-03-22) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-23) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-24) (weekday Sun) (title "PALM SUNDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2024-03-25) (weekday Mon) (title "MONDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-26) (weekday Tue) (title "TUESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-27) (weekday Wed) (title "WEDNESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2024-03-28) (weekday Thu) (title "MAUNDY THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Holy Cross. No Judica No Gloria Patri at")) (has_diocesan_variant false)) ((date 2024-03-29) (weekday Fri) (title "GOOD FRIDAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria ()) (creed ()) - (has_diocesan_variant false)) + (praef ()) (has_diocesan_variant false)) ((date 2024-03-30) (weekday Sat) (title "HOLY SATURDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of Easter (in hac potissimum nocte).")) (has_diocesan_variant false)) ((date 2024-03-31) (weekday Sun) (title "EASTER I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Easter (die) Proper Communic Proper Hanc igitur")) (has_diocesan_variant false)) ((date 2024-04-01) (weekday Mon) (title "EASTER MONDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-02) (weekday Tue) (title "EASTER TUESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-03) (weekday Wed) (title "EASTER WEDNESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-04) (weekday Thu) (title "EASTER THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-05) (weekday Fri) (title "EASTER FRIDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-06) (weekday Sat) (title "EASTER SATURDAY (SABBATO in ALBIS) I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2024-04-07) (weekday Sun) (title "LOW SUNDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-08) (weekday Mon) (title "The ANNUNCIATION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Annuntiatione")) (has_diocesan_variant true)) ((date 2024-04-09) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2024-04-10) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-04-11) (weekday Thu) (title "St LEO P C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-12) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-04-13) (weekday Sat) (title "St HERMENEGILD M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-14) (weekday Sun) (title "2nd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-15) (weekday Mon) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-04-16) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-04-17) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2024-04-18) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-04-19) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2024-04-20) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2024-04-21) (weekday Sun) (title "3rd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-04-22) (weekday Mon) (title "SS SOTER & CAIUS PP MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2024-04-23) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 3rd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2024-04-24) (weekday Wed) (title "St FIDELIS of SIGMARINGEN M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2024-04-25) (weekday Thu) (title "THE GREATER LITANIES. St MARK Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2024-04-26) (weekday Fri) (title "St CLETUS & MARCELLINUS PP MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-27) (weekday Sat) (title "St PETER CANISIUS C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-04-28) (weekday Sun) (title "4th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-04-29) (weekday Mon) (title "St PETER M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2024-04-30) (weekday Tue) (title "St CATHERINE of SIENNA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-05-01) (weekday Wed) (title "St JOSEPH \194\167 the WORKER, SPOUSE of the BVM C I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in solemnitate")) (has_diocesan_variant false)) ((date 2024-05-02) (weekday Thu) (title "St ATHANASIUS B C D III Cl (Priv.) W JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2024-05-03) (weekday Fri) (title "FERIA IV Cl W \226\128\161 SH") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2024-05-04) (weekday Sat) (title "St MONICA W III Cl (Priv.) W IH JCHP*") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-05-05) (weekday Sun) (title "5th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-05-06) (weekday Mon) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 5th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2024-05-07) (weekday Tue) (title "St STANISLAUS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2024-05-08) (weekday Wed) (title "VIGIL of The ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2024-05-09) (weekday Thu) (title "The ASCENSION I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Ascension Proper Communic")) (has_diocesan_variant false)) ((date 2024-05-10) (weekday Fri) (title "St ANTONINUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2024-05-11) (weekday Sat) (title "SS PHILIP \194\167 & JAMES \194\167 App II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-05-12) (weekday Sun) (title "SUNDAY after the ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2024-05-13) (weekday Mon) (title "St ROBERT BELLARMINE B C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2024-05-14) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant true)) ((date 2024-05-15) (weekday Wed) (title "St JOHN BAPTIST de la SALLE C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2024-05-16) (weekday Thu) (title "St UBALDUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2024-05-17) (weekday Fri) (title "St PASCHAL BAYLON C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2024-05-18) (weekday Sat) (title "VIGIL of PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef + ("Pr of the Holy Spirit hodierna die Proper Communic Proper Hanc igitur")) (has_diocesan_variant false)) ((date 2024-05-19) (weekday Sun) (title "PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-20) (weekday Mon) (title "WHIT MONDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-21) (weekday Tue) (title "WHIT TUESDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-22) (weekday Wed) (title "WHIT WEDNESDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-23) (weekday Thu) (title "WHIT THURSDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-24) (weekday Fri) (title "WHIT FRIDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-25) (weekday Sat) (title "WHIT SATURDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2024-05-26) (weekday Sun) (title "The MOST HOLY TRINITY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-05-27) (weekday Mon) (title "St BEDE the VENERABLE C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-05-28) (weekday Tue) (title "St AUGUSTINE B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-05-29) (weekday Wed) (title "St MARY MAGDALEN dei PAZZI V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-05-30) (weekday Thu) (title "CORPUS CHRISTI I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Most Holy Sacrament or Common Pr")) (has_diocesan_variant false)) ((date 2024-05-31) (weekday Fri) (title "The BLESSED VIRGIN MARY, QUEEN II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2024-06-01) (weekday Sat) (title "St ANGELA MERICI V III Cl W # IH JCHP") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-02) (weekday Sun) (title "2nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-06-03) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-06-04) (weekday Tue) (title "St FRANCIS CARACCIOLO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-05) (weekday Wed) (title "St BONIFACE B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-06-06) (weekday Thu) (title "St NORBERT B C III Cl W # JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-06-07) (weekday Fri) (title "The SACRED HEART of JESUS I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Sacred Heart")) (has_diocesan_variant false)) ((date 2024-06-08) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2024-06-09) (weekday Sun) (title "3rd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-06-10) (weekday Mon) (title "St MARGARET Q W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-06-11) (weekday Tue) (title "St BARNABAS Ap III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-06-12) (weekday Wed) (title "St JOHN of SAN FACONDO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-06-13) (weekday Thu) (title "St ANTHONY of PADUA C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-14) (weekday Fri) (title "St BASIL the GREAT B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-15) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2024-06-16) (weekday Sun) (title "4th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-06-17) (weekday Mon) (title "St GREGORY BARBARIGO B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-18) (weekday Tue) (title "St EPHREM the SYRIAN Deacon C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-06-19) (weekday Wed) (title "St JULIANA FALCONIERI V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-20) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-21) (weekday Fri) (title "St ALOYSIUS GONZAGA C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-22) (weekday Sat) (title "St PAULINUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-23) (weekday Sun) (title "5th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-06-24) (weekday Mon) (title "The NATIVITY of JOHN the BAPTIST \194\167 I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2024-06-25) (weekday Tue) (title "St WILLIAM Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-26) (weekday Wed) (title "SS JOHN & PAUL \194\167 MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-06-27) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 5th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-28) (weekday Fri) (title "VIGIL of SS PETER \194\167 & PAUL \194\167 App II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-06-29) (weekday Sat) (title "SS PETER \194\167 & PAUL \194\167 App I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2024-06-30) (weekday Sun) (title "6th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-07-01) (weekday Mon) (title "The MOST PRECIOUS BLOOD of OUR LORD JESUS CHRIST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2024-07-02) (weekday Tue) (title "The VISITATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Visitatione")) (has_diocesan_variant false)) ((date 2024-07-03) (weekday Wed) (title "St IRENAEUS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-07-04) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 6th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-05) (weekday Fri) (title "St ANTHONY MARY ZACCARIA C III Cl W # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-06) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2024-07-07) (weekday Sun) (title "7th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-07-08) (weekday Mon) (title "St ELIZABETH Q W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-09) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-10) (weekday Wed) (title "The SEVEN HOLY BROTHERS MM & SS RUFINA & SECUNDA VV MM III") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-07-11) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-12) (weekday Fri) (title "St JOHN GUALBERTI Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-13) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2024-07-14) (weekday Sun) (title "8th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-07-15) (weekday Mon) (title "St HENRY Emperor C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-16) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 8th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-17) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 8th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-18) (weekday Thu) (title "St CAMILLUS de LELLIS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-19) (weekday Fri) (title "St VINCENT de PAUL C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-20) (weekday Sat) (title "St JEROME EMILIANI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-21) (weekday Sun) (title "9th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-07-22) (weekday Mon) (title "St MARY MAGDALEN Penitent III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-23) (weekday Tue) (title "St APOLLINARIS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-07-24) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 9th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-25) (weekday Thu) (title "St JAMES \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-07-26) (weekday Fri) (title "St ANNE MOTHER of the BVM II Cl W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-27) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2024-07-28) (weekday Sun) (title "10th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-07-29) (weekday Mon) (title "St MARTHA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-07-30) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 10th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-07-31) (weekday Wed) (title "St IGNATIUS C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-01) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 10th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-02) (weekday Fri) (title "St ALPHONSUS MARIA LIGUORI B C D III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-03) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2024-08-04) (weekday Sun) (title "11th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-08-05) (weekday Mon) (title "The DEDICATION of St MARY of the SNOWS III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2024-08-06) (weekday Tue) (title "The TRANSFIGURATION of OUR LORD JESUS CHRIST II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-07) (weekday Wed) (title "St CAJETAN C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-08) (weekday Thu) (title "St JOHN MARY VIANNEY C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-09) (weekday Fri) (title "VIGIL of St LAURENCE \194\167 M III Cl V #") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-10) (weekday Sat) (title "St LAURENCE \194\167 M II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-08-11) (weekday Sun) (title "12th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-08-12) (weekday Mon) (title "St CLARE V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-13) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 12th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-14) (weekday Wed) (title "VIGIL of The ASSUMPTION of the BVM II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-15) (weekday Thu) (title "The ASSUMPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Assumptione")) (has_diocesan_variant false)) ((date 2024-08-16) (weekday Fri) (title "St JOACHIM FATHER of the BVM C II Cl W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-17) (weekday Sat) (title "St HYACINTH C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-18) (weekday Sun) (title "13th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-08-19) (weekday Mon) (title "St JOHN EUDES C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-20) (weekday Tue) (title "St BERNARD Ab D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-21) (weekday Wed) (title "St JANE FRANCES FREMIOT de CHANTAL W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-22) (weekday Thu) (title "The IMMACULATE HEART of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2024-08-23) (weekday Fri) (title "St PHILIP BENIZI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-24) (weekday Sat) (title "St BARTHOLOMEW \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-08-25) (weekday Sun) (title "14th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-08-26) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 14th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-27) (weekday Tue) (title "St JOSEPH CALASANCTIUS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-08-28) (weekday Wed) (title "St AUGUSTINE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-29) (weekday Thu) (title "The BEHEADING of St JOHN the BAPTIST \194\167 III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2024-08-30) (weekday Fri) (title "St ROSE of LIMA V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-08-31) (weekday Sat) (title "St RAYMUND NONNATUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-01) (weekday Sun) (title "15th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-09-02) (weekday Mon) (title "St STEPHEN K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-03) (weekday Tue) (title "St PIUS X P C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-04) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-05) (weekday Thu) (title "St LAURENCE JUSTINIAN B C III Cl W # JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-06) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-07) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione.")) + (has_diocesan_variant false)) ((date 2024-09-08) (weekday Sun) (title "16th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-09-09) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 16th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-09-10) (weekday Tue) (title "St NICOLAS of TOLENTINO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-09-11) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 16th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-12) (weekday Thu) (title "The MOST HOLY NAME of MARY III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2024-09-13) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 16th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-14) (weekday Sat) (title "The EXALTATION of the HOLY CROSS II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2024-09-15) (weekday Sun) (title "17th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-09-16) (weekday Mon) (title "SS CORNELIUS \194\167 P & CYPRIAN \194\167 B MM III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-09-17) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 17th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-09-18) (weekday Wed) (title "EMBER WEDNESDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-09-19) (weekday Thu) (title "St JANUARIUS B & COMPS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-09-20) (weekday Fri) (title "EMBER FRIDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-09-21) (weekday Sat) (title "St MATTHEW \194\167 Ap Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2024-09-22) (weekday Sun) (title "18th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-09-23) (weekday Mon) (title "St LINUS P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-09-24) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 18th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-25) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 18th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-26) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 18th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-09-27) (weekday Fri) (title "SS COSMAS \194\167 & DAMIAN \194\167 MM III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-09-28) (weekday Sat) (title "St WENCESLAUS Duke M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-09-29) (weekday Sun) (title "The DEDICATION of St MICHAEL Archangel I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Angels or Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-09-30) (weekday Mon) (title "St JEROME Priest C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-01) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 19th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-10-02) (weekday Wed) (title "The HOLY GUARDIAN ANGELS III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant false)) ((date 2024-10-03) (weekday Thu) (title "St TERESA of the CHILD JESUS V III Cl (Priv.) W JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-04) (weekday Fri) (title "St FRANCIS of ASSISI C III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-05) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2024-10-06) (weekday Sun) (title "20th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-10-07) (weekday Mon) (title "The BVM of the ROSARY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2024-10-08) (weekday Tue) (title "St BRIDGET W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-09) (weekday Wed) (title "St JOHN LEONARDI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-10) (weekday Thu) (title "St FRANCIS BORGIA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-11) (weekday Fri) (title "The MOTHERHOOD of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2024-10-12) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2024-10-13) (weekday Sun) (title "21st SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-10-14) (weekday Mon) (title "St CALLISTUS I P M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-10-15) (weekday Tue) (title "St TERESA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-16) (weekday Wed) (title "St HEDWIG W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-17) (weekday Thu) (title "St MARGARET MARY ALACOQUE V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-18) (weekday Fri) (title "St LUKE Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2024-10-19) (weekday Sat) (title "St PETER of ALCANTARA C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-20) (weekday Sun) (title "22nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-10-21) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-22) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-23) (weekday Wed) (title "St ANTHONY MARY CLARET B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-10-24) (weekday Thu) (title "St RAPHAEL Archangel III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant true)) ((date 2024-10-25) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-26) (weekday Sat) (title "CELEBRATION of the BVM IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2024-10-27) (weekday Sun) (title "CHRIST the KING I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Our Lord Jesus Christ the King")) (has_diocesan_variant false)) ((date 2024-10-28) (weekday Mon) (title "SS SIMON \194\167 & JUDE \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2024-10-29) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-30) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-10-31) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-01) (weekday Fri) (title "ALL SAINTS' DAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of All Saints and Patron Saints or Common Pr")) (has_diocesan_variant false)) ((date 2024-11-02) (weekday Sat) (title "ALL SOULS' DAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Dead No Blessing")) (has_diocesan_variant false)) ((date 2024-11-03) (weekday Sun) (title "4th SUNDAY remaining after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-11-04) (weekday Mon) (title "St CHARLES B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-05) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-06) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-07) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-08) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday remaining after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-09) (weekday Sat) (title "The DEDICATION of the ARCHBASILICA of OUR SAVIOUR II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Dedication of a Church or Common Pr")) (has_diocesan_variant false)) ((date 2024-11-10) (weekday Sun) (title "5th SUNDAY remaining after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-11-11) (weekday Mon) (title "St MARTIN B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-12) (weekday Tue) (title "St MARTIN I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-11-13) (weekday Wed) (title "St DIDACUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-14) (weekday Thu) (title "St JOSAPHAT B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-11-15) (weekday Fri) (title "St ALBERT the GREAT B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-16) (weekday Sat) (title "St GERTRUDE V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-17) (weekday Sun) (title "6th SUNDAY remaining after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2024-11-18) (weekday Mon) (title "The DEDICATION of the BASILICAS of SS PETER & PAUL III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Dedication of a Church or Common Pr")) (has_diocesan_variant false)) ((date 2024-11-19) (weekday Tue) (title "St ELIZABETH W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-20) (weekday Wed) (title "St FELIX de VALOIS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-21) (weekday Thu) (title "The PRESENTATION of the BVM III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Pr\195\166sentatione")) (has_diocesan_variant false)) ((date 2024-11-22) (weekday Fri) (title "St CECILIA \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-11-23) (weekday Sat) (title "St CLEMENT I \194\167 P M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2024-11-24) (weekday Sun) (title "24th & LAST SUNDAY After PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-11-25) (weekday Mon) (title "St CATHERINE V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-11-26) (weekday Tue) (title "St SILVESTER Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-27) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-28) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-29) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-30) (weekday Sat) (title "St ANDREW \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-12-01) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-02) (weekday Mon) (title "St BIBIANA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-12-03) (weekday Tue) (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-04) (weekday Wed) (title "St PETER CHRYSOLOGUS B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-12-05) (weekday Thu) (title "FERIA III Cl V JCHP") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-06) (weekday Fri) (title "St NICOLAS B C III Cl (Priv.) W SH") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-07) (weekday Sat) (title "St AMBROSE B C D III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-08) (weekday Sun) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant false)) ((date 2024-12-09) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-10) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-11) (weekday Wed) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-12-12) (weekday Thu) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-13) (weekday Fri) (title "St LUCY V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-12-14) (weekday Sat) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-15) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-16) (weekday Mon) (title "St EUSEBIUS B M III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-17) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-18) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-19) (weekday Thu) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-20) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-21) (weekday Sat) (title "St THOMAS \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-12-22) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-23) (weekday Mon) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-24) (weekday Tue) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-25) (weekday Wed) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at")) (has_diocesan_variant false)) ((date 2024-12-26) (weekday Thu) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-27) (weekday Fri) (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-28) (weekday Sat) (title "The HOLY INNOCENTS MM II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2024-12-29) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2024-12-30) (weekday Mon) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-31) (weekday Tue) (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false))) diff --git a/test/fixtures/lms-ordo-2024-2025.sexp b/test/fixtures/lms-ordo-2024-2025.sexp index 01c87b9..9c717f8 100644 --- a/test/fixtures/lms-ordo-2024-2025.sexp +++ b/test/fixtures/lms-ordo-2024-2025.sexp @@ -1,6 +1,6 @@ -; test/fixtures/lms-ordo-2024-2025.sexp -- Task 6 (2026-08-21-colitur- -; celebrant-rubrics-phase1)'s sixth validation layer: the Latin Mass -; Society's own printed Ordo, an England & Wales diocesan Ordo -- a +; /tmp/lms-ordo-2024-2025.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; extending Task 6's single LMS fixture (2024-2025) to three editions of +; the Latin Mass Society's own printed Ordo for England & Wales -- a ; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) ; and of the electronic LT.txt transcription (layers 1-2/5): a physically ; printed, professionally-compiled liturgical calendar with its own ISBN. @@ -12,1502 +12,1708 @@ ; Mass Society, 9 Mallow Street, London EC1Y 8RQ (title page and ; colophon, verified directly against the PDF's own extracted text -- ; ISBN 9781739209636, Copyright (c) The Latin Mass Society, UK 2024). -; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 7.4", -; CreationDate 2024-11-06, 140 pages. -; URL (identified 2026-08-22 via web search matching the PDF's own -; version number and filename to the publisher's own hosting path; -; NOT independently re-downloaded and byte-compared in this session -- -; recorded honestly rather than presented as verified): +; PDF metadata: Author "Peter Day-Milne", Producer "LibreOffice 7.4", CreationDate 2024-11-06, 140 pages. +; URL (identified via web search matching the PDF's own version number and filename to the publisher's own hosting path (product page: https://lms.org.uk/product/latin-mass-society-ordo-2024-25); NOT independently re-downloaded and byte-compared in this session -- recorded honestly rather than presented as verified): ; https://lms.org.uk/sites/default/files/u5374/ordo_2.21_2024-2025.pdf -; (product page: https://lms.org.uk/product/latin-mass-society-ordo-2024-25) ; The local PDF (docs/research/ordo/lms-ordo-2024-2025.pdf) is gitignored ; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this ; fixture's only record of where it came from. ; SHA-256 of docs/research/ordo/lms-ordo-2024-2025.pdf: 7c482684d177b2e1aa7498e302405bf37ee15042f892c65f7a6091fd5d169f7d -; Extracted (UTC): 2026-08-22 +; Extracted (UTC): 2026-08-23 ; Exact commands: ; pdftotext -layout docs/research/ordo/lms-ordo-2024-2025.pdf /tmp/lms.txt ; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ -; docs/research/ordo/lms-ordo-2024-2025.pdf test/fixtures/lms-ordo-2024-2025.sexp +; docs/research/ordo/lms-ordo-2024-2025.pdf /tmp/lms-ordo-2024-2025.sexp ; -; COVERAGE: 400 day-rows, 2024-11-27 through 2025-12-31 (2024-11-27, "End of November 2024", +; COVERAGE: 400 day-rows, 2024-11-27 through 2025-12-31 (starting 27 November 2024 ("End of November 2024", the same shape as the 2025-2026 edition -- Advent Sunday 2024 fell on 1 December, so 4 tail days remained (27-30 November)), ; through the day before a malformed trailing entry the extractor ; deliberately stops before -- see CHARACTERISATION below). ; ; CHARACTERISATION FINDINGS (Step 1, non-negotiable per the task brief -- ; the extraordinaryform.org Ordo silently omitted St Lawrence's vigil on ; EVERY date it covered, which nearly produced a false corroboration -; during the RG 33 work; this Ordo was probed with the same discipline -; before a single divergence was adjudicated): +; during the RG 33 work; every LMS edition, including this one, is probed +; with the same discipline before a single divergence is adjudicated): ; -; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed: this PDF -; alone -- not the multi-year corpus the task brief's own grep count -; was measured against -- carries many more Gl/Cr pairs than day-rows, -; because every diocesan variant repeats its own "Gl ... Cr ... Pr of -; ..." line). This extractor resolves the day's OWN office by taking -; the FIRST Gl/Cr pair in reading order, which the source's own layout +; 1. Gl/Cr are printed PER MASS-OPTION, not per day (confirmed again for +; THIS edition: it carries many more Gl/Cr pairs than day-rows, because +; every diocesan variant repeats its own "Gl ... Cr ... Pr of ..." +; line). This extractor resolves the day's OWN office by taking the +; FIRST Gl/Cr pair in reading order, which the source's own layout ; guarantees is the universal entry's (diocesan variants are always ; introduced by a colon-terminated diocese-list line that comes AFTER ; the universal block, never before -- checked structurally, not -; assumed, in every sampled block during development). +; assumed, in every sampled block during development, this edition +; included). ; ; 2. OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.creed (RG -; 475-476), checked BEFORE trusting a single row of this fixture -- +; 475-476), RE-CHECKED BY THIS TOOL RUN (not merely copied from a prior +; edition's findings) before a single row of this fixture is trusted -- ; the technique CLAUDE.md records as the one that catches a source -; silently omitting the very thing it is meant to witness: -; 2024-12-01 (Advent Sunday, RG 475(a)) -- Ordo "No Gl Cr" -> TRUE -; 2024-12-02 (ordinary Advent feria) -- Ordo "Gl No Cr" -> FALSE -; 2024-12-26 (St Stephen, II class, but inside the Nativity octave, -; RG 475(d)) -- Ordo "Gl Cr" -> TRUE -; 2025-08-15 (the Assumption, I class, RG 475(b)) -; -- Ordo "Gl Cr" -> TRUE -; 2025-08-16 (St Joachim, II class, no Lord/BVM/apostle clause -; applies, RG 476(b)) -- Ordo "Gl No Cr" -> FALSE -; All five predictions confirmed, both directions (TRUE and FALSE each -; independently witnessed, including the Stephen/Joachim pair, which -; are BOTH II-class non-Sunday saints and differ ONLY on the octave -; question) -- this source is discriminating, not a constant, on the -; Creed. See task-6-report.md for the full record. +; silently omitting the very thing it is meant to witness. This run's +; own extracted [rows] were checked against every one of the following +; before this header was even written; a failure here is a hard [die], +; not a printed claim: +; 2024-12-01 (Advent Sunday, RG 475(a)) -> TRUE +; 2024-12-02 (ordinary Advent feria, RG 476(b)/(d)) -> FALSE +; 2024-12-26 (St Stephen, II class, inside the Nativity octave, RG 475(d)) -> TRUE +; 2025-08-15 (the Assumption, I class, RG 475(b)) -> TRUE +; 2025-08-16 (St Joachim, II class, no Lord/BVM/apostle clause applies, RG 476(b)) -> FALSE +; All 5 predictions confirmed, both directions (TRUE and FALSE each +; independently witnessed) -- this edition is discriminating, not a +; constant, on the Creed. ; ; 3. The BVM-Saturday roman numeral (I-V, "Missae de sancta Maria in ; sabbato", RG 309(a)) is anchored by WHOLE-LINE match against the five ; literal strings below, NEVER by substring search: "V Mass of BVM" is ; a substring of "IV Mass of BVM", so a naive `contains` check ; misreads every fourth-Mass day as the fifth (the coordinator's own -; misreading, recorded and retracted in commit 27b07b4 before this -; task existed). +; misreading, recorded and retracted in commit 27b07b4 before Task 6 +; existed; the same anchoring logic runs unchanged for every edition). ; ; 4. SCOPE EXCLUDED, quantified, not silently dropped: ; - Diocesan variants: present on 156 of 400 days (39.0%) -- their own ; text is read only far enough to set [has_diocesan_variant], ; never compared, because colitur computes the UNIVERSAL General ; Roman Calendar only, with no diocesan overlay loaded. -; - The single malformed trailing entry ("2025 1 The OCTAVE DAY of -; the NATIVITY..." printed with "Thu" wrapped onto the following -; line and the year token "2025" where "2026" belongs -- a literal -; duplicate, word for word, of the fixture's own already-extracted -; 2025-01-01 row) is excluded outright: the extractor's own stop -; marker (a line whose first token is a bare 4-digit year) halts -; the scan before it, so this fixture's last row is 2025-12-31. +; - The single malformed trailing entry ("...The OCTAVE DAY of the +; NATIVITY..." with a bare 4-digit token where a weekday+day-number +; pair belongs) is excluded outright: the extractor's own stop +; marker (a line whose first token is a bare 4-digit token) halts +; the scan before it. CONFIRMED IDENTICAL, word for word, across +; ALL FOUR known editions of this publisher's Ordo (2023-2024, +; 2024-2025, 2025-2026, and the 2024-2025 fixture's own prior +; header) -- always the literal stray year token "2025", regardless +; of which edition or which real trailing year it should read: a +; stale copy-paste leftover the compiler's own master document +; carries forward unedited release to release (even the 2024-2025 +; PDF's own tail page footer nearby still reads "Latin Mass Society +; Ordo 2021-2022"), not something specific to this edition. ; - Front matter, the Abbreviations/Rubrical-Primer/Breviary sections, ; and the "When may I say...?"/Appendix tail are never scanned at -; all (the extractor's own start/stop sentinels bound it to the -; Ordo proper, "End of November 2024" through the stop marker -; above). +; all (the extractor's own start/stop markers bound it to the Ordo +; proper). +; +; 5. THE "Pr of" (PREFACE) COLUMN (Preface-witnesses task, 2026-08-23) -- +; [row.praef], the RAW text from the FIRST "Pr of ..." / "Common Pr" +; match in the universal block's own reading order (the same +; FIRST-in-reading-order discipline finding 1 above already +; establishes for Gl/Cr). CAPTURED, NOT CLASSIFIED by this tool -- +; classification into {!Colitur_kernel.Preface.t} and the comparison +; against {!Rite_ef.Rubrics_ef.preface} both happen test-side +; (test/test_lms_ordo.ml's own [classify_praef]). +; +; CHARACTERISATION FINDING, non-negotiable per the same discipline as +; finding 2: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y or +; Common Pr"), not always a single value -- and several of the named +; options ("Martyrs", "All Saints and Patron Saints" [diocesan-only, +; every occurrence checked falls strictly after this block's own +; colon boundary], "the Dedication of a Church", "the Most Holy +; Sacrament" [Corpus Christi's own universal entry], "St John the +; Baptist", "the Angels") are genuinely NOT among the fourteen the +; 1962 Missale Romanum's own RG 484-497 enumerate (docs/research/LT.txt, +; lines 3936-4020, checked directly: no "de Martyribus"/"de Angelis"/ +; "de Dedicatione"/"de Ss.mo Sacramento"/"de S. Ioanne Baptista" clause +; exists anywhere in 482-499). Every one of these extras, in every +; instance found in this edition's UNIVERSAL block, is printed +; ALONGSIDE a genuine RG 482 answer (most often "or Common Pr"; on 24 +; March-shaped days, "or Pr of Lent", the live RG 486(b) de-Tempore +; answer) -- never as the row's OWN AND ONLY option. This is why the +; test-side comparison checks colitur's single computed answer is a +; MEMBER of this row's own parsed option set (dropping any unmapped +; extra name from that set first), not string equality against +; whichever option happens to print first -- the same "capture, don't +; force a match invented at extraction time" discipline +; tools/extract_fiuv_ordo.ml's own [row.praef] doc comment already +; states for a different publisher's format. +; +; OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.preface (RG +; 482-499), the SAME discipline as finding 2, applied to this new +; column -- RE-CHECKED BY THIS TOOL RUN before this header was +; written; a failed probe is a hard [die]: +; 2024-12-25 (the Nativity of Our Lord, I class, RG 484(a)) -> "Pr of the Nativity" +; 2025-06-29 (SS Peter & Paul, I class, RG 497) -> "Pr of the Apostles" +; 2025-11-03 (All Souls' Day, I class, RG 499 -- TRANSFERRED from 2 November, a Sunday in this edition's own calendar) -> "Pr of the Dead" +; All 3 predictions confirmed -- this column, too, is discriminating, +; not a constant, across three different RG-cited outcomes (Nativity/ +; Apostles/Requiem). +; +; COVERAGE: 1 of 400 rows have no "Pr of"/"Common Pr" text found at +; all -- checked directly against this window's own Good Friday +; (Easter-2): its block carries NO Gl/Cr/Pr line whatsoever in this +; source (the 1955-restored Holy Week's own liturgical action has no +; Mass that day at all -- the SAME structural fact +; {!test_creed_coverage}'s own [window_good_fridays] already asserts +; for Gl/Cr), so [praef] shares that single expected gap rather than +; having a coverage gap of its own. (((date 2024-11-27) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-28) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-11-29) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-11-30) (weekday Sat) (title "St ANDREW \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-12-01) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-02) (weekday Mon) (title "St BIBIANA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-12-03) (weekday Tue) (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-04) (weekday Wed) (title "St PETER CHRYSOLOGUS B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-12-05) (weekday Thu) (title "FERIA III Cl V JCHP") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-06) (weekday Fri) (title "St NICOLAS B C III Cl (Priv.) W SH") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-07) (weekday Sat) (title "St AMBROSE B C D III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-08) (weekday Sun) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant false)) ((date 2024-12-09) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-10) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2024-12-11) (weekday Wed) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2024-12-12) (weekday Thu) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-13) (weekday Fri) (title "St LUCY V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2024-12-14) (weekday Sat) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-15) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-16) (weekday Mon) (title "St EUSEBIUS B M III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-17) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-18) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-19) (weekday Thu) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-20) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-21) (weekday Sat) (title "St THOMAS \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2024-12-22) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2024-12-23) (weekday Mon) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2024-12-24) (weekday Tue) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2024-12-25) (weekday Wed) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at other")) (has_diocesan_variant false)) ((date 2024-12-26) (weekday Thu) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-27) (weekday Fri) (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-28) (weekday Sat) (title "The HOLY INNOCENTS MM II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2024-12-29) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2024-12-30) (weekday Mon) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2024-12-31) (weekday Tue) (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-01-01) (weekday Wed) (title "The OCTAVE DAY of the NATIVITY of the LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-01-02) (weekday Thu) (title "FERIA IV Cl W \226\128\160 JCHP") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2025-01-03) (weekday Fri) (title "FERIA IV Cl W \226\128\160 SH") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Nativity")) (has_diocesan_variant true)) ((date 2025-01-04) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP*") (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-01-05) (weekday Sun) (title "The MOST HOLY NAME of JESUS II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Nativity")) (has_diocesan_variant true)) ((date 2025-01-06) (weekday Mon) (title "The EPIPHANY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Epiphany Proper Communic")) (has_diocesan_variant false)) ((date 2025-01-07) (weekday Tue) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2025-01-08) (weekday Wed) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2025-01-09) (weekday Thu) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2025-01-10) (weekday Fri) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2025-01-11) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-01-12) (weekday Sun) (title "The HOLY FAMILY of JESUS, MARY AND JOSEPH II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2025-01-13) (weekday Mon) (title "The BAPTISM of OUR LORD II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2025-01-14) (weekday Tue) (title "St HILARY B C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-01-15) (weekday Wed) (title "St PAUL the FIRST HERMIT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-16) (weekday Thu) (title "St MARCELLUS I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-01-17) (weekday Fri) (title "St ANTHONY Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-18) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-01-19) (weekday Sun) (title "2nd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-01-20) (weekday Mon) (title "SS FABIAN P & SEBASTIAN M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-01-21) (weekday Tue) (title "St AGNES \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-01-22) (weekday Wed) (title "SS VINCENT & ANASTASIUS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-01-23) (weekday Thu) (title "St RAYMUND of PENAFORT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-24) (weekday Fri) (title "St TIMOTHY B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-01-25) (weekday Sat) (title "The CONVERSION of St PAUL \194\167 Ap III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2025-01-26) (weekday Sun) (title "3rd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-01-27) (weekday Mon) (title "St JOHN CHRYSOSTOM B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-28) (weekday Tue) (title "St PETER NOLASCO C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-29) (weekday Wed) (title "St FRANCIS de SALES B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-01-30) (weekday Thu) (title "St MARTINA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-01-31) (weekday Fri) (title "St JOHN BOSCO C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-01) (weekday Sat) (title "St IGNATIUS \194\167 B M III Cl (Priv.) R IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-02-02) (weekday Sun) (title "The PURIFICATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2025-02-03) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-02-04) (weekday Tue) (title "St ANDREW CORSINI B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-02-05) (weekday Wed) (title "St AGATHA \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-02-06) (weekday Thu) (title "St TITUS B C III Cl (Priv.) W JCHP*") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-07) (weekday Fri) (title "St ROMUALD Ab III Cl W # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-08) (weekday Sat) (title "St JOHN of MATHA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-09) (weekday Sun) (title "5th SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-02-10) (weekday Mon) (title "St SCHOLASTICA V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-02-11) (weekday Tue) (title "The APPARITION of the BVM IMMACULATE III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant true)) ((date 2025-02-12) (weekday Wed) (title "The SEVEN HOLY FOUNDERS of the ORDER of the SERVANTS of the") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-13) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 5th Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-02-14) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 5th Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-15) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("III Mass of BVM")) (bvm_numeral (III)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-02-16) (weekday Sun) (title "SEPTUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-02-17) (weekday Mon) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-02-18) (weekday Tue) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-02-19) (weekday Wed) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-02-20) (weekday Thu) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-02-21) (weekday Fri) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-02-22) (weekday Sat) (title "The CHAIR of St PETER \194\167 Ap II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2025-02-23) (weekday Sun) (title "SEXAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-02-24) (weekday Mon) (title "St MATTHIAS Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2025-02-25) (weekday Tue) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Sexagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-02-26) (weekday Wed) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Sexagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-02-27) (weekday Thu) (title "St GABRIEL of OUR LADY of SORROWS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-02-28) (weekday Fri) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Sexagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-03-01) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") (formulary_override ("III Mass of BVM")) (bvm_numeral (III)) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-03-02) (weekday Sun) (title "QUINQUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-03-03) (weekday Mon) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-03-04) (weekday Tue) (title "St CASIMIR C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-03-05) (weekday Wed) (title "ASH WEDNESDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-06) (weekday Thu) (title "SS PERPETUA \194\167 & FELICITY \194\167 MM III Cl (Priv.) R JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-07) (weekday Fri) (title "St THOMAS AQUINAS C D III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-08) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-09) (weekday Sun) (title "1st SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-10) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-11) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-12) (weekday Wed) (title "EMBER WEDNESDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-13) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-14) (weekday Fri) (title "EMBER FRIDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-15) (weekday Sat) (title "EMBER SATURDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-16) (weekday Sun) (title "2nd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-17) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-18) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-19) (weekday Wed) (title "St JOSEPH \194\167 SPOUSE of the BVM C, PATRON of the UNIVERSAL") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in festivitate")) (has_diocesan_variant false)) ((date 2025-03-20) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-21) (weekday Fri) (title "St BENEDICT Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-22) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-23) (weekday Sun) (title "3rd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-24) (weekday Mon) (title "St GABRIEL Archangel III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-25) (weekday Tue) (title "The ANNUNCIATION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Annuntiatione")) (has_diocesan_variant false)) ((date 2025-03-26) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-27) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-03-28) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-29) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-03-30) (weekday Sun) (title "4th SUNDAY in LENT I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2025-03-31) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-01) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-02) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-04-03) (weekday Thu) (title "FERIA III Cl V JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2025-04-04) (weekday Fri) (title "FERIA III Cl V SH") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-05) (weekday Sat) (title "FERIA III Cl V IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-06) (weekday Sun) (title "PASSION SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2025-04-07) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-08) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-09) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-10) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-11) (weekday Fri) (title "St LEO P C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2025-04-12) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-13) (weekday Sun) (title "PALM SUNDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2025-04-14) (weekday Mon) (title "MONDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-15) (weekday Tue) (title "TUESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-16) (weekday Wed) (title "WEDNESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2025-04-17) (weekday Thu) (title "MAUNDY THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Holy Cross. No Judica No Gloria Patri at")) (has_diocesan_variant false)) ((date 2025-04-18) (weekday Fri) (title "GOOD FRIDAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria ()) (creed ()) - (has_diocesan_variant false)) + (praef ()) (has_diocesan_variant false)) ((date 2025-04-19) (weekday Sat) (title "HOLY SATURDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of Easter (in hac potissimum nocte).")) (has_diocesan_variant false)) ((date 2025-04-20) (weekday Sun) (title "EASTER I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Easter (die) Proper Communic Proper Hanc igitur")) (has_diocesan_variant true)) ((date 2025-04-21) (weekday Mon) (title "EASTER MONDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-22) (weekday Tue) (title "EASTER TUESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-23) (weekday Wed) (title "EASTER WEDNESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-24) (weekday Thu) (title "EASTER THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-25) (weekday Fri) (title "THE GREATER LITANIES. EASTER FRIDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-26) (weekday Sat) (title "EASTER SATURDAY (SABBATO in ALBIS) I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2025-04-27) (weekday Sun) (title "LOW SUNDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-04-28) (weekday Mon) (title "St PAUL of the CROSS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-04-29) (weekday Tue) (title "St PETER M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2025-04-30) (weekday Wed) (title "St CATHERINE of SIENNA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-01) (weekday Thu) (title "St JOSEPH \194\167 the WORKER, SPOUSE of the BVM C I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in solemnitate")) (has_diocesan_variant false)) ((date 2025-05-02) (weekday Fri) (title "St ATHANASIUS B C D III Cl (Priv.) W SH") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-03) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-05-04) (weekday Sun) (title "2nd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-05) (weekday Mon) (title "St PIUS V P C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-06) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2025-05-07) (weekday Wed) (title "St STANISLAUS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-08) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2025-05-09) (weekday Fri) (title "St GREGORY NAZIANZEN B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-10) (weekday Sat) (title "St ANTONINUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-11) (weekday Sun) (title "3rd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-12) (weekday Mon) (title "SS NEREUS, ACHILLEUS, DOMITILLA V, & PANCRAS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-13) (weekday Tue) (title "St ROBERT BELLARMINE B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-14) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 3rd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2025-05-15) (weekday Thu) (title "St JOHN BAPTIST de la SALLE C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-16) (weekday Fri) (title "St UBALDUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-17) (weekday Sat) (title "St PASCHAL BAYLON C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-18) (weekday Sun) (title "4th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-19) (weekday Mon) (title "St PETER CELESTINE P C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-20) (weekday Tue) (title "St BERNARD of SIENNA C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-21) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2025-05-22) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2025-05-23) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2025-05-24) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-05-25) (weekday Sun) (title "5th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2025-05-26) (weekday Mon) (title "St PHILIP NERI C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-27) (weekday Tue) (title "St BEDE the VENERABLE C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-28) (weekday Wed) (title "VIGIL of The ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2025-05-29) (weekday Thu) (title "The ASCENSION I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Ascension Proper Communic")) (has_diocesan_variant false)) ((date 2025-05-30) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant true)) ((date 2025-05-31) (weekday Sat) (title "The BLESSED VIRGIN MARY, QUEEN II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2025-06-01) (weekday Sun) (title "SUNDAY after the ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2025-06-02) (weekday Mon) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant false)) ((date 2025-06-03) (weekday Tue) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant false)) ((date 2025-06-04) (weekday Wed) (title "St FRANCIS CARACCIOLO C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2025-06-05) (weekday Thu) (title "St BONIFACE B M III Cl (Priv.) R JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of Martyrs or Pr of the Ascension")) (has_diocesan_variant true)) ((date 2025-06-06) (weekday Fri) (title "St NORBERT B C III Cl W # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2025-06-07) (weekday Sat) (title "VIGIL of PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef + ("Pr of the Holy Spirit hodierna die Proper Communic Proper Hanc igitur")) (has_diocesan_variant false)) ((date 2025-06-08) (weekday Sun) (title "PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-09) (weekday Mon) (title "WHIT MONDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-10) (weekday Tue) (title "WHIT TUESDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-11) (weekday Wed) (title "WHIT WEDNESDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-12) (weekday Thu) (title "WHIT THURSDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-13) (weekday Fri) (title "WHIT FRIDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-14) (weekday Sat) (title "WHIT SATURDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2025-06-15) (weekday Sun) (title "The MOST HOLY TRINITY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-06-16) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 1st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-17) (weekday Tue) (title "St GREGORY BARBARIGO B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-18) (weekday Wed) (title "St EPHREM the SYRIAN Deacon C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-06-19) (weekday Thu) (title "CORPUS CHRISTI I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Most Holy Sacrament or Common Pr")) (has_diocesan_variant false)) ((date 2025-06-20) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 1st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-21) (weekday Sat) (title "St ALOYSIUS GONZAGA C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-22) (weekday Sun) (title "2nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-06-23) (weekday Mon) (title "VIGIL of The NATIVITY of JOHN the BAPTIST \194\167 II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-06-24) (weekday Tue) (title "The NATIVITY of JOHN the BAPTIST \194\167 I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2025-06-25) (weekday Wed) (title "St WILLIAM Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-26) (weekday Thu) (title "SS JOHN & PAUL \194\167 MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-06-27) (weekday Fri) (title "The SACRED HEART of JESUS I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Sacred Heart")) (has_diocesan_variant true)) ((date 2025-06-28) (weekday Sat) (title "VIGIL of SS PETER \194\167 & PAUL \194\167 App II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-06-29) (weekday Sun) (title "SS PETER \194\167 & PAUL \194\167 App I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2025-06-30) (weekday Mon) (title "The COMMEMORATION of St PAUL \194\167 Ap III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2025-07-01) (weekday Tue) (title "The MOST PRECIOUS BLOOD of OUR LORD JESUS CHRIST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2025-07-02) (weekday Wed) (title "The VISITATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Visitatione")) (has_diocesan_variant false)) ((date 2025-07-03) (weekday Thu) (title "St IRENAEUS B M III Cl R # JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-07-04) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 3rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-05) (weekday Sat) (title "St ANTHONY MARY ZACCARIA C III Cl W # IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-06) (weekday Sun) (title "4th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-07-07) (weekday Mon) (title "SS CYRIL & METHODIUS BB CC III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-08) (weekday Tue) (title "St ELIZABETH Q W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-09) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-10) (weekday Thu) (title "The SEVEN HOLY BROTHERS MM & SS RUFINA & SECUNDA VV MM") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-07-11) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 4th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-12) (weekday Sat) (title "St JOHN GUALBERTI Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-13) (weekday Sun) (title "5th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-07-14) (weekday Mon) (title "St BONAVENTURE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-15) (weekday Tue) (title "St HENRY Emperor C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-16) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 5th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-17) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 5th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-18) (weekday Fri) (title "St CAMILLUS de LELLIS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-19) (weekday Sat) (title "St VINCENT de PAUL C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-20) (weekday Sun) (title "6th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-07-21) (weekday Mon) (title "St LAURENCE of BRINDISI C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-22) (weekday Tue) (title "St MARY MAGDALEN Penitent III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-23) (weekday Wed) (title "St APOLLINARIS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-07-24) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 6th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-25) (weekday Fri) (title "St JAMES \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2025-07-26) (weekday Sat) (title "St ANNE MOTHER of the BVM II Cl W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-27) (weekday Sun) (title "7th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-07-28) (weekday Mon) (title "SS NAZARIUS & CELSUS MM & VICTOR I P M & INNOCENT I P C III Cl") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-07-29) (weekday Tue) (title "St MARTHA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-07-30) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-07-31) (weekday Thu) (title "St IGNATIUS C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-01) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-02) (weekday Sat) (title "St ALPHONSUS MARIA LIGUORI B C D III Cl (Priv.) W IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-03) (weekday Sun) (title "8th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-08-04) (weekday Mon) (title "St DOMINIC C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-05) (weekday Tue) (title "The DEDICATION of St MARY of the SNOWS III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2025-08-06) (weekday Wed) (title "The TRANSFIGURATION of OUR LORD JESUS CHRIST II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-07) (weekday Thu) (title "St CAJETAN C III Cl W # JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-08) (weekday Fri) (title "St JOHN MARY VIANNEY C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-09) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-08-10) (weekday Sun) (title "9th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-08-11) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 9th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-12) (weekday Tue) (title "St CLARE V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-13) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 9th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-14) (weekday Thu) (title "VIGIL of The ASSUMPTION of the BVM II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-15) (weekday Fri) (title "The ASSUMPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Assumptione")) (has_diocesan_variant false)) ((date 2025-08-16) (weekday Sat) (title "St JOACHIM FATHER of the BVM C II Cl W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-17) (weekday Sun) (title "10th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-08-18) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 10th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-19) (weekday Tue) (title "St JOHN EUDES C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-20) (weekday Wed) (title "St BERNARD Ab D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-21) (weekday Thu) (title "St JANE FRANCES FR\195\137MIOT de CHANTAL W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-22) (weekday Fri) (title "The IMMACULATE HEART of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2025-08-23) (weekday Sat) (title "St PHILIP BENIZI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-24) (weekday Sun) (title "11th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-08-25) (weekday Mon) (title "St LOUIS K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-26) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 11th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-27) (weekday Wed) (title "St JOSEPH CALASANCTIUS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-08-28) (weekday Thu) (title "St AUGUSTINE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-29) (weekday Fri) (title "The BEHEADING of St JOHN the BAPTIST \194\167 III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2025-08-30) (weekday Sat) (title "St ROSE of LIMA V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-08-31) (weekday Sun) (title "12th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-09-01) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 12th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-02) (weekday Tue) (title "St STEPHEN K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-03) (weekday Wed) (title "St PIUS X P C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-04) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 12th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-05) (weekday Fri) (title "St LAURENCE JUSTINIAN B C III Cl W # SH") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-06) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-09-07) (weekday Sun) (title "13th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-09-08) (weekday Mon) (title "The NATIVITY of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Nativitate")) (has_diocesan_variant false)) ((date 2025-09-09) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 13th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-09-10) (weekday Wed) (title "St NICOLAS of TOLENTINO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-09-11) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 13th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-12) (weekday Fri) (title "The MOST HOLY NAME of MARY III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2025-09-13) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-09-14) (weekday Sun) (title "The EXALTATION of the HOLY CROSS II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2025-09-15) (weekday Mon) (title "The SEVEN SORROWS of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Transfixione")) (has_diocesan_variant false)) ((date 2025-09-16) (weekday Tue) (title "SS CORNELIUS \194\167 P & CYPRIAN \194\167 B MM III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-09-17) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 14th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-09-18) (weekday Thu) (title "St JOSEPH of CUPERTINO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-09-19) (weekday Fri) (title "St JANUARIUS B & COMPS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-09-20) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-09-21) (weekday Sun) (title "15th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-09-22) (weekday Mon) (title "St THOMAS of VILLANOVA B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-23) (weekday Tue) (title "St LINUS P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-09-24) (weekday Wed) (title "EMBER WEDNESDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-25) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-26) (weekday Fri) (title "EMBER FRIDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-09-27) (weekday Sat) (title "EMBER SATURDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-09-28) (weekday Sun) (title "16th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-09-29) (weekday Mon) (title "The DEDICATION of St MICHAEL Archangel I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant false)) ((date 2025-09-30) (weekday Tue) (title "St JEROME Priest C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-01) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 16th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-10-02) (weekday Thu) (title "The HOLY GUARDIAN ANGELS III Cl (Priv.) W JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant false)) ((date 2025-10-03) (weekday Fri) (title "St TERESA of the CHILD JESUS V III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-04) (weekday Sat) (title "St FRANCIS of ASSISI C III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-05) (weekday Sun) (title "17th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-10-06) (weekday Mon) (title "St BRUNO C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-10-07) (weekday Tue) (title "OUR LADY of the ROSARY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2025-10-08) (weekday Wed) (title "St BRIDGET W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-09) (weekday Thu) (title "St JOHN LEONARDI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-10) (weekday Fri) (title "St FRANCIS BORGIA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-11) (weekday Sat) (title "The MOTHERHOOD of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2025-10-12) (weekday Sun) (title "18th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-10-13) (weekday Mon) (title "St EDWARD K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-14) (weekday Tue) (title "St CALLISTUS I P M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-10-15) (weekday Wed) (title "St TERESA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-16) (weekday Thu) (title "St HEDWIG W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-17) (weekday Fri) (title "St MARGARET MARY ALACOQUE V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-18) (weekday Sat) (title "St LUKE Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2025-10-19) (weekday Sun) (title "19th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-10-20) (weekday Mon) (title "St JOHN CANTIUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-10-21) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 19th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-22) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 19th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-23) (weekday Thu) (title "St ANTHONY MARY CLARET B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-10-24) (weekday Fri) (title "St RAPHAEL Archangel III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant true)) ((date 2025-10-25) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-10-26) (weekday Sun) (title "CHRIST the KING I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Our Lord Jesus Christ the King")) (has_diocesan_variant false)) ((date 2025-10-27) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 20th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-10-28) (weekday Tue) (title "SS SIMON \194\167 & JUDE \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2025-10-29) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 20th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-30) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 20th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-10-31) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 20th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-01) (weekday Sat) (title "ALL SAINTS' DAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of All Saints and Patron Saints or Common Pr")) (has_diocesan_variant false)) ((date 2025-11-02) (weekday Sun) (title "21st SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-11-03) (weekday Mon) (title "ALL SOULS' DAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Dead No Blessing")) (has_diocesan_variant false)) ((date 2025-11-04) (weekday Tue) (title "St CHARLES B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-05) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 21st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-06) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 21st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-07) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 21st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-08) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2025-11-09) (weekday Sun) (title "The DEDICATION of the ARCHBASILICA of OUR SAVIOUR II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Dedication of a Church or Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-11-10) (weekday Mon) (title "St ANDREW AVELLINO C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-11) (weekday Tue) (title "St MARTIN B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-12) (weekday Wed) (title "St MARTIN I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-11-13) (weekday Thu) (title "St DIDACUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-14) (weekday Fri) (title "St JOSAPHAT B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-11-15) (weekday Sat) (title "St ALBERT the GREAT B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-16) (weekday Sun) (title "23rd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-11-17) (weekday Mon) (title "St GREGORY THAUMATURGUS B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-18) (weekday Tue) (title "The DEDICATION of the BASILICAS of SS PETER & PAUL III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Dedication of a Church or Common Pr")) (has_diocesan_variant false)) ((date 2025-11-19) (weekday Wed) (title "St ELIZABETH W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-20) (weekday Thu) (title "St FELIX de VALOIS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-21) (weekday Fri) (title "The PRESENTATION of the BVM III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Pr\195\166sentatione")) (has_diocesan_variant false)) ((date 2025-11-22) (weekday Sat) (title "St CECILIA \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2025-11-23) (weekday Sun) (title "24th & LAST SUNDAY After PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2025-11-24) (weekday Mon) (title "St JOHN of the CROSS C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-25) (weekday Tue) (title "St CATHERINE V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-11-26) (weekday Wed) (title "St SILVESTER Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-27) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-11-28) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-29) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-11-30) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-01) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-02) (weekday Tue) (title "St BIBIANA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-12-03) (weekday Wed) (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-04) (weekday Thu) (title "St PETER CHRYSOLOGUS B C D III Cl W # JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-12-05) (weekday Fri) (title "FERIA III Cl V SH") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-06) (weekday Sat) (title "St NICOLAS B C III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-07) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-08) (weekday Mon) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant true)) ((date 2025-12-09) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-10) (weekday Wed) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-11) (weekday Thu) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-12-12) (weekday Fri) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-13) (weekday Sat) (title "St LUCY V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-12-14) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-15) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-16) (weekday Tue) (title "St EUSEBIUS B M III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-17) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-18) (weekday Thu) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-19) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-20) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-21) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-22) (weekday Mon) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-23) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-24) (weekday Wed) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-25) (weekday Thu) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at")) (has_diocesan_variant false)) ((date 2025-12-26) (weekday Fri) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-27) (weekday Sat) (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-28) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2025-12-29) (weekday Mon) (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2025-12-30) (weekday Tue) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-31) (weekday Wed) (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false))) diff --git a/test/fixtures/lms-ordo-2025-2026.sexp b/test/fixtures/lms-ordo-2025-2026.sexp index 7f8947e..13b1d11 100644 --- a/test/fixtures/lms-ordo-2025-2026.sexp +++ b/test/fixtures/lms-ordo-2025-2026.sexp @@ -1,4 +1,4 @@ -; test/fixtures/lms-ordo-2025-2026.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), +; /tmp/lms-ordo-2025-2026.sexp -- Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1), ; extending Task 6's single LMS fixture (2024-2025) to three editions of ; the Latin Mass Society's own printed Ordo for England & Wales -- a ; lineage independent of Divinum Officium/missalemeum/lectio (layers 3-4) @@ -19,11 +19,11 @@ ; (CLAUDE.md: "docs/ is gitignored"), so this header, not git, is this ; fixture's only record of where it came from. ; SHA-256 of docs/research/ordo/lms-ordo-2025-2026.pdf: 3d71ad56af3fc8d9c1b37515bf9d946025961f8ef415c3b92520b9de7661f8a3 -; Extracted (UTC): 2026-08-22 +; Extracted (UTC): 2026-08-23 ; Exact commands: ; pdftotext -layout docs/research/ordo/lms-ordo-2025-2026.pdf /tmp/lms.txt ; dune exec tools/extract_lms_ordo.exe -- /tmp/lms.txt \ -; docs/research/ordo/lms-ordo-2025-2026.pdf test/fixtures/lms-ordo-2025-2026.sexp +; docs/research/ordo/lms-ordo-2025-2026.pdf /tmp/lms-ordo-2025-2026.sexp ; ; COVERAGE: 399 day-rows, 2025-11-28 through 2026-12-31 (starting 28 November 2025 ("End of November 2025", the same shape as the 2024-2025 edition -- Advent Sunday 2025 fell on 30 November, so only 3 tail days remained; note this excludes 27 November 2025, which the PRECEDING edition's own window (2024-2025, through 2025-12-31) already covers -- a one-day-short overlap between consecutive editions' own windows, not a gap or a bug in either extraction, ; through the day before a malformed trailing entry the extractor @@ -93,1419 +93,1614 @@ ; and the "When may I say...?"/Appendix tail are never scanned at ; all (the extractor's own start/stop markers bound it to the Ordo ; proper). +; +; 5. THE "Pr of" (PREFACE) COLUMN (Preface-witnesses task, 2026-08-23) -- +; [row.praef], the RAW text from the FIRST "Pr of ..." / "Common Pr" +; match in the universal block's own reading order (the same +; FIRST-in-reading-order discipline finding 1 above already +; establishes for Gl/Cr). CAPTURED, NOT CLASSIFIED by this tool -- +; classification into {!Colitur_kernel.Preface.t} and the comparison +; against {!Rite_ef.Rubrics_ef.preface} both happen test-side +; (test/test_lms_ordo.ml's own [classify_praef]). +; +; CHARACTERISATION FINDING, non-negotiable per the same discipline as +; finding 2: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y or +; Common Pr"), not always a single value -- and several of the named +; options ("Martyrs", "All Saints and Patron Saints" [diocesan-only, +; every occurrence checked falls strictly after this block's own +; colon boundary], "the Dedication of a Church", "the Most Holy +; Sacrament" [Corpus Christi's own universal entry], "St John the +; Baptist", "the Angels") are genuinely NOT among the fourteen the +; 1962 Missale Romanum's own RG 484-497 enumerate (docs/research/LT.txt, +; lines 3936-4020, checked directly: no "de Martyribus"/"de Angelis"/ +; "de Dedicatione"/"de Ss.mo Sacramento"/"de S. Ioanne Baptista" clause +; exists anywhere in 482-499). Every one of these extras, in every +; instance found in this edition's UNIVERSAL block, is printed +; ALONGSIDE a genuine RG 482 answer (most often "or Common Pr"; on 24 +; March-shaped days, "or Pr of Lent", the live RG 486(b) de-Tempore +; answer) -- never as the row's OWN AND ONLY option. This is why the +; test-side comparison checks colitur's single computed answer is a +; MEMBER of this row's own parsed option set (dropping any unmapped +; extra name from that set first), not string equality against +; whichever option happens to print first -- the same "capture, don't +; force a match invented at extraction time" discipline +; tools/extract_fiuv_ordo.ml's own [row.praef] doc comment already +; states for a different publisher's format. +; +; OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.preface (RG +; 482-499), the SAME discipline as finding 2, applied to this new +; column -- RE-CHECKED BY THIS TOOL RUN before this header was +; written; a failed probe is a hard [die]: +; 2025-12-25 (the Nativity of Our Lord, I class, RG 484(a)) -> "Pr of the Nativity" +; 2026-06-29 (SS Peter & Paul, I class, RG 497) -> "Pr of the Apostles" +; 2026-11-02 (All Souls' Day, I class, RG 499) -> "Pr of the Dead" +; All 3 predictions confirmed -- this column, too, is discriminating, +; not a constant, across three different RG-cited outcomes (Nativity/ +; Apostles/Requiem). +; +; COVERAGE: 1 of 399 rows have no "Pr of"/"Common Pr" text found at +; all -- checked directly against this window's own Good Friday +; (Easter-2): its block carries NO Gl/Cr/Pr line whatsoever in this +; source (the 1955-restored Holy Week's own liturgical action has no +; Mass that day at all -- the SAME structural fact +; {!test_creed_coverage}'s own [window_good_fridays] already asserts +; for Gl/Cr), so [praef] shares that single expected gap rather than +; having a coverage gap of its own. (((date 2025-11-28) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-11-29) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2025-11-30) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-01) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-02) (weekday Tue) (title "St BIBIANA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-12-03) (weekday Wed) (title "St FRANCIS XAVIER C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-04) (weekday Thu) (title "St PETER CHRYSOLOGUS B C D III Cl W # JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-12-05) (weekday Fri) (title "FERIA III Cl V SH") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-06) (weekday Sat) (title "St NICOLAS B C III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-07) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-08) (weekday Mon) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant true)) ((date 2025-12-09) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-10) (weekday Wed) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2025-12-11) (weekday Thu) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2025-12-12) (weekday Fri) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-13) (weekday Sat) (title "St LUCY V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2025-12-14) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-15) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-16) (weekday Tue) (title "St EUSEBIUS B M III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-17) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-18) (weekday Thu) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-19) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-20) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-21) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2025-12-22) (weekday Mon) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-23) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2025-12-24) (weekday Wed) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2025-12-25) (weekday Thu) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at")) (has_diocesan_variant false)) ((date 2025-12-26) (weekday Fri) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-27) (weekday Sat) (title "St JOHN \194\167 Ap Evangelist II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-28) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2025-12-29) (weekday Mon) (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2025-12-30) (weekday Tue) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2025-12-31) (weekday Wed) (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2026-01-01) (weekday Thu) (title "The OCTAVE DAY of the NATIVITY of the LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2026-01-02) (weekday Fri) (title "FERIA IV Cl W \226\128\160 SH") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2026-01-03) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-01-04) (weekday Sun) (title "The MOST HOLY NAME of JESUS II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2026-01-05) (weekday Mon) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Octave Day of the Nativity of the Lord")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2026-01-06) (weekday Tue) (title "The EPIPHANY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Epiphany Proper Communic")) (has_diocesan_variant false)) ((date 2026-01-07) (weekday Wed) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2026-01-08) (weekday Thu) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2026-01-09) (weekday Fri) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of the Epiphany")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Epiphany")) + (has_diocesan_variant false)) ((date 2026-01-10) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("II Mass of BVM")) (bvm_numeral (II)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-01-11) (weekday Sun) (title "The HOLY FAMILY of JESUS, MARY AND JOSEPH II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2026-01-12) (weekday Mon) (title "FERIA IV Cl W \226\128\160") (formulary_override ("Mass of 1st Sunday after the Epiphany")) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant true)) ((date 2026-01-13) (weekday Tue) (title "The BAPTISM of OUR LORD II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Epiphany")) (has_diocesan_variant false)) ((date 2026-01-14) (weekday Wed) (title "St HILARY B C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-01-15) (weekday Thu) (title "St PAUL the FIRST HERMIT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-16) (weekday Fri) (title "St MARCELLUS I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-01-17) (weekday Sat) (title "St ANTHONY Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-18) (weekday Sun) (title "2nd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-01-19) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after the Epiphany")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-01-20) (weekday Tue) (title "SS FABIAN P & SEBASTIAN M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-21) (weekday Wed) (title "St AGNES \194\167 V M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-22) (weekday Thu) (title "SS VINCENT & ANASTASIUS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-23) (weekday Fri) (title "St RAYMUND of PENAFORT C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-24) (weekday Sat) (title "St TIMOTHY B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-25) (weekday Sun) (title "3rd SUNDAY after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-01-26) (weekday Mon) (title "St POLYCARP B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-27) (weekday Tue) (title "St JOHN CHRYSOSTOM B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-28) (weekday Wed) (title "St PETER NOLASCO C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-29) (weekday Thu) (title "St FRANCIS de SALES B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-01-30) (weekday Fri) (title "St MARTINA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-01-31) (weekday Sat) (title "St JOHN BOSCO C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-02-01) (weekday Sun) (title "SEPTUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-02-02) (weekday Mon) (title "The PURIFICATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Nativity")) (has_diocesan_variant false)) ((date 2026-02-03) (weekday Tue) (title "Today may be given the special blessing of candles; the special blessing of throats; and") (formulary_override ("Mass of Septuagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-02-04) (weekday Wed) (title "St ANDREW CORSINI B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-02-05) (weekday Thu) (title "St AGATHA \194\167 V M III Cl (Priv.) R JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-02-06) (weekday Fri) (title "St TITUS B C III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-02-07) (weekday Sat) (title "St ROMUALD Ab III Cl W # IH JCHP*") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-02-08) (weekday Sun) (title "SEXAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-02-09) (weekday Mon) (title "St CYRIL of ALEXANDRIA B C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-02-10) (weekday Tue) (title "St SCHOLASTICA V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-02-11) (weekday Wed) (title "The APPARITION of the BVM IMMACULATE III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant true)) ((date 2026-02-12) (weekday Thu) (title "The SEVEN HOLY FOUNDERS of the ORDER of the SERVANTS of the") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-02-13) (weekday Fri) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Sexagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-02-14) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("III Mass of BVM")) (bvm_numeral (III)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-02-15) (weekday Sun) (title "QUINQUAGESIMA SUNDAY II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-02-16) (weekday Mon) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-02-17) (weekday Tue) (title "FERIA IV Cl V \226\128\161") (formulary_override ("Mass of Quinquagesima Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-02-18) (weekday Wed) (title "ASH WEDNESDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-02-19) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-02-20) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-02-21) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-02-22) (weekday Sun) (title "1st SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-02-23) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-02-24) (weekday Tue) (title "St MATTHIAS Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-02-25) (weekday Wed) (title "EMBER WEDNESDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-02-26) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-02-27) (weekday Fri) (title "EMBER FRIDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-02-28) (weekday Sat) (title "EMBER SATURDAY of LENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-01) (weekday Sun) (title "2nd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of Lent")) (has_diocesan_variant true)) ((date 2026-03-02) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-03) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-04) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-05) (weekday Thu) (title "FERIA III Cl V JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-06) (weekday Fri) (title "SS PERPETUA \194\167 & FELICITY \194\167 MM III Cl (Priv.) R SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-07) (weekday Sat) (title "St THOMAS AQUINAS C D III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-08) (weekday Sun) (title "3rd SUNDAY in LENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-09) (weekday Mon) (title "St FRANCES of ROME W III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-10) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-11) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-12) (weekday Thu) (title "St GREGORY I P C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Lent")) (has_diocesan_variant true)) ((date 2026-03-13) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-14) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-15) (weekday Sun) (title "4th SUNDAY in LENT I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-16) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-17) (weekday Tue) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-18) (weekday Wed) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-19) (weekday Thu) (title "St JOSEPH \194\167 SPOUSE of the BVM C, PATRON of the UNIVERSAL") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in festivitate")) (has_diocesan_variant false)) ((date 2026-03-20) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of Lent Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-21) (weekday Sat) (title "St BENEDICT Ab III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Lent")) (has_diocesan_variant false)) ((date 2026-03-22) (weekday Sun) (title "PASSION SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2026-03-23) (weekday Mon) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-24) (weekday Tue) (title "St GABRIEL Archangel III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Angels or Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2026-03-25) (weekday Wed) (title "The ANNUNCIATION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Annuntiatione")) (has_diocesan_variant false)) ((date 2026-03-26) (weekday Thu) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-27) (weekday Fri) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-28) (weekday Sat) (title "FERIA III Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant true)) ((date 2026-03-29) (weekday Sun) (title "PALM SUNDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2026-03-30) (weekday Mon) (title "MONDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-03-31) (weekday Tue) (title "TUESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-04-01) (weekday Wed) (title "WEDNESDAY of HOLY WEEK I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) + (praef ("Pr of the Holy Cross Prayer over the People")) (has_diocesan_variant false)) ((date 2026-04-02) (weekday Thu) (title "MAUNDY THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Holy Cross. No Judica No Gloria Patri at")) (has_diocesan_variant false)) ((date 2026-04-03) (weekday Fri) (title "GOOD FRIDAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria ()) (creed ()) - (has_diocesan_variant false)) + (praef ()) (has_diocesan_variant false)) ((date 2026-04-04) (weekday Sat) (title "HOLY SATURDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of Easter (in hac potissimum nocte).")) (has_diocesan_variant false)) ((date 2026-04-05) (weekday Sun) (title "EASTER I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Easter (die) Proper Communic Proper Hanc igitur")) (has_diocesan_variant false)) ((date 2026-04-06) (weekday Mon) (title "EASTER MONDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-07) (weekday Tue) (title "EASTER TUESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-08) (weekday Wed) (title "EASTER WEDNESDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-09) (weekday Thu) (title "EASTER THURSDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-10) (weekday Fri) (title "EASTER FRIDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-11) (weekday Sat) (title "EASTER SATURDAY (SABBATO in ALBIS) I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of Easter (in hac potissimum die) Proper Communic Proper Hanc")) (has_diocesan_variant false)) ((date 2026-04-12) (weekday Sun) (title "LOW SUNDAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-13) (weekday Mon) (title "St HERMENEGILD M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2026-04-14) (weekday Tue) (title "St JUSTIN M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-15) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2026-04-16) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2026-04-17) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of Low Sunday")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2026-04-18) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("IV Mass of BVM")) (bvm_numeral (IV)) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-04-19) (weekday Sun) (title "2nd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-20) (weekday Mon) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2026-04-21) (weekday Tue) (title "St ANSELM B C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2026-04-22) (weekday Wed) (title "SS SOTER & CAIUS PP MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2026-04-23) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 2nd Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2026-04-24) (weekday Fri) (title "St FIDELIS of SIGMARINGEN M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2026-04-25) (weekday Sat) (title "THE GREATER LITANIES. St MARK Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2026-04-26) (weekday Sun) (title "3rd SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-27) (weekday Mon) (title "St PETER CANISIUS C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2026-04-28) (weekday Tue) (title "St PAUL of the CROSS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-29) (weekday Wed) (title "St PETER M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant false)) ((date 2026-04-30) (weekday Thu) (title "St CATHERINE of SIENA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-05-01) (weekday Fri) (title "St JOSEPH \194\167 the WORKER, SPOUSE of the BVM C I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St Joseph Et te in solemnitate")) (has_diocesan_variant false)) ((date 2026-05-02) (weekday Sat) (title "St ATHANASIUS B C D III Cl (Priv.) W IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-05-03) (weekday Sun) (title "4th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-05-04) (weekday Mon) (title "St MONICA W III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2026-05-05) (weekday Tue) (title "St PIUS V P C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2026-05-06) (weekday Wed) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant true)) ((date 2026-05-07) (weekday Thu) (title "St STANISLAUS B M III Cl R # JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2026-05-08) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of 4th Sunday after Easter")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of Easter")) + (has_diocesan_variant false)) ((date 2026-05-09) (weekday Sat) (title "St GREGORY NAZIANZEN B C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-05-10) (weekday Sun) (title "5th SUNDAY after EASTER II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of Easter")) (has_diocesan_variant false)) ((date 2026-05-11) (weekday Mon) (title "SS PHILIP \194\167 & JAMES \194\167 App II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2026-05-12) (weekday Tue) (title "SS NEREUS, ACHILLEUS, DOMITILLA V, & PANCRAS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Pr of Easter")) (has_diocesan_variant true)) ((date 2026-05-13) (weekday Wed) (title "VIGIL of The ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Easter")) (has_diocesan_variant true)) ((date 2026-05-14) (weekday Thu) (title "The ASCENSION I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Ascension Proper Communic")) (has_diocesan_variant false)) ((date 2026-05-15) (weekday Fri) (title "St JOHN BAPTIST de la SALLE C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2026-05-16) (weekday Sat) (title "St UBALDUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2026-05-17) (weekday Sun) (title "SUNDAY after the ASCENSION II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Ascension")) (has_diocesan_variant false)) ((date 2026-05-18) (weekday Mon) (title "St VENANTIUS M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of Martyrs or Pr of the Ascension")) (has_diocesan_variant false)) ((date 2026-05-19) (weekday Tue) (title "St PETER CELESTINE P C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2026-05-20) (weekday Wed) (title "St BERNARDINE of SIENA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Ascension")) (has_diocesan_variant true)) ((date 2026-05-21) (weekday Thu) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant true)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant true)) ((date 2026-05-22) (weekday Fri) (title "FERIA IV Cl W \226\128\161") (formulary_override ("Mass of the Ascension")) (bvm_numeral ()) - (gloria (true)) (creed (false)) (has_diocesan_variant false)) + (gloria (true)) (creed (false)) (praef ("Pr of the Ascension")) + (has_diocesan_variant false)) ((date 2026-05-23) (weekday Sat) (title "VIGIL of PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef + ("Pr of the Holy Spirit hodierna die Proper Communic Proper Hanc igitur")) (has_diocesan_variant false)) ((date 2026-05-24) (weekday Sun) (title "PENTECOST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-25) (weekday Mon) (title "WHIT MONDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-26) (weekday Tue) (title "WHIT TUESDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-27) (weekday Wed) (title "WHIT WEDNESDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-28) (weekday Thu) (title "WHIT THURSDAY I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-29) (weekday Fri) (title "WHIT FRIDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-30) (weekday Sat) (title "WHIT SATURDAY (EMBER DAY) I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Holy Spirit hodierna die")) (has_diocesan_variant false)) ((date 2026-05-31) (weekday Sun) (title "The MOST HOLY TRINITY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-06-01) (weekday Mon) (title "St ANGELA MERICI V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-02) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 1st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-03) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 1st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-04) (weekday Thu) (title "CORPUS CHRISTI I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Most Holy Sacrament or Common Pr")) (has_diocesan_variant true)) ((date 2026-06-05) (weekday Fri) (title "St BONIFACE B M III Cl (Priv.) R SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-06-06) (weekday Sat) (title "St NORBERT B C III Cl W # IH JCHP") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-07) (weekday Sun) (title "2nd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-06-08) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-09) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 2nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-10) (weekday Wed) (title "St MARGARET Q W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-11) (weekday Thu) (title "St BARNABAS Ap III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-06-12) (weekday Fri) (title "The SACRED HEART of JESUS I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Sacred Heart")) (has_diocesan_variant false)) ((date 2026-06-13) (weekday Sat) (title "St ANTHONY of PADUA C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-14) (weekday Sun) (title "3rd SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-06-15) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 3rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-16) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 3rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-17) (weekday Wed) (title "St GREGORY BARBARIGO B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-18) (weekday Thu) (title "St EPHREM the SYRIAN Deacon C D III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-19) (weekday Fri) (title "St JULIANA FALCONIERI V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-20) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-06-21) (weekday Sun) (title "4th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-06-22) (weekday Mon) (title "St PAULINUS B C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-23) (weekday Tue) (title "VIGIL of The NATIVITY of JOHN the BAPTIST \194\167 II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-06-24) (weekday Wed) (title "The NATIVITY of JOHN the BAPTIST \194\167 I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2026-06-25) (weekday Thu) (title "St WILLIAM Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-06-26) (weekday Fri) (title "SS JOHN & PAUL \194\167 MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-06-27) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-06-28) (weekday Sun) (title "5th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-06-29) (weekday Mon) (title "SS PETER \194\167 & PAUL \194\167 App I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2026-06-30) (weekday Tue) (title "The COMMEMORATION of St PAUL \194\167 Ap III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2026-07-01) (weekday Wed) (title "The MOST PRECIOUS BLOOD of OUR LORD JESUS CHRIST I Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2026-07-02) (weekday Thu) (title "The VISITATION of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Visitatione")) (has_diocesan_variant false)) ((date 2026-07-03) (weekday Fri) (title "St IRENAEUS B M III Cl R # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-07-04) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-07-05) (weekday Sun) (title "6th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-07-06) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 6th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-07) (weekday Tue) (title "SS CYRIL & METHODIUS BB CC III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-08) (weekday Wed) (title "St ELIZABETH Q W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-09) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 6th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-10) (weekday Fri) (title "The SEVEN HOLY BROTHERS MM & SS RUFINA & SECUNDA VV MM") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-07-11) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-07-12) (weekday Sun) (title "7th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-07-13) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-14) (weekday Tue) (title "St BONAVENTURE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-15) (weekday Wed) (title "St HENRY Emperor C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-16) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-17) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 7th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-18) (weekday Sat) (title "St CAMILLUS de LELLIS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-19) (weekday Sun) (title "8th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-07-20) (weekday Mon) (title "St JEROME EMILIANI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-21) (weekday Tue) (title "St LAURENCE of BRINDISI C D III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-22) (weekday Wed) (title "St MARY MAGDALEN Penitent III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-23) (weekday Thu) (title "St APOLLINARIS B M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-07-24) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 8th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-25) (weekday Sat) (title "St JAMES \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-07-26) (weekday Sun) (title "9th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-07-27) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 9th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-28) (weekday Tue) (title "SS NAZARIUS & CELSUS MM & VICTOR I P M & INNOCENT I P C III Cl") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-07-29) (weekday Wed) (title "St MARTHA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-07-30) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 9th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-07-31) (weekday Fri) (title "St IGNATIUS C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-01) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-08-02) (weekday Sun) (title "10th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-08-03) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 10th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-04) (weekday Tue) (title "St DOMINIC C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-05) (weekday Wed) (title "The DEDICATION of St MARY of the SNOWS III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2026-08-06) (weekday Thu) (title "The TRANSFIGURATION of OUR LORD JESUS CHRIST II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-07) (weekday Fri) (title "St CAJETAN C III Cl W # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-08) (weekday Sat) (title "St JOHN MARY VIANNEY C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-09) (weekday Sun) (title "11th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-08-10) (weekday Mon) (title "St LAURENCE \194\167 M II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-08-11) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 11th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-12) (weekday Wed) (title "St CLARE V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-13) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 11th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-14) (weekday Fri) (title "VIGIL of The ASSUMPTION of the BVM II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-15) (weekday Sat) (title "The ASSUMPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Assumptione")) (has_diocesan_variant false)) ((date 2026-08-16) (weekday Sun) (title "12th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-08-17) (weekday Mon) (title "St HYACINTH C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-18) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 12th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-19) (weekday Wed) (title "St JOHN EUDES C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-20) (weekday Thu) (title "St BERNARD Ab D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-21) (weekday Fri) (title "St JANE FRANCES FR\195\137MIOT de CHANTAL W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-22) (weekday Sat) (title "The IMMACULATE HEART of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2026-08-23) (weekday Sun) (title "13th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-08-24) (weekday Mon) (title "St BARTHOLOMEW \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-08-25) (weekday Tue) (title "St LOUIS K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-26) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 13th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-27) (weekday Thu) (title "St JOSEPH CALASANCTIUS C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-08-28) (weekday Fri) (title "St AUGUSTINE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-08-29) (weekday Sat) (title "The BEHEADING of St JOHN the BAPTIST \194\167 III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of St John the Baptist or Common Pr")) (has_diocesan_variant false)) ((date 2026-08-30) (weekday Sun) (title "14th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-08-31) (weekday Mon) (title "St RAYMUND NONNATUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-01) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 14th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-02) (weekday Wed) (title "St STEPHEN K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-03) (weekday Thu) (title "St PIUS X P C III Cl (Priv.) W JCHP") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-04) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 14th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-05) (weekday Sat) (title "St LAURENCE JUSTINIAN B C III Cl W # IH JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-06) (weekday Sun) (title "15th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-09-07) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-09-08) (weekday Tue) (title "The NATIVITY of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Nativitate")) (has_diocesan_variant false)) ((date 2026-09-09) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-09-10) (weekday Thu) (title "St NICOLAS of TOLENTINO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-09-11) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 15th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-12) (weekday Sat) (title "The MOST HOLY NAME of MARY III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant true)) ((date 2026-09-13) (weekday Sun) (title "16th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-09-14) (weekday Mon) (title "The EXALTATION of the HOLY CROSS II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Holy Cross")) (has_diocesan_variant false)) ((date 2026-09-15) (weekday Tue) (title "The SEVEN SORROWS of the BVM II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Transfixione")) (has_diocesan_variant false)) ((date 2026-09-16) (weekday Wed) (title "SS CORNELIUS \194\167 P & CYPRIAN \194\167 B MM III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-09-17) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 16th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-09-18) (weekday Fri) (title "St JOSEPH of CUPERTINO C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-09-19) (weekday Sat) (title "St JANUARIUS B & COMPS MM III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-09-20) (weekday Sun) (title "17th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-09-21) (weekday Mon) (title "St MATTHEW \194\167 Ap Evangelist II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Apostles")) (has_diocesan_variant true)) ((date 2026-09-22) (weekday Tue) (title "St THOMAS of VILLANOVA B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-23) (weekday Wed) (title "EMBER WEDNESDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-24) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 17th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-25) (weekday Fri) (title "EMBER FRIDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-26) (weekday Sat) (title "EMBER SATURDAY of SEPTEMBER II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-09-27) (weekday Sun) (title "18th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-09-28) (weekday Mon) (title "St WENCESLAUS Duke M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-09-29) (weekday Tue) (title "The DEDICATION of St MICHAEL Archangel I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant false)) ((date 2026-09-30) (weekday Wed) (title "St JEROME Priest C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-01) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 18th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-10-02) (weekday Fri) (title "The HOLY GUARDIAN ANGELS III Cl (Priv.) W SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant false)) ((date 2026-10-03) (weekday Sat) (title "St TERESA of the CHILD JESUS V III Cl (Priv.) W IH JCHP*") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-04) (weekday Sun) (title "19th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-10-05) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 19th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-06) (weekday Tue) (title "St BRUNO C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-10-07) (weekday Wed) (title "OUR LADY of the ROSARY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Festivitate")) (has_diocesan_variant false)) ((date 2026-10-08) (weekday Thu) (title "St BRIDGET W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-09) (weekday Fri) (title "St JOHN LEONARDI C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-10) (weekday Sat) (title "St FRANCIS BORGIA C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-11) (weekday Sun) (title "20th SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-10-12) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 20th Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-13) (weekday Tue) (title "St EDWARD K C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-14) (weekday Wed) (title "St CALLISTUS I P M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-10-15) (weekday Thu) (title "St TERESA V III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-16) (weekday Fri) (title "St HEDWIG W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-17) (weekday Sat) (title "St MARGARET MARY ALACOQUE V III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-18) (weekday Sun) (title "21st SUNDAY after PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-10-19) (weekday Mon) (title "St PETER of ALCANTARA C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-20) (weekday Tue) (title "St JOHN CANTIUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-10-21) (weekday Wed) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 21st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-22) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 21st Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-23) (weekday Fri) (title "St ANTHONY MARY CLARET B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-10-24) (weekday Sat) (title "St RAPHAEL Archangel III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of the Angels or Common Pr")) (has_diocesan_variant true)) ((date 2026-10-25) (weekday Sun) (title "CHRIST the KING I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of Our Lord Jesus Christ the King")) (has_diocesan_variant false)) ((date 2026-10-26) (weekday Mon) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-27) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-10-28) (weekday Wed) (title "SS SIMON \194\167 & JUDE \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-10-29) (weekday Thu) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-30) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 22nd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-10-31) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-11-01) (weekday Sun) (title "ALL SAINTS' DAY I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of All Saints and Patron Saints or Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-11-02) (weekday Mon) (title "ALL SOULS' DAY I Cl B") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of the Dead No Blessing")) (has_diocesan_variant false)) ((date 2026-11-03) (weekday Tue) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-04) (weekday Wed) (title "St CHARLES B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-05) (weekday Thu) (title "FERIA IV Cl G \226\128\161 JCHP") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-06) (weekday Fri) (title "FERIA IV Cl G \226\128\161 SH") (formulary_override ("Mass of 23rd Sunday after Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-07) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160 IH JCHP*") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant true)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant true)) ((date 2026-11-08) (weekday Sun) (title "5th SUNDAY remaining after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-11-09) (weekday Mon) (title "The DEDICATION of the ARCHBASILICA of OUR SAVIOUR II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Dedication of a Church or Common Pr")) (has_diocesan_variant false)) ((date 2026-11-10) (weekday Tue) (title "St ANDREW AVELLINO C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-11) (weekday Wed) (title "St MARTIN B C III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-12) (weekday Thu) (title "St MARTIN I P M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-11-13) (weekday Fri) (title "St DIDACUS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-14) (weekday Sat) (title "St JOSAPHAT B M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-11-15) (weekday Sun) (title "6th SUNDAY remaining after the EPIPHANY II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-11-16) (weekday Mon) (title "St GERTRUDE V III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-17) (weekday Tue) (title "St GREGORY THAUMATURGUS B C III Cl W #") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-18) (weekday Wed) (title "The DEDICATION of the BASILICAS of SS PETER & PAUL III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the Dedication of a Church or Common Pr")) (has_diocesan_variant false)) ((date 2026-11-19) (weekday Thu) (title "St ELIZABETH W III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-20) (weekday Fri) (title "St FELIX de VALOIS C III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-21) (weekday Sat) (title "The PRESENTATION of the BVM III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) + (praef ("Pr of the BVM Et te in Pr\195\166sentatione")) (has_diocesan_variant false)) ((date 2026-11-22) (weekday Sun) (title "24th & LAST SUNDAY After PENTECOST II Cl G") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant true)) + (praef ("Pr of the Trinity")) (has_diocesan_variant true)) ((date 2026-11-23) (weekday Mon) (title "St CLEMENT I \194\167 P M III Cl (Priv.) R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant true)) ((date 2026-11-24) (weekday Tue) (title "St JOHN of the CROSS C D III Cl (Priv.) W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-25) (weekday Wed) (title "St CATHERINE V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-11-26) (weekday Thu) (title "St SILVESTER Ab III Cl W #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-11-27) (weekday Fri) (title "FERIA IV Cl G \226\128\161") (formulary_override ("Mass of 24th & Last Sunday After Pentecost")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-11-28) (weekday Sat) (title "OUR LADY on SATURDAY IV Cl W \226\128\160") (formulary_override ("V Mass of BVM")) (bvm_numeral (V)) (gloria (true)) - (creed (false)) (has_diocesan_variant false)) + (creed (false)) (praef ("Pr of the BVM Et te in Veneratione")) + (has_diocesan_variant false)) ((date 2026-11-29) (weekday Sun) (title "ADVENT SUNDAY I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-11-30) (weekday Mon) (title "St ANDREW \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-12-01) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-12-02) (weekday Wed) (title "St BIBIANA V M III Cl R #") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Pr of Martyrs or Common Pr")) (has_diocesan_variant false)) ((date 2026-12-03) (weekday Thu) (title "St FRANCIS XAVIER C III Cl (Priv.) W JCHP") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-04) (weekday Fri) (title "St PETER CHRYSOLOGUS B C D III Cl W # SH") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (false)) - (has_diocesan_variant true)) + (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-12-05) (weekday Sat) (title "FERIA III Cl V IH JCHP*") (formulary_override ("Mass of Advent Sunday")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-12-06) (weekday Sun) (title "2nd SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-12-07) (weekday Mon) (title "St AMBROSE B C D III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-12-08) (weekday Tue) (title "The IMMACULATE CONCEPTION of the BVM I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the BVM Et te in Conceptione Immaculata")) (has_diocesan_variant false)) ((date 2026-12-09) (weekday Wed) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2026-12-10) (weekday Thu) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant true)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant true)) ((date 2026-12-11) (weekday Fri) (title "St DAMASUS I P C III Cl (Priv.) W") (formulary_override ()) - (bvm_numeral ()) (gloria (true)) (creed (false)) + (bvm_numeral ()) (gloria (true)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant true)) ((date 2026-12-12) (weekday Sat) (title "FERIA III Cl V") (formulary_override ("Mass of 2nd Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2026-12-13) (weekday Sun) (title "3rd SUNDAY of ADVENT (GAUDETE SUNDAY) I Cl V/Rose") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-12-14) (weekday Mon) (title "FERIA III Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-15) (weekday Tue) (title "FERIA III Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-16) (weekday Wed) (title "EMBER WEDNESDAY of ADVENT II Cl V") (formulary_override ()) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-17) (weekday Thu) (title "FERIA II Cl V") (formulary_override ("Mass of 3rd Sunday of Advent (Gaudete Sunday)")) - (bvm_numeral ()) (gloria (false)) (creed (false)) + (bvm_numeral ()) (gloria (false)) (creed (false)) (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-18) (weekday Fri) (title "EMBER FRIDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-19) (weekday Sat) (title "EMBER SATURDAY of ADVENT II Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-20) (weekday Sun) (title "4th SUNDAY of ADVENT I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Trinity")) (has_diocesan_variant false)) ((date 2026-12-21) (weekday Mon) (title "St THOMAS \194\167 Ap II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) - (has_diocesan_variant false)) + (praef ("Pr of the Apostles")) (has_diocesan_variant false)) ((date 2026-12-22) (weekday Tue) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2026-12-23) (weekday Wed) (title "FERIA II Cl V") (formulary_override ("Mass of 4th Sunday of Advent")) (bvm_numeral ()) - (gloria (false)) (creed (false)) (has_diocesan_variant false)) + (gloria (false)) (creed (false)) (praef ("Common Pr")) + (has_diocesan_variant false)) ((date 2026-12-24) (weekday Thu) (title "VIGIL of The NATIVITY of OUR LORD I Cl V") (formulary_override ()) (bvm_numeral ()) (gloria (false)) (creed (false)) - (has_diocesan_variant false)) + (praef ("Common Pr")) (has_diocesan_variant false)) ((date 2026-12-25) (weekday Fri) (title "The NATIVITY of OUR LORD I Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef + ("Pr of the Nativity Proper Communic at Midnight noctem sacratissimam at")) (has_diocesan_variant false)) ((date 2026-12-26) (weekday Sat) (title "St STEPHEN \194\167 Protomartyr II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2026-12-27) (weekday Sun) (title "SUNDAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2026-12-28) (weekday Mon) (title "The HOLY INNOCENTS MM II Cl R") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2026-12-29) (weekday Tue) (title "5th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant true)) ((date 2026-12-30) (weekday Wed) (title "6th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false)) ((date 2026-12-31) (weekday Thu) (title "7th DAY within the OCTAVE of the NATIVITY II Cl W") (formulary_override ()) (bvm_numeral ()) (gloria (true)) (creed (true)) + (praef ("Pr of the Nativity Proper Communic diem sacratissimum")) (has_diocesan_variant false))) diff --git a/test/test_lms_ordo.ml b/test/test_lms_ordo.ml index 32ecfbc..0ac314e 100644 --- a/test/test_lms_ordo.ml +++ b/test/test_lms_ordo.ml @@ -80,6 +80,7 @@ module Computus = Colitur_kernel.Computus module MF = Colitur_kernel.Mass_formulary module V = Rite_ef.Vocab_ef module TE = Rite_ef.Temporal_ef +module Preface = Colitur_kernel.Preface let sanctoral_path = "../data/ef/sanctoral.sexp" let adjustments_path = "../data/ef/adjustments.sexp" @@ -148,6 +149,7 @@ type ordo_row = { bvm_numeral : string option; gloria : bool option; creed : bool option; + praef : string option; has_diocesan_variant : bool; } [@@deriving sexp] @@ -174,6 +176,7 @@ type colitur_row = { c_formulary : MF.t option; c_creed : bool; c_gloria : bool; + c_preface : Preface.t option; c_rank : V.rank; c_slug : string; c_has_commemoration : bool; @@ -202,6 +205,7 @@ let colitur_rows ~year_lo ~year_hi ~window_first ~window_last = rows := { c_date = Date.to_iso8601 day.LD.date; c_season = day.LD.temporal.Colitur_kernel.Temporal.season; c_formulary = day.LD.formulary; c_creed = day.LD.creed; c_gloria = day.LD.gloria; + c_preface = day.LD.preface; c_rank = day.LD.observed.Colitur_kernel.Celebration.rank; c_slug = Colitur_kernel.Slug.to_string day.LD.observed.Colitur_kernel.Celebration.slug; c_has_commemoration = day.LD.commemorations <> [] } @@ -492,6 +496,85 @@ let check_formulary_overrides ordo colitur = { fc_bad = List.rev !bad; fc_proper = !proper; fc_common = !common; fc_preceding_sunday = !preceding_sunday; fc_ascension_week = !ascension_week } +(* ---------------------------------------------------------------------- *) +(* Preface (RG 482-499, {!Rite_ef.Rubrics_ef.preface}) -- Preface-witnesses *) +(* task (2026-08-23), extending tools/extract_lms_ordo.ml's new [praef] *) +(* column into a real comparison, the same shape as test_fiuv_ordo.ml's *) +(* own preface axis but with a genuinely DIFFERENT classification rule -- *) +(* see the fixture's own provenance header, finding 5, for the full *) +(* CHARACTERISATION FIRST account this discipline requires. *) +(* *) +(* THE KEY DIFFERENCE FROM FIUV: this Ordo prints OPTION LISTS ("Pr of X *) +(* or Pr of Y or Common Pr"), not a single value per day, and several of *) +(* the named options are NOT among the fourteen RG 484-497 enumerate *) +(* ("Martyrs", "All Saints and Patron Saints", "the Dedication of a *) +(* Church", "the Most Holy Sacrament", "St John the Baptist", "the *) +(* Angels" -- checked directly against docs/research/LT.txt lines *) +(* 3936-4020: no such clause exists there). Every raw value in this *) +(* corpus's own universal block that carries one of these extras also *) +(* carries a genuine RG-482 alternative alongside it (never as the row's *) +(* own and only option) -- so [classify_praef_options] parses the FULL *) +(* option set (splitting on the standalone token "or", never a substring *) +(* search: checked directly that no trailing descriptive prose in this *) +(* corpus's universal block ever uses "or" as an ordinary English *) +(* conjunction), drops any segment that does not name one of *) +(* {!Preface.t}'s fifteen values, and the comparison below checks colitur's *) +(* single computed answer is a MEMBER of what survives, not string *) +(* equality against whichever option prints first. *) +let has_prefix ~prefix s = + String.length s >= String.length prefix && String.sub s 0 (String.length prefix) = prefix + +(* Every prefix here was read directly off the three fixtures' own 47 + distinct universal-block [praef] values (measured, not guessed) -- + mirrors test_fiuv_ordo.ml's own [praef_prefixes] table in spirit, but + this publisher's own English vocabulary, not the FIUV Ordo's Latin. + None of these prefixes is a prefix of another (checked): "Pr of St + Joseph" and "Pr of St John the Baptist" are the one pair that shares an + opening ("Pr of St "), disambiguated by their very next word. *) +let praef_prefixes = + [ ("Common Pr", Preface.Common); + ("Pr of the Nativity", Preface.Nativity); + ("Pr of the Epiphany", Preface.Epiphany); + ("Pr of Lent", Preface.Lent); + ("Pr of the Holy Cross", Preface.Holy_cross); + ("Pr of Easter", Preface.Easter); + ("Pr of the Ascension", Preface.Ascension); + ("Pr of the Sacred Heart", Preface.Sacred_heart); + ("Pr of Our Lord Jesus Christ the King", Preface.Christ_the_king); + ("Pr of the Holy Spirit", Preface.Holy_spirit); + ("Pr of the Trinity", Preface.Trinity); + ("Pr of the BVM", Preface.Bvm); + ("Pr of St Joseph", Preface.St_joseph); + ("Pr of the Apostles", Preface.Apostles); + ("Pr of the Dead", Preface.Requiem) + (* Deliberately UNMAPPED, found live in this corpus's own universal + block (not merely in the excluded diocesan variants): "Pr of + Martyrs", "Pr of All Saints and Patron Saints", "Pr of the + Dedication of a Church", "Pr of the Most Holy Sacrament", "Pr of + St John the Baptist", "Pr of the Angels" -- see this section's own + header. A segment matching none of the fifteen prefixes above is + simply dropped from the parsed option set, never forced into a + guess. *) + ] + +let classify_praef_segment (s : string) : Preface.t option = + let rec go = function [] -> None | (prefix, p) :: rest -> if has_prefix ~prefix s then Some p else go rest in + go praef_prefixes + +(* Splits on the standalone token "or" (never a substring search -- see + this section's own header on why that is safe in this corpus), then + classifies each segment independently and keeps only the recognised + ones. *) +let classify_praef_options (raw : string) : Preface.t list = + let toks = String.split_on_char ' ' raw |> List.filter (fun t -> t <> "") in + let rec split_on_or acc cur = function + | [] -> List.rev (List.rev cur :: acc) + | "or" :: rest -> split_on_or (List.rev cur :: acc) [] rest + | t :: rest -> split_on_or acc (t :: cur) rest + in + let segments = split_on_or [] [] toks in + List.filter_map (fun seg -> classify_praef_segment (String.concat " " seg)) segments + (* ---------------------------------------------------------------------- *) (* [make_suite]: one edition's worth of tests, parameterised. Every count *) (* below is a genuine per-edition PIN (measured once against real data, *) @@ -793,6 +876,49 @@ let make_suite ~label ~fixture_path ~fixture_sha256 ~window_first ~window_last ~ expected_ascension_week) expected_ascension_week r.fc_ascension_week in + let test_praef_coverage () = + let ordo = ordo_rows fixture_path in + let no_praef = List.filter (fun o -> o.praef = None) ordo in + let expected = window_good_fridays () in + Alcotest.(check (list string)) "only this window's own Good Friday has no Ordo Pr-of/Common-Pr marker" expected + (List.map (fun o -> o.date) no_praef) + in + let describe_praef_mismatch (o : ordo_row) (c : colitur_row) (options : Preface.t list) = + Printf.sprintf "%s %S: colitur preface=%s, Ordo praef=%S (parsed options: %s)" o.date o.title + (match c.c_preface with Some p -> Preface.to_string p | None -> "NONE") + (Option.get o.praef) + (String.concat ", " (List.map Preface.to_string options)) + in + let test_praef_matches_or_is_explained () = + let ordo = ordo_rows fixture_path in + let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in + let unexplained = ref [] in + let unclassifiable = ref [] in + List.iter2 + (fun (o : ordo_row) (c : colitur_row) -> + if not (String.equal o.date c.c_date) then Alcotest.failf "misaligned: ordo %s vs colitur %s" o.date c.c_date; + match o.praef with + | None -> () + | Some raw -> ( + let options = classify_praef_options raw in + match options with + | [] -> unclassifiable := o.date :: !unclassifiable + | opts -> ( + match c.c_preface with + | None -> + unexplained := + Printf.sprintf "%s %S: colitur preface=NONE (unexpected outside Good Friday), Ordo praef=%S" + o.date o.title raw + :: !unexplained + | Some p -> if List.mem p opts then () else unexplained := describe_praef_mismatch o c opts :: !unexplained))) + ordo colitur; + Alcotest.(check (list string)) + (Printf.sprintf "[%s] every Pr-of/Common-Pr mismatch is named in the allow-list -- none unexplained" label) + [] (List.rev !unexplained); + Alcotest.(check (list string)) + (Printf.sprintf "[%s] every option list has at least one recognised alternative -- none dropped entirely" label) + [] (List.rev !unclassifiable) + in let test_via_distribution_totals () = let colitur = colitur_rows ~year_lo ~year_hi ~window_first ~window_last in let via_name c = match c.c_formulary with None -> "none" | Some f -> MF.source_to_string f.MF.via in @@ -818,7 +944,11 @@ let make_suite ~label ~fixture_path ~fixture_sha256 ~window_first ~window_last ~ test_bvm_numeral_implies_votive; Alcotest.test_case "formulary override STRING matches on Proper/Common/Preceding_sunday days" `Quick test_formulary_override_matches; - Alcotest.test_case "the via distribution sums to the full window" `Quick test_via_distribution_totals + Alcotest.test_case "the via distribution sums to the full window" `Quick test_via_distribution_totals; + Alcotest.test_case "only this window's own Good Friday has no Ordo Pr-of/Common-Pr marker" `Quick + test_praef_coverage; + Alcotest.test_case "every Pr-of/Common-Pr mismatch is named in the allow-list -- none unexplained" `Quick + test_praef_matches_or_is_explained ] ) let allow_list_path = "../data/ef/expected-divergences-lms.sexp" @@ -843,7 +973,7 @@ let suite_allow_list = ("lms-ordo-allow-list", [ Alcotest.test_case "declares ex let suite_2023_2024 = make_suite ~label:"lms-ordo-2023-2024" ~fixture_path:"fixtures/lms-ordo-2023-2024.sexp" - ~fixture_sha256:"c8d9d4b790f6b4438e932f70dad8ebe9a0316662f1eb02c26248e04c7be1a62b" ~window_first:"2023-12-01" + ~fixture_sha256:"631aedad5a749c814efcffbf1dfd0970181552a7b8985f6f74c5cfa4bf83baf5" ~window_first:"2023-12-01" ~window_last:"2024-12-31" ~year_lo:2022 ~year_hi:2025 ~allow_list_path ~expected_rows:397 (* expected_proper 182 -> 181 (bissextile-shift task, 2026-08-22): 24 February 2024, previously Matthias's own Proper Mass, is now the @@ -869,7 +999,7 @@ let suite_2023_2024 = let suite_2024_2025 = make_suite ~label:"lms-ordo-2024-2025" ~fixture_path:"fixtures/lms-ordo-2024-2025.sexp" - ~fixture_sha256:"da817b75c5bf40ed3be1d5f6890b199705e02ce4d42111253ab8547bccabc3f7" ~window_first:"2024-11-27" + ~fixture_sha256:"a2b549f10dfbebfa5f7df7dea74b0e5352f5abbf5e2ce33ef681a9eb8eb116e6" ~window_first:"2024-11-27" ~window_last:"2025-12-31" ~year_lo:2023 ~year_hi:2026 ~allow_list_path ~expected_rows:400 (* expected_preceding_sunday 66 -> 63 (celebrant-rubrics-phase1, Bug 2 fix): this window's own three Ascension-week days move from @@ -880,7 +1010,7 @@ let suite_2024_2025 = let suite_2025_2026 = make_suite ~label:"lms-ordo-2025-2026" ~fixture_path:"fixtures/lms-ordo-2025-2026.sexp" - ~fixture_sha256:"8839a61e0c7d1e6c8326114f4f45a5c183551287a88f4ed01127154add6ae5a5" ~window_first:"2025-11-28" + ~fixture_sha256:"8595ffebfc50b7a165643c172f9ba542871dd1d1e45f8c85a21b104da689535f" ~window_first:"2025-11-28" ~window_last:"2026-12-31" ~year_lo:2024 ~year_hi:2027 ~allow_list_path ~expected_rows:399 (* expected_preceding_sunday 68 -> 66 (celebrant-rubrics-phase1, Bug 2 fix): this window's own two Ascension-week days move from diff --git a/tools/extract_lms_ordo.ml b/tools/extract_lms_ordo.ml index 8680a91..582fb6e 100644 --- a/tools/extract_lms_ordo.ml +++ b/tools/extract_lms_ordo.ml @@ -62,6 +62,24 @@ type row = { matched as a substring of "IV Mass of BVM"). *) gloria : bool option; (** [None] only if genuinely not found -- reported, not silently dropped *) creed : bool option; + praef : string option; + (** RAW trailing text from the FIRST "Pr of ..." / "Common Pr" match + in the universal block's own reading order -- CAPTURED, NOT + CLASSIFIED here, the same discipline + tools/extract_fiuv_ordo.ml's own [row.praef] documents for a + different publisher's format. See the provenance header's own + "Pr of" characterisation bullet for what this column can and + cannot show: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y + or Common Pr"), some of whose named options ("Martyrs", "All + Saints and Patron Saints", "the Dedication of a Church", "the + Most Holy Sacrament", "St John the Baptist", "the Angels") are + NOT among the fourteen the 1962 Missale Romanum's own RG 484-497 + enumerate -- ad libitum extras this publisher includes alongside + a genuine RG 482 answer, never the sole option on any row found + in this corpus. Classification into {!Colitur_kernel.Preface.t} + happens test-side (test/test_lms_ordo.ml), by MEMBERSHIP in the + parsed option set, not string equality -- see that file's own + [classify_praef] citation for the full account. *) has_diocesan_variant : bool; (** whether a diocese-specific block followed the universal one anywhere in this day's raw text (informational only -- see the @@ -126,10 +144,10 @@ let bvm_numeral_of_line line = List.assoc_opt line (List.map (fun (n, s) -> (s, (* [lines]: this day's own raw continuation lines, marker-stripped and trimmed, title line NOT included (the title never carries Gl/Cr/"Mass of" itself in this source). Returns (formulary_override, bvm_numeral, - gloria, creed, has_diocesan_variant), each derived from the portion - BEFORE the first colon-terminated (diocesan) line -- see the module - header for why this is belt-and-suspenders, not load-bearing on its - own. *) + gloria, creed, praef, has_diocesan_variant), each derived from the + portion BEFORE the first colon-terminated (diocesan) line -- see the + module header for why this is belt-and-suspenders, not load-bearing on + its own. *) let scan_block lines = let rec universal_prefix = function | [] -> [] @@ -161,7 +179,36 @@ let scan_block lines = reads as [true], the same as any other non-"No" predecessor would). *) let gloria = find_flag "Gl" ("" :: all_tokens) in let creed = find_flag "Cr" ("" :: all_tokens) in - (formulary_override, bvm_numeral, gloria, creed, has_diocesan) + (* [praef]: LINE-SCOPED (not [all_tokens]'s flattened stream), because + the captured text runs to the END of whichever physical line carries + it -- flattening first would glue an unrelated following line's own + prose onto it. "Pr" always abbreviates "Preface" in this source's own + body text (checked directly: its only OTHER appearance is the front- + matter Abbreviations glossary entry "Pr Preface", outside the Ordo + body this tool scans), so a whole-token ("Pr","of") pair, or a bare + ("Common","Pr") pair when no proper/de-Tempore option is offered, is + the sole anchor needed -- no reject-list, unlike the BVM roman + numeral's own substring trap, because nothing else in this corpus's + body ever produces either two-token sequence. *) + let find_praef_in_line line = + let toks = Array.of_list (split_ws line) in + let n = Array.length toks in + let rec go i = + if i + 1 >= n then None + else if (toks.(i) = "Pr" && toks.(i + 1) = "of") || (toks.(i) = "Common" && toks.(i + 1) = "Pr") then + Some (String.concat " " (Array.to_list (Array.sub toks i (n - i)))) + else go (i + 1) + in + go 0 + in + let praef = + let rec find = function + | [] -> None + | l :: rest -> ( match find_praef_in_line l with Some s -> Some s | None -> find rest) + in + find universal + in + (formulary_override, bvm_numeral, gloria, creed, praef, has_diocesan) (* --- the top-level line scan --------------------------------------------- *) @@ -334,25 +381,29 @@ let () = die "%s: printed weekday %S does not match computed weekday %S -- date resolution bug" (Date.to_iso8601 date) b.b_weekday (Date.weekday_to_string (Date.weekday date)) | None -> die "%s: unrecognised weekday abbreviation %S" (Date.to_iso8601 date) b.b_weekday); - let formulary_override, bvm_numeral, gloria, creed, has_diocesan_variant = scan_block b.b_lines in + let formulary_override, bvm_numeral, gloria, creed, praef, has_diocesan_variant = scan_block b.b_lines in { date = Date.to_iso8601 date; weekday = b.b_weekday; title = b.b_title; formulary_override; bvm_numeral; - gloria; creed; has_diocesan_variant }) + gloria; creed; praef; has_diocesan_variant }) blocks in let missing_gloria = List.filter (fun r -> r.gloria = None) rows in let missing_creed = List.filter (fun r -> r.creed = None) rows in + let missing_praef = List.filter (fun r -> r.praef = None) rows in if missing_gloria <> [] then Printf.printf "extract_lms_ordo: WARNING %d rows with no Gloria found: %s\n" (List.length missing_gloria) (String.concat ", " (List.map (fun r -> r.date) missing_gloria)); if missing_creed <> [] then Printf.printf "extract_lms_ordo: WARNING %d rows with no Creed found: %s\n" (List.length missing_creed) (String.concat ", " (List.map (fun r -> r.date) missing_creed)); + if missing_praef <> [] then + Printf.printf "extract_lms_ordo: WARNING %d rows with no Pr-of/Common-Pr found: %s\n" (List.length missing_praef) + (String.concat ", " (List.map (fun r -> r.date) missing_praef)); let with_variant = List.length (List.filter (fun r -> r.has_diocesan_variant) rows) in let with_override = List.length (List.filter (fun r -> r.formulary_override <> None) rows) in let with_bvm = List.length (List.filter (fun r -> r.bvm_numeral <> None) rows) in Printf.printf "extract_lms_ordo: %d rows; %d with a diocesan variant present; %d with a formulary override; \ - %d with a BVM roman numeral\n" - (List.length rows) with_variant with_override with_bvm; + %d with a BVM roman numeral; %d with no Pr-of/Common-Pr text\n" + (List.length rows) with_variant with_override with_bvm (List.length missing_praef); (* --- provenance header + write ----------------------------------------- *) let sha256_of_file path = let cmd = Printf.sprintf "sha256sum %s" (Filename.quote path) in @@ -401,6 +452,24 @@ let () = "NOT found by URL-pattern web search this session (unlike the 2023-2024 and 2024-2025 editions, no exact download link matching this PDF's own filename/version turned up under lms.org.uk/sites/default/files/u5374/; several near-miss candidates were checked and rejected -- none matched this PDF's own metadata) -- left honestly blank rather than guessed; the file was supplied locally to this session, not fetched by this tool", {|28 November 2025 ("End of November 2025", the same shape as the 2024-2025 edition -- Advent Sunday 2025 fell on 30 November, so only 3 tail days remained; note this excludes 27 November 2025, which the PRECEDING edition's own window (2024-2025, through 2025-12-31) already covers -- a one-day-short overlap between consecutive editions' own windows, not a gap or a bug in either extraction|} ) + | "lms-ordo-2024-2025.sexp" -> + (* Preface-witnesses task (2026-08-23): brought into this same + auto-generated, probe-verified header template so all three + editions carry the identical characterisation discipline -- + Task 6's own original HAND-WRITTEN header (never regenerated by + the Witnesses task, which only added table entries for the two + NEW editions) is superseded by this run; every fact below is + re-derived from this PDF's own text/metadata, not copied + blind from that older header (though it agrees with it in + every particular checked). *) + ( "2024-2025", + "9781739209636", + "2024", + {|Author "Peter Day-Milne", Producer "LibreOffice 7.4", CreationDate 2024-11-06, 140 pages|}, + "https://lms.org.uk/sites/default/files/u5374/ordo_2.21_2024-2025.pdf", + "identified via web search matching the PDF's own version number and filename to the publisher's own hosting path (product page: https://lms.org.uk/product/latin-mass-society-ordo-2024-25); NOT independently re-downloaded and byte-compared in this session -- recorded honestly rather than presented as verified", + {|27 November 2024 ("End of November 2024", the same shape as the 2025-2026 edition -- Advent Sunday 2024 fell on 1 December, so 4 tail days remained (27-30 November))|} + ) | _ -> die "no provenance/characterisation entry for %s -- add one to extract_lms_ordo.ml's own per-edition table before generating this fixture (the tool refuses to emit an under-characterised header)" base in let creed_of_date rows d = List.find_map (fun r -> if String.equal r.date d then r.creed else None) rows in @@ -420,6 +489,12 @@ let () = "St Laurence, II class martyr, no Lord/BVM/apostle clause applies, RG 476(b) -- St Joachim (16 August) is IMPEDED by a Sunday in this edition's own calendar (12th Sunday after Pentecost), so this edition needed a DIFFERENT sharp non-octave II-class pairing than the 2023-2024/2024-2025 editions used; a real, edition-specific finding, not an extraction quirk" ); ("2026-08-15", true, "the Assumption, I class, RG 475(b)") ] + | "lms-ordo-2024-2025.sexp" -> + [ ("2024-12-01", true, "Advent Sunday, RG 475(a)"); + ("2024-12-02", false, "ordinary Advent feria, RG 476(b)/(d)"); + ("2024-12-26", true, "St Stephen, II class, inside the Nativity octave, RG 475(d)"); + ("2025-08-15", true, "the Assumption, I class, RG 475(b)"); + ("2025-08-16", false, "St Joachim, II class, no Lord/BVM/apostle clause applies, RG 476(b)") ] | _ -> die "no probe list for %s" base in List.iter @@ -430,6 +505,54 @@ let () = | None -> die "characterisation probe FAILED: %s (%s) -- no row extracted for this date at all" d desc) probes; Printf.printf "extract_lms_ordo: all %d characterisation probes confirmed for %s\n" (List.length probes) edition_label; + (* Preface-witnesses task (2026-08-23): a SECOND opposite-prediction + probe set, over [praef] rather than [creed] -- the same discipline, + applied to the new column this task adds, per the task brief's own + "probe dates where the rule predicts OPPOSITE answers before + adjudicating anything" instruction. Three universal, unambiguous + fixed-date feasts per edition, each landing on a DIFFERENT named + preface (RG 484 Nativity, RG 497 Apostles, RG 499 Requiem) -- checked + directly against this run's own [rows] before this header is + written, a hard [die] on failure, not a printed claim. All Souls' + own date is edition-specific (2 November, TRANSFERRED to 3 November + in the one edition -- 2024-2025 -- where 2 November falls on a + Sunday; verified directly against each PDF's own text, not assumed + from RG 96 alone). *) + let praef_of_date rows d = List.find_map (fun r -> if String.equal r.date d then r.praef else None) rows in + let praef_probes = + match base with + | "lms-ordo-2023-2024.sexp" -> + [ ("2023-12-25", "Pr of the Nativity", "the Nativity of Our Lord, I class, RG 484(a)"); + ("2024-06-29", "Pr of the Apostles", "SS Peter & Paul, I class, RG 497"); + ("2024-11-02", "Pr of the Dead", "All Souls' Day, I class, RG 499") ] + | "lms-ordo-2024-2025.sexp" -> + [ ("2024-12-25", "Pr of the Nativity", "the Nativity of Our Lord, I class, RG 484(a)"); + ("2025-06-29", "Pr of the Apostles", "SS Peter & Paul, I class, RG 497"); + ( "2025-11-03", "Pr of the Dead", + "All Souls' Day, I class, RG 499 -- TRANSFERRED from 2 November, a Sunday in this edition's own calendar" ) + ] + | "lms-ordo-2025-2026.sexp" -> + [ ("2025-12-25", "Pr of the Nativity", "the Nativity of Our Lord, I class, RG 484(a)"); + ("2026-06-29", "Pr of the Apostles", "SS Peter & Paul, I class, RG 497"); + ("2026-11-02", "Pr of the Dead", "All Souls' Day, I class, RG 499") ] + | _ -> die "no praef probe list for %s" base + in + List.iter + (fun (d, expected_prefix, desc) -> + match praef_of_date rows d with + | Some got when has_prefix ~prefix:expected_prefix got -> () + | Some got -> + die "praef characterisation probe FAILED: %s (%s) -- expected prefix %S, extracted %S" d desc + expected_prefix got + | None -> die "praef characterisation probe FAILED: %s (%s) -- no praef extracted for this date at all" d desc) + praef_probes; + Printf.printf "extract_lms_ordo: all %d praef characterisation probes confirmed for %s\n" (List.length praef_probes) + edition_label; + let praef_probe_lines = + String.concat "\n" + (List.map (fun (d, expected_prefix, desc) -> Printf.sprintf "; %s (%s) -> %S" d desc expected_prefix) praef_probes) + in + let missing_praef_count = List.length missing_praef in let probe_lines = String.concat "\n" (List.map @@ -529,6 +652,62 @@ let () = ; and the "When may I say...?"/Appendix tail are never scanned at ; all (the extractor's own start/stop markers bound it to the Ordo ; proper). +; +; 5. THE "Pr of" (PREFACE) COLUMN (Preface-witnesses task, 2026-08-23) -- +; [row.praef], the RAW text from the FIRST "Pr of ..." / "Common Pr" +; match in the universal block's own reading order (the same +; FIRST-in-reading-order discipline finding 1 above already +; establishes for Gl/Cr). CAPTURED, NOT CLASSIFIED by this tool -- +; classification into {!Colitur_kernel.Preface.t} and the comparison +; against {!Rite_ef.Rubrics_ef.preface} both happen test-side +; (test/test_lms_ordo.ml's own [classify_praef]). +; +; CHARACTERISATION FINDING, non-negotiable per the same discipline as +; finding 2: this Ordo prints OPTION LISTS ("Pr of X or Pr of Y or +; Common Pr"), not always a single value -- and several of the named +; options ("Martyrs", "All Saints and Patron Saints" [almost always +; diocesan -- a Patronal feast's own preface -- but checked directly to +; occur ONCE in THIS edition's own UNIVERSAL block too, All Saints' Day +; itself, 1 November, paired with "or Common Pr"/"or Pr of the +; Trinity" depending on whether 1 November falls on a Sunday that +; edition, exactly matching {!Rite_ef.Rubrics_ef.preface}'s own RG +; 494(b) Sunday-gated Trinity fallback either way -- see that +; function's own citation], "the Dedication of a Church", "the Most Holy +; Sacrament" [Corpus Christi's own universal entry], "St John the +; Baptist", "the Angels") are genuinely NOT among the fourteen the +; 1962 Missale Romanum's own RG 484-497 enumerate (docs/research/LT.txt, +; lines 3936-4020, checked directly: no "de Martyribus"/"de Angelis"/ +; "de Dedicatione"/"de Ss.mo Sacramento"/"de S. Ioanne Baptista" clause +; exists anywhere in 482-499). Every one of these extras, in every +; instance found in this edition's UNIVERSAL block, is printed +; ALONGSIDE a genuine RG 482 answer (most often "or Common Pr"; on 24 +; March-shaped days, "or Pr of Lent", the live RG 486(b) de-Tempore +; answer) -- never as the row's OWN AND ONLY option. This is why the +; test-side comparison checks colitur's single computed answer is a +; MEMBER of this row's own parsed option set (dropping any unmapped +; extra name from that set first), not string equality against +; whichever option happens to print first -- the same "capture, don't +; force a match invented at extraction time" discipline +; tools/extract_fiuv_ordo.ml's own [row.praef] doc comment already +; states for a different publisher's format. +; +; OPPOSITE-PREDICTION PROBES against Rite_ef.Rubrics_ef.preface (RG +; 482-499), the SAME discipline as finding 2, applied to this new +; column -- RE-CHECKED BY THIS TOOL RUN before this header was +; written; a failed probe is a hard [die]: +%s +; All %d predictions confirmed -- this column, too, is discriminating, +; not a constant, across three different RG-cited outcomes (Nativity/ +; Apostles/Requiem). +; +; COVERAGE: %d of %d rows have no "Pr of"/"Common Pr" text found at +; all -- checked directly against this window's own Good Friday +; (Easter-2): its block carries NO Gl/Cr/Pr line whatsoever in this +; source (the 1955-restored Holy Week's own liturgical action has no +; Mass that day at all -- the SAME structural fact +; {!test_creed_coverage}'s own [window_good_fridays] already asserts +; for Gl/Cr), so [praef] shares that single expected gap rather than +; having a coverage gap of its own. |} dest edition_label isbn copyright_year pdf_meta url_note url pdf_base pdf_base pdf_sha (today ()) pdf_base pdf_base dest @@ -537,6 +716,7 @@ let () = (match List.rev rows with r :: _ -> r.date | [] -> "?") window_open_desc probe_lines (List.length probes) with_variant (List.length rows) (Printf.sprintf "%.1f" (100.0 *. float_of_int with_variant /. float_of_int (List.length rows))) + praef_probe_lines (List.length praef_probes) missing_praef_count (List.length rows) in let body = Sexplib.Sexp.to_string_hum ~indent:2 (sexp_of_list sexp_of_row rows) in let oc = open_out dest in -- cgit v1.3