+
    -i΅                     \   R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtHt ^ RI	H
t
HtHt ]! ]! ]]P                   4      4      ]! ]! ]]P"                  4      4      ,          ]! ]! ]R4      4      ,          t]P&                  ! R4      tRRR	R
RRRRRRRR/t/ 3R ltR tR t ! R R]4      t ! R R]4      t ! R R]4      t]! 4       t ! R R]
]]]4      t ! R R]4      t ! R  R!]
]]4      t  ! R" R#] 4      t! ! R$ R%]
]]4      t" ! R& R']4      t# ! R( R)] 4      t$ ! R* R+4      t% ! R, R-] 4      t& ! R. R/] ]]4      t' ! R0 R1]'4      t( ! R2 R3])4      t* ! R4 R5]*4      t+ ! R6 R7]'4      t, ! R8 R9]*4      t- ! R: R;] 4      t. ! R< R=].4      t/ ! R> R?].4      t0 ! R@ RA] 4      t1 ! RB RC]4      t2R# )Dz_
Classes that are LLVM values: Value, Constant...
Instructions are in the instructions module.
N)MappingProxyType)valuestypes_utils)_StrCaching_StringReferenceCaching_HasMetadataz !#$%&'()*+,-./:;<=>?@[]^_`{|}~z[-a-zA-Z$._][-a-zA-Z$._0-9]*$>gt<lt==eq!=nez>=gez<=lec                b   \        V \        4      '       d   V P                  4       p \        V \        \        34      '       g   Q hV'       g8   \        R4       F(  pV\        9   d   \        V4      W&   K  RV,          W&   K*  	  V  Uu. uF  q!V,          NK  	  ppRP                  V4      # u upi )z
Escape the given bytestring for safe use as a LLVM array constant.
Any unicode string input is first encoded with utf8 into bytes.
   z\%02x )	
isinstancestrencodebytes	bytearrayrange_VALID_CHARSchrjoin)text_mapchbufs   &&  P/var/www/html/photoedit/myenv/lib/python3.14/site-packages/llvmlite/ir/values.py_escape_stringr$      s    
 ${{}dUI.////*B\!r7#b=	  #
#d88dC
#773< $s   B,c                    a  V 3R  lpV# )c                 F   < \         P                  ! V 4      V3R  l4       pV# )c                 @  < V P                   VP                   8w  d)   \        R V P                   : RVP                   : R24      hRP                  SV P                   V P                  4       VP                   VP                  4       4      p\	        V P                   V4      # )%Operands must be the same type, got (, )z{0} ({1} {2}, {3} {4}))type
ValueErrorformatget_referenceFormattedConstant)lhsrhsfmtopnames   && r#   wrapped%_binop.<locals>.wrap.<locals>.wrapped5   s~    xx388# $'HHchh"8 9 9 +11&25((C<M<M<O25((C<M<M<OQC %SXXs33    	functoolswrapsfnr4   r3   s   & r#   wrap_binop.<locals>.wrap4   s%    			4 
	4 r6    r3   r<   s   f r#   _binopr@   3   s     Kr6   c                    a  V 3R  lpV# )c                 J   <a  \         P                  ! S 4      V V3R  l4       pV# )c                    < S! W4       WP                   8X  d   V # R P                  SV P                   V P                  4       V4      p\        W4      # )z{0} ({1} {2} to {3}))r+   r-   r.   r/   )selftypopr;   r3   s   && r#   r4   &_castop.<locals>.wrap.<locals>.wrappedF   sK    tMii'..vtyy/3/A/A/CSJB$S--r6   r7   r:   s   f r#   r<   _castop.<locals>.wrapE   s%    			. 
	. r6   r>   r?   s   f r#   _castoprI   D   s     Kr6   c                     a  ] tR t^Tt o Rt]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R	 4       t	]! R
4      R 4       t
]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R4      R 4       t]! R 4      R! 4       t]! R"4      R# 4       t]! R$4      R% 4       tR& tR' tR( tR) tR* tR+ tR, tR- t] ! R.4      R/ 4       t!] ! R04      R1 4       t"] ! R24      R3 4       t#] ! R44      R5 4       t$] ! R64      R7 4       t%] ! R84      R9 4       t&] ! R:4      R; 4       t'] ! R<4      R= 4       t(] ! R>4      R? 4       t)] ! R@4      RA 4       t*] ! RB4      RC 4       t+] ! RD4      RE 4       t,RF t-RGt.V t/RH# )I_ConstOpMixinzI
A mixin defining constant operations, for use in constant-like classes.
shlc                    R# )z$
Left integer shift:
    lhs << rhs
Nr>   rD   others   &&r#   rL   _ConstOpMixin.shl]       r6   lshrc                    R# )z8
Logical (unsigned) right integer shift:
    lhs >> rhs
Nr>   rN   s   &&r#   rR   _ConstOpMixin.lshrd   rQ   r6   ashrc                    R# )z9
Arithmetic (signed) right integer shift:
    lhs >> rhs
Nr>   rN   s   &&r#   rU   _ConstOpMixin.ashrk   rQ   r6   addc                    R# )z!
Integer addition:
    lhs + rhs
Nr>   rN   s   &&r#   rX   _ConstOpMixin.addr   rQ   r6   faddc                    R# )z(
Floating-point addition:
    lhs + rhs
Nr>   rN   s   &&r#   r[   _ConstOpMixin.faddy   rQ   r6   subc                    R# )z$
Integer subtraction:
    lhs - rhs
Nr>   rN   s   &&r#   r^   _ConstOpMixin.sub   rQ   r6   fsubc                    R# )z+
Floating-point subtraction:
    lhs - rhs
Nr>   rN   s   &&r#   ra   _ConstOpMixin.fsub   rQ   r6   mulc                    R# )z'
Integer multiplication:
    lhs * rhs
Nr>   rN   s   &&r#   rd   _ConstOpMixin.mul   rQ   r6   fmulc                    R# )z.
Floating-point multiplication:
    lhs * rhs
Nr>   rN   s   &&r#   rg   _ConstOpMixin.fmul   rQ   r6   udivc                    R# )z*
Unsigned integer division:
    lhs / rhs
Nr>   rN   s   &&r#   rj   _ConstOpMixin.udiv   rQ   r6   sdivc                    R# )z(
Signed integer division:
    lhs / rhs
