
    ihB                     v   U d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 e
eeedf   f   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(i d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJi dKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdli dmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddēddƓddȓddʓdd̓ddΓddГddғi ddԓdd֓ddؓddړddܓddޓddddddddddddddddddddddi dddddddddddd ddddddddd	d
dddddddddddd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/d0d1d2d3d4d5d6d7d8i d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZi d[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|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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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
Zeed<   ddddddZeed<    e       Z G d d      Zy(      N)Iterable)RLock)AnyOptional)HolidayBase.afghanistan)AfghanistanAFAFGaland_islands)AlandIslandsAXALA
HolidaysAXalbania)AlbaniaALALBalgeria)AlgeriaDZDZAamerican_samoa)AmericanSamoaASASM
HolidaysASandorra)AndorraADANDangola)AngolaAOAGOanguilla)AnguillaAIAIA
antarctica)
AntarcticaAQATAantigua_and_barbuda)AntiguaAndBarbudaAGATG	argentina)	ArgentinaARARGarmenia)ArmeniaAMARMaruba)ArubaAWABW	australia)	AustraliaAUAUSaustria)AustriaATAUT
azerbaijan)
AzerbaijanAZAZEbahamas)BahamasBSBHSbahrain)BahrainBHBAH
bangladesh)
BangladeshBDBGDbarbados)BarbadosBBBRBbelarus)BelarusBYBLRbelgium)BelgiumBEBELbelize)BelizeBZBLZbenin)BeninBJBENbermuda)BermudaBMBMUbhutan)BhutanBTBTNbolivia)BoliviaBOBOLbonaire_sint_eustatius_and_saba)BonaireSintEustatiusAndSabaBQBESbosnia_and_herzegovina)BosniaAndHerzegovinaBABIHbotswana)BotswanaBWBWAbouvet_island)BouvetIslandBVBVTbrazil)BrazilBRBRAbritish_indian_ocean_territory)BritishIndianOceanTerritoryIOIOTbritish_virgin_islands)BritishVirginIslandsVGVGBbrunei)BruneiBNBRNbulgaria)BulgariaBGBLGburkina_faso)BurkinaFasoBFBFAburundi)BurundiBIBDI
cabo_verde)	CaboVerdeCVCPVcambodia)CambodiaKHKHMcameroon)CameroonCMCMRcanada)CanadaCACANcayman_islands)CaymanIslandsKYCYMcentral_african_republic)CentralAfricanRepublicCFCAFchad)ChadTDTCDchile)ChileCLCHLchina)ChinaCNCHNchristmas_island)ChristmasIslandCXCXRcocos_islands)CocosIslandsCCCCKcolombia)ColombiaCOCOLcomoros)ComorosKMCOMcongo)CongoCGCOGcook_islands)CookIslandsCKCOK
costa_rica)	CostaRicaCRCRIcroatia)CroatiaHRHRVcuba)CubaCUCUBcuracao)CuracaoCWCUWcyprus)CyprusCYCYPczechia)CzechiaCZCZEdenmark)DenmarkDKDNKdjibouti)DjiboutiDJDJIdominica)DominicaDMDMAdominican_republic)DominicanRepublicDODOMdr_congo)DRCongoCDCODecuador)EcuadorECECUegypt)EgyptEGEGYjordan)JordanJOJORel_salvador)
ElSalvadorSVSLVequatorial_guinea)EquatorialGuineaGQGNQeritrea)EritreaERERIestonia)EstoniaEEESTeswatini)EswatiniSZSZW	Swazilandethiopia)EthiopiaETETHfalkland_islands)FalklandIslandsFKFLKfaroe_islands)FaroeIslandsFOFROfiji)FijiFJFJIfinland)FinlandFIFINfrance)FranceFRFRAfrench_guiana)FrenchGuianaGFGUF
HolidaysGFfrench_polynesia)FrenchPolynesiaPFPYF
HolidaysPFfrench_southern_territories)FrenchSouthernTerritoriesTFATF
HolidaysTFgabon)GabonGAGABgambia)GambiaGMGMBgeorgia)GeorgiaGEGEOgermany)GermanyDEDEUghana)GhanaGHGHA	gibraltar)	GibraltarGIGIBgreece)GreeceGRGRC	greenland)	GreenlandGLGRLgrenada)GrenadaGDGRD
guadeloupe)
GuadeloupeGPGLP
HolidaysGPguam)GuamGUGUM
HolidaysGU	guatemala)	GuatemalaGTGUAguernsey)GuernseyGGGGYguinea)GuineaGNGINguinea_bissau)GuineaBissauGWGNBguyana)GuyanaGYGUYhaiti)HaitiHTHTI!heard_island_and_mcdonald_islands)HeardIslandAndMcDonaldIslandsHMHMDhonduras)HondurasHNHNDhongkong)HongKongHKHKGhungary)HungaryHUHUNiceland)IcelandISISLindia)IndiaININD	indonesia)	IndonesiaIDIDNiran)IranIRIRNiraq)IraqIQIRQireland)IrelandIEIRLisle_of_man)	IsleOfManIMIMNisrael)IsraelILISRitaly)ItalyITITAivory_coast)
IvoryCoastCICIVjamaica)JamaicaJMJAMjapan)JapanJPJPNjersey)JerseyJEJEY
kazakhstan)
KazakhstanKZKAZkenya)KenyaKEKENkiribati)KiribatiKIKIRkuwait)KuwaitKWKWT
kyrgyzstan)
KyrgyzstanKGKGZlaos)LaosLALAOlatvia)LatviaLVLVAlebanon)LebanonLBLBNlesotho)LesothoLSLSOliberia)LiberiaLRLBRlibya)LibyaLYLBYliechtenstein)LiechtensteinLILIE	lithuania)	LithuaniaLTLTU
luxembourg)
LuxembourgLULUXmacau)MacauMOMAC
madagascar)
MadagascarMGMDGmalawi)MalawiMWMWImalaysia)MalaysiaMYMYSmaldives)MaldivesMVMDVmali)MaliMLMLImalta)MaltaMTMLTmarshall_islands)MarshallIslandsMHMHL
HolidaysMH
martinique)
MartiniqueMQMTQ
HolidaysMQ
mauritania)
MauritaniaMRMRT	mauritius)	MauritiusMUMUSmayotte)MayotteYTMYT
HolidaysYTmexico)MexicoMXMEX
micronesia)
MicronesiaFMFSMmoldova)MoldovaMDMDAmonaco)MonacoMCMCOmongolia)MongoliaMNMNG
montenegro)
MontenegroMEMNE
montserrat)
MontserratMSMSRmorocco)MoroccoMAMOR
mozambique)
MozambiqueMZMOZmyanmar)MyanmarMMMMRnamibia)NamibiaNANAMnauru)NauruNRNRUnepal)NepalNPNPLnetherlands)NetherlandsNLNLDnew_caledonia)NewCaledoniaNCNCL
HolidaysNCnew_zealand)
NewZealandNZNZL	nicaragua)	NicaraguaNINICniger)NigerNENERnigeria)NigeriaNGNGAniue)NiueNUNIUnorfolk_island)NorfolkIslandNFNFKnorth_korea)
NorthKoreaKPPRKnorth_macedonia)NorthMacedoniaMKMKDnorthern_mariana_islands)NorthernMarianaIslandsMPMNP
HolidaysMPnorway)NorwayNONORoman)OmanOMOMNpakistan)PakistanPKPAKpalau)PalauPWPLW	palestine)	PalestinePSPSEpanama)PanamaPAPANpapua_new_guinea)PapuaNewGuineaPGPNGparaguay)ParaguayPYPRYperu)PeruPEPERphilippines)PhilippinesPHPHLpitcairn_islands)PitcairnIslandsPNPCNpoland)PolandPLPOLportugal)PortugalPTPRTpuerto_rico)
PuertoRicoPRPRI
HolidaysPRqatar)QatarQAQATreunion)ReunionREREU
HolidaysREromania)RomaniaROROUrussia)RussiaRURUSrwanda)RwandaRWRWAsaint_barthelemy)SaintBarthelemyBLBLM
HolidaysBL+saint_helena_ascension_and_tristan_da_cunha)%SaintHelenaAscensionAndTristanDaCunhaSHSHNsaint_kitts_and_nevis)SaintKittsAndNevisKNKNAsaint_lucia)
SaintLuciaLCLCAsaint_martin)SaintMartinMFMAF
HolidaysMFsaint_pierre_and_miquelon)SaintPierreAndMiquelonPMSPM
HolidaysPM saint_vincent_and_the_grenadines)SaintVincentAndTheGrenadinesVCVCTsamoa)SamoaWSWSM
san_marino)	SanMarinoSMSMRsao_tome_and_principe)SaoTomeAndPrincipeSTSTPsaudi_arabia)SaudiArabiaSASAUsenegal)SenegalSNSENserbia)SerbiaRSSRB
seychelles)
SeychellesSCSYCsierra_leone)SierraLeoneSLSLE	singapore)	SingaporeSGSGPsint_maarten)SintMaartenSXSXMslovakia)SlovakiaSKSVKslovenia)SloveniaSISVNsolomon_islands)SolomonIslandsSBSLBsomalia)SomaliaSOSOMsouth_africa)SouthAfricaZAZAF,south_georgia_and_the_south_sandwich_islands)&SouthGeorgiaAndTheSouthSandwichIslandsGSSGSsouth_korea)
SouthKoreaKRKORKoreasouth_sudan)
SouthSudanSSSSDspain)SpainESESP	sri_lanka)SriLankaLKLKAsudan)SudanSDSDNsuriname)SurinameSRSURsvalbard_and_jan_mayen)SvalbardAndJanMayenSJSJM
HolidaysSJsweden)SwedenSESWEswitzerland)SwitzerlandCHCHEsyrian_arab_republic)SyrianArabRepublicSYSYRtaiwan)TaiwanTWTWN
tajikistan)
TajikistanTJTJKtanzania)TanzaniaTZTZAthailand)ThailandTHTHAtimor_leste)
TimorLesteTLTLStogo)TogoTGTGOtokelau)TokelauTKTKLtonga)TongaTOTONtrinidad_and_tobago)TrinidadAndTobagoTTTTOtunisia)TunisiaTNTUNturkey)TurkeyTRTURturkmenistan)TurkmenistanTMTKMturks_and_caicos_islands)TurksAndCaicosIslandsTCTCAtuvalu)TuvaluTVTUVuganda)UgandaUGUGAukraine)UkraineUAUKRunited_arab_emirates)UnitedArabEmiratesAEAREunited_kingdom)UnitedKingdomGBGBRUK$united_states_minor_outlying_islands) UnitedStatesMinorOutlyingIslandsUMUMI
HolidaysUMunited_states_virgin_islands)UnitedStatesVirginIslandsVIVIR
HolidaysVIunited_states)UnitedStatesUSUSA)UruguayUYURY)
UzbekistanUZUZB)VanuatuVUVTU)VaticanCityVAVAT)	VenezuelaVEVEN)VietnamVNVNM)WallisAndFutunaWFWLF
HolidaysWF)YemenYEYEM)ZambiaZMZMB)ZimbabweZWZWE)
uruguay
uzbekistanvanuatuvatican_city	venezuelavietnamwallis_and_futunayemenzambiazimbabwe	COUNTRIES)BrasilBolsaBalcaoBVMFB3)EuropeanCentralBankXECBECBTAR)ICEFuturesEuropeIFEU)NationalStockExchangeOfIndiaXNSENSE)NewYorkStockExchangeXNYSNYSE)brasil_bolsa_balcaoeuropean_central_bankice_futures_europe national_stock_exchange_of_indiany_stock_exchange	FINANCIALc                       e Zd ZdZdZdeddf fdZdefdZdede	e
   fd	Zdefd
