f6BddlZddlZddlmZmZddlmZddl m Z gdZ dxZ xZ xZxZZGddeZGdd eZd Zd Zd Zd ZdZdZdZdZdZdCdZdZGddZeZGddZ GddeZ!GddZ"Gdde#Z$Gdd e%Z&e&Z'Gd!d"e&#Z Gd$d%e ZGd&d'e(eZ)Gd(d)e*eZ+d*Z,e,Z-d+Z.Gd,d-e+Z/e/\Z0Z1ZZ2Gd.d/e e00Z Gd1d2e(ee e20Z3d3Z4d4Z5d5Z6d6Z7d7Z8d8Z9dDd:Z:e fddd;d<Z;e;e+Gd=d>ZZ?Gd?d@Z@dAZAdCdd0dBZBe)e+e3fZdS)EN)MappingProxyTypeDynamicClassAttribute)or_)reduce)EnumTypeEnumMetaEnumIntEnumStrEnumFlagIntFlagReprEnumautouniquepropertyverifymember nonmember FlagBoundarySTRICTCONFORMEJECTKEEPglobal_flag_reprglobal_enum_repr global_str global_enum EnumCheck CONTINUOUS NAMED_FLAGSUNIQUEpickle_by_global_namepickle_by_enum_nameceZdZ dZdS)rc||_dSNvalueselfr(s +/opt/alt/python311/lib64/python3.11/enum.py__init__znonmember.__init__  N__name__ __module__ __qualname__r,r.r+rr(r.rceZdZ dZdS)rc||_dSr&r'r)s r+r,zmember.__init__#r-r.Nr/r3r.r+rrr4r.rcd t|dpt|dpt|dS)N__get____set__ __delete__)hasattr)objs r+_is_descriptorr=&s? C # # ' C # # ' C & &r.c t|dko7|dd|ddcxkodknco|ddko |ddkS)N___lennames r+ _is_dunderrI0sq IIM  !HRSS ) ) ) )T ) ) ) )  GsN  HO r.c t|dko7|d|dcxkodknco|dddko |dddkS)Nr@rrCrArErGs r+ _is_sunderrM;ss IIM  GtBx & & & &3 & & & &  1I   BK3  r.ct|tsdSt|dd}|dzt|ddz}d|z}||kp||S)NFr2.r0) isinstancetypegetattrendswith)cls_namer<qualname s_pattern e_patterns r+_is_internal_classrYFsk c4 usNB//H3j"!=!==IiI y @H$5$5i$@$@@r.cd|d}t|}t||krA||r,|||dzdgkr|ddks |ddkrdSdS)NrCrBrLrKrATF)rF startswith)rUrHpatternpat_lens r+ _is_privater^Os~!$G'llG II  (( WWQY&'C500bSDHOOtur.c0 |dkrdS||dz z}|dkS)NrFrLr3)nums r+_is_single_bitra]s- axxu37NC !8Or.c d}t|tr ||d<d|d<dSt|d|t|dddS)Nc&td|z)Nz%r cannot be pickled) TypeErrorr*protos r+_break_on_call_reducez6_make_class_unpicklable.._break_on_call_reducels.5666r. __reduce_ex__z r1)rQdictsetattr)r<rgs r+_make_class_unpicklablerkfsm 777#t04O'L_&;<<<\;/////r.c#K|}t|tr|j}|dkrtd|z|r||dzz}|V||z}|dSdS)Nrz%r is not a positive integerrL)rQr r( ValueError)r`originalbs r+_iter_bits_lsbrpusH#ti Qww7(BCCC  C4!8  q r.c:tt|Sr&)listrpr's r+show_flag_valuesrss u%% & &&r.cb d|z}|dkr-tj||zddd}ntj||dz |zz }|dd}|dd}|*t ||kr|d|z|z| d}|d|S) Nr@r10rLrK ) bit_lengthbltnsbinreplacerF)r`max_bitsceilingssigndigitss r+r{r{s C##%%%G axx IcGm $ $ , ,S#q 9 9 IsdgkW44 5 5 RaR5D qrrUF v;; ! !2h)F2XIJJ?FddFF ##r.c |d}d}t|dD] \}}|dkrnt|D]\}}||d||<d|S)N rrx)split enumeratejoin)textlinesblanksichjls r+_dedentrs JJt  E F58$$2 99 E %  1QRR5a 99U  r.ceZdZdZdS) _auto_nullcdS)Nrr3r*s r+__repr__z_auto_null.__repr__s|r.N)r0r1r2rr3r.r+rrs#r.rc eZdZ efdZdZdS)rc||_dSr&r'r)s r+r,z auto.__init__r-r.cd|jzS)Nzauto(%r)r'rs r+rz auto.__repr__sDJ&&r.N)r0r1r2rr,rr3r.r+rrsA('''''r.rc*eZdZ ddZdZdZdZdS)rNc(|: |j|jS#t$rt|d|jwxYw|j; |j|jS#t$rt|d|jdwxYw||S)Nz has no attribute ) _member_map_rHKeyErrorAttributeErrorfget)r*instance ownerclasss r+r8zproperty.__get__s   !.ty99   $4>JJ J  y (%249==((((8B DIIN#'(( yy***s$:A%A<cz|jtd|jd|j|||S)N cannot set attribute )fsetrclsnamerH)r*rr(s r+r9zproperty.__set__sF 9  .;?<<<S 99Xu-- -r.cx|jtd|jd|j||S)Nrz> cannot delete attribute )fdelrrrH)r*rs r+r:zproperty.__delete__sD 9  .>BlllDIIV 99X&& &r.c,||_|j|_dSr&)rHr0r)r*rrHs r+ __set_name__zproperty.__set_name__s !* r.r&)r0r1r2r8r9r:rr3r.r+rrsZ++++(...'''+++++r.rceZdZ dZdZdS) _proto_memberc||_dSr&r'r)s r+r,z_proto_member.__init__r-r.c t|||j}t|ts|f}n|}|jtur|f}|js||}n|j|g|R}t|dsQ|jtur||_ n; |j||_ n*#t$r}td}||_ |d}~wwxYw|j }||_ ||_|j|t!|j|_t&}t)|t&rht|t*r/|xj|zc_t/|r|xj|zc_d|jzdz |_ |j|}nE#t$r8|jD]\}} | j |kr| }nt<YnwxYwn#t<$rt&t)|t&s|j|nZt&St)|t&r>t|t*r)t/|r|j|YnwxYwd} |j ddD]q} | j!"|} | St| tFtHfr| } n4t| dr#t| drt| dr| } qr| ratG} || _%| &||| j'| _'| j(| _(| j)| _)tU||| ntU|||||j|< |j+||dS#t$r|j,|YdSwxYw)N_value_z/_value_ not set in __new__, unable to create itr@rLrrr)-delattrr(rQtuple _member_type_ _use_args_ _new_member_r;objectr Exceptionrd __cause___name_ __objclass__r,rF_member_names_ _sort_order_r issubclassint _flag_mask_ra_singles_mask_ry _all_bits__value2member_map_ritemsrappend__mro____dict__getrrrrrrrrj setdefault_unhashable_values_)r* enum_class member_namer(args enum_memberexcnew_excrHcanonical_memberfound_descriptorbase descriptorredirects r+rz_proto_member.__set_name__s   K((( %'' 9DDD  #u , ,8D$ E$11*==KK1*1*DtDDDK{I.. "'611&+ ##"*B**BD*IK'' """'MG),G%!M " #( #-   d###&z'@#A#A    :t < < %%% 7&&%/&&!%((7--6--$%:+A*M*M*O*O$PST$TJ ! > #(;EB  # # #.8.E.K.K.M.M##*D*'/588&6 9#N  # > > >L%j$77!)00====$":t44%"5#..%'u--% )00===! >$ &qrr*  D**;77J%j85J*KLL '1$E F33 F33 F33 (2$  :zzH)HO  ! !*k : : :,1HM,1HM,1HM J X 6 6 6 6 J [ 9 9 9/:  , 9  ) 4 4UK H H H H H 9 9 9  * 1 1% 8 8 8 8 8 8 9s[B'' C1C  C FG#?GG#GG##BJJN##$O  O N)r0r1r2r,rr3r.r+rrs<l9l9l9l9l9r.rc0eZdZ fdZfdZdZxZS) _EnumDictcti|_g|_g|_d|_dS)NF)superr, _member_names _last_values_ignore _auto_called)r* __class__s r+r,z_EnumDict.__init__hs>  !r.c  t|j|r!ddl}|dtdt |j|rnt |r|dvrtd|d|dkrG|jrtd t|tr|j n|}t|d |nx|d krt|tr)|d d }nt#|}||_t'|t'|jz}|rtd|nt+|r |dkrd}n||jvrt|d||||jvrnt|t,r |j}nt1|rnn||vrt|d||t|t2r|j}d}d}t|t4rd}|f}t7|t8urt;d|Drg}|D]} t| t4rvd}| jt<krC||dtA|j|j!dd| _d|_| j} |j!"| |"| |r |d}nt9|}d|j|<|r|j!"|tG$||dS)NrzzIn 3.13 classes created inside an enum will not become a member. Use the `member` decorator to keep the current behavior.r@ stacklevel)_order__generate_next_value__numeric_repr_ _missing__ignore_ _iter_member__iter_member_by_value__iter_member_by_def_z_sunder_ names, such as z", are reserved for future Enum userz4_generate_next_value_ must be defined before members_generate_next_valuer,rxz+_ignore_ cannot specify already set names: __order__rz already defined as TFc3@K|]}t|tVdSr&)rQr).0vs r+ z(_EnumDict.__setitem__..s,+O+OAJq$,?,?+O+O+O+O+O+Or.rL)%rY _cls_namewarningswarnDeprecationWarningr^rMrmrrdrQ staticmethod__func__rjstrr|rrrrsetrrIrr(r=rrrRranyrrrFrrr __setitem__) r*keyr(r_gnvalreadynon_auto_storesingle auto_valuedrrs r+rz_EnumDict.__setitem__os  dne 4 4  OOO MMO&     t~s + +Q 0  __N 0 !j33"---$\#$Z[[[)3E<)H)HSu~~e4d;;;; ""eS))(!MM#c2288::EE KKE$ e**s4+='>'>>$*&w*__2 0k!! D& & &###tCyyIJJ J DL  y ) )* 0KEE E " "' 0  d{{ccc499 MNNNE6** $ !NF%&& " E{{e##+O+O+O+O+O(O(O#!  * *A!!T**4).7j00&*&?&?$'C0B,C,CTEVWXWXWXEY'&'&AG15D-G)00333&&q))))/'NEE!+..E&*D s # 0!((/// C'''''r.c |D] }||||<n#t$r|D] \}}|||< YnwxYw|D] \}}|||< dSr&)keysrr)r*members more_membersrHr(s r+updatez_EnumDict.updates #  + +$T]T  + # # #& # # e"T  # # #(--//  KD%DJJ  s "%??)r0r1r2r,rr __classcell__rs@r+rrask """""c(c(c(c(c(Jr.rcPeZdZ edZdddfd ZdZdddddddd Zd Zfd Z d Z d Z dZ dZ dZejdZdZdZfdZdddddddZdddddZedZedZedZedZedZxZS)rc |||t}||_|||\}}|t |dd|d<|S)Nr)_check_for_existing_members_rr _get_mixins_rS)metaclsclsbaseskwds enum_dict member_type first_enums r+ __prepare__zEnumType.__prepare__sp ,,S%888KK ! ")"6"6sE"B"B Z  !18 722I- .r.NFboundary_simplec 2 |rtj||||fi|S|dgd|d}|D]}||d|j} t | ddhz} | r/tddd| Dz|dd} t| }| ||\} } | || | \}}}||d<||d <| D]}||}t|||<g|d <i|d <i|d <g|d <| |d<||||d<|pt| dd|d<d|d<d|d<d|d<d|d< d}tj||||fi|n #t $r}|jp|}Yd}~nd}~wwxYw|||jt(lt(|vrc| t*urt-dd|vr| j_j|d<d|vr-| j}|t*jur| j}|_j|d<dD]b}||vr\t| |}t|}tt*|}t| |}|||fvrt5||ct6It9t6r4dD]1}||vr+tt6|}t5|||||<2t:|r|_t:j_| =t?| t@r(| !dd"} t6|dkst6ft9t6sQtGdtGdtGdtGdtGdnWt6Pt9t6r;dD}|tI|kr j%_&| rfd| D} | r3fd| D} | j'krt-d j'd!| S)"NrmrorOzinvalid enum member name(s) %src34K|]}t|VdSr&)repr)rns r+rz#EnumType.__new__.. s(<<T!WW<<<<<z$EnumType.__new__..99919999r.cZg|]'}|jvst|j%|(Sr3)rrarrors r+r'z$EnumType.__new__..sFJ$;;;~jYZmNc?d?d;;;;r.cJg|]}|jvs|jv|jv| Sr3)rrr*s r+r'z$EnumType.__new__..sO!888j555!z?X:X:X  ;Y:X:Xr.z'member order does not match _order_: z )(r__new__rrpoprrrmrrirr _find_new_r_find_data_repr_rS RuntimeErrorrrrrrrdrrrrjr rr __new_member__rQrr|rrsortedrrr)rrr classdictrrr ignorer member_names invalid_namesrr r r-save_newuse_argsrHr(remethod enum_method found_method object_methoddata_type_method member_listrrs @r+r-zEnumType.__new__s  K"577?7C JJTJJ J Z,,33J???:& % %C MM#t $ $ $ $!. L))UBK7  =HH< %*4*? ,' ))$,V^++)1F%+ "'1'9 )$J ; ;D9$$%j$77 &z488 ' 5 5 #*;#=#= $4m#DDDJk:::   :t < <  2 2 y((")$"5"5KJk:::&1IdO   4,3 )!%J   '3'' <!//#s3399;; #Jz4,H,H# J - - - J . . . J 0 1 1 1 J - - - J - - - -  *Z">"> 99j999Kf[1111+5+J ( !(  $G*333i%444gg? s+G G( G##G(c dS)NTr3rs r+__bool__zEnumType.__bool__s tr.rLmodulerVrRstartrc l ||||S||||||||S)NrD)r-_create_)rr(namesrErVrRrFrs r+__call__zEnumType.__call__sR 0 =;;sE** *||!! r.c t|tsSddl}|dtdt dt |jd|jjdt||o |j |j vS)Nrzin 3.12 __contains__ will no longer raise TypeError, but will return True or False depending on whether the value is a member or the value of a memberr@rz'unsupported operand type(s) for 'in': 'z' and '') rQr rrrrdrRr2rrr)rrrs r+ __contains__zEnumType.__contains__s &$'' L OOO MM`&     )LL---s}/I/I/IKLL L&#&&L6=C 1 1 OOI & & &  (@ @ @ OO/ 0 0 0   & &+&& &#c#"34455 CDD Dr.c t|rt| |j|S#t$rt|dwxYwr&)rIrrrrrHs r+ __getattr__zEnumType.__getattr__se  d   ' && & 1#D) ) 1 1 1 &&D 0 1s .A c |j|Sr&rr]s r+rSzEnumType.__getitem__s %%r.c, fdjDS)Nc32K|]}j|VdSr&r`rrHrs r+rz$EnumType.__iter__..s+FF4 &FFFFFFr.)rrBs`r+rTzEnumType.__iter__s( GFFF33EFFFFr.c, t|jSr&)rFrrBs r+rUzEnumType.__len__ s 3%&&&r.c, t|jSr&)rrrBs r+rVzEnumType.__members__&s   0111r.cbtt|tr d|jzSd|jzS)Nz z )r rr0rBs r+rzEnumType.__repr__0s1   3 5 5 - -- -r.cF fdtjDS)Nc32K|]}j|VdSr&r`rcs r+rz(EnumType.__reversed__..:s+PP4 &PPPPPPr.)reversedrrBs`r+ __reversed__zEnumType.__reversed__6s0 QPPP8C tj djd}n#tt t"f$rYnwxYw|t%| n|| d<||| d<|||| | | S) Nrrxrr3r@r0r1r2r)rrr rQrr|rrrrrrrsys _getframe f_globalsrrmrrkr-)r class_namerIrErVrRrFrrrrCr r4original_names last_valuescountrHr(itemr member_values r+rHzEnumType._create_Is -<dC[((U;; :'' E::  eS ! ! 4MM#s++1133E eeT] + + , ,*U1Xs:S:S ,$)2ENK(88 , , t"88ue[YZYZYZ^\\""5))) dE]++++ =E 2 2D$$$ 1,0%+\ ,0) \%1Ik " " > q))3J?"J9     > #I . . . .&,Il #  (0In %w E9xXXXsE44F F)r as_globalc8 tj|j}|r|j}n|}fd|D} |dn'#t $r|dYnwxYwd|D} || d<t |tf| } t||pt| }|rt|n4tj|j j |j |||<|S)Nc4g|]\}}|||fSr3r3rrHr(filters r+r'z&EnumType._convert_..s?!!!D%6$<<!u !!!r.c"|d|dfSNrLrr3ts r+z$EnumType._convert_..s!ad|r.rc|dSNrr3rs r+rz$EnumType._convert_..s qtr.c,i|]}|d|dS)rrLr3)rrs r+ z&EnumType._convert_..s",,,q!ad,,,r.r1)etyper)rpmodulesrrsortrdrRr _simple_enumrrr1rrV) rrHrEr}sourcerrymodule_globalsrbodytmp_clss ` r+ _convert_zEnumType._convert_sT V,5  $_FF#F!!!!#)<<>>!!! - LL33L 4 4 4 4 - - - LL^^L , , , , , --,G,,,#\tfZ..@lx/?4@@@II  I      K ' 0 7 7 H H H"t A!BBc|D]=}|jD]3}t|tr|jrt d|d|4>dS)Nrz> cannot extend )rrQrrrdmclsrsrchainrs r+rz%EnumType._check_for_existing_members_sr  E   dH--$2E#))zz441   r.c |sttfS||||d}t|tst d|||pt}||fS)NrKzZnew enumerations should be created as `EnumName([mixin_type, ...] [data_type,] enum_type)`)rr rrQrrd_find_data_type_)rrsrr r s r+rzEnumType._get_mixins_s  4<  ))*e<<<2Y *h// LKLL L++J>>H& J&&r.c|D]P}|jD]F}|tur t|tr |jccSd|jvr|jdccSGQdS)Nr)rrrQrrrrs r+r0zEnumType._find_data_repr_s 5 5E  5 56>>h//5,,,,,,4=00=4444441  5tr.c$t}t}|D]}d}|jD]}|||tur!t |t r+|jtur||jnGad|jvs d|jvr/t |t r||p|n|p|}t|dkrtd|d||r| SdS)Nr-__dataclass_fields__rLztoo many data types for : ) rrrXrrQrrrrFrdr.)rrsr data_types base_chainr candidaters r+rzEnumType._find_data_type_s;UU UU  2 2EI  2 2t$$$6>>h// 2)77"t'9:::8$-//3IT]3Z3Z!$11! NN9#4555E ) 1TII z??Q  ) JJWXX X  >>## #4r.c4 |dd}|duo|du}|RdD]C}||fD]8}t||d}|ddjtjtjhvr|}n9|n Dtj}||tjtjfvrd} nd} ||| fS)Nr-)r2r-FT)rrSr-rr ) rr4r r r-r8r;possibletargetr9s r+r/zEnumType._find_new_s -- 400T)AgT.A ?8 ) )!,j 9  H$Xvt<,J!J!JHHH(**r.r&)r0r1r2 classmethodr r-rCrJrMrOr[r^rSrTrUrzrrVrrjrlrHrrrr0rr/rrs@r+rrsX  [ =A%uuuuuuun $4$TYZei$$$$$LMMM*"""""EEE$111 &&& GGG '''  ^22^2... QQQ ) ) ) ) )48$TYZei4Y4Y4Y4Y4Yl$dV[$$$$$L[''['*  [ [8*+*+[*+*+*+*+*+r.rceZdZ dZdZdZedZdZdZ dZ dZ d Z d Z d Zd Zed ZedZdS)r ct||ur|S |j|S#t$rYnt|tr)|j turt|tr|d}d}St|d|j}||||td|jd|d}t|ts||_|#d}d}wxYw)Nz%r has no members defined is not a valid z error in z._missing_: returned z" instead of None or a valid member)rRrrrdrvaluesrrrrQr rrrrrmr2r0 __context__)rr(rrresultr:ve_excs r+r-z Enum.__new__Gs ;;#  L ")%0 0    D " " "*1133 " ">U**!MMMMM+ " " " ?7#=>> > C]]5))FF   CFFFFFF  &#&& (CFF'$C)>)>$%//Jvs4K4K/CFF$eeeSEUEU$VWW>ck L[#)"|||VVV5C"#z22-&,CO CFMMMMsL " A'3A'#A'&A'B B4&B//B48E-AE-AE--E3cdSr&r3)r*rr s r+r,z Enum.__init__s r.c2 |s|S |d}|||dkr|dzSt#t$rQddl}|dtdt |D]} |dzccYS#t$rYwxYw|cYSwxYw)NrKrLrzIn 3.13 the default `auto()`/`_generate_next_value_` will require all values to be sortable and support adding +1 and the value returned will be the largest value in the enum incremented by 1rwr)rrdrrrri)rHrFrvrulastrrs r+rzEnum._generate_next_value_s  L r?D      {2&&ax     OOO MMd&     k**  q5LLLLL DLLL s7,;;)rrrr0rr)r*v_reprs r+rz Enum.__repr__sC,4 $ 7 7 7ffT\FZFZFZFZ[[r.c.|jjd|jS)NrP)rr0rrs r+rz Enum.__str__s.1114;;AAr.c t}|jjtur'tt|}t |dgD],}|ddkr||jvr||-|jD]}|j D]\}}|ddkrt|tr<|j ||jvr||M||c||jvr||ttgd|z}|S)NrrrC)rrR__eq____hash__r1)rrrrr[rSrrXrrrrQrrdiscardr3)r*rZrHrr<rIs r+r[z Enum.__dir__s~ ee > 'v 5 5fnnT2233KD*b11 & &DAw#~~$d.?"?"?%%%>%%'' * *C \//11 * * c7c>>c8,,*x+t4;L/L/L#----$++D1111!222OOD))) *PPPQQ r.cRtt||Sr&)rr)r* format_specs r+rzEnum.__format__s~~c$ii555r.c*t|jSr&)hashrrs r+rz Enum.__hash__sDK   r.c |j|jffSr&)rrres r+rhzEnum.__reduce_ex__s~ ///r.c|Sr&r3)r*memos r+ __deepcopy__zEnum.__deepcopy__ r.c|Sr&r3rs r+__copy__z Enum.__copy__rr.c |jSr&rrs r+rHz Enum.names *{r.c |jSr&r$rs r+r(z Enum.values +|r.N)r0r1r2r-r,rrrrrr[rrrhrrrrHr(r3r.r+r r s%N666p   !!!F[\\\BBB:666!!!000XXr.r ) metaclassceZdZdS)rNr0r1r2r3r.r+rrr.rceZdZdS)r Nrr3r.r+r r rr.r ceZdZ dZdZdS)r cL t|dkrtd|t|dkr3t|dtst|ddt|dkr3t|dtstd|dt|dkr3t|dtstd|dzt|}t||}||_|S) Nrwztoo many arguments for str(): rLrz is not a stringr@zencoding must be a string, not zerrors must be a string, not %r)rFrdrQrr-r)rrr(rs r+r-zStrEnum.__new__s. v;;??)&&KLL L v;;!  fQi-- Fq DEEE v;;!  fQi-- Uivayy STTT v;;!  fQi-- Q AVAY OPPPV S%(( r.c, |Sr&)lower)rHrFrvrus r+rzStrEnum._generate_next_value_s zz||r.N)r0r1r2r-rr3r.r+r r s7*r.r c|jSr&rGres r+r"r"s 9r.c,t|j|jffSr&)rSrrres r+r#r#!s T^T[1 11r.c`eZdZ eZeZeZeZdS)rN)r0r1r2rrrrrr3r.r+rr%sATVVFdffG DFFE 466DDDr.rceZdZ eZdZedZeZedZ edZ dZ dZ dZ dZd Zd Zd Zd Zd ZdZdZeZeZeZdS)r c |s||ndSt|} t|}n!#t$rtd|zdwxYwd|dzzS)NrLzinvalid flag value %rr@)max _high_bitrrd)rHrFrvru last_valuehigh_bits r+rzFlag._generate_next_value_;s  5!-551 4%%  L ,,HH L L L3j@AAt K LXaZ  s *Ac#xK t||jzD]}|j|VdSr&)rprrr)rr(vals r+rzFlag._iter_member_by_value_MsU "%#/"9:: 2 2C(,,S11 1 1 1 1 2 2r.c#bK t||dEd{VdS)Nc|jSr&)r)r&s r+rz+Flag._iter_member_by_def_..^sanr.r)r3rrs r+rzFlag._iter_member_by_def_Wsc **511,,         r.c  t|tst|d|j|j}|j}|j}d}||cxkr|kr nn|||z zr|jturjt| | }t|d|dt||dt|||jtur||z}ni|jtur|S|jtur2|dkr+t|dzd| z|z}nt|d|j|dkr |}|dz|z}||z}||z}||z} |r;|jtur-t|jd |d |d t|d |jt"urt"|} n|j||} t'| d s|| _| s|rg} d} || D]!} | | | | jz} "|ra| |z}|jD]B\}}|| vr9|jr2|j|z|jkr| || |jz} C|| z }dd| D| _| sd| _nT|r"|jturt|d||r&| xjd||zz c_nd| _|j|| } | | |j|<| S)Nrz invalid value z given z allowed rrLr@z unknown flag boundary (z) --> unknown values z []r|cg|] }|j Sr3rr%s r+r'z"Flag._missing_..s,G,G,G!QX,G,G,Gr.z: no members with value z|%s)rQrrmr2rrrrrrryr{rrrr0rrr-r;rrrrrrrrrr)rr( flag_mask singles_maskall_bits neg_valuer}unknownaliasesrx pseudo_memberrcombined_valuer&rpms r+rzFlag._missing_as1 %%% .3eeS5E5EF O ) > I2222(22222Hy013~''u//1193G3G3I3IJJ CCE8(<(<(<(V>V>V7** )5(( 4''199 A0@0@0B0B,CDD#$ !9<cnnO 199IqL5(E9*$<-'|+  s~T11|||UUUGGGS\\\\C    & &"NN3//MM-55c5AAM}i00 *$)M !  (7 (GN&&|44 , ,q!!!!)+ 5$w. -335555EAr((RZ(BJ*,4 ;  !)66$,+?+?+?+?@ @ %-HHdkkk66$,;O;O;O;OP Pr.cZ|jj}|j |d|jdS|d|jS)Nr)rP)rr0rrr*rUs r+rz Flag.__str__s<>* ; 'xx6 6&hh 4 4r.c*t|jSr&)boolrrs r+rCz Flag.__bool__sDL!!!r.ct||jr|jS|jturt||jr|St Sr&)rQrrrrNotImplemented)r*flags r+ _get_valuezFlag._get_valuesI dDN + + <   v - -*T4CU2V2V -Kr.c||}|turtS||fD]*}||td|d+|j}|||zS)NrLz,' cannot be combined with other flags with |rrrdrrr*r other_valuerr(s r+rz Flag.__or__ooe,, . ( (! !%K X XDt$$, VD V V VWWW- ~~ek1222r.c||}|turtS||fD]*}||td|d+|j}|||zS)NrLz,' cannot be combined with other flags with &rrs r+rz Flag.__and__rr.c||}|turtS||fD]*}||td|d+|j}|||z S)NrLz,' cannot be combined with other flags with ^rrs r+rz Flag.__xor__rr.c*||td|d|j^|jtt fvr!||j|_n(||j|jz|_|jS)NrLz' cannot be inverted) rrdrrrrrrrrs r+r"zFlag.__invert__ s ??4 (::::;; ; ? "5$-//"&..$,"?"?"&..1D }1T"U"Ur.N)r0r1r2rrrrrrrrrMrTrUrrrCrrrrr"r rr!r3r.r+r r 4s<N!!!$22[2+M[ZZ[Zx===444 (((QQQ555""" 3 3 3 3 3 3 3 3 3   HGHHHr.r roceZdZdS)r Nrr3r.r+r r rr.r c2 |dz S)NrL)ryr's r+rr!s       !!r.c g}|jD],\}}||jkr|||jf-|r4dd|D}t d|d||S)N, c"g|] \}}|d| Sz -> r3raliasrHs r+r'zunique..1s'LLL uuudd+LLLr.zduplicate values found in r)rVrrHrrrm) enumeration duplicatesrHr alias_detailss r+rr'sJ#/557733 f 6;     tV[1 2 2 2. LLLLLNN jmm-.. . r.c>|dkrdS|dt|zkS)NrLFr@)rr's r+ _power_of_twor6s( qyyu A5))) ))r.cf |jjdd}|d|jS)NrPrK)rr1rr)r*rEs r+rr;s9 ^ & , ,S 1 1" 5Fffdkk **r.cj |jjdd|jj}|jd|d|jdSt |jr d|jS|jtj ur9d fd|j dDSg}|jdD]L}|d r| |2| d|Md |S)NrPrKrrrcg|] }d| S)rPr3)rrHrEs r+r'z$global_flag_repr..Qs$SSSdFFFDD1SSSr.r)rr1rr0rrrarrrrrHisdigitr)r*rUrHrrEs @r+rrDs7 ^ & , ,S 1 1" 5F~&H {$ffhhh ==dl##/ &&$++.. l///xxSSSSdiooc>R>RSSSTTT""3'' 3 3At||~~ 3 A vvvqq12222xx~~r.cR |j|jj}|d|jdS|jS)Nrr)rrr0rrs r+rr[s8 {>*#88T\\\22{r.Fc t|tr t|_n t|_t|t r|r t |_tj |j j |j |Sr&)rr rrrrrrrprr1rrrV)r update_strs r+rresr #t(' ' c8 $ $! !  K(//@@@ Jr.)rr9c fd}|S)Nc |j}j|jd}||j}n jj}i}i}|||d<||d<|d<jx|d<}gx|d<}ix|d<}ix|d<} g|d <jx|d <} j|d <ttrpj |d <d|d <d|d<d|d<d|d<tj |d<tj |d<tj|d<tj|d<tj|d<tj|d<tj|d<|jD]R\} } | dvr t)| s.t+|| st-| st/| r| || <M| || <S|jdd|d<t1|f|d} dD]b} | |vr\t3| }t3| | }t3t4| }t3| | }|||fvrt7| | |cg}t| trdx}}|D]\} }t9|t:r.t:jt>ur|| dtA||}|| vrAtC}|"| | t7| | || ||| <r*t9|tFs|f}|| g|R}|d}n || }|||_$| |_%| |_&|'|tC}|"| | t7| | |||| <tA||_(|| |<tS|r|*| ||z}n||z}|*|||z| _+|| _,d ||z-zdz | _.d!| D}|t_|kr | j0| _1n|D]u\} }t9|t:r5|jt>ur || dtA|||_|j}|| vrAtC}|"| | t7| | || ||| <r*t9|tFs|f}|| g|R}|d}n || }|||_$| |_%| |_&|'|tA||_(tC}|"| | t7| | |||| <|| |<|*| |*|wd|vr | j| _2tfj| _| S)"Nr-r2rrrrrrrrrrrrrrrrrrr!r r")r __weakref__rRzAn enumeration.TrrrrLr@cg|] }|j Sr3r$r%s r+r'z7_simple_enum..convert_class..r(r.)4r0rrrrrr-rrrr rrrrrr!r r"rrIr^rMr=rRrSrrjrQrr(rrFrrrrrrr,rrarrrryrr3rrr2r )rrUr- new_memberattrsrgnvr6rmvalue2member_mapr rHr<rr<r=r>r?gnv_last_values single_bits multi_bitsr(rrr@rrr9s r+ convert_classz#_simple_enum..convert_classs<  'H,""9--   )JJ,4J  %/D! ")^%\.3.II $%022 ,..^z8:: !"%5&( "#.3.AA_ $1^ eT " " 1!)!=U-=D "&D !%D %)D! "!%D ![DN"lDO"lDO"lDO#}D #}D !%D ++-- " "ID#222$ ";x#>#> "*TBRBR "VdehViVi " T !d <  I & & ./DO (UIthPTUUU J ; ;D4%eT22 &z488 ' 5 5 #*;#=#= $4m#DDDJk::: j$ ' 'P 2'( (K*${{}}# 2# 2 eeT**MtzZ/G/GCa\):):OLLE,,,'zzH))*d;;;Jh777'7'>Jt$$ 8)%77.%*IE!+J!?!?!?!? %a!+J!7!7).$(FM*4F'OOE***'zzH))*d;;;Jh777'-Jt$*-l*;*;F'.4$U+%e,,,$++D111#u, "e+ #**51111%0:%=J "(3J %$%;z+A*M*M*O*O$PST$TJ !99j999Kf[1111+5+J ( %{{}} 2 2 eeT**({j00&)c$3|3D3Do&V&V !KE,,,'zzH))*d;;;Jh777'7'>Jt$$ 8)%77.%*IE!+J!?!?!?!? %a!+J!7!7).$(FM*4F'OOE****-l*;*;F''zzH))*d;;;Jh777'-Jt$.4$U+ ''---#**51111   (2(:J %!\ r.r3)rrr9r!s``` r+rrts=QQQQQQQd r.ceZdZ dZdZdZdS)rzno skipped integer valuesz0multi-flag aliases may not contain unnamed flagszone name per valueN)r0r1r2rr r!r3r.r+rrs$-JDK !FFFr.rceZdZ dZdZdS)rc||_dSr&)checks)r*r%s r+r,zverify.__init__'s  r.c |j}|j}tt|trd}n't|trd}nt d|D]}|t urg}|jD],\}}||j kr| ||j f-|r4d d|D} td|d| |tur,td|D} t| d krt!| t#| } } g} |dkrPt%t'| d zt'| D]!}d |z| vr| d |z"nH|dkr0t%| d z| D]}|| vr| |nt)d |z| r=td |d |dd d| Ddd|t*ur#|j}d|Dg}d}|jD]t\}}||vr |jdkrt3t5|j} fd| D}|r-| ||t7t8|z}u|r|t|d kr d|dz}n*dd |ddd|dd}t;|rd|z}nd|z}td|d|d |d|S)Nrenumz4the 'verify' decorator only works with Enum and Flagrc"g|] \}}|d| Srr3rs r+r'z#verify.__call__..;s'XXXMUD555$$7XXXr.zaliases found in rc3$K|] }|jV dSr&r')rr:s r+rz"verify.__call__..?s$::QW::::::r.r@rLzverify: unknown type %rzinvalid rxz: missing values c34K|]}t|VdSr&)rr%s r+rz"verify.__call__..Rs(;T;TqCFF;T;T;T;T;T;Tr.cg|] }|j Sr3r'r%s r+r'z#verify.__call__..Xs > > >Q > > >r.rcg|]}|v| Sr3r3)rr member_valuess r+r'z#verify.__call__..cs#JJJA1M3I3Ia3I3I3Ir.zalias %s is missingzaliases rKrz are missingz value 0x%xzcombined values of 0x%xz invalid Flag z/ [use enum.show_flag_values(value) for details])r%r0r rr rdr!rVrrHrrrmrrrFminrrangerrr rrr(rrrpr_or_ra)r*r r%rU enum_typecheckr rHrr rlowhighmissingrr6 missing_names missing_valuer missedr(r.s @r+rJzverify.__call__)s"'   ; = = II  T * * TIIRSS SC C E $/$;$A$A$C$C??LD&v{**"))4*=>>>:$(IIXXZXXX%Z%ZM$*([[--&9:::: *$$::k:::::v;;??KKVT&&"9S>>!#3Yt__EE11a4v--#NN1a40001&(("3q5$//..F??#NN1---.$$= $IJJJ%$*%IIxxx;T;TG;T;T;T1U1U1U'W"sd&$%%%% +%%*9 > >+ > > > " ! #.#;#A#A#C#C > >KD%|++ {Q !."="=>>FJJJJJJJF>%,,T222%f)=)==  =))Q.. 5 a8H H/!% -*< = = = =}R?P?P?P!"&m44J ,} < 9M I$*'xx7r.N)r0r1r2r,rJr3r.r+rr#s<MMMMMr.rc D g}|j|jkr|j}t|}|j}t|}tt|jt|jz}t||zD]/}|dvr||vr ||vr|d|*||vr|d|G||} ||} t | st| tj r|dkr| dd dd} | dd dd} | | kr#||dd | d d | | | kr#||dd | d d | 1| |D]^} g}| |vr|d | zn | |vr|d | zn|| j}t|}|| j}t|}t||zD]}|dvr||vr|d|d| '||vr|d|d| G||} ||} | | kr#||dd| d d| |r-|| dd |`dD]~}||vr||vr ||vro||vrkt||d}t||d}t|dr|j}|j}||kr$||dd |ddd|~|r%t!dd |zdS)N)r1rrrRz missing key: z extra key: rRrxrO z : z checked -> z z simple -> z#missing member from simple enum: %rzextra member in simple enum: %r)r1rrz missing key z not in the simple enum member z extra key z in simple enum member zchecked member -> zsimple member -> z member mismatch: z )rrrhr__getnewargs_ex____getnewargs__rh __reduce__rz: 30z simple -> zenum mismatch: %sz )rrrrrrrcallablerQrzrr|rrrSr;rrd) checked_enum simple_enumfailed checked_dict checked_keys simple_dict simple_keysr6r checked_value simple_valuecompressed_checked_valuecompressed_simple_valuerH failed_memberchecked_member_dictchecked_member_keyssimple_member_dictsimple_member_keysr;checked_method simple_methods r+_test_simple_enumrSxsi$F 444#, L--//00 !* ;++--.. \.335566{/4466778 |k122  CUUU $$K'' 339::::L(( 339:::: ,S 1 *3/ M**j.W.W)##/>#     DM;&& CdJKKKK\)) ?$FGGGG&24&8&A#&*+>+C+C+E+E&F&F#%0%6%?"%)*<*A*A*C*C%D%D"25GGHH''CJJJ $666%,,,bebebegkgk-lmmmm$777%,,,X[X[X[]a]a-bcccc(;C(@ '9#'> (L88)00$'CCC>Km$N$N$N$N>Jl$M$M2&'''   joom<<<  F$$<)?)?{**v\/I/I!(vt!D!D ' VT B B >:66;%3%># H/',,v2F2FFGGGHHr.c< tj|j}|r|j}n|}fd|D} |dn'#t $r|dYnwxYw|||||pt }|S)Nc4g|]\}}|||fSr3r3r|s r+r'z!_old_convert_..s?evd|| 5Mr.c"|d|dfSrr3rs r+rz_old_convert_..sAaD!A$<r.rc|dSrr3rs r+rz_old_convert_.. s 1Q4r.)rEr)rprrrrrdr) rrHrEr}rrrrrs ` r+ _old_convert_rXs[(1N  %||~~G) // 0000 )))  ((((() %gfx7G4 H H HC Jrr&)F)Crpbuiltinsrztypesrroperatorrr1 functoolsr__all__r r r _stdlib_enumsrrrrr=rIrMrYr^rarkrprsr{rrrrrrirrRrrrr rr r"_reduce_ex_by_global_namer#rrrrr rrrrrrrrrrr r!rrSrXr3r.r+r`s 99999999    2655t5e5mhV      AAA    0 0 0   '''$$$$0   Z\\ ''''''''/+/+/+/+/+$/+/+/+dt9t9t9t9t9t9t9t9n{{{{{{{{||+|+|+|+|+t|+|+|+z MMMMMXMMMM`t c8 c8B2222     7    ,ddddd4&ddddNc8TD """   *** +++.    bbbbbbHg""""""""#, KSSSSSSSSjwHwHwHr<') r.