
    !gY                         d dl mZmZ d dlmZmZmZ d dlmZm	Z	m
Z
mZmZmZ  G d deeee      Z G d de      Z G d d	e      Z G d
 d      Zy)    )SEPDEC)ChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseTUE_TO_PREV_MONWED_THU_TO_NEXT_FRISAT_SUN_TO_NEXT_MONSUN_TO_NEXT_MONSUN_TO_NEXT_TUEc                   4     e Zd ZdZdZdZdZ fdZd Z xZ	S )BahamasaV  
    References:
      - https://en.wikipedia.org/wiki/Public_holidays_in_the_Bahamas
      - https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/1938/1938-0015/PublicHolidaysAct_1.pdf
      - https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/2013/2013-0040/MajorityRulePublicHolidayAct2013_1.pdf
      - https://laws.bahamas.gov.bs/cms/images/LEGISLATION/PRINCIPAL/2013/2013-0009/RandolFawkesLabourDayAct2013_1.pdf
      - http://www.tribune242.com/news/2013/oct/12/national-heroes-day-formally-established/
      - https://eleutheranews.com/?p=3594
    Checked With:
      - https://www.bahamashclondon.net/consular-information/public-holidays/
      - https://bisxbahamas.com/wp-content/uploads/2020/12/Trading-Calendar-2021.pdf
      - https://publicholidays.la/the-bahamas/2022-dates/  # Official source no longer accessible
    BSz%s (observed)i  c                     t        j                  |        t        j                  |        t        j                  | t               |j                  dt               t        |   |i | y )Nobserved_rule)r   __init__r   r   BahamasStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      W/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/bahamas.pyr   zBahamas.__init__-   sS    ""4(&&t,&;</+>?$)&)    c                 6   | j                  | j                  d      | j                  dk\  rt        nt        t
        z   t        z          | j                  dk\  r | j                  | j                  d             | j                  d       | j                  d       | j                  d       | j                  | j                  d	k\  rd
nd       | j                  | j                  d             | j                  d       | j                  d	k\  r| j                  d       n4| j                  | j                  d      t        t
        z   t        z          | j                  | j!                  d      t"               | j                  | j%                  d             y )NNew Year's Dayi  )rulei  zMajority Rule DayzGood FridayzEaster MondayzWhit Mondayi  zRandol Fawkes Labour Dayz
Labour DayzIndependence DayzEmancipation DayzNational Heroes DayzDiscovery DayzChristmas Dayz
Boxing Day)_add_observed_add_new_years_day_yearr   r   r	   r
   _add_holiday_jan_10_add_good_friday_add_easter_monday_add_whit_monday_add_holiday_1st_fri_of_jun_add_holiday_jul_10_add_holiday_1st_mon_of_aug_add_holiday_2nd_mon_of_oct_add_columbus_day_add_christmas_dayr   _add_christmas_day_two)r   s    r   _populate_public_holidaysz!Bahamas._populate_public_holidays4   sr    	##$45zzT! !$69LL	 	 	
 ::t778KLM 	m, 	0 	m, 	((*.***<&,	

 	4334FGH 	(();< ::,,-BC&&7(?:=PP   	422?C/Z 	466|DEr   )
__name__
__module____qualname____doc__countryobserved_label
start_yearr   r.   __classcell__)r   s   @r   r   r      s$     G$NJ*?Fr   r   c                       e Zd Zy)r   Nr/   r0   r1    r   r   r   r   v       r   r   c                       e Zd Zy)BHSNr8   r9   r   r   r<   r<   z   r:   r   r<   c                   H    e Zd ZdeddfiZeddfeddfeddfeddfeddfdZy)r   i     z#State Funeral of Queen Elizabeth II   r   )i  i  i  i  i  N)r/   r0   r1   r   special_public_holidaysr    special_public_holidays_observedr9   r   r   r   r   ~   sZ     	sB=> B()B()B()B()B()($r   r   N)holidays.calendars.gregorianr   r   holidays.groupsr   r   r   holidays.observed_holiday_baser   r	   r
   r   r   r   r   r   r<   r   r9   r   r   <module>rE      sV    2 T T ZF!#46K^ ZFz	 		' 	 r   