grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´išã@sêddlZddlmZmZgd¢Zdd„Zdd„Zdd „Zd d „Zd d „Z e ƒZ Gdd„dƒZ Gdd„de ƒZdZGdd„deƒZGdd„ded�ZGdd„deeƒZdd„ZGdd„deƒZGdd„deeƒZdd „Zd!d"„Zd#d$„ZdS)%éN)ÚMappingProxyTypeÚDynamicClassAttribute)ÚEnumMetaÚEnumÚIntEnumÚFlagÚIntFlagÚautoÚuniquecCst|dƒpt|dƒpt|dƒS)NÚ__get__Ú__set__Ú __delete__)Úhasattr)Úobj©rú/usr/lib64/python3.9/enum.pyÚ_is_descriptor s  ÿýrcCsLt|ƒdkoJ|dd…|dd…ko.dknoJ|ddkoJ|ddkS)NéééþÿÿÿÚ__Ú_éýÿÿÿ©Úlen©ÚnamerrrÚ _is_dunders &ÿ þ ürcCsLt|ƒdkoJ|d|dko&dknoJ|dd…dkoJ|dd…dkS)NrréÿÿÿÿrérrrrrrÚ _is_sunder!s ÿþür cCsTd|f}t|ƒdkrL| |¡rL|t|ƒdkrL|ddksH|ddkrLdSdSdS)Nz_%s__érrrTF)rÚ startswith)Úcls_namerÚpatternrrrÚ _is_private,s  ÿþý ü ür%cCsdd„}||_d|_dS)NcSstd|ƒ‚dS)Nz%r cannot be pickled)Ú TypeError©ÚselfÚprotorrrÚ_break_on_call_reduce=sz6_make_class_unpicklable.._break_on_call_reducez )Ú __reduce_ex__Ú __module__)Úclsr*rrrÚ_make_class_unpicklable9sr.c@seZdZeZdS)r N)Ú__name__r,Ú __qualname__Ú _auto_nullÚvaluerrrrr Csr cs(eZdZ‡fdd„Z‡fdd„Z‡ZS)Ú _EnumDictcs&tƒ ¡g|_g|_g|_d|_dS)NF)ÚsuperÚ__init__Ú _member_namesÚ _last_valuesÚ_ignoreÚ _auto_called©r(©Ú __class__rrr5Qs  z_EnumDict.__init__cs�t|j|ƒr*ddl}|jd|ftdd�t|ƒr¾|dvrBtdƒ‚|dkrf|jrXtdƒ‚t |d |ƒnV|d kr¼t |t ƒrŠ|  d d ¡  ¡}nt|ƒ}||_t|ƒt|jƒ@}|r¼td |fƒ‚nÀt|ƒrÔ|dkrÒd}nª||jvrìtd|ƒ‚n’||jvrøn†t|ƒ�s~||v�r td|||fƒ‚t |tƒ�rf|jtk�r`| |dt|jƒ|jdd…¡|_d|_|j}|j |¡|j |¡tƒ ||¡dS)Nrz@private variables, such as %r, will be normal attributes in 3.10r)Ú stacklevel)Ú_order_Ú_create_pseudo_member_Ú_generate_next_value_Ú _missing_Ú_ignore_z(_names_ are reserved for future Enum user@z4_generate_next_value_ must be defined before membersÚ_generate_next_valuerBú,ú z-_ignore_ cannot specify already set names: %rÚ __order__r>zAttempted to reuse key: %rz%r already defined as: %rrT)r%Ú _cls_nameÚwarningsÚwarnÚDeprecationWarningr Ú ValueErrorr9r&ÚsetattrÚ isinstanceÚstrÚreplaceÚsplitÚlistr8Úsetr6rrr r2r1rCrr7Úappendr4Ú __setitem__)r(Úkeyr2rHÚalreadyr;rrrTXsf ÿü ÿÿ       ü  z_EnumDict.__setitem__)r/r,r0r5rTÚ __classcell__rrr;rr3Js r3csìeZdZedd„ƒZ‡fdd„Zdd„Zd,ddddd œd d „Zd d „Z‡fdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zedd„ƒZdd„Zdd„Z‡fd d!„Zddddd œd"d#„Zd-d$d%„Zed&d'„ƒZed(d)„ƒZed*d+„ƒZ‡ZS).rcKsD| ||¡tƒ}||_| ||¡\}}|dur@t|ddƒ|d<|S)Nr@)Ú_check_for_existing_membersr3rGÚ _get_mixins_Úgetattr)Úmetaclsr-ÚbasesÚkwdsÚ enum_dictÚ member_typeÚ first_enumrrrÚ __prepare__¤s ÿzEnumMeta.__prepare__c s¸ˆ dg¡ d¡ˆd}|D]}ˆ |d¡q| ||¡\‰}| ˆˆ|¡\}} } ‡fdd„ˆjDƒ} ˆjD] } ˆ| =qnˆ dd¡} t| ƒddh@}|r®td d  |¡¡ƒ‚d ˆvr¾d ˆd <t ƒj |||ˆfi|¤Ž}g|_ i|_ ˆ|_d d „| ¡Dƒ}i|_d ˆv�r̈tu�rÌd}t‡fdd„|Dƒƒ�sÌdˆv�rFt|ƒn†d}|D]n}|jD]P‰ˆtu�rl�qXn:t‡fdd„|Dƒƒ�r�d}�qªndˆjv�rXd}�qª�qX|du�rN�q¾�qN|�rÌt|ƒˆjD�]*}| |}t|tƒ�sô|f}n|}ˆtu�r|f}| �s*||ƒ}t|dƒ�sb||_n8||g|¢RŽ}t|dƒ�sbˆtu�rX||_n ˆ|Ž|_|j}||_||_|j|Ž|j  ¡D]"\} }|j|jk�rˆ|}�q¸�qˆ|j  |¡||v�rÎt|||ƒ||j |<z||j|<Wnt�yúYn0�qÒdD]V} | ˆv�r�qt || ƒ}t ˆ| dƒ}t || dƒ}|du�r||u�rt|| |ƒ�qt!du�rz| �rr||_"t!j |_ | du�r´t| t#ƒ�r |  $dd¡ %¡} | |j k�r´tdƒ‚|S)NrBcsi|]}|ˆ|“qSrr)Ú.0Úk)Ú classdictrrÚ Åóz$EnumMeta.__new__..r>ÚmroÚzInvalid enum member name: {0}rDÚ__doc__zAn enumeration.cSs.h|]&}|j ¡D]\}}t|tƒr|’qqSr)Ú__dict__ÚitemsrMr)rbÚcrcÚvrrrÚ Ýs þz#EnumMeta.__new__..r+)Ú__getnewargs_ex__Ú__getnewargs__r+Ú __reduce__c3s|]}|ˆjvVqdS©N©rj©rbÚm)r_rrÚ ôrfz#EnumMeta.__new__..Ú__new__c3s|]}|ˆjvVqdSrrrsrt)ÚbaserrrvrfFTÚ_value_)Ú__repr__Ú__str__Ú __format__r+rEz#member order does not match _order_)&Ú setdefaultrSÚpoprYÚ _find_new_r6rRrKÚformatÚjoinr4rwÚ_member_names_Ú _member_map_Ú _member_type_rgÚ_value2member_map_ÚobjectÚanyr.Ú__mro__rjrMÚtuplerryÚ_name_Ú __objclass__r5rkrLr&rZrÚ__new_member__rNrOrP)r[r-r\rdr]ÚignorerUr`rwÚsave_newÚuse_argsÚ enum_membersrr>Ú invalid_namesÚ enum_classÚdynamic_attributesÚmethodsÚsabotageÚchainÚ member_namer2ÚargsÚ enum_memberÚcanonical_memberÚ class_methodÚ obj_methodÚ enum_methodr;)rxrdr_rrw³sÄÿ   ÿÿ                                zEnumMeta.__new__cCsdS)NTrr:rrrÚ__bool__`szEnumMeta.__bool__Nr©ÚmoduleÚqualnameÚtypeÚstartcCs*|dur| ||¡S|j||||||d�S)NrŸ)rwÚ_create_)r-r2Únamesr r¡r¢r£rrrÚ__call__fs úzEnumMeta.__call__cCs:t|tƒs$tdt|ƒj|jjfƒ‚t||ƒo8|j|jvS©Nz3unsupported operand type(s) for 'in': '%s' and '%s')rMrr&r¢r0r<rŠrƒ)r-ÚmemberrrrÚ __contains__‹s ÿÿzEnumMeta.__contains__cs(||jvrtd|jƒ‚tƒ |¡dS)Nz%s: cannot delete Enum member.)rƒÚAttributeErrorr/r4Ú __delattr__)r-Úattrr;rrr«’s zEnumMeta.__delattr__cCsgd¢|jS)N)r<riÚ __members__r,©r‚r:rrrÚ__dir__™sÿÿzEnumMeta.__dir__cCs>t|ƒrt|ƒ‚z |j|WSty8t|ƒd‚Yn0dSrr)rrªrƒÚKeyError©r-rrrrÚ __getattr__Ÿs   zEnumMeta.__getattr__cCs |j|Srr©rƒr±rrrÚ __getitem__¯szEnumMeta.__getitem__cs‡fdd„ˆjDƒS)Nc3s|]}ˆj|VqdSrrr³©rbr©r-rrrv¶rfz$EnumMeta.__iter__..r®r¶rr¶rÚ__iter__²szEnumMeta.__iter__cCs t|jƒSrr)rr‚r¶rrrÚ__len__¸szEnumMeta.__len__cCs t|jƒSrr)rrƒr¶rrrr­»szEnumMeta.__members__cCs d|jS)Nz )r/r¶rrrrzÅszEnumMeta.__repr__cs‡fdd„tˆjƒDƒS)Nc3s|]}ˆj|VqdSrrr³rµr¶rrrvÌrfz(EnumMeta.__reversed__..)Úreversedr‚r¶rr¶rÚ __reversed__ÈszEnumMeta.__reversed__cs0|j di¡}||vrtdƒ‚tƒ ||¡dS)NrƒzCannot reassign members.)rjÚgetrªr4Ú __setattr__)r-rr2Ú member_mapr;rrr¼ÎszEnumMeta.__setattr__c Csn|j}|dur|fn||f}| ||¡\} } | ||¡} t|tƒrR| dd¡ ¡}t|ttfƒrÂ|rÂt|dtƒrÂ|g} }g} t | ƒD]8\}}|   |||| dd…¡}|   |¡|  ||f¡qˆ|D].}t|tƒrä|||}}n|\}}|| |<qÆ|  |||| ¡}|du�r@zt  d¡jd}Wntttf�y>Yn0|du�rTt|ƒn||_|du�rj||_|S)NrDrErrr/)r<rYrarMrNrOrPr‰rQÚ enumerater@rSrwÚsysÚ _getframeÚ f_globalsrªrKr°r.r,r0)r-Ú class_namer¥r r¡r¢r£r[r\rr`rdÚoriginal_namesÚ last_valuesÚcountrr2Úitemr—Ú member_valuer’rrrr¤Ûs<            zEnumMeta._create_csšttj|ƒ}|rt|ƒ}n|}‡fdd„| ¡Dƒ}z|jdd„d�Wn"tyl|jdd„d�Yn0||||d�}t|_| |j ¡|||<|S)Ncs g|]\}}ˆ|ƒr||f‘qSrr)rbrr2©ÚfilterrrÚ !sþz&EnumMeta._convert_..cSs|d|dfS)Nrrr©ÚtrrrÚ'rfz$EnumMeta._convert_..)rUcSs|dS©NrrrËrrrrÍ*rf)r ) Úvarsr¿ÚmodulesrkÚsortr&Ú_reduce_ex_by_namer+Úupdater­)r-rr rÉÚsourceÚmodule_globalsÚmembersrrÈrÚ _convert_s   þ  zEnumMeta._convert_cCs<|D]2}|jD]&}t|tƒr|jrtd||jfƒ‚qqdS)Nz %s: cannot extend enumeration %r)rˆÚ issubclassrr‚r&r/)rÂr\r–rxrrrrX1s ÿÿz$EnumMeta._check_for_existing_memberscsT|s ttfS‡fdd„}|d}t|tƒs2tdƒ‚||ƒp._find_data_typerzZnew enumerations should be created as `EnumName([mixin_type, ...] [data_type,] enum_type)`zCannot extend enumerations)r†rrØr&r‚)rÂr\rÝr`r_rrÜrrY;s   zEnumMeta._get_mixins_c CsŽ| dd¡}|du}|durpdD]H}||fD].}t||dƒ}|ddjtjtjhvr,|}q\q,|dur qpq tj}|tjur€d}nd}|||fS)Nrw)rŒrwFT)r»rZrwr†r) rdr_r`rwrŽÚmethodÚpossibleÚtargetr�rrrrjs*   ü zEnumMeta._find_new_)N)N)r/r,r0Ú classmethodrarwržr¦r©r«r¯r²r´r·r¸Úpropertyr­rzrºr¼r¤r×Ú staticmethodrXrYrrWrrr;rr s4  .%   5 !  .rc@speZdZdd„Zdd„Zedd„ƒZdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z e dd„ƒZe dd„ƒZdS)rc Cs(t|ƒ|ur|Sz |j|WSty.Yn8tyd|j ¡D]}|j|krD|YSqDYn0zd}| |¡}Wn,ty¤}z|}d}WYd}~n d}~00zrt ||ƒrÀ|Wd}d}St d||j fƒ}|durè|durè|‚n|du�rtd|j |fƒ}||_ |‚Wd}d}n d}d}0dS)Nú%r is not a valid %szDerror in %s._missing_: returned %r instead of None or a valid member)r¢r…r°r&rƒÚvaluesryrAÚ ExceptionrMrKr0r/Ú __context__)r-r2r¨ÚexcÚresultÚeÚve_excrrrrwžsJ      ñ ÿÿÿz Enum.__new__c Cs4t|ƒD]&}z|dWSty,Yq0q|S©Nr)r¹r&)rr£rÅrÄÚ last_valuerrrr@Ës  zEnum._generate_next_value_cCsdSrrr)r-r2rrrrAÜszEnum._missing_cCsd|jj|j|jfS)Nú <%s.%s: %r>)r<r/rŠryr:rrrrzàsÿz Enum.__repr__cCsd|jj|jfS)Nú%s.%s)r<r/rŠr:rrrr{äsz Enum.__str__cs4‡fdd„ˆj ¡Dƒdd„ˆjDƒ}gd¢|S)Ncs2g|]*}|jD]}|ddkr|ˆjvr|‘qqS©rr)rjrƒ)rbr-rur:rrrÊës ýz Enum.__dir__..cSsg|]}|ddkr|‘qSrðrrtrrrrÊðrf)r<rir,)r<rgrj)r(Úadded_behaviorrr:rr¯çs  þûz Enum.__dir__cCsJt|ƒjtjtjfv}|jtus$|r2t}t|ƒ}n |j}|j}| ||¡Srr) r¢r{rrr„r†rNryr|)r(Ú format_specÚstr_overriddenr-Úvalrrrr|ós  zEnum.__format__cCs t|jƒSrr)ÚhashrŠr:rrrÚ__hash__sz Enum.__hash__cCs|j|jffSrr©r<ryr'rrrr+ szEnum.__reduce_ex__cCs|jSrr)rŠr:rrrrsz Enum.namecCs|jSrr©ryr:rrrr2sz Enum.valueN)r/r,r0rwr@rárArzr{r¯r|rör+rrr2rrrrr˜s-    r)Ú metaclassc@s eZdZdS)rN)r/r,r0rrrrrsrcCs|jSrrrr'rrrrÒ"srÒc@sleZdZdd„Zedd„ƒZedd„ƒZdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„ZdS)rc Csb|s|dur|SdSt|ƒD]8}zt|ƒ}WqVWqtyRtd|ƒd‚Yq0qd|dS)NrzInvalid Flag value: %rr)r¹Ú _high_bitrær&)rr£rÅrÄríÚhigh_bitrrrr@*s    zFlag._generate_next_value_cCs.|}|dkr|}| |¡}|dkr*|}|SrÎ)r?)r-r2Úoriginal_valueÚpossible_memberrrrrA=s zFlag._missing_cCsb|j |d¡}|dur^t||ƒ\}}|r:td||jfƒ‚t |¡}d|_||_|j  ||¡}|S©Nrä) r…r»Ú _decomposerKr0r†rwrŠryr})r-r2Ú pseudo_memberrÚ extra_flagsrrrr?Js zFlag._create_pseudo_member_cCs8t||jƒs&tdt|ƒj|jjfƒ‚|j|j@|jkSr§)rMr<r&r¢r0ry©r(Úotherrrrr©^s ÿÿzFlag.__contains__cCsV|j}|jdur$d|j|j|jfSt||jƒ\}}d|jd dd„|Dƒ¡|jfS)Nrîú|cSsg|]}t|jp|jƒ‘qSr©rNrŠryrtrrrrÊorfz!Flag.__repr__..)r<rŠr/ryrÿr�©r(r-rÖÚ uncoveredrrrrzhs ýz Flag.__repr__cCs€|j}|jdur d|j|jfSt||jƒ\}}t|ƒdkr^|djdur^d|j|djfSd|jd dd„|Dƒ¡fSdS)Nrïrrz%s.%rrcSsg|]}t|jp|jƒ‘qSrrrtrrrrÊ}rfz Flag.__str__..)r<rŠr/rÿryrr�rrrrr{ss þz Flag.__str__cCs t|jƒSrr)Úboolryr:rrrrž€sz Flag.__bool__cCs"t||jƒstS| |j|jB¡Srr©rMr<ÚNotImplementedryrrrrÚ__or__ƒs z Flag.__or__cCs"t||jƒstS| |j|j@¡Srrr rrrrÚ__and__ˆs z Flag.__and__cCs"t||jƒstS| |j|jA¡Srrr rrrrÚ__xor__�s z Flag.__xor__cCsNt|j|jƒ\}}| d¡}|jD] }||vr"|j|j@s"||B}q"| |¡SrÎ)rÿr<ry)r(rÖrÚinvertedrurrrÚ __invert__’s    zFlag.__invert__N)r/r,r0r@rárAr?r©rzr{ržr r r rrrrrr%s     rc@sPeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „ZeZ eZ eZ d d „Z d S)rcCs*t|tƒstd||jfƒ‚| |¡}|Srþ)rMÚintrKr0r?)r-r2Ú new_memberrrrrA s  zIntFlag._missing_cCs¬|j |d¡}|dur¨|g}t||ƒ\}}|rtt|ƒ}d|}||jvrZ||vrZ| |¡|| krjd}q*||N}q*t|ƒD]*}t ||¡}d|_||_ |j  ||¡}q||S)Nrr) r…r»rÿrúrSr¹rrwrŠryr})r-r2rÚneed_to_createrrÚbitÚ flag_valuerrrr?ªs( ÿ     zIntFlag._create_pseudo_member_cCs0t||jtfƒstS| |j| |¡jB¡}|Srr©rMr<rr ry)r(rrérrrr ËszIntFlag.__or__cCs,t||jtfƒstS| |j| |¡j@¡Srrrrrrrr ÑszIntFlag.__and__cCs,t||jtfƒstS| |j| |¡jA¡Srrrrrrrr ÖszIntFlag.__xor__cCs| |j¡}|Srrr÷)r(rérrrrßszIntFlag.__invert__N) r/r,r0rárAr?r r r Ú__ror__Ú__rand__Ú__rxor__rrrrrr›s  rcCs | ¡dSrì)Ú bit_length)r2rrrrúäsrúcCs^g}|j ¡D]"\}}||jkr| ||jf¡q|rZd dd„|Dƒ¡}td||fƒ‚|S)Nz, cSsg|]\}}d||f‘qS)z%s -> %sr)rbÚaliasrrrrrÊôrfzunique..z duplicate values found in %r: %s)r­rkrrSr�rK)Ú enumerationÚ duplicatesrr¨Ú alias_detailsrrrr ês  ÿÿr c Csè|}|dk}g}|D].}|j}|r||@|kr| |¡||M}q|sŒ|}|rŒdt|ƒ}||jvr€| |j|¡||M}||M}qL|sª||jvrª| |j|¡|jdd„dd�t|ƒdkrà|dj|krà| d¡||fS)NrrcSs|jSrrrø)rurrrrÍrfz_decompose..T)rUÚreverser)r2rSrúr…rÑrr~) Úflagr2Ú not_coveredÚnegativerÖr¨rÇÚtmprrrrrÿùs,       rÿ)r¿ÚtypesrrÚ__all__rrr r%r.r†r1r Údictr3rr¢rrrrÒrrrúr rÿrrrrÚs0     T{vI