
    x7#h{                        d dl mZ erd dlmZ d dlmZ d dlmZmZ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mZmZmZmZ d dl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'  G d d	e$e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e	      Z- G d de
      Z. G d d      Z/y)    )TYPE_CHECKING)date)gettext)_CustomBuddhistHolidays_CustomChineseHolidays_CustomHinduHolidays_CustomIslamicHolidays)JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECFRISATSUN)BuddhistCalendarHolidaysChineseCalendarHolidaysChristianHolidaysHinduCalendarHolidaysInternationalHolidaysIslamicHolidaysStaticHolidays)ObservedHolidayBaseFRI_TO_NEXT_WORKDAYSAT_TO_NEXT_WORKDAYSUN_TO_NEXT_WORKDAYc                   l    e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
dZi d	d
dd
ddddddddddddddddddddddddddd dd!d"d"d#d#d$d$d%d%d&d&d'd'd(d(d)d)d*Zd+Zd@d,ef fd-Zd. Z fd/Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Z d? Z! xZ"S )AMalaysiaaE  Malaysia holidays.

    References:
        * [Holidays Act 1951](https://www.kabinet.gov.my/bkpp/pdf/akta_warta/1951_12_31_act369.pdf)
        * [Holidays Ordinance (Sabah Cap. 56)](https://sagc.sabah.gov.my/sites/default/files/law/HolidaysOrdinance.pdf)
        * [Public Holidays Ordinance (Sarawak Cap. 8)](https://www.kabinet.gov.my/bkpp/pdf/akta_warta/sarawak_public_holidays_ord_chapter8.pdf)
        * [Wikipedia](https://en.wikipedia.org/wiki/Public_holidays_in_Malaysia)
        * <https://www.nst.com.my/news/nation/2020/03/571660/agongs-birthday-moved-june-6-june-8>
        * <https://www.nst.com.my/news/nation/2024/02/1014012/melaka-cm-suggests-declaring-feb-20-federal-public-holiday-mark>

    Section 3 of Holidays Act 1951:
    > If any day specified in the Schedule falls on Sunday then the day following shall be
    > a public holiday and if such day is already a public holiday, then the day following
    > shall be a public holiday".

    In Johor (until 1994 and in 2014-2024) and Kedah it's Friday to Sunday,
    in Kelantan and Terengganu - Saturday to Sunday.
    MYms_MYz%s (anggaran)zCuti %szCuti %s (anggaran)i  )01020304050607080910111213141516Johorr(   JHRKedahr)   KDHKelantanr*   KTNMelakar+   MLKzNegeri Sembilanr,   NSNPahangr-   PHGzPulau Pinangr.   PNGPerakr/   PRKPerlisr0   r1   r2   r3   r4   r5   r6   r7   )PLSSelangorSGR
TerengganuTRGSabahSBHSarawakSWKz Wilayah Persekutuan Kuala LumpurKULzWilayah Persekutuan LabuanLBNzWilayah Persekutuan PutrajayaPJY)en_USr'   thislamic_show_estimatedc                    t        j                  | t        d       t        j                  | t        d       t        j                  |        t        j                  | t               t        j                  |        t        j                  | t        |       t        j                  | t               |j                  dt               t        |   |i | t!               | _        y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        T)clsshow_estimated)rW   observed_ruleN)r   __init__MalaysiaBuddhistHolidaysr   MalaysiaChineseHolidaysr   r   MalaysiaHinduHolidaysr   r   MalaysiaIslamicHolidaysr   MalaysiaStaticHolidays
setdefaultr#   supersetdts_observed)selfrU   argskwargs	__class__s       [/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/malaysia.pyrZ   zMalaysia.__init__   s     	!))$4L]ab((3J[_`""4(&&t1FG&&t,  ->T	
 	*@A/+>?$)&)'*u    c                    t               | _        | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  dk\  r3| j                  j                  | j                  t	        d                   t	        d      }| j                  dk  r+| j                  j                  | j                  |             n| j                  dk  r+| j                  j                  | j                  |             nd| j                  d	k(  r+| j                  j                  | j                  |             n*| j                  j                  | j                  |             | j                  j                  | j                  t	        d
                   | j                  dk\  r3| j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  dk\  r| j!                  t	        d             | j                  j#                  | j%                  t	        d                   | j                  j#                  | j'                  t	        d                   | j                  j#                  | j)                  t	        d                   | j                  j#                  | j+                  t	        d                   y )NzTahun Baharu CinazTahun Baharu Cina (Hari Kedua)z