Nr>   rN   s   &&r#   rm   _ConstOpMixin.sdiv   rQ   r6   fdivc                    R# )z(
Floating-point division:
    lhs / rhs
Nr>   rN   s   &&r#   rp   _ConstOpMixin.fdiv   rQ   r6   uremc                    R# )z+
Unsigned integer remainder:
    lhs % rhs
Nr>   rN   s   &&r#   rs   _ConstOpMixin.urem   rQ   r6   sremc                    R# )z)
Signed integer remainder:
    lhs % rhs
Nr>   rN   s   &&r#   rv   _ConstOpMixin.srem   rQ   r6   fremc                    R# )z)
Floating-point remainder:
    lhs % rhs
Nr>   rN   s   &&r#   ry   _ConstOpMixin.frem   rQ   r6   orc                    R# )z#
Bitwise integer OR:
    lhs | rhs
Nr>   rN   s   &&r#   or__ConstOpMixin.or_   rQ   r6   andc                    R# )z$
Bitwise integer AND:
    lhs & rhs
Nr>   rN   s   &&r#   and__ConstOpMixin.and_   rQ   r6   xorc                    R# )z$
Bitwise integer XOR:
    lhs ^ rhs
Nr>   rN   s   &&r#   r   _ConstOpMixin.xor   rQ   r6   c           	        VR ,           p \         V,          pTR8X  d   TR9   g	   Y&,           pT P                  TP                  8w  d)   \        RT P                  : RTP                  : R24      hRP	                  YVT P                  T P                  4       TP                  TP                  4       4      p\        \        P                  ! ^4      T4      #   \         d    \        RT: RT: 24      hi ; i)	cmpzinvalid comparison z for ir(   r)   r*   z{0} {1} ({2} {3}, {4} {5}))r   r   )	_CMP_MAPKeyErrorr,   r+   r-   r.   r/   r   IntType)rD   prefixsigncmpoprO   insrF   r2   s   &&&&&   r#   _cmp_ConstOpMixin._cmp   s    un	L%B #%<"7B99

" $		5::7 8 8 +11IIt))+JJ++-/
 !q!1377  	LucJKK	Ls   C C5c                (    V P                  RRW4      # )ze
Signed integer comparison:
    lhs <cmpop> rhs

where cmpop can be '==', '!=', '<', '<=', '>', '>='
r   sr   rD   r   rO   s   &&&r#   icmp_signed_ConstOpMixin.icmp_signed        yyc500r6   c                (    V P                  RRW4      # )zt
Unsigned integer (or pointer) comparison:
    lhs <cmpop> rhs

where cmpop can be '==', '!=', '<', '<=', '>', '>='
r   ur   r   s   &&&r#   icmp_unsigned_ConstOpMixin.icmp_unsigned   r   r6   c                (    V P                  RRW4      # )z{
Floating-point ordered comparison:
    lhs <cmpop> rhs

where cmpop can be '==', '!=', '<', '<=', '>', '>=', 'ord', 'uno'
for   r   s   &&&r#   fcmp_ordered_ConstOpMixin.fcmp_ordered  r   r6   c                (    V P                  RRW4      # )z}
Floating-point unordered comparison:
    lhs <cmpop> rhs

where cmpop can be '==', '!=', '<', '<=', '>', '>=', 'ord', 'uno'
r   r   r   r   s   &&&r#   fcmp_unordered_ConstOpMixin.fcmp_unordered  r   r6   c                4   \        V P                  \        P                  4      '       d>   \        P
                  ! V P                  RV P                  P                  ,          4      pM!\        P
                  ! V P                  R4      pV P                  V4      # )z(
Bitwise integer complement:
    ~value
)r   )r   r+   r   
VectorTyper   Constantcountr   )rD   r1   s   & r#   not__ConstOpMixin.not_  s^    
 dii!1!122//$))UTYY__-DEC//$))R0Cxx}r6   c                f    \         P                  ! V P                  ^ 4      pVP                  V 4      # )z
Integer negative:
    -value
)r   r   r+   r^   )rD   zeros   & r#   neg_ConstOpMixin.neg$  s&    
 tyy!,xx~r6   c                    RP                  V P                  V P                  4       4      p\        V P                  V4      # )z%
Floating-point negative:
    -value
zfneg ({0} {1}))r-   r+   r.   r/   )rD   r2   s   & r#   fneg_ConstOpMixin.fneg,  s4    
 %%dii1C1C1EF C00r6   truncc                    R# )z0
Truncating integer downcast to a smaller type.
Nr>   rD   rE   s   &&r#   r   _ConstOpMixin.trunc8  rQ   r6   zextc                    R# )z0
Zero-extending integer upcast to a larger type
Nr>   r   s   &&r#   r   _ConstOpMixin.zext>  rQ   r6   sextc                    R# )z1
Sign-extending integer upcast to a larger type.
Nr>   r   s   &&r#   r   _ConstOpMixin.sextD  rQ   r6   fptruncc                    R# )z1
Floating-point downcast to a less precise type.
Nr>   r   s   &&r#   r   _ConstOpMixin.fptruncJ  rQ   r6   fpextc                    R# )z/
Floating-point upcast to a more precise type.
Nr>   r   s   &&r#   r   _ConstOpMixin.fpextP  rQ   r6   bitcastc                    R# )z+
Pointer cast to a different pointer type.
Nr>   r   s   &&r#   r   _ConstOpMixin.bitcastV  rQ   r6   fptouic                    R# )z-
Convert floating-point to unsigned integer.
Nr>   r   s   &&r#   r   _ConstOpMixin.fptoui\  rQ   r6   uitofpc                    R# )z-
Convert unsigned integer to floating-point.
Nr>   r   s   &&r#   r   _ConstOpMixin.uitofpb  rQ   r6   fptosic                    R# )z+
Convert floating-point to signed integer.
Nr>   r   s   &&r#   r   _ConstOpMixin.fptosih  rQ   r6   sitofpc                    R# )z+
Convert signed integer to floating-point.
Nr>   r   s   &&r#   r   _ConstOpMixin.sitofpn  rQ   r6   ptrtointc                    \        V P                  \        P                  4      '       g   Rp\	        W P                  3,          4      h\        V\        P
                  4      '       g   \	        RV: R24      hR# )z