Zde	e   fdZe	 	 	 ddededededee   f
d       Zeddedee   fd       Zeddedee   fd       Zedededdfd       Z xZS )EntityLoaderz4Country and financial holidays entities lazy loader.)entityentity_namemodule_namepathreturnNc                     |rt        d      |j                  d      }d| _        |d   | _        dj	                  |dd       | _        t        |   |i | y)zSet up a lazy loader.zThis is a holidays entity loader class. For entity inheritance purposes please import a class you want to derive from directly: e.g., `from holidays.countries import Entity` or `from holidays.financial import Entity`..Nr   )	TypeErrorsplitr  r  joinr  super__init__)selfr  argskwargsentity_path	__class__s        Q/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/registry.pyr$  zEntityLoader.__init__1  sd    ;  jjo&r?88K"$56$)&)    c                 2    | j                         } ||i |S )z.Create a new instance of a lazy-loaded entity.)
get_entity)r%  r&  r'  clss       r*  __call__zEntityLoader.__call__D  s    ooD#F##r+  namec                 :    | j                         }t        ||      S )z)Return attribute of a lazy-loaded entity.)r-  getattr)r%  r0  r.  s      r*  __getattr__zEntityLoader.__getattr__I  s    oosD!!r+  c                 ^    d| j                          d| j                   d| j                   dS )z0Return lazy loader object string representation.zA lazy loader for z". For inheritance please use the 'r  z' class directly.)r-  r  r  r%  s    r*  __str__zEntityLoader.__str__N  s?     !!2 3 4(()4+;+;*<<MO	
r+  c                    | j                   St        5  t        t        j                  | j
                        | j                        | _         ddd       | j                   S | j                   S # 1 sw Y   | j                   S xY w)zReturn lazy-loaded entity.N)r  IMPORT_LOCKr2  	importlibimport_moduler  r  r5  s    r*  r-  zEntityLoader.get_entityU  sc    ;; %i&=&=d>N>N&OQUQaQab  {{t{{  {{s   9A,,B 	containerinclude_aliasesmax_code_lengthmin_code_lengthc              #      K   | j                         D ]+  }|dd  D ]!  }|t        |      cxk  r|k  rn n| |r! + - y w)N   )valueslen)r;  r<  r=  r>  entitiescodes         r*  _get_entity_codeszEntityLoader._get_entity_codes_  sI      "((*H "c$iB?BJ ' % +s
   9AAc                 8    t         j                  t        |       S )zGet supported country codes.

        :param include_aliases:
            Whether to include entity aliases (e.g. GBR and UK for GB,
            UKR for UA, USA for US, etc).
        r<  )r  rE  r   rG  s    r*  get_country_codeszEntityLoader.get_country_codesp  s"     --+ . 
 	