Hari Wesaki  Hari Pekerjaz?Hari Keputeraan Rasmi Seri Paduka Baginda Yang di-Pertuan Agong      zHari Kebangsaan  zHari MalaysiazHari Krismasi  zAwal Muharamz$Hari Keputeraan Nabi Muhammad S.A.W.zHari Raya PuasazHari Raya Puasa (Hari Kedua)Hari Raya Qurban)rb   rc   add_add_chinese_new_years_daytr_add_chinese_new_years_day_two_add_vesak_may_year_add_labor_day_add_holiday_1st_sat_of_jun_add_holiday_sep_9_add_holiday_jun_8_add_holiday_1st_mon_of_jun_add_holiday_aug_31_add_holiday_sep_16_add_christmas_day_add_islamic_new_year_dayupdate_add_mawlid_day_add_eid_al_fitr_day_add_eid_al_fitr_day_two_add_eid_al_adha_dayrd   names     rh   _populate_public_holidaysz"Malaysia._populate_public_holidays   s     E 	d==bAT>UVW//3S0TU	
 	d11"\2BCD::!!$"5"5b6H"IJ ST::!!$"B"B4"HIZZ4!!$"9"9$"?@ZZ4!!$"9"9$"?@!!$"B"B4"HI 	d66r:K7LMN::!!$":":2o;N"OP 	d55b6HIJ::**2n+=> 	  !5!5b9_6`!ab 	  !:!:2>O;P!QR 	  !>!>rB`?a!bc 	  !:!:2>P;Q!RSri   c                 \   | j                   rA| j                   dvr3| j                  j                  | j                  t	        d                   t
        |           | j                   dk(  r&| j                  dk  s&d| j                  cxk  rdk  sn | j                   dk(  rt        | _	        t        t        h| _        nG| j                   dv rt        | _	        t        t        h| _        nt        | _	        t        t        h| _        | j                   r| j#                  | j                         y y )	N>   r4   r6   Hari Deepavalir(   i      r)   >   r*   r2   )subdivrc   rq   _add_diwalirs   ra   _populate_subdiv_holidaysrv   r!   _observed_ruler   r   weekendr"   r#   r   observed_populate_observed)rd   rg   s    rh   r   z"Malaysia._populate_subdiv_holidays   s    ;;4;;l:!!$"2"226F3G"HI)+ KK4TZZ4%744::;UQU;U[[D "5D:DL[[L("5D:DL"5D:DL==##D$5$56 ri   c                 t   | j                   j                  | j                  t        d                   | j                  dk\  r| j                  t        d             | j                  dk\  r| j                  t        d             | j                   j                  | j                  t        d                   y )NHari Thaipusam  zHari Keputeraan Sultan Johor  z!Hari Hol Almarhum Sultan IskandarAwal Ramadan)	rc   rq   _add_thaipusamrs   rv   _add_holiday_mar_23_add_hari_hol_johorr   _add_ramadan_beginning_dayrd   s    rh   #_populate_subdiv_01_public_holidaysz,Malaysia._populate_subdiv_01_public_holidays   s    d11"5E2FGH::$$R(F%GH::$$R(K%LM 	  !@!@NAS!TUri   c                 R   | j                   dk\  r3| j                  j                  | j                  t	        d                   | j                   dk\  r=t	        d      }| j                   dk(  r| j                  |       n| j                  |       | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   y )	N  r     zHari Keputeraan Sultan Kedahr   Israk dan Mikrajr   Hari Raya Qurban (Hari Kedua))rv   rc   rq   r   rs   _add_holiday_jun_30_add_holiday_3rd_sun_of_junr   _add_isra_and_miraj_dayr   _add_eid_al_adha_day_twor   s     rh   #_populate_subdiv_02_public_holidaysz,Malaysia._populate_subdiv_02_public_holidays
  s    ::!!$"5"5b9I6J"KL::45DzzT!((.006 	  !=!=bAS>T!UV 	  !@!@NAS!TU 	  ))"-L*MN	
ri   c                    | j                   dk\  rt        d      }| j                   dk\  r#| j                  |       | j                  |       nT| j                   dk\  r#| j	                  |       | j                  |       n"| j                  |       | j                  |       | j                  j                  | j                  t        d                   | j                   dk\  r3| j                  j                  | j                  t        d                   | j                  j                  | j                  t        d                   y )Nro   zHari Keputeraan Sultan Kelantan    Hari Nuzul Al-QuranHari Arafahr   )rv   rs   _add_holiday_sep_29_add_holiday_sep_30_add_holiday_nov_11_add_holiday_nov_12_add_holiday_mar_30_add_holiday_mar_31rc   r   _add_nuzul_al_quran_day_add_arafah_dayr   r   s     rh   #_populate_subdiv_03_public_holidaysz,Malaysia._populate_subdiv_03_public_holidays"  s   ::78DzzT!((.((.t#((.((.((.((. 	  !=!=bAV>W!XY::$$T%9%9"]:K%LM 	  ))"-L*MN	
ri   c                 
   | j                   j                  | j                  t        d                   | j                  dk\  r4| j                   j                  | j                  t        d                   nB| j                  dk\  r3| j                   j                  | j                  t        d                   t        d      }| j                   j                  | j                  dk\  r| j                  |      n| j                  |             | j                  dk\  r4| j                   j                  | j                  t        d	                   y | j                   j                  | j                  t        d
                   y )NTahun Baharur   z&Hari Pengisytiharan Tarikh Kemerdekaani  z6Hari Perisytiharan Melaka Sebagai Bandaraya Bersejarahz&Hari Jadi Yang di-Pertua Negeri Melakarn     zHari Raya Puasa (Hari Ketiga)r   )rc   rq   _add_new_years_dayrs   rv   _add_holiday_feb_20_add_holiday_apr_15_add_holiday_aug_24_add_holiday_2nd_fri_of_octr   _add_eid_al_fitr_day_threer   r   s     rh   #_populate_subdiv_04_public_holidaysz,Malaysia._populate_subdiv_04_public_holidays<  s:   d55b6HIJ::!!((,T)UV ZZ4!!((OP :;zzT! $$T*11$7	
 ::$$//3R0ST $$T%D%DREW%XYri   c                    | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   | j
                  dk\  r3| j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y )Nr   r     z5Hari Keputeraan Yang di-Pertuan Besar Negeri Sembilanr   )	rc   rq   r   rs   r   rv   _add_holiday_jan_14r   r   r   s    rh   #_populate_subdiv_05_public_holidaysz,Malaysia._populate_subdiv_05_public_holidays^  s    d55b6HIJ 	d11"5E2FGH::!!((NO 	  !=!=bAS>T!UVri   c                 B   | j                   j                  | j                  t        d                   | j                  dk\  rt        d      }| j                   j                  | j                  dk\  r| j                  |      n| j                  |             t        d      }| j                   j                  | j                  dk\  r| j                  |      n| j                  |             | j                   j                  | j                  t        d                   y )Nr   i  zHari Hol Sultan Pahangrn   zHari Keputeraan Sultan Pahangrm   r   )rc   rq   r   rs   rv   _add_holiday_may_22_add_holiday_may_7_add_holiday_jul_30_add_holiday_oct_24r   r   r   s     rh   #_populate_subdiv_06_public_holidaysz,Malaysia._populate_subdiv_06_public_holidaysp  s    d55b6HIJ::./D!!::% ((.,,T2 56D!!::% ((.--d3 	  !=!=bAV>W!XYri   c                     | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   | j
                  dk\  r3| j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y )Nr   r   r   z2Hari Ulang Tahun Perisytiharan Tapak Warisan Duniaz,Hari Jadi Yang di-Pertua Negeri Pulau Pinangr   )