Cast pointer to integer.
z2can only call ptrtoint() on pointer type, not '%s'z*can only ptrtoint() to integer type, not ''N)r   r+   r   PointerType	TypeErrorr   rD   rE   msgs   && r#   r   _ConstOpMixin.ptrtointt  s_    
 $))U%6%677FCC99,.//#u}}--"% & & .r6   inttoptrc                    \        V P                  \        P                  4      '       g   Rp\	        W P                  3,          4      h\        V\        P
                  4      '       g   \	        RV: R24      hR# )z
Cast integer to pointer.
z7can only call inttoptr() on integer constants, not '%s'z*can only inttoptr() to pointer type, not 'r   N)r   r+   r   r   r   r   r   s   && r#   r   _ConstOpMixin.inttoptr  s_    
 $))U]]33KCC99,.//#u0011"% & & 2r6   c                :   \        V P                  \        P                  4      '       g   \	        RV P                  : R24      hV P                  pV F  pVP                  V4      pK  	  V Uu. uF-  pRP                  VP                  VP                  4       4      NK/  	  ppRP                  V P                  P                  V P                  V P                  4       RP                  V4      4      p\        VP                  V P                  4      V4      # u upi )z.
Call getelementptr on this pointer constant.
z/can only call gep() on pointer constants, not 'r   {0} {1}z!getelementptr ({0}, {1} {2}, {3})r)   )r   r+   r   r   r   gepr-   r.   pointeer   r/   
as_pointer	addrspace)rD   indicesouttyper   idx
strindicesrF   s   &&     r#   r   _ConstOpMixin.gep  s     $))U%6%677#yy+ , , ))Akk!nG  ")*!(#  &&sxx1B1B1DE!( 	 * 177IItyy $))J"79 !!3!3DNN!CRHH*s   /3Dr>   N)0__name__
__module____qualname____firstlineno____doc__r@   rL   rR   rU   rX   r[   r^   ra   rd   rg   rj   rm   rp   rs   rv   ry   r~   r   r   r   r   r   r   r   r   r   r   rI   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r#   rK   rK   T   s     E]  F^  F^  E]  F^  E]  F^  E]  F^  F^  F^  F^  F^  F^  F^  D\  E]  E] 8*1111
1 W 
 V_ 
 V_ 
 Y 
 W 
 Y 
 X 
 X 
 X 
 X 
 Z	& 	& Z	& 	&I Ir6   rK   c                   *   a  ] tR tRt o RtR tRtV tR# )Valuei  z 
The base class for all values.
c                T    R V P                   P                  : RV P                  : R2# )<ir.z type='z' ...>)	__class__r   r+   rD   s   &r#   __repr__Value.__repr__  s    *...*A*A499NNr6   r>   N)r   r   r   r   r   r   r   r   r   s   @r#   r   r     s     O Or6   r   c                   *   a  ] tR tRt o RtR tRtV tR# )
_Undefinedi  z(
'undef': a value for undefined values.
c                d     \         #   \         d    \        P                  \        4      u # i ; iN)	Undefined	NameErrorobject__new__r   )clss   &r#   r  _Undefined.__new__  s+    	. 	.>>*--	.s    $//r>   N)r   r   r   r   r   r  r   r   r   s   @r#   r   r     s     . .r6   r   c                      a  ] tR tRt o RtR tR tR t]R 4       t	]RR l4       t
]R 4       tR	 tR
 tR tR tRtV tR# )r   i  z
A constant LLVM value.
c                    \        V\        P                  4      '       g   Q h\        V\        P                  4      '       d   Q hWn        VP                  V4      pW n        R # r   )r   r   TypeVoidTyper+   wrap_constant_valueconstantrD   rE   r	  s   &&&r#   __init__Constant.__init__  sJ    #uzz****c5>>2222	**84 r6   c                V    R P                  V P                  V P                  4       4      # r   r-   r+   r.   r   s   &r#   
_to_stringConstant._to_string  "    		4+=+=+?@@r6   c                X   V P                   f   V P                  P                  pV# V P                   \        J d   RpV# \	        V P                   \
        4      '       d'   RP                  \        V P                   4      4      pV# V P                  P                  V P                   4      pV# )Nundefzc"{0}")	r	  r+   nullr   r   r   r-   r$   format_constantrD   vals   & r#   _get_referenceConstant._get_reference  s    == ))..C 
 ]]i'C 
 y11//."?@C
 
 ))++DMM:C
r6   c                
   V Uu. uF  q"P                   NK  	  pp\        V4      ^ 8X  d   \        R4      hV^ ,          pV F  pWE8w  g   K  \        R4      h	  V ! \        P
                  ! V\        V4      4      V4      # u upi )z?
Construct a literal array constant made of the given members.
zneed at least one elementz$all elements must have the same type)r+   lenr,   r   r   	ArrayType)r  elemseltystyrO   s   &&    r#   literal_arrayConstant.literal_array  sx    
 "''2ww's8q=899VE{ FGG  5??2s5z2E:: (s   B c                z    V Uu. uF  q3P                   NK  	  ppV ! \        P                  ! WB4      V4      # u upi )zC
Construct a literal structure constant made of the given members.
)r+   r   LiteralStructType)r  r  packedr  r   s   &&&  r#   literal_structConstant.literal_struct  s7    
 "''2ww'5**37?? (s   8c                    \        V P                  \        P                  4      '       g   \	        R 4      hV P                  P
                  # )z)Only pointer constant have address spaces)r   r+   r   r   r   r   r   s   &r#   r   Constant.addrspace  s5    $))U%6%677GHHyy"""r6   c                `    \        V\        4      '       d   \        V 4      \        V4      8H  # R # F)r   r   r   rN   s   &&r#   __eq__Constant.__eq__  s%    eX&&t9E
**r6   c                .    V P                  V4      '       * # r   r-  rN   s   &&r#   __ne__Constant.__ne__      ;;u%%%r6   c                *    \        \        V 4      4      # r   )hashr   r   s   &r#   __hash__Constant.__hash__  s    CIr6   c                @    R V P                   : RV P                  : R2# )z<ir.Constant type='z' value=r	   )r+   r	  r   s   &r#   r   Constant.__repr__  s    59YYNNr6   )r	  r+   Nr,  )r   r   r   r   r   r  r  r  classmethodr"  r'  propertyr   r-  r1  r6  r   r   r   r   s   @r#   r   r     ss     !A ; ; @ @ # #
&O Or6   r   c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )r/   i  z9
A constant with an already formatted IR representation.
c                b    \        V\        4      '       g   Q h\        P                  WV4       R # r   )r   r   r   r  r
  s   &&&r#   r  FormattedConstant.__init__  s%    (C(((($X.r6   c                    V P                   # r   r	  r   s   &r#   r  FormattedConstant._to_string      }}r6   c                    V P                   # r   r@  r   s   &r#   r   FormattedConstant._get_reference  rB  r6   r>   N)
