
    x7#h-              
          d dl m Z d dlmZ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 d dlmZmZ d dlmZmZmZmZmZ d dlmZ  G d deeeeee      Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z  G d d      Z!y)    )gettext)_CustomChineseHolidays_CustomIslamicHolidays)JANFEBAPRMAYJUNJULAUGSEPOCTNOVDEC)PUBLICWORKDAY)ChineseCalendarHolidaysChristianHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)HolidayBasec                   ^     e Zd ZdZdZeefZdZ e	d      Z
dZdZddef fdZd	 Zd
 Z xZS )Philippinesa  Philippines holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_the_Philippines>
        * [Revised Administrative Code of 1987](https://www.officialgazette.gov.ph/1987/07/25/executive-order-no-292-book-ichapter-7-regular-holidays-and-nationwide-special-days/)
        * [Republic Act No. 9177](https://www.officialgazette.gov.ph/2002/11/13/republic-act-no-9177/)
        * [Republic Act No. 9256](https://www.officialgazette.gov.ph/2004/02/25/republic-act-no-9256/)
        * [Republic Act No. 9492](https://www.officialgazette.gov.ph/2007/07/24/republic-act-no-9492/)
        * [Republic Act No. 9645](https://www.officialgazette.gov.ph/2009/06/12/republic-act-no-9645/)
        * [Republic Act No. 9849](https://www.officialgazette.gov.ph/2009/12/11/republic-act-no-9849/)
        * [Republic Act No. 10966](https://www.officialgazette.gov.ph/2017/12/28/republic-act-no-10966/)
        * [Proclamation No. 944/2020](https://www.officialgazette.gov.ph/2020/05/19/proclamation-no-944-s-2020/)
        * [Proclamation No. 985/2020](https://www.officialgazette.gov.ph/2020/07/29/proclamation-no-985-s-2020/)
        * [Proclamation No. 90/2022](https://www.officialgazette.gov.ph/2022/11/09/proclamation-no-90-s-2022/)
        * [Proclamation No. 665/2024](https://www.officialgazette.gov.ph/2024/08/15/proclamation-no-665-s-2024/)
        * [Proclamation No. 729/2024](https://www.officialgazette.gov.ph/2024/10/30/proclamation-no-729-s-2024/)
        * [Nationwide holidays 2018-2025](https://www.officialgazette.gov.ph/nationwide-holidays/2018/)
        * [2025 Eid'l Fitr and Eid'l Adha Tentative Date](https://melbournepcg.org/?page_id=9779)
        * [Proclamation No. 839/2025](https://www.officialgazette.gov.ph/2025/03/20/proclamation-no-839-s-2025/)
    PHen_PHz%s (estimated))r   en_USfilthi  islamic_show_estimatedc                    t        j                  | t               t        j                  |        t	        j                  |        t        j                  | t        |       t        j                  | t               t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )cls)r"   show_estimatedN)
r   __init__PhilippinesChineseHolidaysr   r   r   PhilippinesIslamicHolidaysr   PhilippinesStaticHolidayssuper)selfr    argskwargs	__class__s       ^/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/philippines.pyr$   zPhilippines.__init__A   sn     	 ((3MN""4(&&t,  0AW	
 	*CD$)&)    c                    | j                  t        d             | j                  dk\  r)| j                  dk7  r| j                  t        d             d| j                  cxk  rdk  rWn nT| j                  dk7  rEdt        dfi}| j                  t        d      |j                  | j                  t        d	f             | j                  t        d
             | j                  t        d             | j                  dk\  r| j                  t        d             t        dft        dft        dfd}| j                  t        d      |j                  | j                  t        df             | j                  t        d             t        dft        dft        dfd}| j                  t        d      |j                  | j                  t        df             | j                  dk\  rZt        dft        dft        dft        dfd}| j                  t        d      |j                  | j                  t        d f             t        d!      }| j                  d"k\  r| j                  |       n| j                  |       | j!                  t        d#             t"        d$ft$        d%ft$        d&fd'}| j                  t        d(      |j                  | j                  t$        d)f             | j                  d*k\  r| j'                  t        d+             | j)                  t        d,             d-t"        d&fi}| j                  t        d.      |j                  | j                  t"        d)f             | j                  d/vr| j+                  t        d0             | j                  d1k\  r| j-                  t        d2             | j                  d-k\  r| j/                  t        d3             y y )4NzNew Year's Day    zChinese New Year       (EDSA People Power Revolution Anniversary   zMaundy ThursdayzGood Friday  zBlack Saturday      
   )    r1   zAraw ng Kagitingan	   z	Labor Day      )  r;     zIndependence Day              )r@   r;   rA     zNinoy Aquino Day   zNational Heroes Dayr@   zAll Saints' Day         )r;   rA   r1   zBonifacio Day     z*Feast of the Immaculate Conception of MaryzChristmas DayrA   z	Rizal Day>       zLast Day of the Year  z