rc   rq   r   rs   r   rv   _add_holiday_jul_7_add_holiday_2nd_sat_of_julr   r   r   s    rh   #_populate_subdiv_07_public_holidaysz,Malaysia._populate_subdiv_07_public_holidays  s    d55b6HIJ 	d11"5E2FGH::!!''+_(`a
 	,,R0^-_`	
 	  !=!=bAV>W!XYri   c                    | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   t        d      }| j
                  dk\  r| j                  |       n| j                  |       | j                   j                  | j                  t        d                   y )Nr   r   zHari Keputeraan Sultan Perakr   r   )
rc   rq   r   rs   r   rv   _add_holiday_1st_fri_of_nov_add_holiday_nov_27r   r   r   s     rh   #_populate_subdiv_08_public_holidaysz,Malaysia._populate_subdiv_08_public_holidays  s    d55b6HIJ 	d11"5E2FGH 01::,,T2$$T* 	  !=!=bAV>W!XYri   c                    | j                   dk\  r^t        d      }| j                  j                  d| j                   cxk  rdk  rn n| j	                  |      n| j                  |             | j                  j                  | j                  t        d                   | j                  j                  | j                  t        d                   | j                  j                  | j                  t        d                   y )N  z'Hari Ulang Tahun Keputeraan Raja Perlisr     r   r   r   )
rv   rs   rc   rq   _add_holiday_jul_17_add_holiday_may_17r   r   r   r   r   s     rh   #_populate_subdiv_09_public_holidaysz,Malaysia._populate_subdiv_09_public_holidays  s    ::?@D!!4::-- ((.--d3 	  !=!=bAS>T!UV 	  !=!=bAV>W!XY 	  ))"-L*MN	
ri   c                    | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   | j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y )Nr   r   zHari Keputeraan Sultan Selangorr   )rc   rq   r   rs   r   _add_holiday_dec_11r   r   r   s    rh   #_populate_subdiv_10_public_holidaysz,Malaysia._populate_subdiv_10_public_holidays  s    d55b6HIJ 	d11"5E2FGH 	d66r:[7\]^ 	  !=!=bAV>W!XYri   c                    | j                   dk\  rf| j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                   dk\  r3| j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   | j                  j                  | j                  t	        d                   y )	Nr   z-Hari Ulang Tahun Pertabalan Sultan Terengganuz!Hari Keputeraan Sultan Terengganurn   r   r   r   r   )rv   rc   rq   _add_holiday_mar_4rs   _add_holiday_apr_26r   r   r   r   r   r   s    rh   #_populate_subdiv_11_public_holidaysz,Malaysia._populate_subdiv_11_public_holidays  s   ::!!''FG !!((,O)PQ
 ::$$T%A%A"EWBX%YZ 	  !=!=bAV>W!XY 	  !5!5b6G!HI  ))"-L*MN	
ri   c                    | j                   j                  | j                  t        d                   | j	                  t        d             t        d      }| j                  |       | j                  |       | j                  t        d             | j                  dk\  r| j                  t        d             y y )Nr   Good FridayPesta Kaamatanz%Hari Jadi Yang di-Pertua Negeri Sabahrm   zChristmas Eve)
rc   rq   r   rs   _add_good_friday_add_holiday_may_30_add_holiday_may_31_add_holiday_1st_sat_of_octrv   _add_christmas_ever   s     rh   #_populate_subdiv_12_public_holidaysz,Malaysia._populate_subdiv_12_public_holidays  s    d55b6HIJ 	b/0 "#  &  & 	((,S)TU::##B$78 ri   c                 4   | j                   j                  | j                  t        d                   | j	                  t        d             | j
                  dk\  r_t        d      }| j                   j                  | j                  |             | j                   j                  | j                  |             | j                  t        d             | j
                  dk\  r4| j                   j                  | j                  t        d                   y y )Nr   r   i  zPerayaan Hari Gawai Dayakz'Hari Jadi Yang di-Pertua Negeri Sarawak  zHari Kemerdekaan Sarawak)
rc   rq   r   rs   r   rv   _add_holiday_jun_1_add_holiday_jun_2_add_holiday_2nd_sat_of_oct_add_holiday_jul_22r   s     rh   #_populate_subdiv_13_public_holidaysz,Malaysia._populate_subdiv_13_public_holidays   s    d55b6HIJ 	b/0::12D!!$"9"9$"?@!!$"9"9$"?@ 	((,U)VW::!!$":":2>X;Y"Z[ ri   c                    | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   | j
                  dk\  r3| j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y Nr   r     Hari Wilayah Persekutuanr   	rc   rq   r   rs   r   rv   _add_holiday_feb_1r   r   r   s    rh   #_populate_subdiv_14_public_holidaysz,Malaysia._populate_subdiv_14_public_holidays      d55b6HIJ 	d11"5E2FGH::!!$"9"9"=W:X"YZ 	  !=!=bAV>W!XYri   c                 2   | j                   j                  | j                  t        d                   | j                  dk\  r3| j                   j                  | j                  t        d                   t        d      }| j                  |       | j                  |       | j                  dk\  r3| j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y )Nr   r   r   r   r   r   r   )rc   rq   r   rs   rv   r   r   r   r   r   r   r   s     rh   #_populate_subdiv_15_public_holidaysz,Malaysia._populate_subdiv_15_public_holidays"  s    d55b6HIJ::!!$"9"9"=W:X"YZ "#  &  &::!!$"2"226F3G"HI 	  !=!=bAV>W!XYri   c                    | j                   j                  | j                  t        d                   | j                   j                  | j	                  t        d                   | j
                  dk\  r3| j                   j                  | j                  t        d                   | j                   j                  | j                  t        d                   y r   r   r   s    rh   #_populate_subdiv_16_public_holidaysz,Malaysia._populate_subdiv_16_public_holidays6  r   ri   )T)#__name__
__module____qualname____doc__countrydefault_languagers   estimated_labelobserved_labelobserved_estimated_label
start_yearsubdivisionssubdivisions_aliasessupported_languagesboolrZ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)rg   s   @rh   r%   r%   <   s   & G)O	]N!"67JL$!!t! 	! 	t	!
 	D! 	t! 	$! 	t! 	4! 	t! 	$! 	t! 	! 	t! 	!  	t!!" 	$#!$ ,0&*)-A!D 3-t -(7Tr7,V
0
4 ZDW$Z0Z*Z"
*Z
:9&\(ZZ(Zri   r%   c                       e Zd Zy)r&   Nr   r   r    ri   rh   r&   r&   E      ri   r&   c                       e Zd Zy)MYSNr  r  ri   rh   r  r  I  r  ri   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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edfd%Zy&)'r[                                           r   	   ro      r      r           r      r   rl      r   
            r   rm   rn   r   r   r   r   r   N)r   r   r   r   VESAK_MAY_DATESr  ri   rh   r[   r[   M  sT   sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sAh 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh  	sBi!" 	sBi#$ BiBiAhBiBiAhBiBi3Ori   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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edfd&Zy')(r\   r  r&  r  r  r  r  r  r  r  r!  r  r*  r     r  r  r   r+  ro      r   r  r      r%  r)  r      r   r   rl      r   r"     r$     r-  N)r   r   r   r
   r   LUNAR_NEW_YEAR_DATESr  ri   rh   r\   r\   k  sU   sBisBi 	sAh 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiBiBi3ri   r\   c                   2   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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ed(f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d,
Zy-).r]   r  r1  r  r  r  r2  r     r  r  r  r(  r  r4  r  r  r   r#  ro   r$  r   r+  r   r'  r%     r   r  r   r)  rl   r*  r   r0     r,  r&  r  r3     r-  r"  r6  )
r   rm   rn   r   r   r   r   r   i  i  N)	r   r   r   r   r   DIWALI_DATESr
   r   THAIPUSAM_DATESr  ri   rh   r]   r]     s   sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi  	sBi!" 	sBi#$ AhBiBiAhBiBiBiBi3L: BiBiAhBiBiAhBiBiAhBiOri   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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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edf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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e	d$fe	d"fe
dfe
dfed0fed*fedfed-fd&Zi dedfded1f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d2f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ed-fd&Zi ded1f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d2f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e	dfe	d2f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d1f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ed/fd&Zi dedfdedfded-fded2f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edfd&Zy3)4r^   r  r;  r  r2  r  r  r  r:  r  r(  r  r)  r3  r  r<  r  r!  r   r"  ro   r#  r   r  r   r+  r%  r  r   r$  r   r&  rl   r   r  r  r9  r*  r-  r1  r  r'  r   r4  r6  r  )r   r   r%  r   r   rl   r   r   rm   rn   r   r   r   r   r   r0     r,  r5  N)r   r   r   r   r   r
   r   r   r   r   r   r   r   EID_AL_ADHA_DATESr   r   EID_AL_FITR_DATESHARI_HOL_JOHOR_DATESHIJRI_NEW_YEAR_DATESISRA_AND_MIRAJ_DATESMAWLID_DATESNUZUL_AL_QURAN_DATESRAMADAN_BEGINNING_DATESr  ri   rh   r^   r^     s	   sAhsBi 	sBi 	sAh	
 	sBi 	Ry3)$ 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi  	sBi!" 	sAh#$ BiBiBiBiBiBiBiAh38sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiBiBi3: BiBiBiBiBiAhBiBiAhBiBiAhBiBiBi$sBisBi 	sAh 	sBi	
 	sBi 	sBi 	sBi 	Ry3)$ 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiBiBiAhBi38sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiAhBi38sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	Qx#r#  	sBi!" 	sAh#$ BiAhBiBiBiBiBiAh3L8sAhsBi 	sBi 	sAh	
 	sBi 	sBi 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh  	sBi!" 	sBi#$ AhBiBiBiBiAhBiBi38sBisAh 	sBi 	sBi	
 	sAh 	sBi 	sBi 	sAh 	sBi 	sBi 	sAh 	sBi 	sAh 	sBi 	sBi  	sAh!" 	sBi#$ BiAhBiBiAhBiBiAh3ri   r^   c            	          e Zd Z ed      ZdZ ed      Z ed      Z ed      Z ed      Z	 ed      Z
 ed      Z ed	      Z ed
      Zedefede	fedeffedefede
fedefedefedeffedefdZdedefiZdedefiZdedefiZdedefedeffiZdedefiZdedefiZdedefiZdedefiZdedefiZdedefiZdedefiZ dedefiZ!dedefiZ"dedefiZ#dedefiZ$dedefiZ%dedefiZ&dedefiZ'dedefiZ(edefedefdZ)y)r_   z"Cuti Peristiwa (pilihan raya umum)zCuti Peristiwarp   rk   zCuti Piala Malaysiaz+Hari Pertabalan Yang di-Pertuan Agong ke-15z+Hari Pertabalan Yang di-Pertuan Agong ke-16z!Hari Raya Puasa (pergantian hari)r   z+Cuti tambahan sempena memperingati SAT 2017r*  r&  r,  r!  r@  r0  r   r"  r(  )i  r   r   rm   r   r   r   r  r   r#  r   r  r:  )r  r   N)*r   r   r   rs   election_polling_dayelection_additional_holidayeid_al_adha	labor_daymalaysia_cup_holiday%yang_di_pertuan_agong_15_installation%yang_di_pertuan_agong_16_installationeid_al_fitr_additional_holiday
arafat_day!additional_holiday_2017_sea_gamesr   r   r   r   r   special_public_holidaysr   special_14_public_holidaysspecial_15_public_holidaysspecial_16_public_holidaysspecial_13_public_holidays#special_01_public_holidays_observed#special_02_public_holidays_observed#special_03_public_holidays_observedr
   #special_14_public_holidays_observed#special_15_public_holidays_observed#special_04_public_holidays_observed#special_05_public_holidays_observed#special_06_public_holidays_observed#special_16_public_holidays_observed#special_09_public_holidays_observed#special_07_public_holidays_observed#special_08_public_holidays_observed#special_12_public_holidays_observed#special_10_public_holidays_observed#special_13_public_holidays_observed#special_11_public_holidays_observedr  ri   rh   r_   r_     s   BC #3 '(K >"I 34 -//\,]) -//\,]) &((K%L" M"J )++X(Y% B,-";<!67
 A+,B=>"*+"*+"12

 B67" 	sA+,"
 	sA+,"
 	sA+,"
 	"12"12
" 	sAy!+'
 	sAy!+'
 	sAy!+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 	sA{#+'
 Az"Ay!+'ri   r_   N)0typingr   datetimer   r   rs   holidays.calendarsr   r   r   r	   holidays.calendars.gregorianr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   holidays.groupsr   r   r   r   r   r   r   holidays.observed_holiday_baser    r!   r"   r#   r%   r&   r  r[   r\   r]   r^   r_   r  ri   rh   <module>ro     s    ! !     "   FZFZR	 		( 	6 <4 <(0 (VU4 UpA Ari   