r   r   r   r   r   r  r  r  r   r   r   s   @r#   r/   r/     s     / r6   r/   c                   x   a  ] tR tRt o RtRtRtR tR tR t	R t
R	 t]! ]
]4      tR
 tR t]R 4       tRtV tR# )
NamedValuei  z"
The base class for named values.
%Tc                    Vf   Q h\        V\        P                  4      '       g   Q hWn        W n        V P                  V4       R # r   )r   r   r  parentr+   	_set_name)rD   rI  r+   names   &&&&r#   r  NamedValue.__init__  s;    !!!$

++++	tr6   c                   . p\        V P                  \        P                  4      '       g/   VP	                  R P                  V P                  4       4      4       V P                  V4       RP                  V4      P                  4       # )z{0} = r   )
r   r+   r   r  appendr-   r.   descrr   rstriprD   r"   s   & r#   r  NamedValue._to_string   s\    $))U^^44JJxt'9'9';<=

3wws|""$$r6   c                    \         hr   )NotImplementedErrorrQ  s   &&r#   rO  NamedValue.descr'  s    !!r6   c                    V P                   # r   )_namer   s   &r#   	_get_nameNamedValue._get_name*  s    zzr6   c                t    V P                   P                  P                  VV P                  R 7      pWn        R# ))deduplicateN)rI  scoperegisterdeduplicate_namerW  rD   rK  s   &&r#   rJ  NamedValue._set_name-  s2    {{  ))$6:6K6K * M
r6   c                    V P                   pR V9   g   RV9   d#   VP                  R R4      P                  RR4      pRP                  V P                  V4      # )\"\5c\22z{0}"{1}")rK  replacer-   name_prefixr_  s   & r#   r  NamedValue._get_reference4  sN    yy4<3$;<<f-55c6BD  !1!1488r6   c                p    R V P                   P                  : RV P                  : RV P                  : R2# )r    z
 of type 'z'>r   r   rK  r+   r   s   &r#   r   NamedValue.__repr__;  s%    NN##TYY		; 	;r6   c                   V P                   p\        V\        P                  4      '       d   V P                   P                  p\        V\        P
                  4      '       d   V# \        R P                  V P                   4      4      h)zNot a function: {0})r+   r   r   r   r   FunctionTyper   r-   )rD   r!  s   & r#   function_typeNamedValue.function_type?  s`    YYb%++,,""Bb%,,--I188CDDr6   )rW  rI  r+   N)r   r   r   r   r   rg  r^  r  r  rO  rX  rJ  r;  rK  r  r   ro  r   r   r   s   @r#   rF  rF    s^      K%"
 Iy)D9; E Er6   rF  c                   X   a a ] tR tRt oRtV 3R ltR tR t]tR t	R t
R tR	tVtV ;t# )
MetaDataStringiJ  zO
A metadata string, i.e. a constant string used as a value in a metadata
node.
c                f   < \         \        V `  V\        P                  ! 4       R R7       W n        R# )r   rK  N)superrr  r  r   MetaDataTypestring)rD   rI  rw  r   s   &&&r#   r  MetaDataString.__init__P  s/    nd,V-2-?-?-A24 	- 	6 r6   c                6    WP                  4       R 3,          pR# )
N)r.   rQ  s   &&r#   rO  MetaDataString.descrV  s    ""$d++r6   c                J    R P                  \        V P                  4      4      # )z!"{0}")r-   r$   rw  r   s   &r#   r  MetaDataString._get_referenceY  s    ~dkk:;;r6   c                d    \        V\        4      '       d   V P                  VP                  8H  # R # r,  )r   rr  rw  rN   s   &&r#   r-  MetaDataString.__eq__^  s%    e^,,;;%,,..r6   c                .    V P                  V4      '       * # r   r0  rN   s   &&r#   r1  MetaDataString.__ne__d  r3  r6   c                ,    \        V P                  4      # r   )r5  rw  r   s   &r#   r6  MetaDataString.__hash__g  s    DKK  r6   )rw  )r   r   r   r   r   r  rO  r  r  r-  r1  r6  r   r   __classcell__r   r   s   @@r#   rr  rr  J  s4     
,<  J&! !r6   rr  c                   4   a  ] tR tRt o RtR tR t]tRtV t	R# )MetaDataArgumentik  z
An argument value to a function taking metadata arguments.
This can wrap any other kind of LLVM value.

Do not instantiate directly, Builder.call() will create these
automatically.
c                    \        V\        4      '       g   Q h\        VP                  \        P                  4      '       d   Q h\        P                  ! 4       V n        Wn        R # r   )r   r   r+   r   rv  wrapped_valuerD   values   &&r#   r  MetaDataArgument.__init__t  sH    %''''ejj%*<*<====&&(	"r6   c                ~    R P                  V P                  P                  V P                  P                  4       4      # r  )r-   r  r+   r.   r   s   &r#   r  MetaDataArgument._get_referencez  s7     2 2 7 7 $ 2 2 @ @ BD 	Dr6   )r+   r  N)
r   r   r   r   r   r  r  r  r   r   r   s   @r#   r  r  k  s     #D
  Jr6   r  c                   0   a  ] tR tRt o RtR tR tRtV tR# )NamedMetaDatai  z_
A named metadata node.

Do not instantiate directly, use Module.add_named_metadata() instead.
c                     Wn         . V n        R # r   )rI  operands)rD   rI  s   &&r#   r  NamedMetaData.__init__  s    r6   c                <    V P                   P                  V4       R # r   )r  rN  )rD   mds   &&r#   rX   NamedMetaData.add  s    R r6   )r  rI  N)	r   r   r   r   r   r  rX   r   r   r   s   @r#   r  r    s     ! !r6   r  c                   X   a a ] tR tRt oRtRtV 3R ltR tR tR t	R t
R	 tR
tVtV ;t# )MDValuei  z
A metadata node's value, consisting of a sequence of elements ("operands").

Do not instantiate directly, use Module.add_metadata() instead.
!c                   < \         \        V `  V\        P                  ! 4       VR 7       \        V4      V n        VP                  P                  V 4       R# rt  N)	ru  r  r  r   rv  tupler  metadatarN  )rD   rI  r   rK  r   s   &&&&r#   r  MDValue.__init__  sG    gt%f&+&8&8&:+/ 	& 	1 ft$r6   c                   . pV P                    F  p\        VP                  \        P                  4      '       dY   \        V\
        4      '       d"   VP                  f   VP                  R4       Kd  VP                  VP                  4       4       K  VP                  RP                  VP                  VP                  4       4      4       K  	  RP                  V4      pVRP                  V4      R3,          pR # )Nr  r   r)   z
