
    ih              
       0   d dl m Z 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 d dlmZmZmZ d dlmZmZmZmZ d dlmZmZ  eeded	ed
edi      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)    )gettext)_CustomIslamicHolidays)JANAPRMAYJULAUGSEPMONTUEWEDFRISATSUN)JULIAN_CALENDAR)
GOVERNMENTPUBLICSCHOOL)ChristianHolidaysIslamicHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseObservedRule            c                        e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
eeefZdZeehZd	d
def fdZd Zd Zd Z xZS )Egyptu  Egypt holidays.

    References:
        * <https://ar.wikipedia.org/wiki/قائمة_العطل_الرسمية_في_مصر>
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Egypt>
        * [National Holidays (Arabic)](https://web.archive.org/web/20250614072551/https://www.presidency.eg/ar/مصر/العطلات-الرسمية/)
        * [National Holidays (English)](https://web.archive.org/web/20250529043734/https://www.presidency.eg/en/مصر/العطلات-الرسمية/)
        * [National Holidays (French)](https://web.archive.org/web/20250608173134/https://www.presidency.eg/fr/مصر/العطلات-الرسمية/)
        * [Ministerial Decision 1193](https://web.archive.org/web/20250423073350/https://manshurat.org/node/44922)
    EGar_EGu   %s (المقدرة)u   %s (ملاحظة)u"   %s (المقدرة، ملاحظة)i  )r"   en_USfrT)islamic_show_estimatedr%   c                @   t        j                  | t               t        j                  |        t	        j                  | t
        |       t        j                  | t               |j                  dt               |j                  dd       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_ruleobserved_since  N)r   __init__r   r   r   EgyptIslamicHolidaysr   EgyptStaticHolidays
setdefaultEG_OBSERVED_RULEsuper)selfr%   argskwargs	__class__s       X/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/egypt.pyr,   zEgypt.__init__:   s     	""49&&t,  *;Q	
 	*=>/+;<*D1$)&)    c                 d   | j                   dk\  r(| j                   dvr| j                  t        d             | j                   dk\  rC| j                  | j	                  | j                   dk\  rt        d      n
t        d                   | j                   dk\  r:| j                  t        d	            }| j                   d
k7  r| j                  |       | j                  t        d             | j                   dk7  r)| j                  | j                  t        d                   | j                   dk\  r:| j                  t        d            }| j                   dk7  r| j                  |       | j                  t        d            }| j                   dk7  r| j                  |       | j                  t        d            }| j                   dk7  r| j                  |       | j                  t        d            D ]  }| j                  |        | j                  t        d             t        d      }| j                  |       | j                  |       | j                  t        d             t        d      }| j!                  |       | j#                  |       | j%                  |       y )Ni  >       "   عيد الميلاد المجيدi  i  u.   ثورة ٢٥ يناير وعيد الشرطةu   عيد الشرطةi  u   عيد تحرير سيناءr9   u   عيد شم النسيم     عيد العمالi     عيد ثورة ٣٠ يونيوu   عيد ثورة ٢٣ يوليوr:   u"   عيد القوات المسلحةu    رأس السنة الهجريةu&   المولد النبوي الشريف    عيد الفطر المباركu+   وقفة عيد الأضحى المبارك"   عيد الأضحى المبارك)_year_add_christmas_daytr_move_holiday_add_holiday_jan_25_add_holiday_apr_25_add_easter_monday_add_labor_day_add_holiday_jun_30_add_holiday_jul_23_add_holiday_oct_6_add_islamic_new_year_day_add_mawlid_day_add_eid_al_fitr_day_add_eid_al_fitr_day_two_add_arafah_day_add_eid_al_adha_day_add_eid_al_adha_day_two_add_eid_al_adha_day_three)r2   dtnames      r6   _populate_public_holidayszEgypt._populate_public_holidaysK   sR   ::$**L"@##B'K$LM::(( zzT) GH 12 ::))"-K*LMBzzT!""2& 	#= >? ::t2226K3LMN::))"-N*OPBzzT!""2& %%b)J&KL::r" $$R(L%MN::r" 004V1WXBr" Y 	R HIJ 45!!$'%%d+ 	R MNO 67!!$'%%d+''-r7   c                     | j                   dk\  r-t        d      }| j                  |       | j                  |       | j                   dk\  r| j	                  t        d             y y )N  r?   i  r@   )rA   rC   _add_eid_al_fitr_eve_add_eid_al_fitr_day_three_add_eid_al_adha_day_four)r2   rU   s     r6   _populate_government_holidaysz#Egypt._populate_government_holidays   sZ    ::89D%%d+++D1::**2.R+ST r7   c                     | j                   dk\  r5| j                  t        d             | j                  t        d             y y )NrX   u   عيد تحرير طاباu   عيد الجلاء)rA   _add_holiday_mar_19rC   _add_holiday_jun_18)r2   s    r6   _populate_school_holidayszEgypt._populate_school_holidays   s=    ::$$R(D%EF $$R(=%>? r7   )__name__
__module____qualname____doc__countrydefault_languagerC   estimated_labelobserved_labelobserved_estimated_label
start_yearr   r   r   supported_categoriessupported_languagesr   r   weekendboolr,   rV   r\   r`   __classcell__)r5   s   @r6   r    r       sz    	 G./O+,N!"FGJ&72CjG=A *d *"@.D	U@r7   r    c                       e Zd Zy)r!   Nra   rb   rc    r7   r6   r!   r!          r7   r!   c                       e Zd Zy)EGYNrq   rr   r7   r6   ru   ru      rs   r7   ru   c                   L    e Zd ZdZdedfiZdZdedfiZdZ	de
dfiZdZdedfiZy	)
r-   )r+   i  r9   
   r        r:      N)ra   rb   rc   !EID_AL_ADHA_DATES_CONFIRMED_YEARSr   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   EID_AL_FITR_DATES$HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARSr	   HIJRI_NEW_YEAR_DATESMAWLID_DATES_CONFIRMED_YEARSr
   MAWLID_DATESrr   r7   r6   r-   r-      sc    (4%sBi )5%sAh ,8(sBi $0 sBiLr7   r-   c                       e Zd ZdZ ed      Z ed      Z ed      Zedefedeffedefedeffd	Z	e
d
efedeffe
defedefed ed      fedeffed ed      fdZy)r.   zEgypt special holidays.

    References:
        * [2022 Coptic Christmas](https://web.archive.org/web/20240227004025/https://english.ahram.org.eg/NewsContent/1/2/454491/Egypt/Society/Thursday-paid-day-off-at-public-sector-in-Egypt-fo.aspx)
    r;   r@   r?               )rx   r9      r         r   r>   r      r=   )r9   r:   r<   N)ra   rb   rc   rd   rC   coptic_christmas_dayeid_al_adhaeid_al_fitrr   special_public_holidaysr   r   r    special_public_holidays_observedrr   r7   r6   r.   r.      s     BC 9:K 78K "k""k"

 "k""k"
	 !)*![!

 !)*"k"!R9:;![!
 Ar/01($r7   r.   N)%r   rC   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   r   r   r   r   holidays.calendars.julianr   holidays.constantsr   r   r   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r0   r    r!   ru   r-   r.   rr   r7   r6   <module>r      s    " 5 c c c c 5 9 9  Mb#r3C DE @@*O=RTb@@F	 		% 	1 ,) )r7   