# SPDX-License-Identifier: MIT
# Holiday file for United States
# Derived from the Python holidays project at
# https://github.com/vacanza/holidays
#
# See important caveats in the README file in this directory.
#
# Note: This file consists only of the country-wide
# holidays for United States.
#
# For region-specific holidays, you need to include
# one of the regional *.rem files in the directory
# [$SysInclude]/holidays/us/

OMIT 1 January MSG %"New Year's Day%" %! %b.
REM 2 January ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"New Year's Day (observed)%" %! %b.
REM Third Monday in January ADDOMIT SCANFROM -28 MSG %"Martin Luther King Jr. Day%" %! %b.
REM Third Monday in February ADDOMIT SCANFROM -28 MSG %"Washington's Birthday%" %! %b.
REM Last Monday in May ADDOMIT SCANFROM -28 MSG %"Memorial Day%" %! %b.
REM 18 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 6] MSG %"Juneteenth National Independence Day (observed)%" %! %b.
OMIT 19 June MSG %"Juneteenth National Independence Day%" %! %b.
REM 20 June ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Juneteenth National Independence Day (observed)%" %! %b.
REM 3 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 6] MSG %"Independence Day (observed)%" %! %b.
OMIT 4 July MSG %"Independence Day%" %! %b.
REM 5 July ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Independence Day (observed)%" %! %b.
REM First Monday in September ADDOMIT SCANFROM -28 MSG %"Labor Day%" %! %b.
REM 10 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 6] MSG %"Veterans Day (observed)%" %! %b.
OMIT 11 November MSG %"Veterans Day%" %! %b.
REM 12 November ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Veterans Day (observed)%" %! %b.
REM Fourth Thursday in November ADDOMIT SCANFROM -28 MSG %"Thanksgiving%" %! %b.
REM 24 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 6] MSG %"Christmas Day (observed)%" %! %b.
OMIT 25 December MSG %"Christmas Day%" %! %b.
REM 26 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T-1) == 0] MSG %"Christmas Day (observed)%" %! %b.
REM 31 December ADDOMIT SCANFROM -28 SATISFY [wkdaynum($T+1) == 6] MSG %"New Year's Day (observed)%" %! %b.

# Optional holidays
REM 2 February MSG %"Groundhog Day%" %! %b.
REM 14 February MSG %"Valentine's Day%" %! %b.
REM 17 March MSG %"Saint Patrick's Day%" %! %b.
REM 31 October MSG %"Halloween%" %! %b.
REM Tuesday 2 November SCANFROM -28 MSG %"Election Day%" %! %b.