!{{ {0} }}rz  )r  r   r+   r   rv  r   r	  rN  r.   r-   r   )rD   r"   r  rF   s   &&  r#   rO  MDValue.descr  s    --B"''5#5#566b(++0COOF+OOB$4$4$67	 0 0":J:J:L MN   99X&##H-t44r6   c                N    V P                   \        V P                  4      ,           # r   rg  r   rK  r   s   &r#   r  MDValue._get_reference      #dii.00r6   c                d    \        V\        4      '       d   V P                  VP                  8H  # R # r,  )r   r  r  rN   s   &&r#   r-  MDValue.__eq__  s%    eW%%==ENN22r6   c                .    V P                  V4      '       * # r   r0  rN   s   &&r#   r1  MDValue.__ne__  r3  r6   c                ,    \        V P                  4      # r   )r5  r  r   s   &r#   r6  MDValue.__hash__  s    DMM""r6   )r  r   r   r   r   r   rg  r  rO  r  r-  r1  r6  r   r   r  r  s   @@r#   r  r    s4     
 K%51&# #r6   r  c                   *   a  ] tR tRt o RtR tRtV tR# )DITokeni  z
A debug information enumeration value that should appear bare in
the emitted metadata.

Use this to wrap known constants, e.g. the DW_* enumerations.
c                    Wn         R # r   r  r  s   &&r#   r  DIToken.__init__  s    
r6   r  N)r   r   r   r   r   r  r   r   r   s   @r#   r  r    s      r6   r  c                   X   a a ] tR tRt oRtRtV 3R ltR tR tR t	R t
R	 tR
tVtV ;t# )DIValuei  z
A debug information descriptor, containing key-value pairs.

Do not instantiate directly, use Module.add_debug_info() instead.
r  c                   < \         \        V `  V\        P                  ! 4       VR 7       W n        W0n        \        V4      V n        VP                  P                  V 4       R# r  )ru  r  r  r   rv  is_distinctkindr  r  r  rN  )rD   rI  r  r  r  rK  r   s   &&&&&&r#   r  DIValue.__init__  sR    gt%f&+&8&8&:+/ 	& 	1 '	ht$r6   c                   V P                   '       d
   VR,          p. pV P                   EF  w  r4Vf   RpMVRJ d   RpMVRJ d   RpM\        V\        4      '       d   VP                  pM\        V\
        4      '       d   RP                  \        V4      4      pMz\        V\        4      '       d   \        V4      pMX\        V\        4      '       d   \        V4      pM6\        V\        4      '       d   VP                  4       pM\        RV: 24      hVP                  R	P                  W54      4       EK  	  R
P                  V4      pVRV P                  RVR3,          pR# )	distinct Nr  TtrueFfalsez"{}"z%invalid operand type for debug info: z{0}: {1}r)   r  (z)
)r  )r  r  r   r  r  r   r-   r$   intr   rF  r.   r   rN  r   r  )rD   r"   r  keyr  strvalues   &&    r#   rO  DIValue.descr  s#   >!C--JC}!$!%"E7++ ;;E3''!==)>?E3''u:E8,, u:E:.. ..0#(!+ , ,OOJ--c<=- (. 99X&TYYXu55r6   c                N    V P                   \        V P                  4      ,           # r   r  r   s   &r#   r  DIValue._get_reference  r  r6   c                    \        V\        4      '       d\   V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # R # r,  )r   r  r  r  r  rN   s   &&r#   r-  DIValue.__eq__  sa    eW%%##u'8'88 0 0		UZZ'0 0/0 r6   c                .    V P                  V4      '       * # r   r0  rN   s   &&r#   r1  DIValue.__ne__  r3  r6   c                Z    \        V P                  V P                  V P                  34      # r   )r5  r  r  r  r   s   &r#   r6  DIValue.__hash__  s"    T%%tyy$--@AAr6   )r  r  r  r  r  s   @@r#   r  r    s6     
 K%6<1&B Br6   r  c                   >   a a ] tR tRt oRtRtRtV 3R ltRtVt	V ;t
# )GlobalValuei
  z
A global value.
@Fc                h   < \         \        V `
  ! V/ VB  R V n        R V n        R V n        / V n        R# )r   N)ru  r  r  linkagestorage_classsectionr  )rD   argskwargsr   s   &*,r#   r  GlobalValue.__init__  s4    k4)4:6:r6   )r  r  r  r  )r   r   r   r   r   rg  r^  r  r   r   r  r  s   @@r#   r  r  
  s!      K r6   r  c                   @   a a ] tR tRt oRtRV 3R lltR tRtVtV ;t	# )GlobalVariablei  z
A global variable.
c                  < \        V\        P                  4      '       g   Q h\        \        V `  WP                  V4      VR 7       W n        RV n        RV n	        RV n
        W@n        RV n        V P                  P                  V 4       R# )rt  NF)r   r   r  ru  r  r  r   
value_typeinitializerunnamed_addrglobal_constantr   alignrI  
add_global)rD   modulerE   rK  r   r   s   &&&&&r#   r  GlobalVariable.__init__  sw    #uzz****nd,V^^I5N26 	- 	8!$"
t$r6   c                H   V P                   '       d   R pMRpV P                  '       g   V P                  f   RMRpMV P                  pV'       d   VP                  VR,           4       V P                  '       d#   VP                  V P                  R,           4       V P
                  '       d   VP                  R4       V P                  ^ 8w  d+   VP                  RP                  V P                  4      4       VP                  RP                  W P                  R	7      4       V P                  e   V P                  P                  V P                  8w  d2   \        R
