
    ihDO              	           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
 d dlmZmZmZmZ d dlmZ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      Zy)    )gettext)FEBSEPOCTDEC)
GOVERNMENTOPTIONALPUBLIC)ChineseCalendarHolidaysChristianHolidaysInternationalHolidaysStaticHolidays)ObservedHolidayBaseSUN_TO_NEXT_WORKDAYSAT_SUN_TO_NEXT_WORKDAYc                        e Zd ZdZdZdZ ed      ZdZdZ	ddddddd	Z
eeefZd
Z fdZd Zd Zd Zd Zd Z xZS )Macauu  Macau holidays.

    References:
        * [Decreto-Lei n.º 4/82/M](https://web.archive.org/web/20250422171106/https://bo.io.gov.mo/bo/i/82/04/declei04.asp)
        * [Decreto-Lei n.º 38/87/M](https://web.archive.org/web/20250421204103/https://bo.io.gov.mo/bo/i/87/25/declei38.asp)
        * [Decreto-Lei n.º 15/93/M](https://web.archive.org/web/20250421233338/https://bo.io.gov.mo/bo/i/93/17/declei15.asp)
        * [Decreto-Lei n.º 7/97/M](https://web.archive.org/web/20250421102457/https://bo.io.gov.mo/bo/i/97/11/declei07.asp)
        * [Portaria n.º 85/97/M](https://web.archive.org/web/20250421075645/https://bo.io.gov.mo/bo/i/97/15/port85.asp)
        * [Portaria n.º 242/98/M](https://web.archive.org/web/20250421194357/https://bo.io.gov.mo/bo/i/98/48/port242.asp)
        * [Regulamento Administrativo n.º 4/1999](https://web.archive.org/web/20250421071204/https://bo.io.gov.mo/bo/i/1999/01/regadm04.asp)
        * [Regulamento Administrativo n.º 5/1999](https://web.archive.org/web/20240529183711/https://bo.io.gov.mo/bo/i/1999/01/regadm05.asp)
        * [Ordem Executiva n.º 60/2000](https://web.archive.org/web/20250421064911/https://bo.io.gov.mo/bo/i/2000/40/ordem60.asp)
        * [Lei n.º 27/2024](https://web.archive.org/web/20250404201226/https://bo.io.gov.mo/bo/i/2025/01/lei27.asp)

    Mandatory Holidays References:
        * [Decreto-Lei n.º 101/84/M](https://web.archive.org/web/20240518230957/https://bo.io.gov.mo/bo/i/84/35/declei101.asp)
        * [Decreto-Lei n.º 24/89/M](https://web.archive.org/web/20241215223116/https://bo.io.gov.mo/bo/i/89/14/declei24.asp)
        * [Lei n.º 8/2000](https://web.archive.org/web/20240303230903/https://bo.io.gov.mo/bo/i/2000/19/lei08.asp)
        * [Lei n.º 7/2008](https://web.archive.org/web/20250403121227/https://bo.io.gov.mo/bo/i/2008/33/lei07.asp)

    Cross-Checking:
        * [Public Holidays for 2017-2025](https://web.archive.org/web/20210509143637/https://www.gov.mo/en/public-holidays/year-2017/)
        * [Public Holidays for 2005-2018](https://web.archive.org/web/20171207162948/http://portal.gov.mo/web/guest/info_detail?infoid=1887061)
        * [Mandatory Holidays for 2009-2029](https://web.archive.org/web/20250421090753/https://www.dsal.gov.mo/pt/standard/holiday_table.html)
    MOzh_MOu   %s（推定）i  )IMr   r   )zConcelho das Ilhasu	   海島市u	   海岛市zConcelho de Macauu	   澳門市u	   澳门市)en_MOen_USpt_MOthzh_CNr   c                 &   t        j                  |        t        j                  |        t        j                  |        t	        j                  | t
               |j                  dt               |j                  dd       t        |   |i | y )Nobserved_ruleobserved_since  )	r   __init__r   r   r   MacauStaticHolidays
setdefaultr   super)selfargskwargs	__class__s      X/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/macau.pyr!   zMacau.__init__U   sr    ((.""4(&&t,&9:/+BC*D1$)&)    c                    | j                   dk  ry| j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d	             | j                   d
k\  r| j                  t        d             | j                   dk  r5| j                  t        d             | j                  t        d             y| j                  t        d             | j                  t        d             y)u  Macau Mandatory (Statutory) Holidays.

        Decreto-Lei n.º 101/84/M - Earliest Available Version Online.
        Decreto-Lei n.º 24/89/M - Added Ching Ming Festival.
        Lei n.º 8/2000 - Removed Day of Portugal
                       - Added Macao S.A.R. Establishment Day.
                       - Moved Mid-Autumn to Day following Mid-Autumn to match Public Holidays.
        Lei n.º 7/2008 - Consolidated with other laws, reaffirming 2000 Amendment list.
        i  N   元旦   農曆正月初一   農曆正月初二   農曆正月初三	   勞動節	   重陽節   中華人民共和國國慶日i  	   清明節  $   葡國日、賈梅士日暨葡僑日u	   中秋節   中秋節翌日$   澳門特別行政區成立紀念日)_year_add_new_years_daytr_add_chinese_new_years_day_add_chinese_new_years_day_two _add_chinese_new_years_day_three_add_labor_day_add_double_ninth_festival_add_holiday_oct_1_add_qingming_festival_add_holiday_jun_10_add_mid_autumn_festival _add_mid_autumn_festival_day_two_add_holiday_dec_20r%   s    r)   _populate_public_holidayszMacau._populate_public_holidays_   s)    :: 	8- 	''+?(@A 	++B/C,DE 	--b1E.FG 	B{O, 	'';8 	#C DE ::'';8
 ::$$R(N%OP ))"[/: 11"5F2GH $$R(N%OPr*   c                 |   | j                  t        d             | j                  t        d             | j                  t        d             | j	                  t        d             | j                  t        d             | j                  dk\  rt        d      n
t        d      }| j                  |       | j                  dk\  rt        d	      n
t        d
      }| j                  |       | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             | j                  t        d             t        d      }| j                  dk\  r| j!                  |       n2| j                  dk(  r| j#                  |       n| j%                  |       | j                  dk\  rt        d      }n&| j                  dk(  rt        d      }nt        d      }| j'                  |       | j                  dk\  rt        d      n
t        d      }| j)                  |       | j                  dk  r4| j+                  t        d             | j-                  t        d             | j                  dk  r| j/                  t        d             | j                  dk  ri| j1                  t        d             | j3                  t        d              | j5                  t        d!             | j7                  t        d"             y&| j9                  t        d#             | j;                  t        d$             | j=                  t        d%             y&)'zMacau General Holidays.r,   r-   r.   r/   r3     u   耶穌受難日u   聖周星期五   復活節前日u   聖周星期六r0   	   端午節r1   r6   r2   	   追思節   聖母無原罪瞻禮   冬至i     聖誕節前日r4   u   聖誕節前夕u   聖誕前夕	   聖誕節u   聖誕i  u   聖母升天u	   諸聖節i  u   基督聖體聖血節u	   自由日r5   u   葡萄牙共和國國慶日u   恢復獨立紀念日	   佛誕節$   中華人民共和國國慶日翌日r7   N)r9   r:   r;   r<   r=   rA   r8   _add_good_friday_add_holy_saturdayr>   _add_dragon_boat_festivalr?   rD   r@   _add_all_souls_day_add_immaculate_conception_day_add_dongzhi_festival_add_holiday_dec_21_add_holiday_dec_22_add_christmas_eve_add_christmas_day_add_assumption_of_mary_day_add_all_saints_day_add_corpus_christi_day_add_holiday_apr_25rB   _add_holiday_oct_5_add_holiday_dec_1_add_chinese_birthday_of_buddha_add_holiday_oct_2rE   r%   names     r)   _populate_optional_holidaysz!Macau._populate_optional_holidays   s5    	8- 	''+?(@A 	++B/C,DE 	--b1E.FG 	##B{O4 zzT!  ! %& 	 	d# zzT!  ! %& 	 	% 	B{O, 	&&r+7 	'';8 	--b1B.CD 	#C DE 	;0 	++B/F,GH (|::&&t,ZZ4$$T*$$T* ::'(DZZ4'(D n%D% zzT! {O H 	 	% ::,,R-?@ $$R_5 ::((,C)DE ::$$R_5 $$R(N%OP ##B'D$EF ##B'>$?@ 00KA ##B'M$NO $$R(N%OPr*   c                 h	   | j                   dk  ry t               }| j                  d      }|j                  | j	                  t        d                   | j                   dvr#| j                  || j                  d      z         | j                   dv r| j                  t        d             | j                   dv r| j                  t        d	             | j                   d
k\  r{|j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j                  t        d                   |j                  | j!                  t        d                   |j                  | j#                  t        d                   |j                  | j%                  t        d                   |j                  | j'                  t        d                   |j                  | j)                  t        d                   |j                  | j+                  t        d                   |j                  | j-                  t        d                   |j                  | j/                  t        d                   |j                  | j1                  t        d                   |j                  | j3                  t        d                   | j                   dk\  r1| j                   dvr#| j5                  || j                  d      z         | j6                  r| j                   d k\  r| j                  d!      n| j                  d"      | _        | j                   d k\  r| j                  d#      n| j                  d$      | _        | j                   d%k  rt<        nt>        | _         | jC                  |d&'       y y )(Ni  u   %s（下午）r,   >                   u   農曆除夕>   rj   rk   rl   rn         u   農曆正月初四>   rq     rr   rs   u   農曆正月初五i  r-   r.   r/   rJ   r3   r0   rQ   rK   r6   r1   r2   rR   rL   rM   r7   rN   rO   rP   rk   >     r    rm   ro   rr   rp      除夕  u   %s的補假u   %s後首個工作日u   %s的補假（推定）u    %s後首個工作日（推定）r    T)multiple)"r8   setr:   addr9   _add_chinese_new_years_eve_add_chinese_new_years_day_four_add_chinese_new_years_day_fiver;   r<   r=   rT   rA   r>   rc   rU   rD   r?   r@   rd   rV   rW   rE   rX   r[   r\   _add_new_years_eveobservedobserved_labelobserved_estimated_labelr   r   _observed_rule_populate_observed)r%   dts_observedbegin_time_labels      r)   _populate_government_holidaysz#Macau._populate_government_holidays  s    ::u  77#34 	00H>?::MM++,<tww~?V,VW::CC004H1IJ::11004H1IJ::T<<R@T=UVW T@@DXAYZ[ TBB2FZC[\] 	004E1FGH 	44R_EF 	,,R_=> 	==boNO 	77;HI 	>>rBS?TUV 	88KIJ 	004T1UVW 	004Z1[\] 	00KAB 	<<R@W=XYZ 	11"5[2\]^ 	33BxLAB 	004E1FGH 	00KAB ::$**4X"X##$4twwx7H$HI== ::% & WW34  ::% 12 WW?@ ) (,zzT'9#?V  ##L4#@' r*   c                     | j                   dk  r>t        d      }| j                   dk  r| j                  |       y | j                  |       y y )Nr4   u   海島市日i  )r8   r:   _add_holiday_nov_30_add_holiday_jul_13re   s     r)   $_populate_subdiv_i_optional_holidaysz*Macau._populate_subdiv_i_optional_holidays  sG     ::n%DzzT!((.((. r*   c                 X    | j                   dk  r| j                  t        d             y y )Nr4   u   澳門市日)r8   _add_holiday_jun_24r:   rF   s    r)   $_populate_subdiv_m_optional_holidaysz*Macau._populate_subdiv_m_optional_holidays  s&    ::$$R%78 r*   )__name__
__module____qualname____doc__countrydefault_languager:   estimated_label
start_yearsubdivisionssubdivisions_aliasesr   r	   r
   supported_categoriessupported_languagesr!   rG   rg   r   r   r   __classcell__)r(   s   @r)   r   r      s    4 G)*OJL "  '&9M*6QpDQLiAV	/9r*   r   c                       e Zd Zy)r   Nr   r   r    r*   r)   r   r         r*   r   c                       e Zd Zy)MACNr   r   r*   r)   r   r     r   r*   r   c                   ,   e Z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	 ed
      fede
fedeffede	fedefdZdedefiZedefedeffedefed ed      fed ed      fedeffedefedefdZy)r"   ar  Macau special holidays.

    Special General and Government Holidays:
        * <https://web.archive.org/web/20240421052702/https://www.io.gov.mo/pt/legis/rec/111020>

    Special Mandatory (Statutory) Holidays:
        * <https://web.archive.org/web/20250421090753/https://www.dsal.gov.mo/pt/standard/holiday_table.html>

    Cross-Checking:
        * [Public Holidays for 2017-2025](https://web.archive.org/web/20210509143637/https://www.gov.mo/en/public-holidays/year-2017/)
        * [Public Holidays for 2005-2018](https://web.archive.org/web/20171207162948/http://portal.gov.mo/web/guest/info_detail?infoid=1887061)
    u   額外公眾假期u   額外公眾半日假uN   中國人民抗日戰爭暨世界反法西斯戰爭勝利七十周年紀念日u<   中華人民共和國國慶日翌日及中秋節翌日重疊u6   中華人民共和國國慶日翌日及重陽節重疊u6   中華人民共和國國慶日及中秋節翌日重疊rv      u   額外政府假期         )i  rm   rq   rw   rt            uH   澳門回歸祖國暨中華人民共和國澳門特別行政區成立日   uN   澳門回歸祖國暨中華人民共和國澳門特別行政區成立日翌日   )i  r4   rI   rt   N)r   r   r   r   r:   name_fulldayname_halfdayname_70th_war_of_resistance5name_mid_autumn_festival_day_2_national_day_2_overlap1name_double_ninth_festival_national_day_2_overlap3name_mid_autumn_festival_day_2_national_day_overlapname_new_years_ever   r   special_government_holidaysr   special_public_holidaysr   special_optional_holidaysr   r*   r)   r"   r"     sF    *+L -.L #%%u"v =?F=9 9;;s8t5 ;=@;7
 H B/01!HI"()
 AHIALM	# 	sA23
 "l#"l#

 "l# "bcde "bijk"l#	
 A|$A23!!r*   r"   N)r   r:   holidays.calendars.gregorianr   r   r   r   holidays.constantsr   r	   r
   holidays.groupsr   r   r   r   holidays.observed_holiday_baser   r   r   r   r   r   r"   r   r*   r)   <module>r      sj    " ; ; ; ;  y9y9x	 		% 	I Ir*   