aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 00:05:57 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 00:05:57 +0200
commit4624441d0bc9c1f28dea54606ab7999041d4b323 (patch)
treeaf9b9308c70fb5df6888990e7780e6e951d76644
parent21dab521d6bfe8e4e7d04f761c11754059339ba2 (diff)
downloadcolitur-4624441d0bc9c1f28dea54606ab7999041d4b323.tar.gz
colitur-4624441d0bc9c1f28dea54606ab7999041d4b323.zip
data(ef): bootstrap the 1962 sanctoral from lectio
Convert lectio's tridentine-calendar.ini (322 entries) into data/ef/sanctoral.sexp via a validating OCaml converter, tools/ bootstrap_sanctoral.ml, rather than a hand-written script: every field is built through Slug.of_string, Colour.of_string and Vocab_ef.rank_of_string, so the emitted sexp is valid by construction. Two conversion decisions, both documented rather than buried: - subject defaults to Subject.Saint, overriding Celebration.make's kernel default of Subject.Temporal, for the 316 entries with no explicit class; - rank = commemoration maps to status = Commemoration_only with an inferred Class3 (not a citation -- it is what the 1960 reform reduced most simple feasts from), recorded as an open item in the rules register for the oracle to adjudicate. Every celebration is tagged layer = Precedence_ef.universal_layer, the provenance id RG 91's band classifier reads to tell the universal calendar from proper/indult data. The generated file carries a provenance header: source path, its SHA-256, and the UTC conversion date, so re-bootstrapping against a newer lectio is reproducible and diffable. Output is byte-identical across runs. test/test_sanctoral_ef.ml loads the file through Layer.load and checks the counts independently derived from the source INI (322 entries, 114 Commemoration_only, 12 Class1, no Subject.Temporal, every date resolves in a leap year), plus two named spot-checks against the INI's own text -- one entry with an explicit class field, one commemoration -- so a passing count cannot hide the wrong 322 entries having been converted.
-rw-r--r--data/ef/sanctoral.sexp2644
-rw-r--r--test/dune1
-rw-r--r--test/test_colitur.ml2
-rw-r--r--test/test_sanctoral_ef.ml115
-rw-r--r--tools/bootstrap_sanctoral.ml235
-rw-r--r--tools/dune10
6 files changed, 3006 insertions, 1 deletions
diff --git a/data/ef/sanctoral.sexp b/data/ef/sanctoral.sexp
new file mode 100644
index 0000000..1ff9577
--- /dev/null
+++ b/data/ef/sanctoral.sexp
@@ -0,0 +1,2644 @@
+; data/ef/sanctoral.sexp -- EF (1962) universal sanctoral (General Roman
+; Calendar), bootstrapped from lectio (sibling project; see CLAUDE.md).
+; Generator: tools/bootstrap_sanctoral.ml -- do not hand-edit; re-run the
+; generator against a newer lectio and commit the diff instead.
+;
+; Source: ../lectio/internal/caldata/tridentine-calendar.ini
+; SHA-256: 6a25e6349cae576a10b27c2cdddbfa35905753d4b1e0bc19463dc848f65b94a8
+; Converted (UTC): 2026-08-11
+; 322 entries (208 feast, 114 commemoration-only). Regenerate with:
+; eval $(opam env) && dune exec tools/bootstrap_sanctoral.exe -- ../lectio/internal/caldata/tridentine-calendar.ini data/ef/sanctoral.sexp
+((id ef-universal) (name "EF (1962) universal sanctoral")
+ (entries
+ (((date (Fixed (month 8) (day 18)))
+ (cel
+ ((slug agapitus)
+ (names
+ ((en "St. Agapitus")
+ (pl "\197\155w. Agapita, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 5)))
+ (cel
+ ((slug agatha)
+ (names
+ ((en "St. Agatha")
+ (pl "\197\155w. Agaty, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 21)))
+ (cel
+ ((slug agnes)
+ (names
+ ((en "St. Agnes")
+ (pl "\197\155w. Agnieszki, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 15)))
+ (cel
+ ((slug albert-the-great)
+ (names
+ ((en "St. Albert the Great")
+ (pl
+ "\197\155w. Alberta Wielkiego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 17)))
+ (cel
+ ((slug alexis)
+ (names ((en "St. Alexis") (pl "\197\155w. Aleksego, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 1)))
+ (cel
+ ((slug all-saints)
+ (names
+ ((en "All Saints")
+ (pl
+ "Uroczysto\197\155\196\135 Wszystkich \197\154wi\196\153tych")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 21)))
+ (cel
+ ((slug aloysius-gongzaga)
+ (names
+ ((en "St. Aloysius Gongzaga")
+ (pl "\197\155w. Alojzego Gonzagi, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 2)))
+ (cel
+ ((slug alphonsus-liguori)
+ (names
+ ((en "St. Alphonsus Liguori")
+ (pl
+ "\197\155w. Alfonsa Marii Liguori, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 7)))
+ (cel
+ ((slug ambrose)
+ (names
+ ((en "St. Ambrose")
+ (pl
+ "\197\155w. Ambro\197\188ego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 30)))
+ (cel
+ ((slug andrew)
+ (names
+ ((en "St. Andrew") (pl "\197\155w. Andrzeja, Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 10)))
+ (cel
+ ((slug andrew-avellino)
+ (names
+ ((en "St. Andrew Avellino")
+ (pl "\197\155w. Andrzeja z Avellino, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 4)))
+ (cel
+ ((slug andrew-corsini)
+ (names
+ ((en "St. Andrew Corsini")
+ (pl "\197\155w. Andrzeja Corsini, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 1)))
+ (cel
+ ((slug angela-merici)
+ (names
+ ((en "St. Angela Merici")
+ (pl "\197\155w. Anieli Merici, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 17)))
+ (cel
+ ((slug anicetus)
+ (names
+ ((en "St. Anicetus")
+ (pl "\197\155w. Aniceta, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 26)))
+ (cel
+ ((slug anne-mother-of-the-blessed-virgin)
+ (names
+ ((en "St. Anne, Mother of the Blessed Virgin")
+ (pl "\197\155w. Anny, Matki N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 25)))
+ (cel
+ ((slug annunciation-of-the-blessed-virgin-mary)
+ (names
+ ((en "Annunciation of the Blessed Virgin Mary")
+ (pl "Zwiastowanie N. M. P.")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 21)))
+ (cel
+ ((slug anselm)
+ (names
+ ((en "St. Anselm")
+ (pl
+ "\197\155w. Anzelma, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 17)))
+ (cel
+ ((slug anthony)
+ (names ((en "St. Anthony") (pl "\197\155w. Antoniego, Opata")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 23)))
+ (cel
+ ((slug anthony-mary-claret)
+ (names
+ ((en "St. Anthony Mary Claret")
+ (pl "\197\155w. Antoniego Marii Claret, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 5)))
+ (cel
+ ((slug anthony-mary-zaccariah)
+ (names
+ ((en "St. Anthony Mary Zaccariah")
+ (pl "\197\155w. Antoniego Marii Zaccaria, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 13)))
+ (cel
+ ((slug anthony-of-padua)
+ (names
+ ((en "St. Anthony of Padua")
+ (pl
+ "\197\155w. Antoniego z Padwy, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 10)))
+ (cel
+ ((slug antoninus)
+ (names
+ ((en "St. Antoninus")
+ (pl "\197\155w. Antonina, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 23)))
+ (cel
+ ((slug apollinaris)
+ (names
+ ((en "St. Apollinaris")
+ (pl "\197\155w. Apolinarego, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 9)))
+ (cel
+ ((slug appollonia)
+ (names
+ ((en "St. Appollonia")
+ (pl "\197\155w. Apolonii, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 15)))
+ (cel
+ ((slug assumption-of-the-blessed-virgin-mary)
+ (names
+ ((en "Assumption of the Blessed Virgin Mary")
+ (pl "Wniebowzi\196\153cie N. M. P.")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 2)))
+ (cel
+ ((slug athanasius)
+ (names
+ ((en "St. Athanasius")
+ (pl
+ "\197\155w. Atanazego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 28)))
+ (cel
+ ((slug augustine)
+ (names
+ ((en "St. Augustine")
+ (pl
+ "\197\155w. Augustyna, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 28)))
+ (cel
+ ((slug augustine-of-canterbury)
+ (names
+ ((en "St. Augustine of Canterbury")
+ (pl "\197\155w. Augustyna z Canterbury, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 11)))
+ (cel
+ ((slug barnabas)
+ (names
+ ((en "St. Barnabas")
+ (pl "\197\155w. Barnaby, Aposto\197\130a")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 24)))
+ (cel
+ ((slug bartholomew)
+ (names
+ ((en "St. Bartholomew")
+ (pl "\197\155w. Bart\197\130omieja, Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 14)))
+ (cel
+ ((slug basil-the-great)
+ (names
+ ((en "St. Basil the Great")
+ (pl
+ "\197\155w. Bazylego Wielkiego, Wyznawcy, Biskupa i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 12)))
+ (cel
+ ((slug basilidus)
+ (names
+ ((en "St. Basilidus")
+ (pl
+ "\197\155\197\155. Bazylidesa, Cyryna, Nabora i Nazariusza, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 27)))
+ (cel
+ ((slug bede-the-venerable)
+ (names
+ ((en "St. Bede the Venerable")
+ (pl
+ "\197\155w. Bedy Czcigodnego, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 29)))
+ (cel
+ ((slug beheading-of-st-john-the-baptist)
+ (names
+ ((en "Beheading of St. John the Baptist")
+ (pl "\197\154ci\196\153cie \197\154w. Jana Chrzciciela")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 21)))
+ (cel
+ ((slug benedict)
+ (names ((en "St. Benedict") (pl "\197\155w. Benedykta, Opata")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 20)))
+ (cel
+ ((slug bernard-of-clairvaux)
+ (names
+ ((en "St. Bernard of Clairvaux")
+ (pl
+ "\197\155w. Bernarda, Opata i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 20)))
+ (cel
+ ((slug bernardine-of-siena)
+ (names
+ ((en "St. Bernardine of Siena")
+ (pl "\197\155w. Bernardyna ze Sieny, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 3)))
+ (cel
+ ((slug blaise)
+ (names
+ ((en "St. Blaise")
+ (pl
+ "\197\155w. B\197\130a\197\188eja, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 14)))
+ (cel
+ ((slug bonaventure)
+ (names
+ ((en "St. Bonaventure")
+ (pl
+ "\197\155w. Bonawentury, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 5)))
+ (cel
+ ((slug boniface)
+ (names
+ ((en "St. Boniface")
+ (pl "\197\155w. Bonifacego, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 8)))
+ (cel
+ ((slug bridget-of-sweden)
+ (names
+ ((en "St. Bridget of Sweden") (pl "\197\155w. Brygidy, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 6)))
+ (cel
+ ((slug bruno)
+ (names ((en "St. Bruno") (pl "\197\155w. Brunona, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 7)))
+ (cel
+ ((slug cajetan)
+ (names ((en "St. Cajetan") (pl "\197\155w. Kajetana, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 14)))
+ (cel
+ ((slug callistus-i)
+ (names
+ ((en "St. Callistus I")
+ (pl
+ "\197\155w. Kaliksta, papie\197\188a i m\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 18)))
+ (cel
+ ((slug camillus-de-lellis)
+ (names
+ ((en "Camillus de Lellis") (pl "\197\155w. Kamila de Lellis")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 19)))
+ (cel
+ ((slug canute-martyr)
+ (names
+ ((en "St. Canute, Martyr")
+ (pl "\197\155w. Kanuta, Kr\195\179la i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 4)))
+ (cel
+ ((slug casimir)
+ (names
+ ((en "St. Casimir") (pl "\197\155w. Kazimierza, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 25)))
+ (cel
+ ((slug catherine-of-alexandria)
+ (names
+ ((en "St. Catherine of Alexandria")
+ (pl "\197\155w. Katarzyny, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 30)))
+ (cel
+ ((slug catherine-of-siena)
+ (names
+ ((en "St. Catherine of Siena")
+ (pl "\197\155w. Katarzyny Siene\197\132skiej, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 22)))
+ (cel
+ ((slug cecilia)
+ (names
+ ((en "St. Cecilia")
+ (pl "\197\155w. Cecylii, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 22)))
+ (cel
+ ((slug chair-of-st-peter)
+ (names
+ ((en "Chair of St. Peter")
+ (pl "Katedry \197\155w. Piotra Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 4)))
+ (cel
+ ((slug charles-borromeo)
+ (names
+ ((en "St. Charles Borromeo")
+ (pl "\197\155w. Karola Boromeusza, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 24)))
+ (cel
+ ((slug christina)
+ (names
+ ((en "St. Christina")
+ (pl "\197\155w. Krystyny, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 25)))
+ (cel
+ ((slug christopher)
+ (names
+ ((en "St. Christopher")
+ (pl "\197\155w. Krzysztofa, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 24)))
+ (cel
+ ((slug chrysogonus)
+ (names
+ ((en "St. Chrysogonus")
+ (pl "\197\155w. Chryzogona, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 12)))
+ (cel
+ ((slug clare)
+ (names ((en "St. Clare") (pl "\197\155w. Klary, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 23)))
+ (cel
+ ((slug clement-i)
+ (names
+ ((en "St. Clement I")
+ (pl
+ "\197\155w. Klemensa I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 2)))
+ (cel
+ ((slug commemoration-of-all-souls)
+ (names
+ ((en "Commemoration of All Souls")
+ (pl "Dzie\197\132 Zaduszny")))
+ (rank Class1) (status Feast) (colour Black) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 13)))
+ (cel
+ ((slug commemoration-of-the-baptism-of-the-lord)
+ (names
+ ((en "Commemoration of the Baptism of the Lord")
+ (pl "Wspomnienie Chrztu Pa\197\132skiego")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 25)))
+ (cel
+ ((slug conversion-of-st-paul)
+ (names
+ ((en "Conversion of St. Paul")
+ (pl
+ "Nawr\195\179cenie \197\155w. Paw\197\130a, Aposto\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 8)))
+ (cel
+ ((slug cyriacus-largus-and-smaragdus-martyrs)
+ (names
+ ((en "Ss. Cyriacus, Largus and Smaragdus, Martyrs")
+ (pl
+ "\197\155\197\155. Cyriaka, Larga i Szmaragda, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 9)))
+ (cel
+ ((slug cyril-of-alexandria)
+ (names
+ ((en "St. Cyril of Alexandria")
+ (pl
+ "\197\155w. Cyryla Aleksandryjskiego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 18)))
+ (cel
+ ((slug cyril-of-jerusalem)
+ (names
+ ((en "St. Cyril of Jerusalem")
+ (pl
+ "\197\155w. Cyryla Jerozolimskiego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 11)))
+ (cel
+ ((slug damasus-i)
+ (names
+ ((en "St. Damasus I")
+ (pl "\197\155w. Damazego, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 29)))
+ (cel
+ ((slug dedication-of-st-michael-the-archangel)
+ (names
+ ((en "Dedication of St. Michael the Archangel")
+ (pl
+ "\197\154wi\196\153tego Micha\197\130a Archanio\197\130a")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 9)))
+ (cel
+ ((slug dedication-of-the-archbasilica-of-our-holy-savior)
+ (names
+ ((en "Dedication of the Archbasilica of Our Holy Savior")
+ (pl
+ "Rocznica Konsekracji Bazyliki Naj\197\155wi\196\153tszego Zbawiciela na Lateranie")))
+ (rank Class2) (status Feast) (colour White) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 5)))
+ (cel
+ ((slug dedication-of-the-basilica-of-st-mary-major)
+ (names
+ ((en "Dedication of the Basilica of St. Mary Major")
+ (pl "Rocznica Konsekracji N. M. P. \197\154nie\197\188nej")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 18)))
+ (cel
+ ((slug dedication-of-the-basilicas-of-sts-peter-paul)
+ (names
+ ((en "Dedication of the Basilicas of Sts. Peter & Paul")
+ (pl
+ "Rocznica Konsekracji Bazylik \197\154wi\196\153tych Aposto\197\130\195\179w Piotra i Paw\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 13)))
+ (cel
+ ((slug didacus)
+ (names ((en "St. Didacus") (pl "\197\155w. Dydaka, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 9)))
+ (cel
+ ((slug dionysius-and-companions)
+ (names
+ ((en "St. Dionysius and companions")
+ (pl "\197\155\197\155. Dionizego, Rustyka i Eleuteriusza")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 4)))
+ (cel
+ ((slug dominic)
+ (names ((en "St. Dominic") (pl "\197\155w. Dominika, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 7)))
+ (cel
+ ((slug donatus)
+ (names
+ ((en "St. Donatus")
+ (pl "\197\155w. Donata, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 6)))
+ (cel
+ ((slug dorothy)
+ (names
+ ((en "St. Dorothy")
+ (pl "\197\155w. Doroty, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 13)))
+ (cel
+ ((slug edward)
+ (names
+ ((en "St. Edward")
+ (pl "\197\155w. Edwarda, kr\195\179la i wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 26)))
+ (cel
+ ((slug eleutherius)
+ (names
+ ((en "S. Eleutherius")
+ (pl
+ "\197\155w. Eleuteriusza, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 19)))
+ (cel
+ ((slug elizabeth-of-hungary)
+ (names
+ ((en "St. Elizabeth of Hungary")
+ (pl "\197\155w. El\197\188biety, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 8)))
+ (cel
+ ((slug elizabeth-of-portugal)
+ (names
+ ((en "St. Elizabeth of Portugal")
+ (pl "\197\155w. El\197\188biety, Kr\195\179lowej i Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 23)))
+ (cel
+ ((slug emerentiana)
+ (names
+ ((en "St. Emerentiana")
+ (pl "\197\155w. Emercjanny, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 18)))
+ (cel
+ ((slug ephrem-of-syria)
+ (names
+ ((en "St. Ephrem of Syria")
+ (pl
+ "\197\155w. Efrema, Diakona, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 16)))
+ (cel
+ ((slug eusebius)
+ (names
+ ((en "St. Eusebius")
+ (pl "\197\155w. Euzebiusza, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 14)))
+ (cel
+ ((slug exaltation-of-the-holy-cross)
+ (names
+ ((en "Exaltation of the Holy Cross")
+ (pl
+ "Podwy\197\188szenia \197\154wi\196\153tego Krzy\197\188a")))
+ (rank Class2) (status Feast) (colour Red) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 14)))
+ (cel
+ ((slug felicis)
+ (names
+ ((en "S. Felicis")
+ (pl "\197\155w. Feliksa, Kap\197\130ana i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 29)))
+ (cel
+ ((slug felicis-simplicii-faustini-et-beatricis)
+ (names
+ ((en "Ss. Felicis, Simplicii, Faustini et Beatricis")
+ (pl
+ "\197\155\197\155. Feliksa, Symplicjusza, Faustyna i Beatryczy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 23)))
+ (cel
+ ((slug felicity)
+ (names
+ ((en "St. Felicity")
+ (pl "\197\155w. Felicyty, M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 30)))
+ (cel
+ ((slug felix-i)
+ (names
+ ((en "St. Felix I")
+ (pl
+ "\197\155w. Feliksa I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 20)))
+ (cel
+ ((slug felix-of-valois)
+ (names
+ ((en "St. Felix of Valois")
+ (pl "\197\155w. Feliksa Walezego, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 24)))
+ (cel
+ ((slug fidelis-of-sigmaringen)
+ (names
+ ((en "St. Fidelis of Sigmaringen")
+ (pl "\197\155w. Fidelisa z Sigmaringen, M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 10)))
+ (cel
+ ((slug forty-holy-martyrs-of-sebaste)
+ (names
+ ((en "Forty Holy Martyrs of Sebaste")
+ (pl
+ "\197\155\197\155. Czterdziestu M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 8)))
+ (cel
+ ((slug four-holy-crowned-martyrs)
+ (names
+ ((en "Four Holy Crowned Martyrs")
+ (pl
+ "\197\154wi\196\153tych Czterech Ukoronowanych M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 9)))
+ (cel
+ ((slug frances-rome)
+ (names
+ ((en "St. Frances Rome")
+ (pl "\197\155w. Franciszki Rzymianki, Wdowy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 10)))
+ (cel
+ ((slug francis-borgia)
+ (names
+ ((en "St. Francis Borgia")
+ (pl "\197\155w. Franciszka Borgiasza, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 4)))
+ (cel
+ ((slug francis-caracciolo)
+ (names
+ ((en "St. Francis Caracciolo")
+ (pl "\197\155w. Franciszka Caracciolo, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 29)))
+ (cel
+ ((slug francis-de-sales)
+ (names
+ ((en "St. Francis de Sales")
+ (pl
+ "\197\155w. Franciszka Salezego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 4)))
+ (cel
+ ((slug francis-of-assisi)
+ (names
+ ((en "St. Francis of Assisi")
+ (pl "\197\155w. Franciszka, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 2)))
+ (cel
+ ((slug francis-of-paola)
+ (names
+ ((en "St. Francis of Paola")
+ (pl "\197\155w. Franciszka z Pauli, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 3)))
+ (cel
+ ((slug francis-xavier)
+ (names
+ ((en "St. Francis Xavier")
+ (pl "\197\155w. Franciszka Ksawerego, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 27)))
+ (cel
+ ((slug gabriel-of-our-lady-of-sorrows)
+ (names
+ ((en "St. Gabriel of Our Lady of Sorrows")
+ (pl "\197\155w. Gabriela od Matki Bo\197\188ej Bolesnej")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 24)))
+ (cel
+ ((slug gabriel-the-archangel)
+ (names
+ ((en "St. Gabriel the Archangel")
+ (pl "\197\155w. Gabriela Archanio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 23)))
+ (cel
+ ((slug george)
+ (names
+ ((en "St. George")
+ (pl "\197\155w. Jerzego, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 16)))
+ (cel
+ ((slug gertrude-the-great)
+ (names
+ ((en "St. Gertrude the Great")
+ (pl "\197\155w. Gertrudy, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 1)))
+ (cel
+ ((slug giles)
+ (names ((en "St. Giles") (pl "\197\155w. Idziego, Opata")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 10)))
+ (cel
+ ((slug gordiano-and-epimacho)
+ (names
+ ((en "St. Gordiano and Epimacho")
+ (pl
+ "\197\155\197\155. Gordiana i Epimacha, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 9)))
+ (cel
+ ((slug gorgonius)
+ (names
+ ((en "St. Gorgonius")
+ (pl "\197\155w. Gorgoniusza, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 17)))
+ (cel
+ ((slug gregory-barbarigo)
+ (names
+ ((en "St. Gregory Barbarigo")
+ (pl "\197\155w. Grzegorza Barbarigo, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 9)))
+ (cel
+ ((slug gregory-of-nazianzen)
+ (names
+ ((en "St. Gregory of Nazianzen")
+ (pl
+ "\197\155w. Grzegorza z Nazjanzu, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 12)))
+ (cel
+ ((slug gregory-the-great)
+ (names
+ ((en "St. Gregory the Great")
+ (pl
+ "\197\155w. Grzegorza Wielkiego, Papie\197\188a, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 17)))
+ (cel
+ ((slug gregory-the-wonderworker)
+ (names
+ ((en "St. Gregory the Wonderworker")
+ (pl
+ "\197\155w. Grzegorza Cudotw\195\179rcy, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 25)))
+ (cel
+ ((slug gregory-vii)
+ (names
+ ((en "St. Gregory VII")
+ (pl "\197\155w. Grzegorza VII, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 8)))
+ (cel
+ ((slug hadriani)
+ (names
+ ((en "S. Hadriani")
+ (pl "\197\155w. Hadriana, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 16)))
+ (cel
+ ((slug hedwig)
+ (names ((en "St. Hedwig") (pl "\197\155w. Jadwigi, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 15)))
+ (cel
+ ((slug henry-the-emperor)
+ (names
+ ((en "St. Henry the Emperor")
+ (pl "\197\155w. Henryka, Cesarza i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 13)))
+ (cel
+ ((slug hermenegild)
+ (names
+ ((en "St. Hermenegild")
+ (pl "\197\155w. Hermenegilda, M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 28)))
+ (cel
+ ((slug hermes)
+ (names
+ ((en "St. Hermes")
+ (pl "\197\155w. Hermesa, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 21)))
+ (cel
+ ((slug hilarion)
+ (names ((en "St. Hilarion") (pl "\197\155w. Hilariona, Opata")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 14)))
+ (cel
+ ((slug hilary)
+ (names
+ ((en "St. Hilary")
+ (pl
+ "\197\155w. Hilarego, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 2)))
+ (cel
+ ((slug holy-guardian-angels)
+ (names
+ ((en "Holy Guardian Angels")
+ (pl
+ "\197\154wi\196\153tych Anio\197\130\195\179w Str\195\179\197\188\195\179w")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 28)))
+ (cel
+ ((slug holy-innocents)
+ (names
+ ((en "Holy Innocents")
+ (pl "\197\154wi\196\153tych M\197\130odziank\195\179w")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 1)))
+ (cel
+ ((slug holy-machabees)
+ (names
+ ((en "Holy Machabees")
+ (pl "Siedmiu Braci Machabejskich, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 17)))
+ (cel
+ ((slug hyacinth)
+ (names ((en "St. Hyacinth") (pl "\197\155w. Jacka, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 11)))
+ (cel
+ ((slug hyginus-pope-and-martyr)
+ (names
+ ((en "St. Hyginus Pope and Martyr")
+ (pl "\197\155w. Hygina, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 31)))
+ (cel
+ ((slug ignatius-loyola)
+ (names
+ ((en "St. Ignatius Loyola")
+ (pl "\197\155w. Ignacego Loyoli, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 1)))
+ (cel
+ ((slug ignatius-of-antioch)
+ (names
+ ((en "St. Ignatius of Antioch")
+ (pl "\197\155w. Ignacego, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 8)))
+ (cel
+ ((slug immaculate-conception-of-the-blessed-virgin-mary)
+ (names
+ ((en "Immaculate Conception of the Blessed Virgin Mary")
+ (pl "Niepokalane Pocz\196\153cie N. M. P.")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 22)))
+ (cel
+ ((slug immaculate-heart-of-mary)
+ (names
+ ((en "Immaculate Heart of Mary")
+ (pl "Uroczysto\197\155\196\135 Niepokalanego Serca N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 30)))
+ (cel
+ ((slug in-commemoratione-sancti-pauli-apostoli)
+ (names
+ ((en "In Commemoratione Sancti Pauli Apostoli")
+ (pl "Wspomnienie \197\155w. Paw\197\130a, Aposto\197\130a")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 3)))
+ (cel
+ ((slug irenaeus)
+ (names
+ ((en "St. Irenaeus")
+ (pl "\197\155w. Ireneusza, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 4)))
+ (cel
+ ((slug isidore-of-seville)
+ (names
+ ((en "St. Isidore of Seville")
+ (pl
+ "\197\155w. Izydora, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 25)))
+ (cel
+ ((slug james-the-greater)
+ (names
+ ((en "St. James the Greater")
+ (pl "\197\155w. Jakuba, Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 21)))
+ (cel
+ ((slug jane-frances-de-chantal)
+ (names
+ ((en "St. Jane Frances de Chantal")
+ (pl
+ "\197\155w. Joanny Franciszki Fr\195\169miot de Chantal, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 19)))
+ (cel
+ ((slug januarius-companions)
+ (names
+ ((en "St. Januarius & Companions")
+ (pl
+ "\197\155w. Januarego i Towarzyszy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 30)))
+ (cel
+ ((slug jerome)
+ (names
+ ((en "St. Jerome")
+ (pl
+ "\197\155w. Hieronima, Kap\197\130ana, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 20)))
+ (cel
+ ((slug jerome-emiliani)
+ (names
+ ((en "St. Jerome Emiliani")
+ (pl "\197\155w. Hieronima Emiliani, Wyznawcy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 16)))
+ (cel
+ ((slug joachim-father-of-the-blessed-virgin)
+ (names
+ ((en "St. Joachim, Father of the Blessed Virgin")
+ (pl "\197\155w. Joachima, Ojca N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 15)))
+ (cel
+ ((slug john-baptist-de-la-salle)
+ (names
+ ((en "St. John Baptist de la Salle")
+ (pl "\197\155w. Jana Chrzciciela de la Salle, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 31)))
+ (cel
+ ((slug john-bosco)
+ (names
+ ((en "St. John Bosco") (pl "\197\155w. Jana Bosco, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 20)))
+ (cel
+ ((slug john-cantius)
+ (names
+ ((en "St. John Cantius")
+ (pl "\197\155w. Jana Kantego, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 27)))
+ (cel
+ ((slug john-chrysostom)
+ (names
+ ((en "St. John Chrysostom")
+ (pl
+ "\197\155w. Jana Chryzostoma, Wyznawcy, Biskupa i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 27)))
+ (cel
+ ((slug john-damascene)
+ (names
+ ((en "St. John Damascene")
+ (pl
+ "\197\155w. Jana Damasce\197\132skiego, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 19)))
+ (cel
+ ((slug john-eudes)
+ (names
+ ((en "St. John Eudes") (pl "\197\155w. Jana Eudes, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 12)))
+ (cel
+ ((slug john-gualbert)
+ (names
+ ((en "St. John Gualbert")
+ (pl "\197\155w. Jana Gwalberta, Opata")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 27)))
+ (cel
+ ((slug john-i)
+ (names
+ ((en "St. John I")
+ (pl "\197\155w. Jana I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 9)))
+ (cel
+ ((slug john-leonardi)
+ (names
+ ((en "St. John Leonardi")
+ (pl "\197\155w. Jana Leonardi, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 8)))
+ (cel
+ ((slug john-mary-vianney)
+ (names
+ ((en "St. John Mary Vianney")
+ (pl "\197\155w. Jana Marii Vianney, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 28)))
+ (cel
+ ((slug john-of-capistrano)
+ (names
+ ((en "St. John of Capistrano")
+ (pl "\197\155w. Jana Kapistrana, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 8)))
+ (cel
+ ((slug john-of-god)
+ (names
+ ((en "St. John of God")
+ (pl "\197\155w. Jana Bo\197\188ego, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 8)))
+ (cel
+ ((slug john-of-matha)
+ (names
+ ((en "St. John of Matha")
+ (pl "\197\155w. Jana z Maty, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 12)))
+ (cel
+ ((slug john-of-san-fecundo)
+ (names
+ ((en "St. John of San Fecundo")
+ (pl "\197\155w. Jana z Facundo, Wyznawcy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 24)))
+ (cel
+ ((slug john-of-the-cross)
+ (names
+ ((en "St. John of the Cross")
+ (pl
+ "\197\155w. Jana od Krzy\197\188a, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 27)))
+ (cel
+ ((slug john-the-evangelist)
+ (names
+ ((en "St. John the Evangelist")
+ (pl "\197\155w. Jana, Aposto\197\130a i Ewangelisty")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 14)))
+ (cel
+ ((slug josaphat)
+ (names
+ ((en "St. Josaphat")
+ (pl "\197\155w. Jozafata, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 27)))
+ (cel
+ ((slug joseph-calasance)
+ (names
+ ((en "St. Joseph Calasance")
+ (pl "\197\155w. J\195\179zefa Kalasantego, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 18)))
+ (cel
+ ((slug joseph-of-cupertino)
+ (names
+ ((en "St. Joseph of Cupertino")
+ (pl "\197\155w. J\195\179zefa z Kupertynu, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 19)))
+ (cel
+ ((slug joseph-spouse-of-the-bl-virgin-mary)
+ (names
+ ((en "St. Joseph, Spouse of the Bl. Virgin Mary")
+ (pl "\197\155w. J\195\179zefa, Oblubie\197\132ca N. M. P.")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 1)))
+ (cel
+ ((slug joseph-the-workman)
+ (names
+ ((en "St. Joseph the Workman")
+ (pl
+ "\197\155w. J\195\179zefa Robotnika, Oblubie\197\132ca N. M. P")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 19)))
+ (cel
+ ((slug julia-of-falconieri)
+ (names
+ ((en "St. Julia of Falconieri")
+ (pl "\197\155w. Juliany Falconieri, Dziewicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 14)))
+ (cel
+ ((slug justin)
+ (names
+ ((en "St. Justin")
+ (pl "\197\155w. Justyna, M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 21)))
+ (cel
+ ((slug laurence-of-brindisi)
+ (names
+ ((en "St. Laurence of Brindisi")
+ (pl
+ "\197\155w. Wawrzy\197\132ca z Brindisi, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 10)))
+ (cel
+ ((slug lawrence)
+ (names ((en "St. Lawrence") (pl "\197\155w. Wawrzy\197\132ca")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 5)))
+ (cel
+ ((slug lawrence-justinian)
+ (names
+ ((en "St. Lawrence Justinian")
+ (pl
+ "\197\155w. Wawrzy\197\132ca Justiniani, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 11)))
+ (cel
+ ((slug leo-the-great)
+ (names
+ ((en "St. Leo the Great")
+ (pl
+ "\197\155w. Leona Wielkiego, Papie\197\188a, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 23)))
+ (cel
+ ((slug liborii)
+ (names
+ ((en "S. Liborii")
+ (pl "\197\155w. Liboriusza, Biskupa i Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 23)))
+ (cel
+ ((slug linus)
+ (names
+ ((en "St. Linus")
+ (pl "\197\155w. Linusa, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 25)))
+ (cel
+ ((slug louis-ix)
+ (names
+ ((en "St. Louis IX")
+ (pl "\197\155w. Ludwika, Kr\195\179la i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 4)))
+ (cel
+ ((slug lucius)
+ (names
+ ((en "St. Lucius")
+ (pl
+ "\197\155w. Lucjusza I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 13)))
+ (cel
+ ((slug lucy)
+ (names
+ ((en "St. Lucy")
+ (pl "\197\155w. \197\129ucji, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 18)))
+ (cel
+ ((slug luke-the-evangelist)
+ (names
+ ((en "St. Luke the Evangelist")
+ (pl "\197\155w. \197\129ukasza, Ewangelisty")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 16)))
+ (cel
+ ((slug marcellus-i)
+ (names
+ ((en "St. Marcellus I")
+ (pl
+ "\197\155w. Marcelego I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 18)))
+ (cel
+ ((slug marcus-and-marcellianus)
+ (names
+ ((en "Ss. Marcus and Marcellianus")
+ (pl
+ "\197\155\197\155. Marka i Marcelina, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 20)))
+ (cel
+ ((slug margaret)
+ (names
+ ((en "St. Margaret")
+ (pl
+ "\197\155w. Ma\197\130gorzaty, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 17)))
+ (cel
+ ((slug margaret-mary-alacoque)
+ (names
+ ((en "St. Margaret Mary Alacoque")
+ (pl "\197\155w. Ma\197\130gorzaty Marii Alacoque, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 10)))
+ (cel
+ ((slug margaret-of-scotland)
+ (names
+ ((en "St. Margaret of Scotland")
+ (pl
+ "\197\155w. Ma\197\130gorzaty, Kr\195\179lowej Szkockiej, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 25)))
+ (cel
+ ((slug mark)
+ (names ((en "St. Mark") (pl "\197\155w. Marka Ewangelisty")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 7)))
+ (cel
+ ((slug mark-i)
+ (names
+ ((en "St. Mark I")
+ (pl "\197\155w. Marka I, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 29)))
+ (cel
+ ((slug martha)
+ (names ((en "St. Martha") (pl "\197\155w. Marty, Dziewicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 12)))
+ (cel
+ ((slug martin-i)
+ (names
+ ((en "St. Martin I")
+ (pl
+ "\197\155w. Marcina I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 11)))
+ (cel
+ ((slug martin-of-tours)
+ (names
+ ((en "St. Martin of Tours")
+ (pl "\197\155w. Marcina, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 30)))
+ (cel
+ ((slug martina)
+ (names
+ ((en "St. Martina")
+ (pl "\197\155w. Martyny, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 22)))
+ (cel
+ ((slug mary-magdalene)
+ (names
+ ((en "St. Mary Magdalene")
+ (pl "\197\155w. Marii Magdaleny, Pokutnicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 29)))
+ (cel
+ ((slug mary-magdalene-de-pazzi)
+ (names
+ ((en "St. Mary Magdalene de Pazzi")
+ (pl "\197\155w. Marii Magdaleny Pazzi, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 11)))
+ (cel
+ ((slug maternity-of-the-blessed-virgin-mary)
+ (names
+ ((en "Maternity of the Blessed Virgin Mary")
+ (pl "Macierzy\197\132stwa N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 21)))
+ (cel
+ ((slug matthew)
+ (names
+ ((en "St. Matthew")
+ (pl "\197\155w. Mateusza, Aposto\197\130a i Ewangelisty")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 24)))
+ (cel
+ ((slug matthias)
+ (names
+ ((en "St. Matthias") (pl "\197\155w. Macieja Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 15)))
+ (cel
+ ((slug maur-abbot)
+ (names ((en "St. Maur, Abbot") (pl "\197\155w. Maura, Opata")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 22)))
+ (cel
+ ((slug maurice-and-companions-martyrs)
+ (names
+ ((en "St. Maurice and Companions, Martyrs")
+ (pl
+ "\197\155\197\155. Maurycego i Towarzyszy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 10)))
+ (cel
+ ((slug melchiades)
+ (names
+ ((en "St. Melchiades")
+ (pl
+ "\197\155w. Melchiadesa, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 11)))
+ (cel
+ ((slug menna)
+ (names
+ ((en "St. Menna") (pl "\197\155w. Mennasa, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 4)))
+ (cel
+ ((slug monica)
+ (names ((en "St. Monica") (pl "\197\155w. Moniki, Wdowy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 12)))
+ (cel
+ ((slug most-holy-name-of-mary)
+ (names
+ ((en "Most Holy Name of Mary")
+ (pl "Naj\197\155wi\196\153tszego Imienia Maryi")))
+ (rank Class3) (status Feast) (colour White) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 12)))
+ (cel
+ ((slug naboris-et-felicis)
+ (names
+ ((en "Ss. Naboris et Felicis")
+ (pl
+ "\197\155\197\155. Nabora i Feliksa, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 24)))
+ (cel
+ ((slug nativity-of-st-john-the-baptist)
+ (names
+ ((en "Nativity of St. John the Baptist")
+ (pl "Narodzenie \197\154w. Jana Chrzciciela")))
+ (rank Class1) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 8)))
+ (cel
+ ((slug nativity-of-the-blessed-virgin-mary)
+ (names
+ ((en "Nativity of the Blessed Virgin Mary")
+ (pl "Narodzenie N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 6)))
+ (cel
+ ((slug nicholas)
+ (names
+ ((en "St. Nicholas")
+ (pl "\197\155w. Miko\197\130aja, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 10)))
+ (cel
+ ((slug nicholas-of-tolentino)
+ (names
+ ((en "St. Nicholas of Tolentino")
+ (pl "\197\155w. Miko\197\130aja z Tolentynu, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 15)))
+ (cel
+ ((slug nicomedes)
+ (names
+ ((en "S. Nicomedes")
+ (pl "\197\155w. Nikomedesa, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 6)))
+ (cel
+ ((slug norbert)
+ (names
+ ((en "St. Norbert")
+ (pl "\197\155w. Norberta, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 11)))
+ (cel
+ ((slug our-lady-of-lourdes)
+ (names
+ ((en "Our Lady of Lourdes")
+ (pl
+ "Objawienie si\196\153 N. M. P. Niepokalanie Pocz\196\153tej w Lourdes")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 16)))
+ (cel
+ ((slug our-lady-of-mt-carmel)
+ (names
+ ((en "Our Lady of Mt. Carmel")
+ (pl "Wspomnienie N. M. P. z G\195\179ry Karmelu")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 24)))
+ (cel
+ ((slug our-lady-of-ransom)
+ (names
+ ((en "Our Lady of Ransom")
+ (pl "N. M. P. od Wykupu Je\197\132c\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 7)))
+ (cel
+ ((slug our-lady-of-the-rosary)
+ (names
+ ((en "Our Lady of the Rosary")
+ (pl "N. M. P. R\195\179\197\188a\197\132cowej")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 27)))
+ (cel
+ ((slug pantaleon)
+ (names
+ ((en "St. Pantaleon")
+ (pl "\197\155w. Pantaleona, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 17)))
+ (cel
+ ((slug paschal-baylon)
+ (names
+ ((en "St. Paschal Baylon")
+ (pl "\197\155w. Paschalisa Baylon, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 17)))
+ (cel
+ ((slug patrick)
+ (names
+ ((en "St. Patrick")
+ (pl "\197\155w. Patryka, Biskupa i Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 22)))
+ (cel
+ ((slug paul)
+ (names ((en "St. Paul") (pl "\197\155w. Paw\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 28)))
+ (cel
+ ((slug paul-of-the-cross)
+ (names
+ ((en "St. Paul of the Cross")
+ (pl "\197\155w. Paw\197\130a od Krzy\197\188a, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 15)))
+ (cel
+ ((slug paul-the-first-hermit)
+ (names
+ ((en "St. Paul, the First Hermit")
+ (pl
+ "\197\155w. Paw\197\130a, Pierwszego Pustelnika, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 22)))
+ (cel
+ ((slug paulinus-of-nola)
+ (names
+ ((en "St. Paulinus of Nola")
+ (pl "\197\155w. Paulina, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 25)))
+ (cel
+ ((slug peter)
+ (names
+ ((en "St. Peter") (pl "\197\155w. Piotra, Aposto\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 27)))
+ (cel
+ ((slug peter-canisius)
+ (names
+ ((en "St. Peter Canisius")
+ (pl
+ "\197\155w. Piotra Kanizjusza, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 19)))
+ (cel
+ ((slug peter-celestine)
+ (names
+ ((en "St. Peter Celestine")
+ (pl "\197\155w. Piotra Celestyna, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 4)))
+ (cel
+ ((slug peter-chrysologus)
+ (names
+ ((en "St. Peter Chrysologus")
+ (pl
+ "\197\155w. Piotra Chryzologa, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 23)))
+ (cel
+ ((slug peter-damien)
+ (names
+ ((en "St. Peter Damien")
+ (pl
+ "\197\155w. Piotra Damiana, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 28)))
+ (cel
+ ((slug peter-nolasco)
+ (names
+ ((en "St. Peter Nolasco")
+ (pl "\197\155w. Piotra Nolasco, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 19)))
+ (cel
+ ((slug peter-of-alcantara)
+ (names
+ ((en "St. Peter of Alcantara")
+ (pl "\197\155w. Piotra z Alkantary, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 26)))
+ (cel
+ ((slug peter-of-alexandria)
+ (names
+ ((en "St. Peter of Alexandria")
+ (pl
+ "\197\155w. Piotra z Aleksandrii, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 29)))
+ (cel
+ ((slug peter-of-verona)
+ (names
+ ((en "St. Peter of Verona")
+ (pl "\197\155w. Piotra z Werony, M\196\153czenika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 31)))
+ (cel
+ ((slug petronilla)
+ (names
+ ((en "St. Petronilla") (pl "\197\155w. Petroneli, Dziewicy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 23)))
+ (cel
+ ((slug philip-benizi)
+ (names
+ ((en "St. Philip Benizi")
+ (pl "\197\155w. Filipa Benicjusza, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 26)))
+ (cel
+ ((slug philip-neri)
+ (names
+ ((en "St. Philip Neri")
+ (pl "\197\155w. Filipa Nereusza, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 11)))
+ (cel
+ ((slug pius-i)
+ (names
+ ((en "St. Pius I")
+ (pl "\197\155w. Piusa I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 5)))
+ (cel
+ ((slug pius-v)
+ (names
+ ((en "St. Pius V")
+ (pl "\197\155w. Piusa V, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 3)))
+ (cel
+ ((slug pius-x)
+ (names
+ ((en "St. Pius X")
+ (pl "\197\155w. Piusa X, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 5)))
+ (cel
+ ((slug placid-companions)
+ (names
+ ((en "St. Placid & Companions")
+ (pl
+ "\197\155\197\155. Placyda i Towarzyszy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 26)))
+ (cel
+ ((slug polycarp)
+ (names
+ ((en "St. Polycarp")
+ (pl "\197\155w. Polikarpa, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 19)))
+ (cel
+ ((slug pontian)
+ (names
+ ((en "St. Pontian")
+ (pl
+ "\197\155w. Poncjana, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 6)))
+ (cel
+ ((slug pope-sixtus-ii-felicissimus-and-agapitus-martyrs)
+ (names
+ ((en "Pope Sixtus II, Felicissimus and Agapitus, Martyrs")
+ (pl
+ "\197\155\197\155. Sykstusa II, Papie\197\188a, Felicysyma i Agapita, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 21)))
+ (cel
+ ((slug praxedis-virginis)
+ (names
+ ((en "St. Praxedis Virginis")
+ (pl "\197\155w. Praksedy, Dziewicy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 1)))
+ (cel
+ ((slug precious-blood-of-our-lord-jesus-christ)
+ (names
+ ((en "The Precious Blood of Our Lord Jesus Christ")
+ (pl
+ "Uroczysto\197\155\196\135 Najdro\197\188szej Krwi Pana Naszego Jezusa Chrystusa")))
+ (rank Class1) (status Feast) (colour Red) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 21)))
+ (cel
+ ((slug presentation-of-the-blessed-virgin-mary)
+ (names
+ ((en "Presentation of the Blessed Virgin Mary")
+ (pl "Ofiarowanie N. M. P.")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 18)))
+ (cel
+ ((slug prisca)
+ (names ((en "St. Prisca") (pl "\197\155w. Pryski, Dziewicy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 2)))
+ (cel
+ ((slug processus-and-martinian)
+ (names
+ ((en "SS. Processus and Martinian")
+ (pl
+ "\197\155\197\155. Procesa i Martyniana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 19)))
+ (cel
+ ((slug pudentiana-virginis)
+ (names
+ ((en "St. Pudentiana Virginis")
+ (pl "\197\155w. Pudencjany, Dziewicy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 2)))
+ (cel
+ ((slug purification-of-the-blessed-virgin-mary)
+ (names
+ ((en "Purification of the Blessed Virgin Mary")
+ (pl "Oczyszczenie N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 31)))
+ (cel
+ ((slug queenship-of-the-blessed-virgin-mary)
+ (names
+ ((en "Queenship of the Blessed Virgin Mary")
+ (pl "N. M. P. Kr\195\179lowej")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 24)))
+ (cel
+ ((slug raphael-the-archangel)
+ (names
+ ((en "St. Raphael the Archangel")
+ (pl "\197\155w. Rafa\197\130a Archanio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 31)))
+ (cel
+ ((slug raymond-nonnatus)
+ (names
+ ((en "St. Raymond Nonnatus")
+ (pl "\197\155w. Rajmunda Nonnata, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 23)))
+ (cel
+ ((slug raymond-of-pe-afort)
+ (names
+ ((en "St. Raymond of Pe\195\177afort")
+ (pl "\197\155w. Rajmunda z Pennafort, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 1)))
+ (cel
+ ((slug remigius)
+ (names
+ ((en "St. Remigius")
+ (pl "\197\155w. Remigiusza, Biskupa i Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 13)))
+ (cel
+ ((slug robert-bellarmine)
+ (names
+ ((en "St. Robert Bellarmine")
+ (pl
+ "\197\155w. Roberta Bellarmina, Biskupa, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 9)))
+ (cel
+ ((slug romanus)
+ (names
+ ((en "St. Romanus")
+ (pl "\197\155w. Romana, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 7)))
+ (cel
+ ((slug romuald)
+ (names ((en "St. Romuald") (pl "\197\155w. Romualda, Opata")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 30)))
+ (cel
+ ((slug rose-of-lima)
+ (names
+ ((en "St. Rose of Lima")
+ (pl "\197\155w. R\195\179\197\188y z Limy, Dziewicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 5)))
+ (cel
+ ((slug sabbas)
+ (names ((en "St. Sabbas") (pl "\197\155w. Saby, Opata")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 29)))
+ (cel
+ ((slug sabina)
+ (names
+ ((en "St. Sabina") (pl "\197\155w. Sabiny, M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 29)))
+ (cel
+ ((slug saturninus)
+ (names
+ ((en "St. Saturninus")
+ (pl "\197\155w. Saturnina, M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 10)))
+ (cel
+ ((slug scholastica)
+ (names ((en "St. Scholastica") (pl "\197\155w. Scholastyki")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 8)))
+ (cel
+ ((slug sergio-baccho-marcello-and-apulejo-martyrs)
+ (names
+ ((en "Ss. Sergio, Baccho, Marcello and Apulejo Martyrs")
+ (pl
+ "\197\155\197\155. Sergiusza, Bachusa, Marcelego i Apulejusza")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 10)))
+ (cel
+ ((slug seven-holy-brothers-and-sts-rufina-secunda)
+ (names
+ ((en "Seven Holy Brothers and Sts. Rufina & Secunda")
+ (pl
+ "Siedmiu Braci M\196\153czennik\195\179w oraz \197\154\197\155. Rufiny i Sekundy, Dziewic i M\196\153czennic")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 12)))
+ (cel
+ ((slug seven-holy-servite-founders)
+ (names
+ ((en "Seven Holy Servite Founders")
+ (pl
+ "Siedmiu Za\197\130o\197\188ycieli Zakonu Serwit\195\179w N. M. P., Wyznawc\195\179w")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 15)))
+ (cel
+ ((slug seven-sorrows-of-the-blessed-virgin-mary)
+ (names
+ ((en "Seven Sorrows of the Blessed Virgin Mary")
+ (pl "Siedmiu Bole\197\155ci N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 20)))
+ (cel
+ ((slug silverius)
+ (names
+ ((en "St. Silverius")
+ (pl
+ "\197\155w. Sylweriusza, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 31)))
+ (cel
+ ((slug silvester)
+ (names
+ ((en "St. Silvester")
+ (pl "\197\155w. Sylwestra I, papie\197\188a i wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 18)))
+ (cel
+ ((slug simeon)
+ (names
+ ((en "St. Simeon")
+ (pl "\197\155w. Symeona, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 7)))
+ (cel
+ ((slug stanislaus)
+ (names
+ ((en "St. Stanislaus")
+ (pl
+ "\197\155w. Stanis\197\130awa, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 26)))
+ (cel
+ ((slug stephen)
+ (names
+ ((en "St. Stephen")
+ (pl "\197\155w. Szczepana, Pierwszego M\196\153czennika")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 2)))
+ (cel
+ ((slug stephen-i-pope-and-martyr)
+ (names
+ ((en "St. Stephen I, Pope and Martyr")
+ (pl
+ "\197\155w. Stefana I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 2)))
+ (cel
+ ((slug stephen-of-hungary)
+ (names
+ ((en "St. Stephen of Hungary")
+ (pl "\197\155w. Stefana, Kr\195\179la i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 17)))
+ (cel
+ ((slug stigmata-of-st-francis)
+ (names
+ ((en "Stigmata of St. Francis")
+ (pl "Stygmat\195\179w \197\155w. Franciszka, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 30)))
+ (cel
+ ((slug sts-abdon-sennen)
+ (names
+ ((en "Sts. Abdon & Sennen")
+ (pl
+ "\197\155\197\155. Abdona i Sennena, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 3)))
+ (cel
+ ((slug sts-alexander-companions)
+ (names
+ ((en "Sts. Alexander & Companions")
+ (pl
+ "\197\155\197\155. Aleksandra i Towarzyszy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 25)))
+ (cel
+ ((slug sts-chrysanthus-daria)
+ (names
+ ((en "Sts. Chrysanthus & Daria")
+ (pl
+ "\197\155\197\155. Chryzanta i Darii, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 26)))
+ (cel
+ ((slug sts-cletus-marcellinus)
+ (names
+ ((en "Sts. Cletus & Marcellinus")
+ (pl
+ "\197\155\197\155. Kleta i Marcelina, Papie\197\188y i M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 16)))
+ (cel
+ ((slug sts-cornelius-cyprian)
+ (names
+ ((en "Sts. Cornelius & Cyprian")
+ (pl
+ "\197\155w. Korneliusza, Papie\197\188a i Cypriana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 27)))
+ (cel
+ ((slug sts-cosmas-damian)
+ (names
+ ((en "Sts. Cosmas & Damian")
+ (pl "\197\155w. Kosmy i Damiana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 26)))
+ (cel
+ ((slug sts-cyprian-justina)
+ (names
+ ((en "Sts. Cyprian & Justina")
+ (pl
+ "\197\155\197\155. Cypriana i Justyny, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 7)))
+ (cel
+ ((slug sts-cyril-methodius)
+ (names
+ ((en "Sts. Cyril & Methodius")
+ (pl
+ "\197\155\197\155. Cyryla i Metodego, Biskup\195\179w i Wyznawc\195\179w")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 16)))
+ (cel
+ ((slug sts-euphemia-lucy-and-geminianus)
+ (names
+ ((en "Sts. Euphemia, Lucy and Geminianus")
+ (pl
+ "\197\155\197\155. Eufemii, \197\129ucji i Geminiana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 20)))
+ (cel
+ ((slug sts-eustace-companions)
+ (names
+ ((en "Sts. Eustace & Companions")
+ (pl
+ "\197\155w. Eustachego i Towarzyszy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 20)))
+ (cel
+ ((slug sts-fabian-sebastian)
+ (names
+ ((en "Sts. Fabian & Sebastian")
+ (pl
+ "\197\155\197\155. Fabiana, Papie\197\188a i Sebastiana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 15)))
+ (cel
+ ((slug sts-faustinus-jovita)
+ (names
+ ((en "Sts. Faustinus & Jovita")
+ (pl
+ "\197\155\197\155. Faustyna i Jowity, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 6)))
+ (cel
+ ((slug sts-felicitas-perpetua)
+ (names
+ ((en "Sts. Felicitas & Perpetua")
+ (pl
+ "\197\155\197\155. Perpetui i Felicyty, M\196\153czennic")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 30)))
+ (cel
+ ((slug sts-felix-and-adauctus)
+ (names
+ ((en "Sts. Felix and Adauctus")
+ (pl
+ "\197\155\197\155. Feliksa i Adaukta, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 19)))
+ (cel
+ ((slug sts-gervasius-and-protasius)
+ (names
+ ((en "Sts. Gervasius and Protasius")
+ (pl
+ "\197\155\197\155. Gerwazego i Protazego, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 13)))
+ (cel
+ ((slug sts-hippolytus-cassian)
+ (names
+ ((en "Sts. Hippolytus & Cassian")
+ (pl
+ "\197\155\197\155. Hipolita i Kasjana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 26)))
+ (cel
+ ((slug sts-john-paul)
+ (names
+ ((en "Sts. John & Paul")
+ (pl
+ "\197\155\197\155. Jana i Paw\197\130a, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 2)))
+ (cel
+ ((slug sts-marcellinus-peter-erasmus)
+ (names
+ ((en "Sts. Marcellinus, Peter, & Erasmus")
+ (pl
+ "\197\155\197\155. Marcelina i Piotra, M\196\153czennik\195\179w oraz Erazma, Biskupa")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 19)))
+ (cel
+ ((slug sts-marius-martha-audifax-abachum)
+ (names
+ ((en "Sts. Marius, Martha, Audifax & Abachum")
+ (pl
+ "\197\155\197\155. Mariusza, Marty, Audifaksa i Abachuma")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 28)))
+ (cel
+ ((slug sts-nazarius-celsus-st-victor-i-st-innocent-i)
+ (names
+ ((en "Sts. Nazarius & Celsus, St. Victor I & St. Innocent I")
+ (pl
+ "\197\155\197\155. Nazariusza i Celsa, M\196\153czennik\195\179w, Wiktora I, Papie\197\188a i M\196\153czennika, oraz Innocentego I, Papie\197\188a i Wyznawcy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 12)))
+ (cel
+ ((slug sts-nereus-achilleus-domitilla-pancras)
+ (names
+ ((en "Sts. Nereus, Achilleus, Domitilla, & Pancras")
+ (pl
+ "\197\154wi\196\153tych Nereusza, Achillesa, Domicylli i Pankracego, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 29)))
+ (cel
+ ((slug sts-peter-paul)
+ (names
+ ((en "Sts. Peter & Paul")
+ (pl
+ "\197\154wi\196\153tych Piotra i Paw\197\130a, Aposto\197\130\195\179w")))
+ (rank Class1) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 11)))
+ (cel
+ ((slug sts-philip-james)
+ (names
+ ((en "Sts. Philip & James")
+ (pl
+ "\197\154wi\196\153tych Filipa i Jakuba, Aposto\197\130\195\179w")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 9)))
+ (cel
+ ((slug sts-primus-felicianus)
+ (names
+ ((en "Sts. Primus & Felicianus")
+ (pl
+ "\197\155\197\155. Pryma i Felicjana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 11)))
+ (cel
+ ((slug sts-protus-hyacinth)
+ (names
+ ((en "Sts. Protus & Hyacinth")
+ (pl "\197\155w. Prota i Jacka, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 28)))
+ (cel
+ ((slug sts-simon-jude)
+ (names
+ ((en "Sts. Simon & Jude")
+ (pl
+ "\197\154wi\196\153tych Szymona i Judy Tadeusza, Aposto\197\130\195\179w")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 22)))
+ (cel
+ ((slug sts-soter-caius)
+ (names
+ ((en "Sts. Soter & Caius")
+ (pl
+ "\197\155\197\155. Sotera i Kajusa, Papie\197\188y i M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 11)))
+ (cel
+ ((slug sts-tiburtius-susanna)
+ (names
+ ((en "Sts. Tiburtius & Susanna")
+ (pl
+ "\197\155\197\155. Tyburcjusza i Zuzanny, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 14)))
+ (cel
+ ((slug sts-tiburtius-valerian-et-maximus-martyrs)
+ (names
+ ((en "Sts. Tiburtius, Valerian et Maximus, Martyrs")
+ (pl
+ "\197\155\197\155. Tyburcjusza, Waleriana i Maksyma, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 22)))
+ (cel
+ ((slug sts-timothy-hippolytus-and-symphorianus-martyrs)
+ (names
+ ((en "Sts. Timothy, Hippolytus and Symphorianus, Martyrs")
+ (pl
+ "\197\155\197\155. Tymoteusza, Hipolita i Symforiana, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 10)))
+ (cel
+ ((slug sts-tryphonis-respicii-et-nymphae)
+ (names
+ ((en "Sts. Tryphonis, Respicii, et Nymphae")
+ (pl
+ "\197\155\197\155. Tryfona, Respicjusza i Nimfy, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 22)))
+ (cel
+ ((slug sts-vincent-anastasius)
+ (names
+ ((en "Sts. Vincent & Anastasius")
+ (pl
+ "\197\155\197\155. Wincentego i Anastazego, M\196\153czennik\195\179w")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 4)))
+ (cel
+ ((slug sts-vitalis-and-agricola-martyrs)
+ (names
+ ((en "Sts. Vitalis and Agricola, Martyrs")
+ (pl
+ "\197\155\197\155. Witalisa i Agrykoli, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 11) (day 26)))
+ (cel
+ ((slug sylvester)
+ (names ((en "St. Sylvester") (pl "\197\155w. Sylwestra, Opata")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 18)))
+ (cel
+ ((slug symphorosa-and-sons)
+ (names
+ ((en "Ss. Symphorosa and sons")
+ (pl "\197\155\197\155. Symforozy i Siedmiu Jej Syn\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 5)))
+ (cel
+ ((slug telesphorus-pope-and-martyr)
+ (names
+ ((en "St. Telesphorus Pope and Martyr")
+ (pl
+ "\197\155w. Telesfora, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 15)))
+ (cel
+ ((slug teresa-of-avila)
+ (names
+ ((en "St. Teresa of Avila")
+ (pl "\197\155w. Teresy z Avili, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 23)))
+ (cel
+ ((slug thecla)
+ (names
+ ((en "St. Thecla")
+ (pl "\197\155w. Tekli, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 3)))
+ (cel
+ ((slug theresa-of-the-infant-jesus)
+ (names
+ ((en "St. Theresa of the Infant Jesus")
+ (pl "\197\155w. Teresy od Dzieci\196\133tka Jezus, Dziewicy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 21)))
+ (cel
+ ((slug thomas)
+ (names
+ ((en "St. Thomas") (pl "\197\155w. Tomasza, Aposto\197\130a")))
+ (rank Class2) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 3) (day 7)))
+ (cel
+ ((slug thomas-aquinas)
+ (names
+ ((en "St. Thomas Aquinas")
+ (pl
+ "\197\155w. Tomasza z Akwinu, Wyznawcy i Doktora Ko\197\155cio\197\130a")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 29)))
+ (cel
+ ((slug thomas-becket)
+ (names
+ ((en "St. Thomas Becket")
+ (pl
+ "\197\155w. Tomasza z Canterbury, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 22)))
+ (cel
+ ((slug thomas-of-villanova)
+ (names
+ ((en "St. Thomas of Villanova")
+ (pl "\197\155w. Tomasza z Villanueva, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 1) (day 24)))
+ (cel
+ ((slug timothy)
+ (names
+ ((en "St. Timothy")
+ (pl "\197\155w. Tymoteusza, Biskupa i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 6)))
+ (cel
+ ((slug titus)
+ (names
+ ((en "St. Titus") (pl "\197\155w. Tytusa, Biskupa i Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 6)))
+ (cel
+ ((slug transfiguration-of-our-lord)
+ (names
+ ((en "Transfiguration of Our Lord")
+ (pl "Przemienienie Pa\197\132skie")))
+ (rank Class2) (status Feast) (colour White) (subject Lord)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 1)))
+ (cel
+ ((slug twelve-holy-brothers-martyrs)
+ (names
+ ((en "Twelve Holy Brothers, Martyrs")
+ (pl
+ "\197\155\197\155. Dwunastu Braci, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 16)))
+ (cel
+ ((slug ubaldus)
+ (names
+ ((en "St. Ubaldus")
+ (pl "\197\155w. Ubalda, Biskupa i Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 25)))
+ (cel
+ ((slug urban-pope-and-martyr)
+ (names
+ ((en "St. Urban, Pope and Martyr")
+ (pl
+ "\197\155w. Urbana I, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 10) (day 21)))
+ (cel
+ ((slug ursula-and-companions)
+ (names
+ ((en "St. Ursula and Companions")
+ (pl
+ "\197\155\197\155. Urszuli i Towarzyszek, Dziewic i M\196\153czennic")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 2) (day 14)))
+ (cel
+ ((slug valentine)
+ (names
+ ((en "St. Valentine")
+ (pl
+ "\197\155w. Walentego, Kap\197\130ana i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 5) (day 18)))
+ (cel
+ ((slug venantius)
+ (names
+ ((en "St. Venantius")
+ (pl "\197\155w. Wenancjusza, M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 24)))
+ (cel
+ ((slug vigil-of-christmas)
+ (names
+ ((en "Vigil of Christmas")
+ (pl "Wigilia Bo\197\188ego Narodzenia")))
+ (rank Class1) (status Feast) (colour Violet) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 9)))
+ (cel
+ ((slug vigil-of-st-lawrence)
+ (names
+ ((en "Vigil of St. Lawrence")
+ (pl "Wigilia \197\155w. Wawrzy\197\132ca, M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 28)))
+ (cel
+ ((slug vigil-of-sts-peter-paul)
+ (names
+ ((en "Vigil of Sts. Peter & Paul")
+ (pl
+ "Wigilia \197\155\197\155. Aposto\197\130\195\179w Piotra i Paw\197\130a")))
+ (rank Class2) (status Feast) (colour Violet) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 14)))
+ (cel
+ ((slug vigil-of-the-assumption)
+ (names
+ ((en "Vigil of the Assumption")
+ (pl "Wigilia Wniebowzi\196\153cia N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 23)))
+ (cel
+ ((slug vigil-of-the-nativity-of-st-john-the-baptist)
+ (names
+ ((en "Vigil of the Nativity of St. John the Baptist")
+ (pl "Wigilia Narodzenia \197\154w. Jana Chrzciciela")))
+ (rank Class2) (status Feast) (colour Violet) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 19)))
+ (cel
+ ((slug vincent-de-paul)
+ (names
+ ((en "St. Vincent de Paul")
+ (pl "\197\155w. Wincentego a Paulo, Wyznawcy")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 4) (day 5)))
+ (cel
+ ((slug vincent-ferrer)
+ (names
+ ((en "St. Vincent Ferrer")
+ (pl "\197\155w. Wincentego Fereriusza, Wyznawcy")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 7) (day 2)))
+ (cel
+ ((slug visitation-of-the-blessed-virgin-mary)
+ (names
+ ((en "Visitation of the Blessed Virgin Mary")
+ (pl "Nawiedzenia N. M. P.")))
+ (rank Class2) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 15)))
+ (cel
+ ((slug vitus)
+ (names
+ ((en "St. Vitus")
+ (pl
+ "\197\155\197\155. Wita, Modesta i Krescencji, M\196\153czennik\195\179w")))
+ (rank Class3) (status Commemoration_only) (colour White)
+ (subject Saint) (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 12) (day 2)))
+ (cel
+ ((slug vivian)
+ (names
+ ((en "St. Vivian")
+ (pl "\197\155w. Bibiany, Dziewicy i M\196\153czennicy")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 9) (day 28)))
+ (cel
+ ((slug wenceslaus)
+ (names
+ ((en "St. Wenceslaus")
+ (pl
+ "\197\155w. Wac\197\130awa, Ksi\196\153cia i M\196\153czennika")))
+ (rank Class3) (status Feast) (colour Red) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 6) (day 25)))
+ (cel
+ ((slug william)
+ (names ((en "St. William") (pl "\197\155w. Wilhelma, Opata")))
+ (rank Class3) (status Feast) (colour White) (subject Saint)
+ (citations ()) (layer ef-universal))))
+ ((date (Fixed (month 8) (day 26)))
+ (cel
+ ((slug zephyrinus)
+ (names
+ ((en "St. Zephyrinus")
+ (pl
+ "\197\155w. Zefiryna, Papie\197\188a i M\196\153czennika")))
+ (rank Class3) (status Commemoration_only) (colour Red)
+ (subject Saint) (citations ()) (layer ef-universal)))))))
diff --git a/test/dune b/test/dune
index 07a4aae..bb8e474 100644
--- a/test/dune
+++ b/test/dune
@@ -1,6 +1,7 @@
(test
(name test_colitur)
(libraries colitur_kernel rite_ef alcotest qcheck qcheck-alcotest sexplib)
+ (deps ../data/ef/sanctoral.sexp)
(preprocess
(pps ppx_sexp_conv)))
diff --git a/test/test_colitur.ml b/test/test_colitur.ml
index a9cacd2..ba82fcd 100644
--- a/test/test_colitur.ml
+++ b/test/test_colitur.ml
@@ -3,4 +3,4 @@ let () =
Alcotest.run "colitur"
[ Test_date.suite; Test_computus.suite; Test_colour.suite; Test_slug.suite; Test_names.suite;
Test_overlay.suite; Test_temporal_ef.suite; Test_validate.suite; Test_precedence.suite;
- Test_calendar.suite; Test_precedence_ef.suite ]
+ Test_calendar.suite; Test_precedence_ef.suite; Test_sanctoral_ef.suite ]
diff --git a/test/test_sanctoral_ef.ml b/test/test_sanctoral_ef.ml
new file mode 100644
index 0000000..8fb178f
--- /dev/null
+++ b/test/test_sanctoral_ef.ml
@@ -0,0 +1,115 @@
+(* Loads the bootstrapped data/ef/sanctoral.sexp (Task 10, tools/
+ bootstrap_sanctoral.ml) through Layer.load and checks it against counts
+ independently derived from the source INI itself (grep -c '^\[',
+ grep '^rank' | sort | uniq -c -- see the task report), plus two named
+ spot-checks against the INI's own text so a passing count can't hide the
+ wrong 322 entries having been converted (task brief's "live hazard"). *)
+
+module L = Colitur_kernel.Layer
+module Cel = Colitur_kernel.Celebration
+module S = Colitur_kernel.Slug
+module DS = Colitur_kernel.Date_spec
+module Col = Colitur_kernel.Colour
+module Sub = Colitur_kernel.Subject
+module Lang = Colitur_kernel.Lang
+module Names = Colitur_kernel.Names
+module V = Rite_ef.Vocab_ef
+module PE = Rite_ef.Precedence_ef
+
+(* Relative to this test's own build directory (_build/default/test/); made
+ available there because test/dune declares it as a dep of the test
+ stanza. *)
+let path = "../data/ef/sanctoral.sexp"
+
+let load () =
+ match L.load V.rank_of_sexp path with
+ | Ok l -> l
+ | Error e -> Alcotest.failf "%s: failed to load: %s" path e
+
+let mkdate m d = match DS.fixed ~month:m ~day:d with Ok t -> t | Error e -> failwith e
+
+let test_load_and_counts () =
+ let l = load () in
+ Alcotest.(check int) "322 entries" 322 (List.length l.L.entries);
+ let commemoration_only =
+ List.filter (fun e -> e.L.cel.Cel.status = Cel.Commemoration_only) l.L.entries
+ in
+ Alcotest.(check int) "114 Commemoration_only" 114 (List.length commemoration_only);
+ let class1 = List.filter (fun e -> e.L.cel.Cel.rank = V.Class1) l.L.entries in
+ Alcotest.(check int) "12 Class1" 12 (List.length class1);
+ let temporal_subjects = List.filter (fun e -> e.L.cel.Cel.subject = Sub.Temporal) l.L.entries in
+ Alcotest.(check int) "no Subject.Temporal" 0 (List.length temporal_subjects);
+ (* Every slug already had to pass Slug.of_string during load (Slug.t_of_sexp
+ is the validating parser -- an invalid slug would have failed the whole
+ Layer.load with Error, never landing here silently). Re-checking is
+ still worth doing explicitly, rather than resting entirely on "load
+ didn't error", so a future loader change that weakens that guarantee
+ has a test that would catch it directly. *)
+ List.iter
+ (fun e ->
+ match S.of_string (S.to_string e.L.cel.Cel.slug) with
+ | Ok _ -> ()
+ | Error msg -> Alcotest.failf "slug %s failed re-validation: %s" (S.to_string e.L.cel.Cel.slug) msg)
+ l.L.entries;
+ (* All 322 dates are Date_spec.Fixed month/day pairs constructed via
+ Date_spec.fixed, which already rejects an out-of-range day for that
+ month against the LEAP-year maximum -- so every one must resolve in a
+ leap year (2028: divisible by 4, not by 100). *)
+ List.iter
+ (fun e ->
+ match DS.resolve e.L.date ~year:2028 with
+ | Some _ -> ()
+ | None -> Alcotest.failf "slug %s: date does not resolve in leap year 2028" (S.to_string e.L.cel.Cel.slug))
+ l.L.entries
+
+let find l slug =
+ match L.find l (S.of_string_exn slug) with
+ | Some e -> e
+ | None -> Alcotest.failf "slug %s not found in %s" slug path
+
+(* Named spot-check 1: one of the 6 entries carrying an explicit `class`
+ field in the source (INI lines: date=02-02, rank=class-2, colour=white,
+ class=lord, name.en/name.pl as below). Exercises decision 1's non-default
+ branch -- an entry where subject must NOT fall back to Saint. *)
+let test_spot_check_explicit_class () =
+ let l = load () in
+ let e = find l "purification-of-the-blessed-virgin-mary" in
+ let cel = e.L.cel in
+ Alcotest.(check bool) "date 02-02" true (e.L.date = mkdate 2 2);
+ Alcotest.(check bool) "rank Class2" true (cel.Cel.rank = V.Class2);
+ Alcotest.(check bool) "status Feast" true (cel.Cel.status = Cel.Feast);
+ Alcotest.(check bool) "colour White" true (cel.Cel.colour = Col.White);
+ Alcotest.(check bool) "subject Lord (from class = lord)" true (cel.Cel.subject = Sub.Lord);
+ Alcotest.(check (option string)) "name.en" (Some "Purification of the Blessed Virgin Mary")
+ (Names.find cel.Cel.names (Lang.of_string_exn "en"));
+ Alcotest.(check (option string)) "name.pl" (Some "Oczyszczenie N. M. P.")
+ (Names.find cel.Cel.names (Lang.of_string_exn "pl"));
+ Alcotest.(check string) "layer tagged universal (Precedence_ef.universal_layer)" PE.universal_layer
+ cel.Cel.layer
+
+(* Named spot-check 2: a `rank = commemoration` entry (INI lines: date=01-14,
+ rank=commemoration, colour=white, no class, name.en/name.pl as below).
+ Exercises decision 2 (Commemoration_only + inferred Class3) AND decision
+ 1's default branch (no class field -> Saint) on the SAME entry. *)
+let test_spot_check_commemoration () =
+ let l = load () in
+ let e = find l "maur-abbot" in
+ let cel = e.L.cel in
+ Alcotest.(check bool) "date 01-15" true (e.L.date = mkdate 1 15);
+ Alcotest.(check bool) "rank inferred Class3" true (cel.Cel.rank = V.Class3);
+ Alcotest.(check bool) "status Commemoration_only" true (cel.Cel.status = Cel.Commemoration_only);
+ Alcotest.(check bool) "colour White" true (cel.Cel.colour = Col.White);
+ Alcotest.(check bool) "subject defaults to Saint (no class field)" true (cel.Cel.subject = Sub.Saint);
+ Alcotest.(check (option string)) "name.en" (Some "St. Maur, Abbot")
+ (Names.find cel.Cel.names (Lang.of_string_exn "en"));
+ Alcotest.(check (option string)) "name.pl" (Some "św. Maura, Opata")
+ (Names.find cel.Cel.names (Lang.of_string_exn "pl"))
+
+let suite =
+ ( "Sanctoral_ef (data/ef/sanctoral.sexp)",
+ [ Alcotest.test_case "load succeeds and counts match the source INI" `Quick
+ test_load_and_counts;
+ Alcotest.test_case "spot-check: explicit class = lord (Purification of the BVM)" `Quick
+ test_spot_check_explicit_class;
+ Alcotest.test_case "spot-check: rank = commemoration (St. Maur, Abbot)" `Quick
+ test_spot_check_commemoration ] )
diff --git a/tools/bootstrap_sanctoral.ml b/tools/bootstrap_sanctoral.ml
new file mode 100644
index 0000000..19adc0b
--- /dev/null
+++ b/tools/bootstrap_sanctoral.ml
@@ -0,0 +1,235 @@
+(* Bootstraps data/ef/sanctoral.sexp from lectio's tridentine-calendar.ini
+ (spec §4, docs/superpowers/specs/2026-08-11-colitur-plan3-resolution-
+ engine-design.md). A documented one-shot under tools/, not part of the
+ kernel: reading someone else's INI needs a reader, which does not
+ contradict "no hand-written parser" -- that rule is about colitur's own
+ format (S-expressions, parsed by sexplib/ppx_sexp_conv, never by hand).
+
+ Every field is built through the kernel's own validating constructors
+ (Slug.of_string, Colour.of_string, Vocab_ef.rank_of_string, ...), so the
+ emitted sexp is valid by construction: a bad slug or an unknown rank fails
+ the bootstrap here, not a later Layer.load.
+
+ Usage: dune exec tools/bootstrap_sanctoral.exe -- [source.ini] [dest.sexp]
+ Defaults assume the sibling checkout layout documented in CLAUDE.md
+ (~/git/projects/lectio next to ~/git/projects/colitur) and a run from the
+ colitur repo root. *)
+
+module Cel = Colitur_kernel.Celebration
+module Slug = Colitur_kernel.Slug
+module Colour = Colitur_kernel.Colour
+module Subject = Colitur_kernel.Subject
+module Names = Colitur_kernel.Names
+module Lang = Colitur_kernel.Lang
+module DS = Colitur_kernel.Date_spec
+module Layer = Colitur_kernel.Layer
+module V = Rite_ef.Vocab_ef
+module PE = Rite_ef.Precedence_ef
+
+let default_source = "../lectio/internal/caldata/tridentine-calendar.ini"
+let default_dest = "data/ef/sanctoral.sexp"
+
+(* Fails loudly and stops, per the brief: a source shape the mapping does not
+ cover must never fall back to a silent default. *)
+let die fmt = Printf.ksprintf (fun s -> prerr_endline ("bootstrap_sanctoral: " ^ s); exit 1) fmt
+
+(* --- A minimal INI reader for lectio's format only ------------------------
+
+ Not a general INI library: comment lines start with ';', section headers
+ are "[name]", and every other non-blank line is "key = value" with the
+ value running to end of line (verified against the actual source file --
+ no embedded '=', quotes, or trailing whitespace in any value; see the
+ task report). This is a reader for someone else's format, not colitur's
+ own -- see the module comment above. *)
+
+type section = { name : string; fields : (string * string) list }
+
+let parse_ini path =
+ if not (Sys.file_exists path) then die "source file not found: %s" path;
+ let ic = open_in path in
+ Fun.protect
+ ~finally:(fun () -> close_in_noerr ic)
+ (fun () ->
+ let sections = ref [] in
+ let cur_name = ref None in
+ let cur_fields = ref [] in
+ let flush () =
+ match !cur_name with
+ | Some n -> sections := { name = n; fields = List.rev !cur_fields } :: !sections
+ | None -> ()
+ in
+ (try
+ while true do
+ let raw = input_line ic in
+ let line = String.trim raw in
+ if line = "" || line.[0] = ';' then ()
+ else if line.[0] = '[' && line.[String.length line - 1] = ']' then begin
+ flush ();
+ cur_name := Some (String.sub line 1 (String.length line - 2));
+ cur_fields := []
+ end
+ else
+ match String.index_opt line '=' with
+ | None -> die "%s: unparseable line (no '='): %S" path line
+ | Some i ->
+ let key = String.trim (String.sub line 0 i) in
+ let value = String.trim (String.sub line (i + 1) (String.length line - i - 1)) in
+ cur_fields := (key, value) :: !cur_fields
+ done
+ with End_of_file -> ());
+ flush ();
+ List.rev !sections)
+
+(* --- Field-level mapping (spec §4.2) --------------------------------------- *)
+
+let field sec key =
+ match List.assoc_opt key sec.fields with
+ | Some v -> v
+ | None -> die "section [%s]: missing required field %S" sec.name key
+
+let field_opt sec key = List.assoc_opt key sec.fields
+
+let parse_slug sec =
+ match Slug.of_string sec.name with
+ | Ok s -> s
+ | Error e -> die "section [%s]: invalid slug: %s" sec.name e
+
+(* All 322 entries use plain MM-DD (spec §4.1); anything else is a date form
+ the mapping does not cover. *)
+let parse_date sec =
+ let raw = field sec "date" in
+ match String.split_on_char '-' raw with
+ | [ mm; dd ] when String.length mm = 2 && String.length dd = 2 -> (
+ match (int_of_string_opt mm, int_of_string_opt dd) with
+ | Some month, Some day -> (
+ match DS.fixed ~month ~day with
+ | Ok d -> d
+ | Error e -> die "section [%s]: date %S: %s" sec.name raw e)
+ | _ -> die "section [%s]: date %S is not numeric MM-DD" sec.name raw)
+ | _ -> die "section [%s]: unsupported date form %S -- only MM-DD is mapped" sec.name raw
+
+(* rank = class-1..4 -> (Class1..4, Feast); rank = commemoration ->
+ (Class3, Commemoration_only) -- decision 2 in the task brief and spec
+ §4.3: the source gives no rank for a bare commemoration, but RG 111 orders
+ admitted commemorations by dignity, so one is needed. Class3 is a
+ documented INFERENCE (it is what the 1960 reform reduced most simple
+ feasts from), not an RG citation -- see docs/research/rules-register.md
+ §6 and Celebration.status's own doc comment for why status, not rank,
+ carries "can this ever be observed". *)
+let parse_rank_status sec =
+ let raw = field sec "rank" in
+ if raw = "commemoration" then (V.Class3, Cel.Commemoration_only)
+ else
+ match V.rank_of_string raw with
+ | Some r -> (r, Cel.Feast)
+ | None -> die "section [%s]: unknown rank %S" sec.name raw
+
+(* Sanctoral colours are white, red, violet, black only (spec §4.1) -- green
+ and rose belong to the temporal cycle. Colour.of_string's domain is wider
+ (it also names green/rose), so this rejects them explicitly rather than
+ passing through a colour that would be a modelling error if it ever
+ appeared in sanctoral data. *)
+let parse_colour sec =
+ let raw = field sec "colour" in
+ match Colour.of_string raw with
+ | Some (Colour.White | Colour.Red | Colour.Violet | Colour.Black as c) -> c
+ | Some (Colour.Green | Colour.Rose) ->
+ die "section [%s]: colour %S is temporal-only, unexpected in sanctoral data" sec.name raw
+ | None -> die "section [%s]: unknown colour %S" sec.name raw
+
+(* class = lord|bvm|saint -> Subject.t; absent -> Subject.Saint (decision 1:
+ Celebration.make's kernel default is Subject.Temporal, correct for the
+ temporal cycle and wrong for every sanctoral entry -- overridden here,
+ never left to the default). Only 6 of 322 entries carry an explicit
+ class in the source, and all 6 are "lord" as of this bootstrap; bvm/saint
+ are mapped in case a future lectio update adds one, but "temporal" is
+ rejected -- no sanctoral entry is the temporal cycle's own office. *)
+let parse_subject sec =
+ match field_opt sec "class" with
+ | None -> Subject.Saint
+ | Some raw -> (
+ match Subject.of_string raw with
+ | Some Subject.Temporal ->
+ die "section [%s]: class %S maps to Subject.Temporal, invalid for sanctoral data" sec.name
+ raw
+ | Some s -> s
+ | None -> die "section [%s]: unknown class %S" sec.name raw)
+
+let parse_names sec =
+ let en = field sec "name.en" in
+ let pl = field sec "name.pl" in
+ Names.of_list [ (Lang.of_string_exn "en", en); (Lang.of_string_exn "pl", pl) ]
+
+(* reading.* is deliberately ignored -- Plan 4's lectionary bootstrap. *)
+let convert_entry sec : V.rank Layer.entry =
+ let slug = parse_slug sec in
+ let date = parse_date sec in
+ let rank, status = parse_rank_status sec in
+ let colour = parse_colour sec in
+ let subject = parse_subject sec in
+ let names = parse_names sec in
+ (* PE.universal_layer, NOT lectio's own "tridentine" layer id and NOT the
+ Celebration.make default "temporal": Precedence_ef.band reads
+ Celebration.t.layer to classify RG 91 entries 11/16/24 (universal) vs
+ 12/19/23 (proper) vs 13/20 (indult, PE.indult_prefix). Every entry here
+ is the General Roman Calendar's own universal sanctoral, so all 322 get
+ the same provenance tag. *)
+ { Layer.date; cel = Cel.make ~slug ~names ~rank ~status ~colour ~subject ~citations:[]
+ ~layer:PE.universal_layer () }
+
+(* --- Provenance (spec §4.5) ------------------------------------------------ *)
+
+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
+
+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
+
+(* --- Main ------------------------------------------------------------------ *)
+
+let () =
+ let source = if Array.length Sys.argv > 1 then Sys.argv.(1) else default_source in
+ let dest = if Array.length Sys.argv > 2 then Sys.argv.(2) else default_dest in
+ let sections = parse_ini source in
+ if not (List.exists (fun s -> s.name = "layer") sections) then
+ die "%s: missing the [layer] header section" source;
+ let entry_sections = List.filter (fun s -> s.name <> "layer") sections in
+ let entries = List.map convert_entry entry_sections in
+ let layer = Layer.of_entries ~id:PE.universal_layer ~name:"EF (1962) universal sanctoral" entries in
+ let sha = sha256_of_file source in
+ let feasts = List.length (List.filter (fun e -> e.Layer.cel.Cel.status = Cel.Feast) entries) in
+ let comms = List.length entries - feasts in
+ let header =
+ Printf.sprintf
+ {|; data/ef/sanctoral.sexp -- EF (1962) universal sanctoral (General Roman
+; Calendar), bootstrapped from lectio (sibling project; see CLAUDE.md).
+; Generator: tools/bootstrap_sanctoral.ml -- do not hand-edit; re-run the
+; generator against a newer lectio and commit the diff instead.
+;
+; Source: %s
+; SHA-256: %s
+; Converted (UTC): %s
+; %d entries (%d feast, %d commemoration-only). Regenerate with:
+; eval $(opam env) && dune exec tools/bootstrap_sanctoral.exe -- %s %s
+|}
+ source sha (today ()) (List.length entries) feasts comms source dest
+ in
+ let body = Sexplib.Sexp.to_string_hum ~indent:2 (Layer.sexp_of_t V.sexp_of_rank layer) 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 "bootstrap_sanctoral: wrote %d entries (%d feast, %d commemoration-only) to %s\n"
+ (List.length entries) feasts comms dest
diff --git a/tools/dune b/tools/dune
new file mode 100644
index 0000000..d53cd01
--- /dev/null
+++ b/tools/dune
@@ -0,0 +1,10 @@
+; A documented one-shot, not part of the build's normal product (spec §4.5):
+; converts lectio's tridentine-calendar.ini into data/ef/sanctoral.sexp. Run
+; via `dune exec tools/bootstrap_sanctoral.exe -- <source.ini> <dest.sexp>`.
+; `unix` is the OCaml distribution's bundled library (already in the switch,
+; not a new opam dependency) -- used only here, never by the kernel, to shell
+; out to `sha256sum` for the provenance header; the kernel itself never reads
+; the environment or a clock.
+(executable
+ (name bootstrap_sanctoral)
+ (libraries colitur_kernel rite_ef unix sexplib))