r+  c                 :    t         j                  t        | d      S )zGet supported financial codes.

        :param include_aliases:
            Whether to include entity aliases (e.g. B3 for BVMF,
            TAR for ECB, NYSE for XNYS, etc).
           )r<  r=  )r  rE  r  rG  s    r*  get_financial_codesz EntityLoader.get_financial_codes}  s%     --+ . 
 	
r+  prefixscopec                     | dk(  rt         nt        }|j                         D ]7  \  }}|j                  |D ci c]  }|t	        d|  d| d|        c}       9 yc c}w )z#Load country or financial entities.	countriesz	holidays.r  N)r   r  itemsupdater  )rL  rM  entity_mappingmodulerC  r  s         r*  loadzEntityLoader.load  su     '-&; . 4 4 6FHLL #+"* L9VHAfXQvh)OPP"* !7s   A
)T      )T)__name__
__module____qualname____doc__	__slots__strr$  r   r/  r   r   r3  r6  r-  staticmethodRegistryDictboolintr   rE  rH  rK  dictrT  __classcell__)r)  s   @r*  r  r  ,  s$   >8I*S *d *&$; $
" " "

 
H[1   !%  	  	
 
#   

4 

8C= 

 

 
T 
Xc] 
 
 	S 	 	$ 	 	r+  r  )r9  collections.abcr   	threadingr   typingr   r   holidays.holiday_baser   ra  r\  tupler^  r   __annotations__r  r8  r   r+  r*  <module>rj     s>    $    -CsCx()F/F@F 'F '	F
 BF 'F %F )F -F =F +F 'F #F +F 'F  -!F" '#F$ '%F& -'F( ))F* '+F, '-F. %/F0 #1F2 '3F4 %5F6 '7F8 &'S9F: C;F< )=F> 2?F@ %AFB %&RCFD CEFF %GFH )IFJ 0KFL 'MFN ,OFP )QFR )SFT %UFV 4WFX  GYFZ ![F\ #]F^ #_F` 8aFb 2cFd )eFf 'gFh #iFj 0kFl ,mFn 'oFp !qFr 'sFt %uFv 'wFx 'yFz ){F| )}F~ <F@ (AFB 'CFD #EFF %GFH .IFJ :KFL 'MFN 'OFP 6QFR )SFT 8UFV 2WFX !YFZ '[F\ %]F^ @_F` FaFb "#[cFd #eFf %gFh 'iFj 'kFl #mFn +oFp %qFr +sFt 'uFv ;wFx /yFz +{F| )}F~ %F@ 2AFB %CFD #EFF ()WGFH )IFJ )KFL 'MFN 'OFP #QFR +SFT !UFV !WFX 'YFZ -[F\ %]F^ #_F` .aFb 'cFd #eFf %gFh -iFj #kFl )mFn %oFp -qFr !sFt %uFv 'wFx 'yFz '{F| #}F~ 3F@ +AFB -CFD #EFF -GFH %IFJ )KFL )MFN !OFP #QFR FSFT ;UFV -WFX +YFZ 5[F\ %]F^ -_F` 'aFb %cFd )eFf -gFh -iFj 'kFl -mFn 'oFp 'qFr #sFt #uFv /wFx @yFz .{F| +}F~ #F@ 'AFB !CFD 4EFF .GFH 6IFJ  UKFL %MFN !OFP )QFR #SFT +UFV %WFX 7YFZ )[F\ !]F^ /_F` 8aFb %cFd )eFf <gFh #iFj 5kFl 'mFn %oFp %qFr FsFt 2 4uF~ @F@ .AFB >CFD  !VEFF '(UGFH #IFJ ,KFL @MFN 0OFP 'QFR %SFT -UFV 0WFX +YFZ 0[F\ )]F^ )_F` 6aFb 'cFd 0eFf 3 5gFp 7qFr .sFt #uFv *wFx #yFz ){F| P}F~ %F@ /AFB ?CFD %EFF -GFH )IFJ )KFL .MFN !OFP 'QFR #SFT =UFV 'WFX %YFZ 1[F\  F]F^ %_F` %aFb 'cFd ?eFf :gFh + -iFt #$\uFv 2wFx (-'0+'G#%)KF	< FR ?J6(WA	<  gi ir+  