
    !g?*              
          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                   V     e Zd ZdZdZeefZdZ e	d      Z
dZdZ 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. 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/>`_
    PHen_PHz%s (estimated))r   en_USfilthi  c                    t        j                  | t               t        j                  |        t	        j                  |        t        j                  | t               t        j                  | t               t        |   |i | y )N)cls)
r   __init__PhilippinesChineseHolidaysr   r   r   PhilippinesIslamicHolidaysr   PhilippinesStaticHolidayssuper)selfargskwargs	__class__s      [/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/holidays/countries/philippines.pyr"   zPhilippines.__init__?   sd    ((3MN""4(&&t,  +EF*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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      
   )    r/   zAraw ng Kagitingan	   z	Labor Day      )  r9     zIndependence Day              )r>   r9   r?     zNinoy Aquino Day   zNational Heroes Dayr>   zAll Saints' Day      )r9   r?   zBonifacio Day     z*Feast of the Immaculate Conception of MaryzChristmas Dayr?      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_holidaysG   sK   #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 Cristor3   )rQ   _add_holiday_jul_27rP   _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,   )__name__
__module____qualname____doc__countryr   r   supported_categoriesdefault_languagerP   estimated_labelsupported_languages
start_yearr"   rc   rh   __classcell__)r*   s   @r+   r   r      sH    & G"G,)*O9J*a8F
Ur,   r   c                       e Zd Zy)r   Nri   rj   rk    r,   r+   r   r          r,   r   c                       e Zd Zy)PHLNru   rv   r,   r+   ry   ry      rw   r,   ry   c                   `    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dZy)r#   rD   r8                     r4   r@   rG      )r.   r5       r0   r1     rJ     rL   rM   r/   rE   N)ri   rj   rk   r   r   LUNAR_NEW_YEAR_DATESrv   r,   r+   r#   r#      se    BiBiBiBiAhBiBiAhBiBiAhBiBir,   r#   c                   D   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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d*Zy+),r$      r6         r7   r4   r8      rF   r@   r{   rB   r;   r~   )r?     r.   r5   r   r   r0   r1   r   rJ   r   rL   rM   r/   rE   rN   i  rA   r=   i     i  r2   r>   r9   rG   r:   r?   r   rI   r.   r5   r   rH   r   r0   r1   r   r         )rJ   r   rL   rM   r/   rE   N)ri   rj   rk   r   r   r   r   r   r
   EID_AL_ADHA_DATESr   r	   r   EID_AL_FITR_DATESrv   r,   r+   r$   r$      s   BiAhBiBiAhBiBiAhBiBiBiBiAhBiBi$sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh  	sBi!" 	sBi#$ AhBiBiAhBiBi/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) dayr9   r   rH   r:   r   r2   r?   r.   r5   r   r   r0   r{   r1   r   r=   rJ   r   r   rM   r;   r/   rI   rE   re   rK   zAll Saints' Day EvezChristmas EveN)ri   rj   rk   rP   additional_specialelection_specialr   r   r   r   r	   r   r   special_public_holidaysrv   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   rP   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   ry   r#   r$   r%   rv   r,   r+   <module>r      s    " M ^ ^ ^ ^ .  .XUXUv	 		+ 	!7 $+!7 +\J Jr,   