Eid'l Fitrz
Eid'l Adha)_add_new_years_daytr_year_add_chinese_new_years_dayr   _add_holidayget_add_holy_thursday_add_good_friday_add_holy_saturdayr   _add_labor_dayr
   r   _add_holiday_last_mon_of_aug_add_holiday_last_sun_of_aug_add_all_saints_dayr   r   _add_immaculate_conception_day_add_christmas_day_add_new_years_eve_add_eid_al_fitr_day_add_eid_al_adha_day)r)   	dates_obsnames      r-   _populate_public_holidaysz%Philippines._populate_public_holidaysQ   sR   #3 45::$**"4++B/A,BC4::%%$***<sBiI =>djj3)4 	#4 56 	b/0::##B'7$89 (()
	 	"12IMM$**sTUh4WX 	B{O, )()
	 	"/0)--

SRTI2VW::BiBiBiBi	I b!34immDJJQTVXPY6Z[ '(::--d3--d3 	  $5!67 ())
	 	"_-y}}TZZ#r/ST:://3_0`a 	? 34 3)
	 	"[/9==c2Y+OP::\)##B'=$>?::%%b&67::%%b&67 r.   c                     | j                   dk\  r)| j                   dk7  r| j                  t        d             | j                   dk\  r| j                  t        d             y y )Nr<     z)Founding Anniversary of Iglesia ni Cristor5   )rS   _add_holiday_jul_27rR   _add_holiday_feb_25)r)   s    r-   _populate_workday_holidaysz&Philippines._populate_workday_holidays   sT    ::$**"4$$R(S%TU ::$$R(R%ST r.   )T)__name__
__module____qualname____doc__countryr   r   supported_categoriesdefault_languagerR   estimated_labelsupported_languages
start_yearboolr$   re   rj   __classcell__)r,   s   @r-   r   r      sO    * G"G,)*O9J*t * b8H
Ur.   r   c                       e Zd Zy)r   Nrk   rl   rm    r.   r-   r   r          r.   r   c                       e Zd Zy)PHLNrx   ry   r.   r-   r|   r|      rz   r.   r|   c                   f    e Zd Zedfedfedfedfedfedf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y)r%   rF   r:                     r6   rB   rI      rJ   )r0   r7       r2   r3     rM     rN   rO   r1   rG   rg   N)rk   rl   rm   r   r   LUNAR_NEW_YEAR_DATESry   r.   r-   r%   r%      sl    BiBiBiBiAhBiBiAhBiBiAhBiBiBir.   r%   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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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d0Zy1)2r&   rA      i  r8   r0      r7      r   r9   r   r6   r2   r:   r3      r   rH   rM   rB   r   r~   rN   rD   rO   r=   r1   r   rG   rg   rP   i  rC   r?   i     i  r4   r@   r;   rI   r<   rL   rJ   r         )rM   r   rN   rO   r1   rG   rg   N)rk   rl   rm   r   r   r   r   r   r
   EID_AL_ADHA_DATESr   r	   r   EID_AL_FITR_DATESry   r.   r-   r&   r&      sR   sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!&sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh  	sBi!" 	sBi#$ AhBiBiAhBiBiAh1r.   r&   c            	          e Zd Z ed      Z ed      Zi dedefedeffdedefedeffd	edefd
edefdedefedeffdedefedeffdedefedeffdedefe	defedeffdedefe	deffde
defedefedeffde
defedefedeffdedefedeffde
defe	deffdedefe	defedefedeffdedefedefedeffdedefe	d ed      fed ed      ffZy) r'   z$Additional special (non-working) dayz#Elections special (non-working) dayr;   r   rJ   r<   r   r4   rA   r0   r7   r   r   r2   r~   r3   r   r?   rM   r   r   rO   r=   r1   rL   rG   rg   rK   zAll Saints' Day EvezChristmas EveN)rk   rl   rm   rR   additional_specialelection_specialr   r   r   r   r	   r   r   special_public_holidaysry   r.   r-   r'   r'     s   BC?@D"()"()
D
 	!'("()
D 	sB*+D 	sA)*D 	!'("()
D 	"()"()
D& 	!'("()
'D. 	!'("()"()
/D8 	!'("()
9D@ 	"&'!'("()
ADJ 	"&'!'("()
KDT 	!'("()
UD\ 	!%&"()
]Dd 	!'("&'!'("()	
eDp 	!'(!'("()
qDz 	"()"b./0"b)*
{Dr.   r'   N)"r   rR   holidays.calendarsr   r   holidays.calendars.gregorianr   r   r   r	   r
   r   r   r   r   r   r   holidays.constantsr   r   holidays.groupsr   r   r   r   r   holidays.holiday_baser   r   r   r|   r%   r&   r'   ry   r.   r-   <module>r      s    " M ^ ^ ^ ^ .  .cUcUL	 		+ 	!7 &-!7 -`J Jr.   