V P                  P                  : RV P                  : 24      hVP                  RV P                  P                  4       ,           4       M@VR9  d:   VP                  RV P                  \        4      P                  4       ,           4       V P                  '       d!   VP                  RV P                  : R24       V P                  e$   VP                  RV P                  3,          4       V P                  '       d"   VP                  V P!                  RR7      4       VP                  R4       R# )r	  globalNexternalr   rj  zunnamed_addr zaddrspace({0:d}) z{kind} {type})r  r+   zgot initializer of type z for global value type z, section "rc  z
, align %dT)leading_commarz  )r  extern_weak)r  r  r  rN  r  r  r   r-   r  r+   r   r.   r   r  r  r  _stringify_metadata)rD   r"   r  r  s   &&  r#   rO  GlobalVariable.descr*  s   DD|||$($4$4$<j"GllGJJw}%JJt))C/0JJ'>>QJJ*11$..AB

?**??*KL'$$7#'#3#3#8#8$//!K L L JJsT--;;==>77JJsT__Y7EEGGH<<<JJT\\;<::!JJ|tzzm34===JJt//d/CD

4r6   )r   r  r  r  r  r      )
r   r   r   r   r   r  rO  r   r   r  r  s   @@r#   r  r    s     
%* *r6   r  c                   V   a a ] tR tRt oRtRtRV 3R lltR tV 3R ltR t	Rt
VtV ;t# )	AttributeSetiW  zhA set of string attribute.
Only accept items listed in *_known*.

Properties:
* Iterate in sorted order
c                   < \         SV `  4        \        V\        4      '       d   V.pV F  pV P	                  V4       K  	  R # r   )ru  r  r   r   rX   )rD   r  rK  r   s   && r#   r  AttributeSet.__init__`  s7    dC  6DDHHTN r6   c                    V# r   r>   )rD   rK  rE   s   &&&r#   _expandAttributeSet._expandg  s    r6   c                ~   < WP                   9  d   \        R P                  W4      4      h\        \        V `  V4      # )zunknown attr {!r} for {})_knownr,   r-   ru  r  rX   rD   rK  r   s   &&r#   rX   AttributeSet.addj  s6    {{"7>>tJKK\4,T22r6   c                ^    \        V 4       Uu. uF  q P                  W!4      NK  	  up# u upi r   )sortedr  )rD   rE   r   s   && r#   _to_listAttributeSet._to_listo  s%    .4Tl;lQ$l;;;s   *r>   r>   )r   r   r   r   r   r  r  r  rX   r  r   r   r  r  s   @@r#   r  r  W  s*      F3
< <r6   r  c                   F  a a ] tR tRt o]! . RNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!N4      tR*V 3R" lltV 3R# lt]R$ 4       t	]	P                  R% 4       t	]R& 4       t]P                  R' 4       tV 3R( ltR)tVtV ;t# )+FunctionAttributesis  
argmemonlyalwaysinlinebuiltincold
convergentinaccessiblememonlyinaccessiblemem_or_argmemonly
inlinehint	jumptableminsizenaked	nobuiltinnoduplicatenoimplicitfloatnoinlinenonlazybind	norecurse	noredzonenoreturnnounwindoptnoneoptsizereadnonereadonlyreturns_twicesanitize_addresssanitize_memorysanitize_threadsspsspreg	sspstronguwtablec                J   < ^ V n         RV n        \        \        V `  V4       R# r  N)_alignstack_personalityru  r  r  rD   r  r   s   &&r#   r  FunctionAttributes.__init__~  s#      $06r6   c                t   < VR 8X  d   RV 9   g   VR8X  d   R V 9   d   \        R4      h\        SV `	  V4       R# )r  r  z$Can't have alwaysinline and noinlineN)r,   ru  rX   r  s   &&r#   rX   FunctionAttributes.add  s9    ^#
d(:#$(>CDDDr6   c                    V P                   # r   r  r   s   &r#   
alignstackFunctionAttributes.alignstack  s    r6   c                $    V^ 8  g   Q hWn         R# r  r!  r  s   &&r#   r"  r#    s    axxr6   c                    V P                   # r   )r  r   s   &r#   personalityFunctionAttributes.personality  s       r6   c                J    Ve   \        V\        4      '       g   Q hWn        R # r   )r   r  r  r  s   &&r#   r&  r'    s    {jk::::r6   c                ^  < \         SV `  V4      pV P                  '       d+   VP                  R P	                  V P                  4      4       V P
                  '       dO   VP                  RP	                  V P
                  P                  V P
                  P                  4       R7      4       V# )zalignstack({0:d})zpersonality {persty} {persfn})perstypersfn)ru  r  r"  rN  r-   r&  r+   r.   )rD   ret_typeattrsr   s   && r#   r  FunctionAttributes._to_list  s     *???LL,33DOODELL8??'',,''557 @ 9 : r6   )r  r  r  )r   r   r   r   	frozensetr  r  rX   r;  r"  setterr&  r  r   r   r  r  s   @@r#   r  r  s  s     **$*&/*17*9E**>*@L* 	* * !(* *5* 7D* 		* &	* (5	* 7B	*
 	*
  *
 ",*
 .7*
 9B* 	* * !0* 2D* 	* -* /4* 	* *  )* +F7
       ! !     r6   r  c                      a a ] tR tRt oRtV 3R lt]R 4       t]R 4       t]R 4       t	RR lt
RR ltR	 tR
 tR tR t]R 4       tRtVtV ;t# )Functioni  zRepresent a LLVM Function but does uses a Module as parent.
Global Values are stored as a set of dependencies (attribute `depends`).
c           	       < \        V\        P                  4      '       g   Q h\        \        V `  WP                  4       VR 7       W n        \        P                  ! 4       V n
        . V n        \        4       V n        \        VP                   Uu. uF  p\!        W4      NK  	  up4      V n        \#        WP$                  4      V n        V P(                  P+                  V 4       RV n        R# u upi )rt  r   N)r   r   r  ru  r2  r  r   ftyper   	NameScoper\  blocksr  
