
    x7#hW              	           d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZmZmZmZ d dlmZmZ  G d deeeee      Z G d de      Z G d	 d
e      Z G d de      Z G d d      Zy)    )_CustomIslamicHolidays)JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC)ChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_WORKDAYc                   <     e Zd ZdZdZdZdZddef fdZd Z	 xZ
S )	CameroonzCameroon holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Cameroon>
        * <https://www.timeanddate.com/holidays/cameroon>
        * <https://www.officeholidays.com/countries/cameroon>
    CMz%s (observed)i  islamic_show_estimatedc                    t        j                  |        t        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )clsshow_estimated)r   observed_ruleN)
r   __init__r   r   CameroonIslamicHolidaysr   CameroonStaticHolidays
setdefaultr   super)selfr   argskwargs	__class__s       [/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/cameroon.pyr   zCameroon.__init__(   sn     	""4(&&t,  ->T	
 	*@A/+>?$)&)    c                    t               }|j                  | j                  d             | j                  dk\  r |j                  | j	                  d             | j                  d       |j                  | j                  d             | j                  dk\  r |j                  | j                  d             | j                  d       |j                  | j                  d	             |j                  | j                  d
             |j                  | j                  d             |j                  | j                  d             |j                  | j                  d             | j                  r| j!                  |       y y )NzNew Year's Dayi  z	Youth DayzGood Fridayz
Labour Dayi  zNational DayzAscension DayzAssumption DayzChristmas DayzEid al-FitrEid al-AdhaMawlid)setadd_add_new_years_day_year_add_holiday_feb_11_add_good_friday_add_labor_day_add_holiday_may_20_add_ascension_thursday_add_assumption_of_mary_day_add_christmas_dayupdate_add_eid_al_fitr_day_add_eid_al_adha_day_add_mawlid_dayobserved_populate_observed)r#   dts_observeds     r'   _populate_public_holidaysz"Cameroon._populate_public_holidays8   sP   u 	001ABC ::T55kBC 	m, 	,,\:; ::T55nEF 	$$_5 	99:JKL 	00AB 	D55mDE 	D55mDE 	D00:;==##L1 r(   )T)__name__
__module____qualname____doc__countryobserved_label
start_yearboolr   r>   __classcell__)r&   s   @r'   r   r      s*     G$NJ*t * '2r(   r   c                       e Zd Zy)r   Nr?   r@   rA    r(   r'   r   r   b       r(   r   c                       e Zd Zy)CMRNrI   rJ   r(   r'   rM   rM   f   rK   r(   rM   c            	          e Zd Zi dedfdedfdedfdedfd	ed
fdedfedffdedfdedfdedfdedfdedfdedfdedfdedfde	dfd e	d!fd"e	dfe
d
fe
d#fedfedfedfedfd$Zi dedfdedfdedfded%fd	ed&fdedfded!fdedfde	d
fde	dfde
dfde
d'fde
d(fdedfded)fd edfd"edfedfed&fedfed!fedfed
fedfd*Zi ded&fdedfded%fdedfd	ed
fded#fdedfdedfdedfdedfded+fdedfdedfded%fded,fedffd edfd"ed-fed
fedfed.fed'fed(fd/Zy0)1r   i     i     i     i     i     i  
           i  	   i     i     i     i     i     i     i     i     i     )                           )rb   rc   rd   re   rf   rg   i              )rb   rc   rd   re   rf   N)r?   r@   rA   r   r   r   r   r   r   r   r   r
   r	   EID_AL_ADHA_DATESr   r   EID_AL_FITR_DATESMAWLID_DATESrJ   r(   r'   r   r   j   s   sAhsBi 	sBi 	sAh	
 	sBi 	Ry3)$ 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi  	sBi!" 	sAh#$ BiBiBiBiAhBi/4sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiBi16sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	Qx#r#  	sBi!" 	sAh#$ BiBiBiBiAh-Lr(   r   c                   2    e Zd ZdeddfeddffiZdeddfiZy)	r    re   rh   zPublic Holidayrj   rV   rR   r*   N)r?   r@   rA   r   r
   special_public_holidaysr    special_public_holidays_observedrJ   r(   r'   r    r       s>    "&'"&'
 	sA}%($r(   r    N)holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r   r	   r
   r   r   r   r   r   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   rM   r   r    rJ   r(   r'   <module>r{      ss    6 c c c c  TG2*,A?TbG2T	 		( 	M4 M`
 
r(   