attributesr  r  ArgumentReturnValuereturn_typereturn_valuerI  r  calling_convention)rD   r  r4  rK  tr   s   &&&& r#   r  Function.__init__  s    %,,,,h&v/?/?/A&M
%%'
,.$)JJ0$.q $D,$.0 1	'.?.?@t$"$	0s   C.c                    V P                   # r   rI  r   s   &r#   r  Function.module      {{r6   c                (    V P                   ^ ,          # r  r6  r   s   &r#   entry_basic_blockFunction.entry_basic_block  s    {{1~r6   c                    V P                   # r   rD  r   s   &r#   basic_blocksFunction.basic_blocks  rB  r6   c                T    \        WR 7      pV P                  P                  V4       V# )rI  rK  )Blockr6  rN  )rD   rK  blks   && r#   append_basic_blockFunction.append_basic_block  s#    4+3
r6   c                T    \        WR7      pV P                  P                  W4       V# )zInsert block before
        rK  )rL  r6  insert)rD   beforerK  rM  s   &&& r#   insert_basic_blockFunction.insert_basic_block  s%     4+6'
r6   c           
        V P                   '       d   RMRpV P                  pRP                  R V P                   4       4      pV P	                  4       pV P
                  '       dF   RRP                  V P
                  P                  V P                  P                  4      4      ,           MRp\        V P                  4      '       d"   V P                  P                  '       d   RMRpM V P                  P                  '       d   RMRpV P                  pV P                  p	RP                  R	 W(W3 4       4      p
V P                  4       pV'       d   R
P                  V4      MRpV P                  '       d   RP                  V P                  4      MRpRpVP                  WVWvVVR7      pVP!                  V4       R# )z2
Describe the prototype ("head") of the function.
definedeclarer)   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   ).0as   & r#   	<genexpr>+Function.descr_prototype.<locals>.<genexpr>  s     3AQs   rj  r   z, ...z...c              3   J   "   T F  q'       g   K  \        V4      x  K  	  R # 5ir   rY  )rZ  xs   & r#   r\  r]    s     L*FQ!&#a&&*Fs   	##z {}z section "{}"z:{prefix} {name}({args}{vararg}){attrs}{section}{metadata}
)r   rK  r  varargr-  r  r  N)r6  r;  r   r  r.   r7  r  r4  r:  anyvar_argr  r<  r  r-   r  rN  )rD   r"   stateretr  rK  r-  r`  r  cconvr   r  r  pt_str	prototypes   &&             r#   descr_prototypeFunction.descr_prototype  s^    !KKKYyy333!!#(, chht77JJ"" $ % %=? 	tyy>> $

 2 2 2WF"jj000UbF,,''L55*FLL++--55<<)2:>,,,/((6BNMM)/g+3 " 5	 	

9r6   c                N    V P                    F  pVP                  V4       K  	  R# )z'
Describe of the body of the function.
N)r6  rO  )rD   r"   rM  s   && r#   
descr_bodyFunction.descr_body  s     ;;CIIcN r6   c                    V P                  V4       V P                  '       d6   VP                  R 4       V P                  V4       VP                  R4       R# R# )z{
z}
N)rh  r6  rN  rk  rQ  s   &&r#   rO  Function.descr  sB    S!;;;JJuOOC JJu r6   c                J    . pV P                  V4       R P                  V4      # r   )rO  r   rQ  s   & r#   __str__Function.__str__  s     

3wws|r6   c                2    \        V P                  4      ^ 8H  # r  )r  r6  r   s   &r#   is_declarationFunction.is_declaration  s    4;;1$$r6   )r  r7  r6  r<  r4  r;  r\  rp  )r   r   r   r   r   r  r;  r  rE  rH  rN  rS  rh  rk  rO  rq  rt  r   r   r  r  s   @@r#   r2  r2    s     %      
4
 % % %r6   r2  c            	       j  a a ] tR tRt o]! / RRbRRbRRbRRbRRbR	RbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRRRRR/C4      tR"V 3R lltR t]R 4       t	]	P                  R 4       t	]R 4       t]P                  R 4       t]R 4       t]P                  R 4       tV 3R  ltR!tVtV ;t# )#ArgumentAttributesi  byrefTbyvalelementtypeimmargFinallocainregnestnoalias	nocapturenofreenonnullnoundefpreallocatedreturnedsignextsret
swiftasync
swifterror	swiftselfzeroextc                X   < ^ V n         ^ V n        ^ V n        \        \        V `  V4       R# r  )_align_dereferenceable_dereferenceable_or_nullru  rw  r  r  s   &&r#   r  ArgumentAttributes.__init__  s*     !()% $06r6   c                p    V P                   P                  V4      pV'       d   V R VP                   R2# V# )r  r*   )r  getr   )rD   rK  rE   requires_types   &&& r#   r  ArgumentAttributes._expand%  s3    -V1S[[M++Kr6   c                    V P                   # r   )r  r   s   &r#   r  ArgumentAttributes.align,  rB  r6   c                P    \        V\        4      '       d   V^ 8  g   Q hWn        R# r  )r   r  r  r  s   &&r#   r  r  0  s     #s##q00r6   c                    V P                   # r   )r  r   s   &r#   dereferenceable"ArgumentAttributes.dereferenceable5  s    $$$r6   c                P    \        V\        4      '       d   V^ 8  g   Q hWn        R# r  )r   r  r  r  s   &&r#   r  r  9  s!    #s##q00 #r6   c                    V P                   # r   )r  r   s   &r#   dereferenceable_or_null*ArgumentAttributes.dereferenceable_or_null>  s    ,,,r6   c                P    \        V\        4      '       d   V^ 8  g   Q hWn        R# r  )r   r  r  r  s   &&r#   r  r  B  s!    #s##q00(+%r6   c                  < \         SV `  V4      pV P                  '       d+   VP                  R P	                  V P                  4      4       V P
                  '       d+   VP                  RP	                  V P
                  4      4       V P                  '       d-   RpVP                  VP	                  V P                  4      4       V# )zalign {0:d}zdereferenceable({0:d})zdereferenceable_or_null({0:d}))ru  r  r  rN  r-   r  r  )rD   rE   r-  drefr   s   &&  r#   r  ArgumentAttributes._to_listG  s     %:::LL--djj9:LL1889M9MNO'''3DLLT%A%ABCr6   )r  r  r  r  )r   r   r   r   r   r  r  r  r;  r  r0  r  r  r  r   r   r  r  s   @@r#   rw  rw    s       	 		
 	t 	% 	D 	 	 	5 	U 	% 	5 	5 	  	E!" 	5#$ 	%& 	e'( 	eU5- F27   \\  % % $ $ - - ##, $,	 	r6   rw  c                   B   a a ] tR tRt oRV 3R lltR tR tRtVtV ;t	# )_BaseArgumentiS  c                   < \        V\        P                  4      '       g   Q h\        \        V `  WVR 7       Wn        \        4       V n        R# r  )	r   r   r  ru  r  r  rI  rw  r7  )rD   rI  rE   rK  r   s   &&&&r#   r  _BaseArgument.__init__T  s=    #uzz****mT+Fd+C,.r6   c                p    R V P                   P                  : RV P                  : RV P                  : R2# )r   rj  z	 of type r	   rk  r   s   &r#   r   _BaseArgument.__repr__Z  s&    *...*A*A499*.))5 	5r6   c                <    V P                   P                  V4       R # r   )r7  rX   )rD   attrs   &&r#   add_attribute_BaseArgument.add_attribute^  s    D!r6   )r7  rI  rp  )
r   r   r   r   r  r   r  r   r   r  r  s   @@r#   r  r  S  s     /5" "r6   r  c                   *   a  ] tR tRt o RtR tRtV tR# )r8  ib  z+
The specification of a function argument.
c                $   V P                   P                  V P                  4      pV'       d;   R P                  V P                  RP	                  V4      V P                  4       4      # RP                  V P                  V P                  4       4      # )z{0} {1} {2}rj  r   )r7  r  r+   r-   r   r.   rD   r-  s   & r#   rq  Argument.__str__g  sn    ((3 ''		388E?(,(:(:(<> > ##DIIt/A/A/CDDr6   r>   Nr   r   r   r   r   rq  r   r   r   s   @r#   r8  r8  b  s     E Er6   r8  c                   *   a  ] tR tRt o RtR tRtV tR# )r9  ip  z1
The specification of a function's return value.
c                    V P                   P                  V P                  4      pV'       d,   R P                  RP	                  V4      V P                  4      # \        V P                  4      # )r   rj  )r7  r  r+   r-   r   r   r  s   & r#   rq  ReturnValue.__str__u  sJ    ((3##CHHUOTYY??tyy>!r6   r>   Nr  r   s   @r#   r9  r9  p  s     " "r6   r9  c                   |   a a ] tR tRt oRtRV 3R llt]R 4       t]R 4       t]R 4       t	R t
R tR	 tR
tVtV ;t# )rL  i}  a  
A LLVM IR basic block. A basic block is a sequence of
instructions whose execution always goes from start to end.  That
is, a control flow instruction (branch) can only appear as the
last instruction, and incoming branches can only jump to the first
instruction.
c                   < \         \        V `  V\        P                  ! 4       VR 7       VP
                  V n        . V n        RV n        R# r  )ru  rL  r  r   	LabelTyper\  instructions
terminator)rD   rI  rK  r   s   &&&r#   r  Block.__init__  s:    eT#FEOO,=D#I\\
r6   c                    V P                   R J# r   )r  r   s   &r#   is_terminatedBlock.is_terminated  s    d**r6   c                    V P                   # r   r@  r   s   &r#   functionBlock.function  rB  r6   c                .    V P                   P                  # r   )rI  r  r   s   &r#   r  Block.module  s    {{!!!r6   c                    VP                  R P                  V P                  4       4      4       YP                   Uu. uF  pRP                  V4      NK  	  up,          pR# u upi )z{0}:
z  {0}
N)rN  r-   _format_namer  )rD   r"   instrs   && r#   rO  Block.descr  sM    

8??4#4#4#6785F5FG5FE	  '5FGGGs   A"c                v   VP                   VP                   8w  d   \        R4      hV P                  P                  V4      pV P                  P	                  V4       V P                  P                  W24       V P                  P                   F'  pVP                   F  pVP                  W4       K  	  K)  	  R# )zReplace an instructionz$new instruction has a different typeN)	r+   r   r  indexremoverQ  rI  rH  replace_usage)rD   oldnewposbbr  s   &&&   r#   rf  Block.replace  s    88sxxBCC%%c*  %  *++**B##C- ) +r6   c                    V P                   p\        P                  V4      '       g4   VP                  R R4      P                  RR4      pRP	                  V4      pV# )rb  rd  rc  re  z"{0}")rK  _SIMPLE_IDENTIFIER_REmatchrf  r-   r_  s   & r#   r  Block._format_name  sN     yy$**400<<f-55c6BD>>$'Dr6   )r  r\  r  rp  )r   r   r   r   r   r  r;  r  r  r  rO  rf  r  r   r   r  r  s   @@r#   rL  rL  }  s`      + +   " "H
. r6   rL  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )BlockAddressi  z
The address of a basic block.
c                    \        V\        4      '       g   Q h\        V\        4      '       g   Q h\        P                  ! ^4      P                  4       V n        Wn        W n        R# )   N)	r   r2  rL  r   r   r   r+   r  basic_block)rD   r  r  s   &&&r#   r  BlockAddress.__init__  sL    (H----+u----MM!$//1	 &r6   c                V    R P                  V P                  V P                  4       4      # r  r  r   s   &r#   rq  BlockAddress.__str__  r  r6   c                    R P                  V P                  P                  4       V P                  P                  4       4      # )zblockaddress({0}, {1}))r-   r  r.   r  r   s   &r#   r.   BlockAddress.get_reference  s7    '..MM'')**,. 	.r6   )r  r  r+   N)
r   r   r   r   r   r  rq  r.   r   r   r   s   @r#   r  r    s     'A. .r6   r  )3r   r8   rw  rer   r   llvmlite.irr   r   llvmlite.ir._utilsr   r   r   r/  mapordascii_lettersdigitsr   compiler  r   r$   r@   rI   r   rK   r   r   r   r   r/   rF  rr  r  r  r  r  r  r  r  setr  r  r2  rw  r  r8  r9  rL  r  r>   r6   r#   <module>r     s  
   	 " - -. . #c6#7#789#c6==123#c#EFGH 

#CD  $$$$ ! (" JIF JIZ
OF O. . L	GO{3]E GOT  5E5u 5Ep!Z !B {$;U  .!F !)#j )#X	 	>Bj >BB*m\ ;[ ;|<3 <81 1hY%{ Y%xM M`"J "E} E
"- 
"3J 3l.5 .r6   