+
    NV-jåÿ  ã                   ó6  € ^ RI t ^ RIt^ RIt^ RIt^RIHtHt ^RIHt ^RI	5 Rt
RtRt]P                  R8g  ;'       g/    ]P                  R"8  ;'       g    ]P                  R#8¬  ;'       d    ]P                  ! 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]P                  R$8¼  d   ] P.                  tM ! R R] P2                  4      tR tR tR%R ltR%R ltR tR tR t R t!R  t"R&R! lt#R# )'é    N)ÚffiplatformÚmodel)ÚVerificationError)Ú*i&  i'  i(  Úwin32ÚPy_GIL_DISABLEDc                   ó6   a € ] tR t^t o RR ltR tR tRtV tR# )Ú
GlobalExprc                óB   € Wn         W n        W0n        W@n        WPn        R # ©N)ÚnameÚaddressÚtype_opÚsizeÚcheck_value)Úselfr   r   r   r   r   s   &&&&&&Ú`/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/cffi/recompiler.pyÚ__init__ÚGlobalExpr.__init__   s   € ØŒ	ØŒØŒØŒ	Ø&Öó    c           	     ó”   € R V P                   : RV P                  : RV P                  P                  4       : RV P                  : R2	# )ú  { "z", (void *)ú, z
, (void *)ú },)r   r   r   Ú	as_c_exprr   ©r   s   &r   r   ÚGlobalExpr.as_c_expr   s0   � à�IŒI�t—|”| T§\¡\×%;Ñ%;Ö%=¸t¿y¼yðJð 	Jr   c                ór   € R V P                   P                  4       V P                  V P                  3,          # )z
b'%s%s',%d)r   Úas_python_bytesr   r   r   s   &r   Úas_python_exprÚGlobalExpr.as_python_expr   s2   € Ø˜tŸ|™|×;Ñ;Ó=¸t¿y¹yØ#×/Ñ/ð1õ 1ð 	1r   )r   r   r   r   r   N)r   r   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r    Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r
   r
      s   ø‡ € ô'òJ÷1ð 1r   r
   c                   ó8   a € ] tR t^t o R tR tR tR tRtV t	R# )Ú	FieldExprc                óB   € Wn         W n        W0n        W@n        WPn        R # r   )r   Úfield_offsetÚ
field_sizeÚfbitsizeÚfield_type_op)r   r   r.   r/   r0   r1   s   &&&&&&r   r   ÚFieldExpr.__init__   s   € ØŒ	Ø(ÔØ$ŒØ ŒØ*Ör   c                óü   € R \        V P                  4      ,          pRV P                  : RV P                  : R2RV: RV P                  : R2,           RV: RV P                  P                  4       : R2,           # )Ú r   ú", z,
z     z   r   )Úlenr   r.   r/   r1   r   )r   Úspacess   & r   r   ÚFieldExpr.as_c_expr&   sZ   € Ø”s˜4Ÿ9™9“~Õ%‰Ø%)§Y¤Y°×0AÔ0AÑBÛ%+¨T¯_¬_Ð=ö>ã%+¨T×-?Ñ-?×-IÑ-IÖ-KÐLõMð 	Nr   c                ó   € \         hr   )ÚNotImplementedErrorr   s   &r   r    ÚFieldExpr.as_python_expr,   s   € Ü!Ð!r   c                ó  € V P                   P                  \        8X  d   R pM;V P                   P                  \        8X  d   \	        V P
                  4      pM\        hRV P                   P                  4       : V: V P                  : R2# )Ú úb'Ú')	r1   ÚopÚOP_NOOPÚOP_BITFIELDÚformat_four_bytesr0   r:   r   r   )r   Ú	size_exprs   & r   Úas_field_python_exprÚFieldExpr.as_field_python_expr/   sj   € Ø×Ñ× Ñ ¤GÔ+Ø‰IØ×Ñ×"Ñ"¤kÔ1Ü)¨$¯-©-Ó8‰Iä%Ð%øØ"×0Ñ0×@Ñ@ÕBÚ'Ø"Ÿiœið)ð 	)r   )r0   r.   r/   r1   r   N)
r#   r$   r%   r&   r   r   r    rE   r'   r(   r)   s   @r   r,   r,      s   ø‡ € ò+òNò"÷	)ð 	)r   r,   c                   ó2   a € ] tR t^:t o R tR tR tRtV tR# )ÚStructUnionExprc	                óf   € Wn         W n        W0n        W@n        WPn        W`n        Wpn        W€n        R # r   )r   Ú
type_indexÚflagsr   Ú	alignmentÚcommentÚfirst_field_indexÚc_fields)	r   r   rJ   rK   r   rL   rM   rN   rO   s	   &&&&&&&&&r   r   ÚStructUnionExpr.__init__;   s+   € àŒ	Ø$ŒØŒ
ØŒ	Ø"ŒØŒØ!2ÔØ Žr   c                óx  € R V P                   V P                  V P                  3,          RV P                  : RV P                  : R2,           RV P
                  \        V P                  4      3,          ,           V P                  '       d!   RV P                  ,          ,           R,           # R,           R,           # )z  { "%s", %d, %s,z
    r   z%d, %d z	/* %s */ r=   z},)	r   rJ   rK   r   rL   rN   r6   rO   rM   r   s   &r   r   ÚStructUnionExpr.as_c_exprF   sœ   € Ø# t§y¡y°$·/±/À4Ç:Á:Ð&NÖNØ&*§i¤i°·´Ð@õAà˜t×5Ñ5´s¸4¿=¹=Ó7IÐJÕJõKð 26··°�; §¡Õ-õGð õ	ð 	ð DFõGð õ	ð 	r   c                ó  € \        V P                  \        4      pV P                   Uu. uF  pVP	                  4       NK  	  ppR \        V P                  4      : \        V4      : V P                  : RRP                  V4      : R2# u upi )z(b'ú',Ú,Ú))	ÚevalrK   ÚG_FLAGSrO   rE   rC   rJ   r   Újoin)r   rK   Úc_fieldÚfields_exprs   &   r   r    ÚStructUnionExpr.as_python_exprM   sy   € Ü�T—Z‘Z¤Ó)ˆà&*§m¢mó5Ù&3˜7ð ×3Ñ3Ö5Ù&3ð 	ð 5ˆô ˜dŸo™oÕ.Ü˜eÕ$Ø�IŒIØ�H‰H�[Ö!ð	#ð 	#ùò5s   ©B
)rL   rO   rM   rN   rK   r   r   rJ   Nr"   r)   s   @r   rH   rH   :   s   ø‡ € ò	!ò÷#ð #r   rH   c                   ó2   a € ] tR t^Wt o R tR tR tRtV tR# )ÚEnumExprc                óB   € Wn         W n        W0n        W@n        WPn        R # r   ©r   rJ   r   ÚsignedÚallenums)r   r   rJ   r   ra   rb   s   &&&&&&r   r   ÚEnumExpr.__init__X   s   € ØŒ	Ø$ŒØŒ	ØŒØ Žr   c                ó‚   € R V P                   V P                  V P                  V P                  V P                  3,          # )z1  { "%s", %d, _cffi_prim_int(%s, %s),
    "%s" },r`   r   s   &r   r   ÚEnumExpr.as_c_expr_   s9   € ðØ!%§¡¨D¯O©OØ!%§¡¨D¯K©K¸¿¹ð!HõHð 	Ir   c                ó"  € R\         R\        R\        R\        R\        R	\
        R
\        R\        /V P                  V P                  3,          pR\        V P                  4      : \        V4      : V P                  : RV P                  : R2# )é   r>   z\x00r?   )rg   r   )rg   rg   )é   r   )rh   rg   )é   r   )ri   rg   )é   r   )rj   rg   )Ú
PRIM_UINT8Ú	PRIM_INT8ÚPRIM_UINT16Ú
PRIM_INT16ÚPRIM_UINT32Ú
PRIM_INT32ÚPRIM_UINT64Ú
PRIM_INT64r   ra   rC   rJ   r   rb   )r   Ú
prim_indexs   & r   r    ÚEnumExpr.as_python_exprd   sq   € à”J ¬)Ø”K ¬*Ø”K ¬*Ø”K ¬*ð	ð
 �i‰i˜Ÿ™Ð$õ&‰
ô &7°t·±Õ%GÜ%6°zÕ%BØ%)§Y¤Y°·´ð?ð 	?r   )rb   r   ra   r   rJ   Nr"   r)   s   @r   r^   r^   W   s   ø‡ € ò!òI÷
	?ð 	?r   r^   c                   ó2   a € ] tR t^ot o R tR tR tRtV tR# )ÚTypenameExprc                ó   € Wn         W n        R # r   ©r   rJ   )r   r   rJ   s   &&&r   r   ÚTypenameExpr.__init__p   s   € ØŒ	Ø$Žr   c                ó@   € R V P                   V P                  3,          # )z  { "%s", %d },rx   r   s   &r   r   ÚTypenameExpr.as_c_exprt   s   € Ø  D§I¡I¨t¯©Ð#?Õ?Ð?r   c                óP   € R \        V P                  4      : V P                  : R2# )r>   r?   )rC   rJ   r   r   s   &r   r    ÚTypenameExpr.as_python_exprw   s   � Ü-¨d¯o©oÕ>ÀÇ	Ä	ÐJÐJr   rx   Nr"   r)   s   @r   rv   rv   o   s   ø‡ € ò%ò@÷Kð Kr   rv   c                   ó  a € ] tR t^~t o ^ tRJR ltR tR tR tR t	R t
. RKOtR tRLR ltR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"RMR lt#R  t$R! t%R" t&]&t'R# t(R$ t)])t*R% t+]+t,R& t-R' t.R( t/RNR) lt0R* t1R+ t2R, t3R- t4RMR. lt5R/ t6R0 t7R1 t8R2 t9R3 t:R4 t;R5 t<R6 t=R7 t>R8 t?]?;t@tAR9 tBR: tCR; tDR< tER= tF]F;tGtHR> tIR? tJR@ tKRA tLRB tMRC tNRD tO]OtP]OtQRE tRRF tSRG tT]TtURH tVRItWV tXR# )OÚ
Recompilerc                ó@   € Wn         W n        W0n        \        V n        R # r   )ÚffiÚmodule_nameÚtarget_is_pythonÚVERSION_BASEÚ_version)r   r�   r‚   rƒ   s   &&&&r   r   ÚRecompiler.__init__�   s   € ØŒØ&ÔØ 0ÔÜ$ˆŽr   c                ó<   € \        V P                  V4      V n        R # r   )Úmaxr…   )r   Úvers   &&r   Úneeds_versionÚRecompiler.needs_version‡   s   € Ü˜DŸM™M¨3Ó/ˆŽr   c           
     ó®  € / V n         V P                  R 4       \        V P                   \        R7      p. V n        V EFK  pVP
                  '       g   K  V P                   V,          e   Q h\        V P                  4      V P                   V&   V P                  P                  V4       VP                   F´  p\        V\        P                  \        P                  \        P                  \        P                  \        P                  34      '       g   Q hV P                   V,          f#   \        V P                  4      V P                   V&   V P                  P                  V4       K¶  	  V P                  P                  R4       EKN  	  V Fª  pVP
                  '       d   K  V P                   V,          e   K.  \        V P                  4      V P                   V&   V P                  P                  V4       VP                   '       g   K  VP"                  f   K�  V P                  P                  R4       K¬  	  RV P                   P%                  4       9  g   Q h/ V n        / V n        V Fe  p\        V\        P*                  4      '       d   RV P&                  V&   K4  \        V\        P,                  4      '       g   KV  RV P(                  V&   Kg  	  \/        \        V P&                  R R7      4       F  w  rBW@P&                  V&   K  	  \/        \        V P(                  R R7      4       F  w  rBW@P(                  V&   K  	  V FC  p\1        V RVP2                  P4                  ,           4      pV! W P                   V,          4       KE  	  V P                   F  p\        V\6        4      '       d   K  Q h	  \9        V P                  4      V n        R# )Úcollecttype©ÚkeyNÚENDÚLENc                 ó   € V P                   # r   ©r   ©Útps   &r   Ú<lambda>Ú/Recompiler.collect_type_table.<locals>.<lambda>´   ó   € °R·W²Wr   c                 ó   € V P                   # r   r“   r”   s   &r   r–   r—   ·   r˜   r   Ú_emit_bytecode_)Ú
_typesdictÚ	_generateÚsortedÚstrÚ
cffi_typesÚis_raw_functionr6   ÚappendÚargsÚ
isinstancer   ÚVoidTypeÚBasePrimitiveTypeÚPointerTypeÚStructOrUnionOrEnumÚFunctionPtrTypeÚis_array_typeÚlengthÚvaluesÚ_struct_unionsÚ_enumsÚStructOrUnionÚEnumTypeÚ	enumerateÚgetattrÚ	__class__r#   ÚCffiOpÚtuple)r   Ú	all_declsr•   Útp1ÚiÚmethodr@   s   &      r   Úcollect_type_tableÚRecompiler.collect_type_tableŠ   sç  € ØˆŒØ�‰�}Ô%ä˜4Ÿ?™?´Ô4ˆ	ð ˆŒÜˆBØ×!×!Ò!Ø—‘ rÕ*Ò2Ð2Ð2Ü&)¨$¯/©/Ó&:�—‘ Ñ#Ø—‘×&Ñ& rÔ*ØŸ7œ7�CÜ% c¬E¯N©NÜ,1×,CÑ,CÜ,1×,=Ñ,=Ü,1×,EÑ,EÜ,1×,AÑ,Að	,C÷ Dò Dð Dð Dð
 —‘ sÕ+Ò3Ü/2°4·?±?Ó/C˜Ÿ™¨Ñ,Ø—O‘O×*Ñ*¨3Ö/ñ #ð —‘×&Ñ& u×-ñ ó" ˆBØ×%×%Ò%¨$¯/©/¸"Õ*=Ô*EÜ&)¨$¯/©/Ó&:�—‘ Ñ#Ø—‘×&Ñ& rÔ*Ø×#×#Ò#¨¯	©	Ô(=Ø—O‘O×*Ñ*¨5Ö1ñ ð ˜4Ÿ?™?×1Ñ1Ó3Ô3Ð3Ð3ð !ˆÔØˆŒÛˆBÜ˜"œe×1Ñ1×2Ò2Ø*.�×#Ñ# BÓ'Ü˜B¤§¡×/Ô/Ø"&�—‘˜B“ñ	 ô
 œv d×&9Ñ&9Ù*<ô >ö ?‰EˆAà&'×Ñ Ó#ñ?ô œv d§k¡kÙ*<ô >ö ?‰EˆAà�K‰K˜‹Oñ?ó
 ˆBÜ˜TÐ#4°r·|±|×7LÑ7LÕ#LÓMˆFÙ�2—‘ rÕ*Ö+ñ ð
 —/”/ˆBÜ˜b¤&×)Ô)Ð)Ð)ñ "ä §¡Ó0ˆŽr   c                óF   € V P                   '       * pVP                  V4      # r   )rƒ   Ú
enumfields)r   r•   Úexpand_anonymous_struct_unions   && r   Ú_enum_fieldsÚRecompiler._enum_fieldsÄ   s#   € ð -1×,AÑ,AÔ(AÐ%Ø�}‰}Ð:Ó;Ð;r   c                óî  € \        V\        P                  4      '       g3   \        V\        4      '       d   V F  pV P	                  V4       K  	  R # WP
                  9  Ed   R V P
                  V&   \        V\        P                  4      '       d"   V P	                  VP                  4       4       R # \        V\        P                  4      '       dv   VP                  ef   WP                  P                  P                  9  d@   V P                  V4       F(  w  r4 pV P	                  V P                  WV4      4       K*  	  R # R # R # VP                  4        F  w  rRV P	                  V4       K  	  R # R # r   )r£   r   ÚBaseTypeByIdentityr´   Ú_do_collect_typer›   r¨   Úas_raw_functionr®   Úfldtypesr�   Ú_parserÚ_included_declarationsr¾   Ú_field_typeÚ
_get_items)r   r•   ÚxÚname1r¶   Ú_s   &&    r   rÂ   ÚRecompiler._do_collect_typeÏ   s  € Ü˜"œe×6Ñ6×7Ò7Ü˜"œe×$Ò$Û�AØ×)Ñ)¨!Ö,ñ áØ—_‘_Õ$Ø"&ˆD�O‰O˜BÑÜ˜"œe×3Ñ3×4Ò4Ø×%Ñ% b×&8Ñ&8Ó&:Ö;Ü˜B¤× 3Ñ 3×4Ò4Ø—;‘;Ò*Ø§(¡(×"2Ñ"2×"IÑ"IÔIØ,0×,=Ñ,=¸bÖ,AÑ(˜ A qØ×-Ñ-¨d×.>Ñ.>¸rÈ#Ó.NÖOó -Bñ Jñ +ð
 ŸM™MžO‘D�AØ×)Ñ)¨!Ö,ó ,ñ %r   c                ó–  € V P                   P                  P                  P                  4       p\	        V4       F@  w  pw  rEVP                  R ^4      w  rg \        V RV: RV: 24      p YPn	        T! YG4       KB  	  R#   \         d    \        RT,          4      hi ; i  \         d   p	\        P                  ! Y“4       h Rp	?	ii ; i)r4   Ú_generate_cpy_rË   z"not implemented in recompile(): %rN)r�   rÅ   Ú_declarationsÚitemsr�   Úsplitr±   ÚAttributeErrorr   Ú_current_qualsÚ	Exceptionr   Úattach_exception_info)
r   Ú	step_nameÚlstr   r•   ÚqualsÚkindÚrealnamer¸   Úes
   &&        r   rœ   ÚRecompiler._generateâ   sÄ   € Ø�h‰h×Ñ×,Ñ,×2Ñ2Ó4ˆÜ!'¨¦ÑˆD‘+�2Ø!ŸZ™Z¨¨QÓ/‰NˆDðAÜ ¡ÃÚ@Ið(Kó L�ð
Ø&+Ô#Ù�rÖ$ó "-øô
 "ô AÜ'Ø8¸4Õ?óAð AðAûô ô Ü×+Ò+¨AÔ4Øûðús$   ÁB Á,B!Â BÂ!CÂ,CÃCc                ó¨  € / V n         V P                   F  p. V P                   V&   K  	  \        4       V n        V P	                  R 4       V P                  4        V P                   FH  pV P                   V,          pVR8w  d   VP                  R R7       \        V4      V P                   V&   KJ  	  V P                   R,          pV P                  P                  4        F:  w  r4V\        V4      8  g   Q hW$,          P                  VP                  8X  d   K:  Q h	  \        V4      \        V P                  4      8X  g   Q hV P                   R,          pV P                  P                  4        F:  w  r4V\        V4      8  g   Q hW$,          P                  VP                  8X  d   K:  Q h	  \        V4      \        V P                  4      8X  g   Q hR# )ÚctxÚfieldc                 ó   € V P                   # r   r“   )Úentrys   &r   r–   Ú0Recompiler.collect_step_tables.<locals>.<lambda>  s   € ¨5¯:ª:r   rŽ   Ústruct_unionÚenumN)Ú_lstsÚ	ALL_STEPSÚsetÚ_seen_struct_unionsrœ   Ú_add_missing_struct_unionsÚsortr´   r¬   rÐ   r6   r   r­   )r   rÖ   r×   r•   r·   s   &    r   Úcollect_step_tablesÚRecompiler.collect_step_tables÷   sj  € àˆŒ
ØŸœˆIØ$&ˆD�J‰J�yÓ!ñ (ä#&£5ˆÔ Ø�‰�uÔØ×'Ñ'Ô)àŸœˆIØ—*‘*˜YÕ'ˆCØ˜GÔ#Ø—‘Ñ5�Ô6Ü$)¨#£JˆD�J‰J�yÓ!ñ	 (ð �j‰j˜Õ(ˆØ×(Ñ(×.Ñ.Ö0‰EˆBØ”s˜3“x”<Ð�<Ø•6—;‘; "§'¡'Ö)Ð)Ð)ñ 1ô �3‹xœ3˜t×2Ñ2Ó3Ô3Ð3Ð3à�j‰j˜Õ ˆØ—[‘[×&Ñ&Ö(‰EˆBØ”s˜3“x”<Ð�<Ø•6—;‘; "§'¡'Ö)Ð)Ð)ñ )ô �3‹xœ3˜tŸ{™{Ó+Ô+Ð+Ò+r   c                óJ   € V P                   P                  VR ,           4       R# )Ú
N)Ú_fÚwrite)r   Úwhats   &&r   Ú_prntÚRecompiler._prnt  s   € Ø�‰�‰�d˜T•kÖ"r   c                óŠ   € V P                   '       d   Ve   Q hV P                  V4       R # Vf   Q hV P                  W4       R # r   )rƒ   Úwrite_py_source_to_fÚwrite_c_source_to_f)r   ÚfÚpreambles   &&&r   Úwrite_source_to_fÚRecompiler.write_source_to_f  sB   € Ø× × Ð ØÒ#Ð#Ð#Ø×%Ñ% aÖ(àÒ'Ð'Ð'Ø×$Ñ$ QÖ1r   c                óÜ   € \        \        P                  P                  \        P                  P	                  \
        4      V4      R 4      pVP                  4       pVP                  4        V# )Úr)ÚopenÚosÚpathrY   ÚdirnameÚ__file__Ú	readlinesÚclose)r   ÚfilenameÚgÚliness   &&  r   Ú_rel_readlinesÚRecompiler._rel_readlines!  sC   € Ü”—‘—‘œbŸg™gŸo™o¬hÓ7¸ÓBÀCÓHˆØ—‘“ˆØ	�‰Œ	Øˆr   c           	     ó(  € Wn         V P                  pV P                  P                  e	   V! R4       \        '       g	   V! R4       V P                  R4      pVP                  R4      pV P                  R4      WEV^,           % V! RP                  V4      4       V P                  P                  R4      RP,          pV P                  P                  eù   V! RV P                  : R	24       V! R
4       V P                  V P                  P                  4       V! R4       V! R4       V! RV: 24       V! R4       V! RV: 24       V! R4       V! RV: 24       V! R4       V P                  R4      pVP                  R4      pV P                  R4      WEV^,           % V! RP                  V4      4       V P                  \        4       V! R4       V! 4        V! V4       V! 4        V! R4       V! 4        V! R4       \        V P                  P                  4        UUu. uF  w  ruWW3NK
  	  upp4      p\!        V P"                  4       FI  w  rYRp
WX9   d   RW…,          P%                  4       ,           p
V! RWYP'                  4       V
3,          4       KK  	  V P"                  '       g	   V! R4       V! R4       V! 4        \)        4       V n        V P-                  R4       / pV P.                   Fq  pV P0                  V,          p\3        V4      W¼&   W¼,          ^ 8”  g   K2  V! RV: RV: R24       V F  pV! VP'                  4       4       K  	  V! R4       V! 4        Ks  	  V P                  P4                  '       dp   V! R 4       V P                  P4                   F6  p VP6                  R!,          w  ppTf   \;        R%4      hT! R&T: R'24       K8  	  V! R(4       V! R4       V! 4        V! R)4       V! R*4       V P.                   F0  pW¼,          ^ 8”  d   V! R+V,          4       K!  V! R,V,          4       K2  	  V P.                   F#  pVR-8w  g   K  V! R.W¼,          V3,          4       K%  	  V P                  P4                  '       d
   V! R/4       MV! R04       V! R1\3        V P"                  4      3,          4       ^ pV P<                  ^ 8”  g   V P                  P                  e
   V^,          pV! R2V,          4       V! R4       V! 4        V! R34       V! R44       V! R4       V! 4        V! R4       V! R54       V! R6V: R724       V! R84       V^,          '       d   V! R94       V! R:4       V! R;4       V! R<V P>                  ,          4       V! R=4       V! R>4       V! R?4       V! R4       V! R@4       V! RA4       V! RB4       V! RC4       V! RDV: RE24       V! RF4       V! RGV: RH24       V! RI4       V! RI4       V! R4       V! R54       V! RJV: RK24       V! R84       V! RLV P                  V P>                  3,          4       V! R@4       V! R4       V! R54       V! RMV: RK24       V! R84       V! RNV P                  V P>                  3,          4       V! R@4       V! R4       V! 4        V! R34       V! RO4       V! R4       R V n        R # u uppi   \8         d     \;        R"T P                  : R#T: R$24      hi ; i)QNz#define _CFFI_USE_EMBEDDINGz#define _CFFI_NO_LIMITED_APIz_cffi_include.hz#include "parse_c_type.h"
zparse_c_type.hr=   Ú.z#define _CFFI_MODULE_NAME  "Ú"z1static const char _CFFI_PYTHON_STARTUP_CODE[] = {z0 };z#ifdef PYPY_VERSIONz3# define _CFFI_PYTHON_STARTUP_FUNC  _cffi_pypyinit_z#elif PY_MAJOR_VERSION >= 3z+# define _CFFI_PYTHON_STARTUP_FUNC  PyInit_ú#elsez(# define _CFFI_PYTHON_STARTUP_FUNC  initú#endifz_embedding.hz#include "_cffi_errors.h"
z_cffi_errors.hz>/************************************************************/zstatic void *_cffi_types[] = {z // z/* %2d */ %s,%sz  0z};Údeclzstatic const struct _cffi_z	_s _cffi_zs[] = {z.static const char * const _cffi_includes[] = {ºNrh   Núffi object ú
 includes ú8, but the latter has not been prepared with set_source()zMnot implemented yet: ffi.include() of a Python-based ffi inside a C-based ffiz  "z",z  NULLz?static const struct _cffi_type_context_s _cffi_type_context = {z  _cffi_types,z  _cffi_%ss,z  NULL,  /* no %ss */rß   z  %d,  /* num_%ss */z  _cffi_includes,z  NULL,  /* no includes */z  %d,  /* num_types */z  %d,  /* flags */z#ifdef __GNUC__z?#  pragma GCC visibility push(default)  /* for -fvisibility= */ÚPyMODINIT_FUNCÚ_cffi_pypyinit_z(const void *p[])Ú{z%    if (((intptr_t)p[0]) >= 0x0A03) {zQ        _cffi_call_python_org = (void(*)(struct _cffi_externpy_s *, char *))p[1];z    }z    p[0] = (const void *)0x%x;z    p[1] = &_cffi_type_context;z#if PY_MAJOR_VERSION >= 3ú    return NULL;Ú}z#  ifdef _MSC_VERz     PyMODINIT_FUNCz#  if PY_MAJOR_VERSION >= 3z     PyInit_z(void) { return NULL; }z#  elsez	     initz
(void) { }z#  endifÚPyInit_ú(void)z5  return _cffi_init("%s", 0x%x, &_cffi_type_context);Úinitz.  _cffi_init("%s", 0x%x, &_cffi_type_context);z#  pragma GCC visibility popéÿÿÿÿ) rï   rò   r�   Ú
_embeddingÚUSE_LIMITED_APIr  ÚindexrY   r‚   rÑ   Ú_print_string_literal_in_arrayrŠ   ÚVERSION_EMBEDDEDÚdictr›   rÐ   r°   rŸ   Ú_get_c_namer   rç   Ú_seen_constantsrœ   ræ   rå   r6   Ú_included_ffisÚ_assigned_sourcerÒ   r   Ú_num_externpyr…   )r   r÷   rø   Úprntr  r·   Úbase_module_namer•   Útypeindex2typer@   rM   ÚnumsrÖ   r×   rá   Úffi_to_includeÚincluded_module_nameÚincluded_sourcerK   s   &&&                r   rö   ÚRecompiler.write_c_source_to_f'  s[  € ØŒØ�z‰zˆØ�8‰8×ÑÒ*ÙÐ.Ô/ß‹ÙÐ/Ô0ð ×#Ñ#Ð$5Ó6ˆØ�K‰KÐ5Ó6ˆØ×*Ñ*Ð+;Ó<ˆ��!•ˆÙˆR�W‰W�U‹^Ôð  ×+Ñ+×1Ñ1°#Ó6°rÕ:ÐØ�8‰8×ÑÒ*Ú°d×6FÔ6FÐHÔIÙÐDÔEØ×/Ñ/°·±×0CÑ0CÔDÙ�ŒLÙÐ&Ô'ÚÚ ð#ô $áÐ.Ô/ÚÚ ð#ô $á�ŒMÚÚ ð#ô $á�ŒNØ×'Ñ'¨Ó7ˆEØ—‘Ð9Ó:ˆAØ×.Ñ.Ð/?Ó@ˆE�A�a•CˆLÙ�—‘˜“Ô Ø×ÑÔ/Ô0ñ 	ÐMÔNÙŒÙˆXŒÙŒÙÐMÔNÙŒñ 	Ð-Ô.Ü°d·o±o×6KÑ6KÔ6MÔNÑ6M©7¨B ›wÑ6MÒNÓOˆÜ˜tŸ™Ö/‰EˆAØˆGØÔ"Ø  >Õ#4×#@Ñ#@Ó#BÕB�ÙÐ" a¯©«¸Ð%AÕAÖBñ	 0ð
 ��ˆÙ�ŒKÙˆTŒ
ÙŒô  #›uˆÔØ�‰�vÔð ˆØŸœˆIØ—*‘*˜YÕ'ˆCÜ! #›hˆD‰OØ� Ö"ÚÛ›yð*ô +ã �EÙ˜Ÿ™Ó*Ö+ñ !á�T”
Ù–ñ (ð �8‰8×"×"Ð"ÙÐAÔBØ"&§(¡(×"9Ô"9�ð8à&×7Ñ7¸Õ;ñ :Ð(¨/ð #Ò*Ü+ð3ó4ð 4ò Ó"6Ð8Ö9ñ #:ñ �ŒNÙ�ŒJÙŒFñ 	ÐNÔOÙÐÔØŸœˆIØ� Ô"Ù�^ iÕ/Ö0áÐ,¨yÕ8Ö9ñ	 (ð
 ŸœˆIØ˜GÖ#ÙÐ+¨t­À	Ð.JÕJÖKñ (ð �8‰8×"×"Ð"ÙÐ$Õ%áÐ-Ô.ÙÐ%¬¨T¯_©_Ó)=Ð(?Õ?Ô@ØˆØ×Ñ Ô! T§X¡X×%8Ñ%8Ò%DØ�Q�JˆEÙÐ! EÕ)Ô*ÙˆTŒ
ÙŒñ 	ÐÔÙÐNÔOÙˆXŒÙŒÙÐ"Ô#ÙÐÔÚÓ5EÐGÔHÙˆSŒ	Ø�1�9Œ9ÙÐ8Ô9Ùð Eô Fá�ŒMÙÐ-°·±Õ=Ô>ÙÐ.Ô/ÙÐ(Ô)ÙÐÔ ÙˆXŒÙˆSŒ	ñ 	Ð Ô!ÙÐ"Ô#ÙÐ*Ô+ÚÓ8HÐJÔKÙˆYŒÚÓ(8Ð:Ô;ÙˆZÔÙˆZÔÙÐ*Ô+ÙÐÔÚÓ"2Ð4Ô5ÙˆSŒ	ÙÐDØ×Ñ˜dŸm™mðH-õ -ô 	.áˆSŒ	ÙˆWŒÙÐÔÚÓ/Ð1Ô2ÙˆSŒ	ÙÐ=Ø×Ñ˜dŸm™mðA-õ -ô 	.áˆSŒ	ÙˆXŒÙŒÙÐÔÙÐ+Ô,ÙˆXŒØˆŽùów OøôH &ô 8Ý+ð !ŸHœH£nð7ó8ð 8ð8ús   È#[!
Î%['Û'*\c                óJ  € \        V\        4      '       d   R V: R2# \        V\        \        34      '       dW   V Uu. uF  q P	                  V4      NK  	  pp\        V4      ^8X  d   VP                  R4       RRP                  V4      : R2# VP                  4       # u upi )r>   r?   r=   Ú(rU   rV   )	r£   rž   Úlistr´   Ú_to_pyr6   r¡   rY   r    )r   rÉ   ÚitemÚreps   &&  r   r2  ÚRecompiler._to_pyÔ  s   € Ü�aœ×ÓÛ�>Ð!Ü�aœ$¤˜×'Ò'Ù12Ó3±¨—;‘;˜tÖ$±ˆCÐ3Ü�3‹x˜1Œ}Ø—
‘
˜2”øØ ŸX™X cž]Ð,Ð,Ø×ÑÓ!Ð!ùò	 4s   ¾B c           
     óþ  € Wn         V P                  pV! R 4       V! R4       \        V P                  P                  ;'       g    R4      p\        V4       FU  pV P                  P                  V,          p VP                  R,          w  rgTe   \        R4      hT! RYd3,          4       KW  	  V! 4        V! R	V P                  : R
24       V! RV P                  3,          4       RV n
        \        V P                  4      V n        V P                   Uu. uF  qˆP                  4       NK  	  p	pV! RV P                  RP                  V	4      4      : R24       \!        V P"                  P%                  4        U
Uu. uF  w  r¤WJ3NK
  	  upp
4      pV P&                   FQ  pV P(                  V,          p\        V4      ^ 8”  g   K(  VR8w  g   K1  V! RV: RV P                  V4      : R24       KS  	  V^ 8”  d=   T! RRP                  \        V4       Uu. uF  pRV,          NK  	  up4      : R24       V! R4       R#   \         d     \        RT P                  : RT: R24      hi ; iu upi u upp
i u upi )z# auto-generated filezimport _cffi_backendr  r  r  r  NzMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffizfrom %s import ffi as _ffi%dzffi = _cffi_backend.FFI('rT   z    _version = 0x%x,z    _types = r=   rU   rß   z    _zs = z    _includes = (r   z_ffi%dz,),rV   © )rï   rò   r6   r�   r$  Úranger%  rÒ   r   r‚   r…   r´   rŸ   r   r2  rY   r!  r›   rÐ   ræ   rå   )r   r÷   r'  Únum_includesr·   r+  r,  r-  r@   Ú	types_lstr•   r)  rÖ   r×   s   &&            r   rõ   ÚRecompiler.write_py_source_to_fÞ  s)  € ØŒØ�z‰zˆñ 	Ð$Ô%ÙÐ#Ô$ô ˜4Ÿ8™8×2Ñ2×8Ð8°bÓ9ˆÜ�|Ö$ˆAØ!ŸX™X×4Ñ4°QÕ7ˆNð4à"×3Ñ3°BÕ7ñ 6Ð$ð Ò*Ü'ð4ó5ð 5ñ Ð/Ð3GÐ2KÕKÖLñ %ñ 	ŒÚ°×0@Ô0@ÐBÔCÙÐ# t§}¡}Ð&6Õ6Ô7ØˆŒô   §¡Ó0ˆŒØ48·O²OÓD±O¨b×'Ñ'Ö)±Oˆ	ÐDÚ 4§;¡;¨r¯w©w°yÓ/AÖ#BÐDÔEÜ°d·o±o×6KÑ6KÔ6MÔNÑ6M©7¨B ›wÑ6MÒNÓOˆð ŸœˆIØ—*‘*˜YÕ'ˆCÜ�3‹x˜!Ž| 	¨WÖ 4Ú«°D·K±KÀÖ4DÐEÖFñ (ð ˜!ÔÚØ—	‘	´°|Ô1DÓEÑ1D¨A˜8 aŸ<˜<Ñ1DÑEÖFðIô Jñ 	ˆSŽ	øôC "ô 4Ý'ð Ÿœ£.ð3ó4ð 4ð4üò" EùãNùò Fs   Á8IÄI/Å>I4
ÈI:É*I,c                ó(   € V P                   V,          # r   )r›   )r   Útypes   &&r   Ú_gettypenumÚRecompiler._gettypenum  s   € à�‰˜tÕ$Ð$r   c           
     óþ  € R p\        V\        P                  4      '       dà   VP                  4       '       gÊ   VP	                  4       '       d(   VP
                  R8w  d   RpRVP
                  ,          pMˆ\        V\        P                  4      '       d   RVP                  R 4      : R2pMQVP                  R 4      pRV: RVP
                  P                  RR4      : 2pVR9   d   V P                  \        4       R	pEM\        V\        P                  4      '       d   V P                  WW44       R
# \        V\        P                  4      '       g!   \        V\        P                  4      '       dD   V P                  RW0P                  V4      V3,          4       V P                  RV,          4       R
# \        V\        P                   4      '       d4   RVP                  R 4      ,          pRV P                  V4      ,          pRpM\#        V4      hV P                  RV: RV: RV: V: R24       V P                  RV: RVP                  R 4      : RV: R24       V P                  RV,          4       R
# )r=   Ú_BoolÚ_cffi_to_c_intz, %sr0  z)_cffi_to_c_doublez)_cffi_to_c_r4   rË   z-1Nz6  if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z    %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)ÚNULLú  z = ú);z  if (z == (rV   z && PyErr_Occurred())©Úchar16_tÚchar32_t)r£   r   r¥   Úis_complex_typeÚis_integer_typer   ÚUnknownFloatTypeÚ
get_c_nameÚreplacerŠ   ÚVERSION_CHAR16CHAR32r¦   Ú"_convert_funcarg_to_c_ptr_or_arrayr§   rò   r>  r¨   r:   )	r   r•   ÚfromvarÚtovarÚerrcodeÚextraargÚ	converterÚcnameÚerrvalues	   &&&&&    r   Ú_convert_funcarg_to_cÚ Recompiler._convert_funcarg_to_c  så  € ØˆÜ�bœ%×1Ñ1×2Ò2¸2×;MÑ;M×;OÒ;OØ×!Ñ!×#Ò#¨¯©°7Ô(:Ø,�	Ø! B§G¡GÕ+‘Ü˜B¤× 6Ñ 6×7Ó7ð 8:·}±}ÀRÖ7HÐJ‘	àŸ™ bÓ)‘Û38Ø35·7±7·?±?À3ÈÕ3LðN�	àÐ4Ô4Ø×&Ñ&Ô';Ô<ØŠHä˜œE×-Ñ-×.Ò.Ø×3Ñ3°BØ49ôDáä˜œU×6Ñ6×7Ò7Ü˜œU×4Ñ4×5Ò5ð �J‰JÐOØ× 0Ñ 0°Ó 4°gÐ>õ?ô @à�J‰J�y 7Õ*Ô+Ùä˜œE×1Ñ1×2Ò2Ø0°2·=±=ÀÓ3DÕDˆIØ)¨D×,<Ñ,<¸RÓ,@Õ@ˆHØ‰Hô & bÓ)Ð)à�
Š
«³	º7ÃHÐMÔNØ�
Š
Û�2—=‘= Ö$£hð0ô 	1à�
‰
�9˜wÕ&Ö'r   c                ó°   € \        V\        P                  4      '       d6   VP                  R 4       VP                  R4       VP                  R4       R# R# )zPy_ssize_t datasizez-struct _cffi_freeme_s *large_args_free = NULLzIif (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);N)r£   r   r¦   Úadd)r   r•   Ú	localvarsÚ	freeliness   &&&&r   Ú_extra_local_variablesÚ!Recompiler._extra_local_variablesC  sG   € Ü�bœ%×+Ñ+×,Ò,Ø�M‰MÐ/Ô0Ø�M‰MÐIÔJØ�M‰Mð Jö Kñ -r   c                ó´  € V P                  R 4       V P                  RV P                  V4      W#3,          4       V P                  R4       V P                  RV: RVP                  R4      : R24       V P                  RV P                  V4      W#3,          4       V P                  R4       V P                  R	V,          4       V P                  R
4       R# )z1  datasize = _cffi_prepare_pointer_call_argument(z(      _cffi_type(%d), %s, (char **)&%s);z  if (datasize != 0) {z    z  = ((size_t)datasize) <= 640 ? (r=   z!)alloca((size_t)datasize) : NULL;zF    if (_cffi_convert_array_argument(_cffi_type(%d), %s, (char **)&%s,z,            datasize, &large_args_free) < 0)z	      %s;z  }N)rò   r>  rL  )r   r•   rP  rQ  rR  s   &&&&&r   rO  Ú-Recompiler._convert_funcarg_to_c_ptr_or_arrayJ  s¼   € Ø�
‰
ÐFÔGØ�
‰
Ð=Ø×Ñ˜RÓ  'ðA2õ 2ô 	3à�
‰
Ð+Ô,Ø�
Š
ã�2—=‘= Ö$ð&ô 	'ð 	�
‰
ð #Ø&*×&6Ñ&6°rÓ&:¸GÐ%KõLô 	Mà�
‰
ÐAÔBØ�
‰
�; Õ(Ô)Ø�
‰
�5Ör   c                ó¨  € \        V\        P                  4      '       dç   VP                  4       '       d'   VP                  R 8w  d   RV: RVP                  : R2# \        V\        P
                  4      '       d   RV: R2# VP                  R8w  dZ   VP                  4       '       gD   VP                  P                  RR4      pVR9   d   V P                  \        4       RV: R	V: R2# R
W P                  V4      3,          # \        V\        P                  \        P                  34      '       d   RW P                  V4      3,          # \        V\        P                  4      '       d8   RW P                  \        P                  ! VP                  4      4      3,          # \        V\        P                  4      '       dJ   VP                   f#   \#        RVP%                  4       : RV: R24      hRW P                  V4      3,          # \        V\        P&                  4      '       d   R
W P                  V4      3,          # \)        V4      h)rA  z_cffi_from_c_int(r   rV   z_cffi_from_c_double(úlong doubler4   rË   Ú_cffi_from_c_r0  z/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))r?   z' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d))rF  )r£   r   r¥   rJ  r   rK  rI  rM  rŠ   rN  r>  r¦   r¨   Ú	ArrayTyper3  r®   ÚfldnamesÚ	TypeErrorr"  r¯   r:   )r   r•   ÚvarÚcontextrU  s   &&&& r   Ú_convert_expr_from_cÚRecompiler._convert_expr_from_cX  së  € Ü�bœ%×1Ñ1×2Ò2Ø×!Ñ!×#Ò#¨¯©°7Õ(:Û58¸"¿'¼'ÐBÐBÜ˜B¤× 6Ñ 6×7Ó7Û47Ð9Ð9Ø—‘˜MÔ)°"×2DÑ2D×2FÒ2FØŸ™Ÿ™¨¨SÓ1�ØÐ4Ô4Ø×&Ñ&Ô';Ô<øÛ05³sÐ;Ð;àHØ×)Ñ)¨"Ó-ðL/õ /ð /ä˜œU×.Ñ.´×0EÑ0EÐF×GÒGØEØ×%Ñ% bÓ)ðI+õ +ð +ä˜œEŸO™O×,Ò,ØEØ×%Ñ%¤e×&7Ò&7¸¿¹Ó&@ÓAðICõ Cð Cä˜œE×/Ñ/×0Ò0Ø�{‰{Ò"ÝØ—N‘NÖ$£gð!/ó 0ð 0àEØ×%Ñ% bÓ)ðI+õ +ð +ä˜œEŸN™N×+Ò+ØDØ×%Ñ% bÓ)ðH+õ +ð +ô & bÓ)Ð)r   c                ó0   € V P                  VR V: R24      # )z(*(z *)0))Ú_global_type©r   r•   r   s   &&&r   Ú_typedef_typeÚRecompiler._typedef_type{  s   € Ø× Ñ ¡³TÐ%;Ó<Ð<r   c                óF   € V P                  V P                  W4      4       R # r   )rÂ   rn  rm  s   &&&r   Ú!_generate_cpy_typedef_collecttypeÚ,Recompiler._generate_cpy_typedef_collecttype~  s   € Ø×Ñ˜d×0Ñ0°Ó:Ö;r   c                ó   € R # r   r7  rm  s   &&&r   Ú_generate_cpy_typedef_declÚ%Recompiler._generate_cpy_typedef_decl�  ó   € Ùr   c                ó‚   € V P                   V,          pV P                  R ,          P                  \        W#4      4       R# )ÚtypenameN)r›   rå   r¡   rv   )r   r•   r   rJ   s   &&& r   Ú_typedef_ctxÚRecompiler._typedef_ctx„  s,   € Ø—_‘_ RÕ(ˆ
Ø�
‰
�:Õ×%Ñ%¤l°4Ó&DÖEr   c                ój  € V P                  W4      pV P                  W4       \        VR R4      R8X  d    V P                  WP                  RR7       R# \        V\        P                  4      '       d@   V P                  VP                  VP                  P                  VP                  VR7       R# R# )ÚoriginNÚunknown_type)Ú
approxname)r~  Ú	named_ptr)	rn  ry  r±   Ú_struct_ctxr   r£   r   ÚNamedPointerTypeÚtotyperm  s   &&&r   Ú_generate_cpy_typedef_ctxÚ$Recompiler._generate_cpy_typedef_ctxˆ  sŒ   € Ø×Ñ Ó)ˆØ×Ñ˜"Ô#Ü�2�x Ó&¨.Ô8Ø×Ñ˜R§¡°TÐÖ:Ü˜œE×2Ñ2×3Ò3Ø×Ñ˜RŸY™Y¨¯	©	¯©À2Ç7Á7Ø')ð ö +ñ 4r   c                ó¶   € V P                  VP                  4       4       VP                  '       d(   V P                  '       g   V P                  V4       R # R # R # r   )rÂ   rÃ   Úellipsisrƒ   rm  s   &&&r   Ú"_generate_cpy_function_collecttypeÚ-Recompiler._generate_cpy_function_collecttype”  sB   € Ø×Ñ˜b×0Ñ0Ó2Ô3Ø�;�;ˆ;˜t×4×4Ð4Ø×!Ñ! "Ö%ñ  5‰;r   c                óÎ  € V P                   '       d   Q h\        V\        P                  4      '       g   Q hVP                  '       d   V P                  W4       R # V P                  p\        VP                  4      pV^ 8X  d   RpMV^8X  d   RpMRp. p. pRV,          p\        VP                  4       FE  w  ršVP                  V
P                  RV	,          V4      4       VP                  RV	,          4       KG  	  RP                  V4      pT;'       g    RpVP                  '       d   VP                  R	,           pMR
pV: RV: RV: R2pV! RVP                  P                  V4      : 24       V! R4       RP                  V4      pRp\        VP                  \        P                  4      '       d   R
pV! RV: V: RV: R24       V! R4       V! R4       V! R4       V! RV: RV: R24       V! R4       RV,          p\        VP                  4       F-  w  ršV
P                  RV	,          V4      pV! RV,          4       K/  	  \!        4       p\!        4       pVP                   F  p
V P#                  V
VV4       K  	  \%        V4       F  pV! RV: R24       K  	  \        VP                  \        P                  4      '       g@   RpRV,          pRVP                  P                  RV4      ,          pV! V4       V! R4       MR pR
p\        VP                  4      ^8”  d‘   \'        \        VP                  4      4      pV F  p	V! RV	,          4       K  	  V! 4        T! RT\        V4      \        V4      RP                  V U	u. uF  p	R V	,          NK  	  up	4      3,          4       V! R!4       V! 4        \        VP                  4       F.  w  ršV P)                  V
R"V	,          RV	,          R#4       V! 4        K0  	  V! R$4       V! R%4       \'        \        VP                  4      4       U	u. uF  p	RV	,          NK  	  pp	RP                  V4      pV! R&V: V: RV: R'24       V! R(4       V! R)4       V! 4        V! R*4       V^ 8X  d	   V! R+4       V'       dL   V! R,V P+                  VP                  R-R.4      ,          4       V F  pV! RV,           4       K  	  V! R/4       M(V F  pV! RV,           4       K  	  V! R04       V! R14       V! R4       V! R24       R3 pR4p. p. pRV,          p\        VP                  4       F_  w  ršR
pV! V
4      '       d   R5pR6pV
P                  R7VV	3,          V4      pVP                  V4       VP                  R8VV	3,          4       Ka  	  VP                  pV! V4      '       dD   RV,          pVP                  R9V4      pVP-                  ^ V4       \        P.                  pR pR:pR6pV'       d�   RP                  V4      pT;'       g    RpV: RV: RV: R2pV! RVP                  V4      : 24       V! R4       V'       d	   V! V4       RP                  V4      pV! R&V: V: RV: R'24       V'       d	   V! R;4       V! R4       MV! R<V: R=V: 24       V! R>4       V! 4        R # u up	i u up	i )?NÚnoargÚarg0r¢   úargument of %sz x%dzx%dr   Úvoidr4   r=   Ú_cffi_d_r0  rV   ústatic r  zreturn rD  rE  r  z#ifndef PYPY_VERSIONzstatic PyObject *Ú_cffi_f_z(PyObject *self, PyObject *z  %s;Ú;z	result = úresult of %sz resultz  PyObject *pyresult;z  PyObject *arg%d;z1  if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))z&arg%dr  zarg%dzreturn NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();ú  { z); }z  _cffi_save_errno();z  Py_END_ALLOW_THREADSz  (void)self; /* unused */z  (void)noarg; /* unused */z  pyresult = %s;Úresultzresult typez  return pyresult;z  Py_INCREF(Py_None);z  return Py_None;r  c                 óª   € \        V \        P                  4      ;'       g3    \        V \        P                  4      ;'       d    V P	                  4       # r   )r£   r   r®   ÚPrimitiveTyperI  )r=  s   &r   Úneed_indirectionÚ@Recompiler._generate_cpy_function_decl.<locals>.need_indirection  sG   € Ü˜t¤U×%8Ñ%8Ó9÷ -ð -Ü ¤e×&9Ñ&9Ó:÷ ,ð ,Ø×)Ñ)Ó+ð.r   Fr   Tz %sx%dz%sx%dz *resultz
*result = z  return result;z#  define _cffi_f_z	 _cffi_d_r  )rƒ   r£   r   r¨   r†  Ú_generate_cpy_constant_declrò   r6   r¢   r°   r¡   rL  rY   Úabir”  r¤   rç   r]  r�   r8  rW  ri  ÚinsertÚ	void_type)r   r•   r   r'  ÚnumargsÚargnameÚ	argumentsÚcall_argumentsrh  r·   r=  Úrepr_argumentsrš  Úname_and_argumentsÚresult_codeÚargr[  r\  r  Úresult_declÚrngÚfreeliner—  Ú
differenceÚindirectionÚ	tp_results   &&&                       r   Ú_generate_cpy_function_declÚ&Recompiler._generate_cpy_function_decl™  sù  € Ø×(×(Ð(Ð(Ð(Ü˜"œe×3Ñ3×4Ò4Ð4Ð4Ø�;�;ˆ;ð ×,Ñ,¨RÔ6ÙØ�z‰zˆÜ�b—g‘g“,ˆØ�aŒ<Ø‰GØ˜Œ\Ø‰GàˆGð ˆ	ØˆØ" TÕ)ˆÜ  §¡Ö)‰GˆAØ×Ñ˜TŸ_™_¨V°a­Z¸ÓAÔBØ×!Ñ! %¨!¥)Ö,ñ *ð Ÿ™ 9Ó-ˆØ'×1Ð1¨6ˆØ�6�6ˆ6Ø—&‘&˜3•,‰CàˆCÛ36»»nÐMÐÚ˜BŸI™I×0Ñ0Ð1CÕDÐFÔGÙˆSŒ	ØŸ™ >Ó2ˆØˆÜ�b—i‘i¤§¡×0Ò0ØˆKÚšk«4³Ð@ÔAÙˆSŒ	áÐ#Ô$áÐ Ô!Ú»4ÃÐIÔJÙˆSŒ	à" TÕ)ˆÜ  §¡Ö)‰GˆAØ—/‘/ &¨1¥*¨gÓ6ˆCÙ�˜3•Öñ *ô “Eˆ	Ü“Eˆ	Ø—G”GˆDØ×'Ñ'¨¨i¸ÖCñ ä˜9Ö%ˆDÚ›DÐ"Ö#ñ &ô ˜"Ÿ)™)¤U§^¡^×4Ò4Ø%ˆKØ$ tÕ+ˆGØ! B§I¡I×$8Ñ$8¸ÀGÓ$LÕLˆKÙ�ÔÙÐ(Õ)àˆKØˆKäˆr�w‰w‹<˜!ÔÜœ˜BŸG™G›Ó%ˆCÛ�ÙÐ)¨AÕ-Ö.ñ áŒFÙÐDØ”c˜#“h¤ C£Ø—	‘	±Ó5±¨A˜8 aŸ<˜<±Ñ5Ó6ðH8õ 8ô 9ñ Ð#Ô$ÙŒä  §¡Ö)‰GˆAØ×&Ñ& t¨W°q­[¸%À!½)Ø'4ô6áŽFñ *ñ
 	Ð'Ô(ÙÐ'Ô(Ü-2´3°r·w±w³<Ô-@ÓAÑ-@¨˜% !Ÿ)˜)Ñ-@ˆÐAØŸ™ >Ó2ˆÚ¢+«t³^ÐDÔEÙÐ$Ô%ÙÐ%Ô&ÙŒáÐ)Ô*Ø�aŒ<ÙÐ.Ô/ßÙÐ#Ø×*Ñ*¨2¯9©9°hÀÓNõOô Pã%�Ù�T˜H•_Ö%ñ &áÐ%Õ&ã%�Ù�T˜H•_Ö%ñ &áÐ(Ô)ÙÐ$Ô%ÙˆSŒ	áˆWŒò	.ð ˆ
Øˆ	ØˆØ" TÕ)ˆÜ  §¡Ö)‰GˆAØˆKÙ ×%Ò%Ø!�Ø!�
Ø—/‘/ (¨k¸1Ð-=Õ"=¸wÓGˆCØ×Ñ˜SÔ!Ø×!Ñ! '¨[¸!Ð,<Õ"<Ö=ñ *ð —I‘Iˆ	Ù˜I×&Ò&Ø$ tÕ+ˆGØ×&Ñ& z°7Ó;ˆCØ×Ñ˜Q Ô$ÜŸ™ˆIØˆKØ&ˆKØˆJßØ!ŸY™Y yÓ1ˆNØ+×5Ð5¨vˆNÛ7:»DÛ7Eð"GÐâ 	× 4Ñ 4Ð5GÕ HÐJÔKÙ�ŒIßÙ�[Ô!Ø!ŸY™Y ~Ó6ˆNÚ¢k³4»ÐHÔIßÙÐ'Ô(Ù��Iâ³dºDÐAÔBáˆXŒÙŽùòg 6ùò Bs   Î[Ð?["c           
     óâ  € VP                   '       d&   V P                  '       g   V P                  W4       R # V P                  VP	                  4       ,          p\        VP                  4      pV P                  '       d   \        pM"V^ 8X  d   \        pMV^8X  d   \        pM\        pV P                  R,          P                  \        VRV,          \        WS4      RV,          R7      4       R # )NÚglobalz
_cffi_f_%sz
_cffi_d_%s)r   )r†  rƒ   Ú_generate_cpy_constant_ctxr›   rÃ   r6   r¢   ÚOP_DLOPEN_FUNCÚOP_CPYTHON_BLTN_NÚOP_CPYTHON_BLTN_OÚOP_CPYTHON_BLTN_Vrå   r¡   r
   r³   )r   r•   r   rJ   r�  Ú	meth_kinds   &&&   r   Ú_generate_cpy_function_ctxÚ%Recompiler._generate_cpy_function_ctx;  s±   € Ø�;�;ˆ;˜t×4×4Ð4Ø×+Ñ+¨BÔ5ÙØ—_‘_ R×%7Ñ%7Ó%9Õ:ˆ
Ü�b—g‘g“,ˆØ× × Ð Ü&‰IØ˜Œ\Ü)‰IØ˜Œ\Ü)‰Iä)ˆIØ�
‰
�8Õ×#Ñ#Ü�t˜\¨DÕ0Ü˜iÓ4Ø(¨4Õ/ô1ö	2r   c                ó  € \        V\        P                  4      '       dj   VP                  pVR 8X  d   VP	                  R4      pRV: RV: R2pV P                  VRV,          VP                  4      p\        P                  ! Wd4      pV# )ú...r   z_cffi_array_len(((ú)0)->rV   ú%s[0])r£   r   rd  rª   rL  rÇ   r3  )r   Ú	tp_structÚ
field_nameÚtp_fieldÚactual_lengthÚptr_struct_nameÚtp_items   &&&&   r   rÇ   ÚRecompiler._field_typeQ  ss   € Ü�h¤§¡×0Ò0Ø$ŸO™OˆMØ Ô%Ø"+×"6Ñ"6°sÓ";‘ã#£Zð!1�à×&Ñ& y°'¸JÕ2FØ'/§}¡}ó6ˆGä—’ wÓ>ˆHØˆr   c                ó    € V P                  V4       V P                  '       d+   VP                  4        F  pV P                  V4       K  	  R # R # r   )rÂ   rƒ   Úanonymous_struct_fieldsÚ_struct_collecttype)r   r•   Úfldtypes   && r   rÄ  ÚRecompiler._struct_collecttype]  sB   € Ø×Ñ˜bÔ!Ø× × Ð à×5Ñ5Ö7�Ø×(Ñ(¨Ö1ó 8ñ !r   c           
     óþ  € VP                   f   R # V P                  pRV: 2pV! R4       V! RV: RV: R24       V! R4       V! R4       V! R4       V P                  V4       FÂ  w  rgr‰ VP                  4       '       g   V^ 8¼  d   VR	8w  d   V! R
V: RV: RV: R24       KB  \	        V\
        P                  4      '       d7   VP                  e   VP                  R8X  d   VP                  pVR,           pKV  V! RVP                  RRV,          V	R7      : RV: R24       KÄ  	  V! R4       V! RV: RV: R24       V! 4        R #   \         d%   p
T! R\        T
4      ,          4        R p
?
EK  R p
?
ii ; i)NÚ_cffi_checkfld_Ú_CFFI_UNUSED_FNzstatic void r0  z *p)r  z8  /* only to generate compile-time warnings or errors */z
  (void)p;r=   z  (void)((p->z) | 0);  /* check that 'r
  z' is an integer */r¸  z[0]r“  z*tmpzfield %r©rØ   z = &p->z; (void)tmp; }z
  /* %s */r  zstruct _cffi_align_z { char x; z y; };)rÄ   rò   r¾   rJ  r£   r   rd  rª   r3  rL  r   rž   )r   r•   rU  r~  r'  ÚcheckfuncnameÚfnameÚftyper0   ÚfqualrÛ   s   &&&&       r   Ú_struct_declÚRecompiler._struct_decld  sH  € Ø�;‰;ÒÙØ�z‰z‰Ú/9Ð;ˆÙÐÔÚ«³uÐ=Ô>ÙˆSŒ	ÙÐGÔHÙˆ\ÔØ-1×->Ñ->¸rÖ-BÑ)ˆE˜(ð,Ø×(Ñ(×*Ò*¨h¸!¬mà ”{ÚÛ05³u»eðEô Fáô " %¬¯©×9Ò9Ø!ŸL™LÒ0°E·L±LÀEÔ4IØ!ŸJ™J�EØ! E�M’EÚØ×$Ñ$ V¨Z¸Õ-=ÀUÐ$ÖKÛðö ñ .Cñ( 	ˆSŒ	Ú»:ÃuÐMÔNÙŽøô	 %ô ,Ù�\¤C¨£FÕ*×+Ó+ûð,ús   Á,9EÂ'B EÅE<ÅE7Å7E<Nc                ój  € V P                   V,          pR p. p\        V\        P                  4      '       d   VP	                  R4       VP
                  f   VP	                  R4       RpWP                  P                  P                  9  dÍ   Ve%   W@P                  P                  P                  9  d¥   VP
                  f   MCVP                  '       g    \        VP                  4       4      '       d   MVP	                  R4       VP                  '       d@   VP                  ^8”  d   \        V: RVP                  : R24      hVP	                  R4       MVP	                  R4       R	pR
P                  V4      ;'       g    Rp. pVEfÇ   \        V P!                  V4      4      p	V	 EF3  w  r«rÍV P#                  WV4      pV P%                  VRVP&                  : RV
: R24       \(        pV^ 8¼  d   \*        pRV,          pM_Ve/   \        V\        P,                  4      '       d   VP.                  f   RpM*RVf   VP1                  R4      MVP&                  : RV
: R2pVe   V^ 8¼  d   RpM4Ve   RVP&                  : RV
: R2pMRVP1                  R4      : RV
: R2pVP	                  \3        V
VWü\5        WàP                   V,          4      4      4       EK6  	  \7        V P8                  R,          4      pV P8                  R,          P;                  V4       Vf   RpR%pRpM1Ve   RVP&                  : R2pR pMR!V: R2pR"V: R#2pR pMRpR&pR&pTpV P8                  R$,          P	                  \=        VP&                  WWVVVVV4      4       V P>                  PA                  V4       R # )'NÚ_CFFI_F_UNIONÚ_CFFI_F_OPAQUEÚopaqueÚ_CFFI_F_CHECK_FIELDSz is declared with 'pack=zi'; only 0 or 1 are supported in API mode (try to use "...;", which does not require a 'pack' declaration)Ú_CFFI_F_PACKEDÚ_CFFI_F_EXTERNALÚexternalÚ|Ú0zfield 'r
  r?   z%d /* bits */z
(size_t)-1z	sizeof(((r   r¹  rV   z(size_t)(((char *)&((z)4096)->z) - (char *)4096)z	offsetof(r=   r   rß   z
(size_t)-2Úunnamedz	sizeof(*(z)0)z-1 /* unknown alignment */zsizeof(zoffsetof(struct _cffi_align_z, y)rã   éþÿÿÿr  )!r›   r£   r   Ú	UnionTyper¡   rÄ   r�   rÅ   rÆ   ÚpartialÚanyrÃ  Úpackedr:   rY   r1  r¾   rÇ   Ú_check_not_opaquer   rA   rB   rd  rª   rL  r,   r³   r6   rå   ÚextendrH   rè   rZ  )r   r•   rU  r~  r  rJ   Úreason_for_not_expandingrK   rO   r¼   ÚfldnamerÅ  r0   rÎ  r@   r   ÚoffsetrN   ÚalignrM   s   &&&&&               r   r€  ÚRecompiler._struct_ctx†  s4  € Ø—_‘_ RÕ(ˆ
Ø#'Ð ØˆÜ�bœ%Ÿ/™/×*Ò*Ø�L‰L˜Ô)Ø�;‰;ÒØ�L‰LÐ)Ô*Ø'/Ð$Ø—h‘h×&Ñ&×=Ñ=Ô=ØÒ"Ø§(¡(×"2Ñ"2×"IÑ"IÔIØ�{‰{Ò"ØØ——�œs 2×#=Ñ#=Ó#?×@Ò@Øà—‘Ð3Ô4Ø�y�yˆyØ—9‘9˜q”=Ü-ó ˜RŸYœYð(ó)ð )ð
 —‘Ð-Ô.øà�L‰LÐ+Ô,Ø'1Ð$Ø—‘˜“×&Ð& 3ˆØˆØ#Ó+Ü˜d×/Ñ/°Ó3Ó4ˆJÜ5?Ñ1� (Ø×*Ñ*¨2¸Ó@�Ø×&Ñ&¡wØ:<¿'¼'Ã7Ð'KôMô �Ø˜q”=Ü$�BØ*¨XÕ5‘DØ’]Ü" 7¬E¯O©O×<Ò<ØŸ™Ò.Ø'‘Døð /8Ò.?˜Ÿ™ cÔ*Ø09·±ò?ãð!�Dð ’= H°¤MØ)‘FØÓ*à!Ÿœ«ð1‘Fð +ð 46·=±=ÀÖ3DÃgÐN�FØ—‘Ü˜g v¨tÜ$ R¯©¸Õ)AÓBóD÷Eñ3 6@ô8 !$ D§J¡J¨wÕ$7Ó 8ÐØ�J‰J�wÕ×&Ñ& xÔ0àŠ}Ø#�Ø�Ø#‘àÓ(Ø/8¯~¬~Ð?�DØ8‘Eð )ó ,1Ð2‘DÛDNÐP�EØ‘àˆDØˆEØ "ÐØ.ˆGØ�
‰
�>Õ"×)Ñ)Ü˜BŸG™G Z¸¸eÀWØ-¨xó9ô	:ð 	× Ñ ×$Ñ$ RÖ(r   c                óæ   € \        V\        P                  4      '       d   VP                  pK.  \        V\        P                  4      '       d#   VP
                  f   \        RV,          4      hR # R # )Nz0%s is of an opaque type (not declared in cdef()))r£   r   rd  r3  r®   rÄ   rf  )r   r•   Úlocations   &&&r   rá  ÚRecompiler._check_not_opaqueÜ  sX   € Ü˜œUŸ_™_×-Ò-Ø—‘ŠBÜ�bœ%×-Ñ-×.Ò.°2·;±;Ò3FÜØBÀXÕMóOð Oñ 4GÑ.r   c                óZ  € \        V P                  P                  4       4      pVP                  R  R7       V Fî  w  r#W P                  9  g   K  VP
                  '       d   \        RV: R24      hVP                  P                  R4      '       d<   VP                  R,          P                  4       '       d   VP                  R,          pMFVP                  R8X  d'   VP                  R8X  d   RpV P                  VR4       M\        RV: 24      hV P                  VRV4       Kð  	  R# )	c                 ó   € V ^,          # )rg   r7  )Útp_orders   &r   r–   Ú7Recompiler._add_missing_struct_unions.<locals>.<lambda>é  s   €  h¨q¦kr   rŽ   zinternal inconsistency: z* is partial but was not seen at this pointÚ$:rg   NNÚ_IO_FILEÚFILEN)r1  r¬   rÐ   rê   rè   rÞ  r:   r   Ú
startswithÚisdigitÚ	forcenamery  r€  )r   r×   r•   Úorderr~  s   &    r   ré   Ú%Recompiler._add_missing_struct_unionsã  sò   € ô
 �4×&Ñ&×,Ñ,Ó.Ó/ˆØ�‰Ñ1ˆÔ2Û‰IˆBØ×1Ñ1Ö1Ø—:—:�:Ý-ã>@ð/Có Dð Dð —7‘7×%Ñ% c×*Ò*¨r¯w©w°r­{×/BÑ/B×/DÒ/DØ!#§¡¨¥‘JØ—W‘W 
Ô*¨r¯|©|¸vÔ/EØ!'�JØ×%Ñ% b¨&Õ1å-Ú/1ð/4ó 5ð 5à× Ñ   T¨:Ö6ó r   c                ó(   € V P                  V4       R # r   )rÄ  rm  s   &&&r   Ú _generate_cpy_struct_collecttypeÚ+Recompiler._generate_cpy_struct_collecttypeú  s   € Ø× Ñ  Ö$r   c                ón   € VP                  R 4      pRV9   d   W"P                  RR4      3# VRV,           3# )r=   r4   rË   )rL  rM  )r   r•   rU  s   && r   Ú_struct_namesÚRecompiler._struct_namesþ  s:   € Ø—‘˜bÓ!ˆØ�%Œ<ØŸ-™-¨¨SÓ1Ð1Ð1à˜# �+Ð%Ð%r   c                óL   € V P                   ! V.V P                  V4      O5!   R # r   )rÏ  rû  rm  s   &&&r   Ú_generate_cpy_struct_declÚ$Recompiler._generate_cpy_struct_decl  s    € Ø×Ò˜"Ð6˜t×1Ñ1°"Ó5Ö6r   c                óL   € V P                   ! V.V P                  V4      O5!   R # r   )r€  rû  rm  s   &&&r   Ú_generate_cpy_struct_ctxÚ#Recompiler._generate_cpy_struct_ctx	  s    € Ø×Ò˜Ð5˜d×0Ñ0°Ó4Ö5r   c                óŽ   € \        V\        P                  4      '       d   V P                  W4       R # V P	                  V4       R # r   )r£   r   r¯   Ú_generate_cpy_enum_collecttyperÄ  rm  s   &&&r   Ú#_generate_cpy_anonymous_collecttypeÚ.Recompiler._generate_cpy_anonymous_collecttype  s/   € Ü�bœ%Ÿ.™.×)Ò)Ø×/Ñ/°Ö9à×$Ñ$ RÖ(r   c                óž   € \        V\        P                  4      '       d   V P                  V4       R# V P	                  WR V,           4       R# ©Útypedef_N)r£   r   r¯   Ú_generate_cpy_enum_declrÏ  rm  s   &&&r   Ú_generate_cpy_anonymous_declÚ'Recompiler._generate_cpy_anonymous_decl  s6   € Ü�bœ%Ÿ.™.×)Ò)Ø×(Ñ(¨Ö,à×Ñ˜b¨
°TÕ(9Ö:r   c                óž   € \        V\        P                  4      '       d   V P                  W4       R# V P	                  WR V,           4       R# r  )r£   r   r¯   Ú	_enum_ctxr€  rm  s   &&&r   Ú_generate_cpy_anonymous_ctxÚ&Recompiler._generate_cpy_anonymous_ctx  s4   € Ü�bœ%Ÿ.™.×)Ò)Ø�N‰N˜2Ö$à×Ñ˜R z°DÕ'8Ö9r   c                ó>  € WB3V P                   9   d   \        R V: RV: R24      hV P                   P                  WB34       V P                  pRV: RV: 2pV'       dq   V! RV,          4       V! R4       V! RV: R24       V! R	V: R
V: R24       Ve'   V^ 8”  d   RV3,          pV! RV: R24       V! R4       V! R4       V! R4       MEVe   Q hV! RV,          4       V! R4       V! RVP	                  R4      : RV: R24       V! R4       V! 4        R# )zduplicate declaration of z 'r?   Ú_cffi_rË   z$static int %s(unsigned long long *o)r  z  int n = (z) <= 0;z  *o = (unsigned long long)((z) | 0);  /* check that z is an integer */Nz%dUz  if (!_cffi_check_int(*o, n, z))z    n |= 2;z  return n;r  zstatic void %s(char *o)z  *(r   z)o = r‘  )r#  r   rZ  rò   rL  )r   Úis_intr   r•   Úcategoryr   r'  Úfuncnames   &&&&&&  r   Ú_generate_cpy_constÚRecompiler._generate_cpy_const&  s	  € àÐ˜t×3Ñ3Ô3Ý#Û6>ÃÐEóGð Gà×Ñ× Ñ  (Ð!1Ô2à�z‰z‰Û$,ªdÐ3ˆßÙÐ7¸(ÕBÔCÙ�ŒIÚ«4Ð1Ô2ÚÛ:>ÃðFô GàÒ&Ø ”?Ø"'¨;¨.Õ"8�KÚ»[ÐJÔKÙ�]Ô#Ù�ÔÙ��IàÒ&Ð&Ð&ÙÐ*¨XÕ5Ô6Ù�ŒIÚ R§]¡]°3Ö%7»Ð>Ô?Ù�ŒIÙŽr   c                ó€   € VP                  4       pV'       d   V P                  '       d   V P                  V4       R # R # r   )rJ  rƒ   rÂ   ©r   r•   r   r  s   &&& r   Ú"_generate_cpy_constant_collecttypeÚ-Recompiler._generate_cpy_constant_collecttypeD  s1   € Ø×#Ñ#Ó%ˆß˜×.×.Ð.Ø×!Ñ! "Ö%ñ /r   c                óJ   € VP                  4       pV P                  W2V4       R # r   )rJ  r  r  s   &&& r   r™  Ú&Recompiler._generate_cpy_constant_declI  s    € Ø×#Ñ#Ó%ˆØ× Ñ  ¨rÖ2r   c                óZ  € V P                   '       g(   VP                  4       '       d   \        \        R4      pM=V P                   '       d   \        pM\
        pV P                  V,          p\        WE4      pV P                  R,          P                  \        VRV,          V4      4       R# )rg   r®  ú_cffi_const_%sNr  )
rƒ   rJ  r³   ÚOP_CONSTANT_INTÚOP_DLOPEN_CONSTÚOP_CONSTANTr›   rå   r¡   r
   )r   r•   r   r   Ú
const_kindrJ   s   &&&   r   r¯  Ú%Recompiler._generate_cpy_constant_ctxM  s€   € Ø×$×$Ð$¨×);Ñ);×)=Ò)=Üœ_¨bÓ1‰Gà×$×$Ð$Ü,‘
ä(�
ØŸ™¨Õ,ˆJÜ˜ZÓ4ˆGØ�
‰
�8Õ×#Ñ#Ü�tÐ-°Õ4°gÓ>ö	@r   c                ó(   € V P                  V4       R # r   )rÂ   rm  s   &&&r   r  Ú)Recompiler._generate_cpy_enum_collecttype]  s   € Ø×Ñ˜bÖ!r   c                óP   € VP                    F  pV P                  R V4       K  	  R# )TN)Úenumeratorsr  )r   r•   r   Ú
enumerators   &&& r   r
  Ú"Recompiler._generate_cpy_enum_decl`  s    € ØŸ.œ.ˆJØ×$Ñ$ T¨:Ö6ó )r   c           
     ó"  € V P                   V,          p\        \        R
4      pV P                  '       d   VP	                  4        \        VP                  VP                  4       F;  w  rVV P                  R,          P                  \        VRV,          VVR7      4       K=  	  Ve-   RV9  d&   V P                  '       g   RV,          pRV,          pMhVP                  V P                  . 4      p	V P                  P                  V	4      p\        \        V P                  P                  V	R
4      4      ^ 8  4      pRP!                  VP                  4      p
V P                  R	,          P                  \#        VP$                  W7WŠ4      4       R# )rg   r®  r  ©r   Nrï  z
sizeof(%s)z((%s)-1) <= 0rU   rä   r  )r›   r³   ÚOP_ENUMrƒ   Úcheck_not_partialÚzipr(  Ú
enumvaluesrå   r¡   r
   Úbuild_baseinttyper�   ÚsizeofÚintÚcastrY   r^   r   )r   r•   rU  rJ   r   r)  Ú	enumvaluer   ra   Úbasetprb   s   &&&        r   r  ÚRecompiler._enum_ctxd  s2  € Ø—_‘_ RÕ(ˆ
Üœ "Ó%ˆØ× × Ð Ø× Ñ Ô"Ü%(¨¯©¸¿¹Ö%GÑ!ˆJØ�J‰J�xÕ ×'Ñ'Ü˜:Ð'7¸*Õ'DÀgØ'0ô2ö3ñ &Hð
 Ò ¨EÔ!1¸$×:O×:OÐ:OØ %Õ'ˆDØ$ uÕ,‰Fà×)Ñ)¨$¯(©(°BÓ7ˆFØ—8‘8—?‘? 6Ó*ˆDÜœ˜TŸX™XŸ]™]¨6°2Ó6Ó7¸!Ñ;Ó<ˆFØ—8‘8˜BŸN™NÓ+ˆØ�
‰
�6Õ×!Ñ!Ü�R—W‘W˜j°ÓAö	Cr   c                óD   € V P                  WP                  4       4       R # r   )r  r"  rm  s   &&&r   Ú_generate_cpy_enum_ctxÚ!Recompiler._generate_cpy_enum_ctxy  s   € Ø�‰�rŸ>™>Ó+Ö,r   c                ó   € R # r   r7  rm  s   &&&r   Ú_generate_cpy_macro_collecttypeÚ*Recompiler._generate_cpy_macro_collecttype  rv  r   c                óD   € VR 8X  d   RpMTpV P                  RW#R7       R# )r¸  NTr,  )r  )r   r•   r   r   s   &&& r   Ú_generate_cpy_macro_declÚ#Recompiler._generate_cpy_macro_decl‚  s&   € Ø�Œ;Ø‰KàˆKØ× Ñ   tÐ ÖEr   c           	     óî   € VR 8X  d&   V P                   '       d   \        RV: R24      hRpMTp\        \        R4      pV P                  R,          P                  \        VRV,          VVR7      4       R# )r¸  z(cannot use the syntax '...' in '#define z ...' when using the ABI modeNr®  r  r,  r  )rƒ   r   r³   r   rå   r¡   r
   )r   r•   r   r   r   s   &&&  r   Ú_generate_cpy_macro_ctxÚ"Recompiler._generate_cpy_macro_ctx‰  sp   € Ø�Œ;Ø×$×$Ð$Ý'ã,0ð3ó4ð 4ð ‰KàˆKÜœ¨"Ó-ˆØ�
‰
�8Õ×#Ñ#Ü�tÐ-°Õ4°gØ#.ô0ö	1r   c                óì   € \        V\        P                  4      '       dT   VP                  pVR 8X  d   RV: R2pV P	                  VP
                  RV,          4      p\        P                  ! WC4      pV# )r¸  z_cffi_array_len(rV   rº  )r£   r   rd  rª   rl  r3  )r   r•   Úglobal_namer¾  rÀ  s   &&&  r   rl  ÚRecompiler._global_typeš  sZ   € Ü�bœ%Ÿ/™/×*Ò*ØŸI™IˆMØ Õ%Û9DÐ F�Ø×'Ñ'¨¯©°¸;Õ1FÓGˆGÜ—’ Ó8ˆBØˆ	r   c                óF   € V P                  V P                  W4      4       R # r   )rÂ   rl  rm  s   &&&r   Ú"_generate_cpy_variable_collecttypeÚ-Recompiler._generate_cpy_variable_collecttype£  s   € Ø×Ñ˜d×/Ñ/°Ó9Ö:r   c                ón  € V P                   pV P                  W4      p\        V\        P                  4      '       d   VP
                  f   VP                  pRpMRpRV: R2pV! RVP                  WPP                  R7      ,           4       V! R4       V! RV: R	V: R
24       V! R4       V! 4        R # )Nr=   Ú&z*_cffi_var_r  r�  rÊ  r  z	  return r0  rE  r  )	rò   rl  r£   r   rd  rª   r3  rL  rÓ   )r   r•   r   r'  Ú	ampersandr  s   &&&   r   Ú_generate_cpy_variable_declÚ&Recompiler._generate_cpy_variable_decl¦  s‘   € Ø�z‰zˆØ×Ñ˜rÓ(ˆÜ�bœ%Ÿ/™/×*Ò*¨r¯y©yÒ/@Ø—‘ˆBØ‰IàˆIøó )-Ð.ˆÙˆY˜Ÿ™ t×3FÑ3F˜ÓGÕGÔHÙˆSŒ	Ú£9«dÐ3Ô4ÙˆSŒ	ÙŽr   c           
     ó  € V P                  W4      pV P                  V,          pV P                  '       d   \        pM\        pV P
                  R ,          P                  \        VRV,          \        WC4      4      4       R# )r®  z_cffi_var_%sN)	rl  r›   rƒ   ÚOP_GLOBAL_VARÚOP_GLOBAL_VAR_Frå   r¡   r
   r³   )r   r•   r   rJ   r@   s   &&&  r   Ú_generate_cpy_variable_ctxÚ%Recompiler._generate_cpy_variable_ctx½  sd   € Ø×Ñ˜rÓ(ˆØ—_‘_ RÕ(ˆ
Ø× × Ð Ü‰Bä ˆBØ�
‰
�8Õ×#Ñ#Ü�t˜^¨dÕ2´F¸2Ó4JÓKö	Mr   c                ól   € \        V\        P                  4      '       g   Q hV P                  V4       R # r   )r£   r   r¨   rÂ   rm  s   &&&r   Ú'_generate_cpy_extern_python_collecttypeÚ2Recompiler._generate_cpy_extern_python_collecttypeÊ  s)   € Ü˜"œe×3Ñ3×4Ò4Ð4Ð4Ø×Ñ˜bÖ!r   c           	     óœ  € V P                   p\        VP                  \        P                  4      '       d   R pM*RV,          pRVP                  P                  RV4      : R2pV! RV,          4       V! RV P                  : RV: RV: R	24       V! 4        . pR
V,          p\        VP                  4       F/  w  r‰V	P                  RV,          V4      p
VP                  V
4       K1  	  RP                  V4      pT;'       g    RpV: RV: R2pVP                  R8X  d
   RV,           pR p\        \        VP                  4      ^,          ^4      pV! VP                  4      '       d   \        V^4      p\        VP                  \        P                  4      '       d@   RVP                  P                  R4      VVP                  P                  R4      V3,          pV! V: VP                  P                  V4      : 24       V! R4       V! RV,          4       V! R4       \        VP                  4       Fƒ  w  r‰RV,          p
\        V	\        P                  4      '       g   V! V	4      '       d    RV
,           p
\        P                  ! V	4      p	V! RV	P                  R4      V^,          V
3,          4       K…  	  V! RV,          4       \        VP                  \        P                  4      '       g'   V! RVP                  P                  R4      : R24       V! R4       V! 4        V ;P                   ^,          un        R# )rÚ  r’  z(int)sizeof(r=   rV   z3static struct _cffi_externpy_s _cffi_externpy__%s =r   r
  r5   z	, 0, 0 };rŒ  z a%dr   r�  r0  Ú	__stdcallz_cffi_stdcall c                 ód   € \        V \        P                  4      ;'       d    V P                  R 8H  # )rb  )r£   r   r–  r   r”   s   &r   Úmay_need_128_bitsÚ9Recompiler._extern_python_decl.<locals>.may_need_128_bitsê  s-   € Ü˜r¤5×#6Ñ#6Ó7÷ -ð -Ø—G‘G˜}Ñ,ð.r   z!sizeof(%s) > %d ? sizeof(%s) : %dr  z  char a[%s];z  char *p = a;za%drK  z  *(%s)(p + %d) = %s;r   z,  _cffi_call_python(&_cffi_externpy__%s, p);z  return *(z)p;r  N)rò   r£   r”  r   r¤   rL  r‚   r°   r¢   r¡   rY   rš  rˆ   r6   r®   r¦   r&  )r   r•   r   Útag_and_spacer'  Úsize_of_resultrh  rŸ  r·   r=  r¤  r¡  r¢  rZ  Ú	size_of_as   &&&&           r   Ú_extern_python_declÚRecompiler._extern_python_declÑ  s”  € Ø�z‰zˆÜ�b—i‘i¤§¡×0Ò0Ø ‰Nà$ tÕ+‰Gà—	‘	×$Ñ$ R¨Ö1ð4ˆNáÐBÀTÕIÔJÚØ×Ô›d£Nð4ô 	5áŒàˆ	Ø" TÕ)ˆÜ  §¡Ö)‰GˆAØ—/‘/ &¨1¥*¨gÓ6ˆCØ×Ñ˜SÖ!ñ *ð Ÿ™ 9Ó-ˆØ'×1Ð1¨6ˆÛ)-«~Ð>ÐØ�6‰6�[Ô Ø!1Ð4FÕ!FÐò	.ô œ˜BŸG™G› Q�¨Ó*ˆ	Ù˜RŸY™Y×'Ò'Ü˜I rÓ*ˆIÜ�b—i‘i¤×!4Ñ!4×5Ò5Ø;Ø—	‘	×$Ñ$ RÓ(¨)Ø—	‘	×$Ñ$ RÓ(¨)ð?5õ 5ˆIñ 	’} b§i¡i×&:Ñ&:Ð;MÕ&NÐOÔPÙˆSŒ	Ùˆ_˜yÕ(Ô)ÙÐÔÜ  §¡Ö)‰GˆAØ˜!•)ˆCÜ˜4¤×!4Ñ!4×5Ò5Ù% d×+Ò+Ø˜C•i�Ü×(Ò(¨Ó.�ÙÐ(¨D¯O©O¸CÓ,@À!ÀAÅ#ÀsÐ+KÕKÖLñ *ñ 	Ð;¸dÕBÔCÜ˜"Ÿ)™)¤U§^¡^×4Ò4Ú r§y¡y×';Ñ';¸CÖ'@ÐBÔCÙˆSŒ	ÙŒØ×Ò˜aÕ×r   c                ó*   € V P                  WR 4       R# )r�  N©r_  rm  s   &&&r   Ú _generate_cpy_extern_python_declÚ+Recompiler._generate_cpy_extern_python_decl  s   € Ø× Ñ  ¨9Ö5r   c                ó*   € V P                  WR 4       R# )zCFFI_DLLEXPORT Nrb  rm  s   &&&r   Ú#_generate_cpy_dllexport_python_declÚ.Recompiler._generate_cpy_dllexport_python_decl
  s   € Ø× Ñ  Ð+<Ö=r   c                ó*   € V P                  WR 4       R# )r=   Nrb  rm  s   &&&r   Ú'_generate_cpy_extern_python_plus_c_declÚ2Recompiler._generate_cpy_extern_python_plus_c_decl  s   € Ø× Ñ  ¨2Ö.r   c                ó(  € V P                   '       d   \        R 4      hVP                  '       d   \        R4      hV P                  V,          p\        \        V4      pV P                  R,          P                  \        VRV,          WB4      4       R# )z,cannot use 'extern "Python"' in the ABI modez$a vararg function is extern "Python"r®  z&_cffi_externpy__%sN)
rƒ   r   r†  r:   r›   r³   ÚOP_EXTERN_PYTHONrå   r¡   r
   )r   r•   r   rJ   r   s   &&&  r   Ú_generate_cpy_extern_python_ctxÚ*Recompiler._generate_cpy_extern_python_ctx  sz   € Ø× × Ð Ü#Ø@óBð Bà�;�;ˆ;Ü%Ð&NÓOÐOØ—_‘_ RÕ(ˆ
ÜÔ)¨:Ó6ˆØ�
‰
�8Õ×#Ñ#Ü�tÐ2°TÕ9¸7ÓIö	Kr   c                óF  € V P                   pV! R 4       \        V\        4      '       g   VP                  R4      pMVP	                  R4        VP	                  R4       VP                  R4       F’  pTp\        R4      \        J d   \        \        V4      pM\        V4      ^R
 pV! RV,           P                  4       4       RpV F.  p\        V4      ^L8¼  d   V! V4       RpVRV3,          ,          pK0  	  V! V4       K”  	  R	#   \
         d    RT,           p L¿i ; i)z=// # NB. this is not a string because of a size limit in MSVCzutf-8Úasciis   # -*- encoding: utf8 -*-
Tz//z// r=   z%d,Nr  )rò   r£   ÚbytesÚencodeÚdecodeÚUnicodeDecodeErrorÚ
splitlinesr=  ÚmapÚordrp  Úrstripr6   )r   Úsr'  ÚlinerM   Úprinted_lineÚcs   &&     r   r  Ú)Recompiler._print_string_literal_in_array  s  € Ø�z‰zˆÙÐLÔMÜ˜!œU×#Ò#Ø—‘˜Ó!‰Aà�H‰H�WÔð	2Ø�H‰H�WÔð —L‘L Ö&ˆDØˆGÜ�D‹zœUÓ"Üœ3 “~‘ô   ›.¨¨2Ð.�Ù�%˜'•/×)Ñ)Ó+Ô,ØˆLÛ�Ü�|Ó$¨Ô*Ù˜Ô&Ø#%�LØ ¨¨¥Õ,’ñ	 ñ
 �Öó 'øô "ô 	2Ø-°Õ1ŠAð	2ús   ÁD	 Ä	D ÄD c                óH   € \        \        \        4      V P                  V&   R # r   )r³   ÚOP_PRIMITIVEÚ	PRIM_VOIDrŸ   ©r   r•   r  s   &&&r   Ú_emit_bytecode_VoidTypeÚ"Recompiler._emit_bytecode_VoidType=  s   € Ü!'¬´iÓ!@ˆ�‰˜Ór   c                ón   € \         VP                  ,          p\        \        V4      V P                  V&   R # r   )ÚPRIMITIVE_TO_INDEXr   r³   r  rŸ   )r   r•   r  rs   s   &&& r   Ú_emit_bytecode_PrimitiveTypeÚ'Recompiler._emit_bytecode_PrimitiveType@  s%   € Ü'¨¯©Õ0ˆ
Ü!'¬°jÓ!Aˆ�‰˜Ór   c                óš   € R VP                   : RVP                   : RVP                   : R2p\        \        V4      V P                  V&   R# )z_cffi_prim_int(sizeof(z), (
           ((z)-1) | 0 /* check that z' is an integer type */
         ) <= 0)N©r   r³   r  rŸ   ©r   r•   r  ry  s   &&& r   Ú!_emit_bytecode_UnknownIntegerTypeÚ,Recompiler._emit_bytecode_UnknownIntegerTypeD  s5   � ð $&§7¤7¨B¯G¬G°R·W´Wð>ˆô "(¬°aÓ!8ˆ�‰˜Ór   c                ó~   € R VP                   : RVP                   : R2p\        \        V4      V P                  V&   R# )z_cffi_prim_float(sizeof(z) *
           (((z6)1) / 2) * 2 /* integer => 0, float => 1 */
         )Nr‰  rŠ  s   &&& r   Ú_emit_bytecode_UnknownFloatTypeÚ*Recompiler._emit_bytecode_UnknownFloatTypeJ  s/   � ð  ŸWœW b§g¤gð/ˆô "(¬°aÓ!8ˆ�‰˜Ór   c                óx  € \        \        V P                  VP                  ,          4      V P                  V&   V^,          pVP
                   Ft  pV P                  V,          pW$8w  dP   \        V\        P                  4      '       d   V P                  W24       M\        \        V4      V P                  V&   V^,          pKv  	  \        VP                  4      pVP                  e5   VP                  R8X  d   V^,          pM\        RVP                  : 24      h\        \        V4      V P                  V&   R# )rg   NrX  zabi=)r³   ÚOP_FUNCTIONr›   r”  rŸ   r¢   r£   r   r–  r†  rA   r3  r†  rš  r:   ÚOP_FUNCTION_END)r   r•   r  r¶   Ú	realindexrK   s   &&&   r   Ú_emit_bytecode_RawFunctionTypeÚ)Recompiler._emit_bytecode_RawFunctionTypeP  sä   € Ü!'¬°T·_±_ÀRÇYÁYÕ5OÓ!Pˆ�‰˜ÑØ��
ˆØ—7”7ˆCØŸ™¨Õ,ˆIØÔ!Ü˜c¤5×#6Ñ#6×7Ò7Ø×5Ñ5°cÕAä-3´G¸YÓ-G�D—O‘O EÑ*Ø�Q�JŠEñ ô �B—K‘KÓ ˆØ�6‰6ÒØ�v‰v˜Ô$Ø˜•
‘å)°b·f³fÐ*>Ó?Ð?Ü!'¬¸Ó!?ˆ�‰˜Ór   c                óv   € \        \        V P                  VP                  ,          4      V P                  V&   R # r   )r³   Ú
OP_POINTERr›   r‚  rŸ   r�  s   &&&r   Ú_emit_bytecode_PointerTypeÚ%Recompiler._emit_bytecode_PointerTypec  s$   € Ü!'¬
°D·O±OÀBÇIÁIÕ4NÓ!Oˆ�‰˜Ór   c                ó‚   € VP                  4       p\        \        V P                  V,          4      V P                  V&   R # r   )rÃ   r³   r—  r›   rŸ   )r   r•   r  Úraws   &&& r   Ú_emit_bytecode_FunctionPtrTypeÚ)Recompiler._emit_bytecode_FunctionPtrTypei  s.   € Ø× Ñ Ó"ˆÜ!'¬
°D·O±OÀCÕ4HÓ!Iˆ�‰˜Ór   c                óð  € V P                   VP                  ,          pVP                  f    \        \        V4      V P
                  V&   R # VP                  R8X  d*   \        R\        V4      P                  RR4      : R24      hV P
                  V^,           ,          R8X  g   Q h\        \        V4      V P
                  V&   \        R \        VP                  4      4      V P
                  V^,           &   R # )Nr¸  ztype z/*...*/zb badly placed: the '...' array length can only be used on global arrays or on fields of structuresr‘   )
r›   r3  rª   r³   ÚOP_OPEN_ARRAYrŸ   r   rž   rM  ÚOP_ARRAY)r   r•   r  Ú
item_indexs   &&& r   Ú_emit_bytecode_ArrayTypeÚ#Recompiler._emit_bytecode_ArrayTypem  s¸   € Ø—_‘_ R§W¡WÕ-ˆ
Ø�9‰9ÒÜ%+¬M¸:Ó%FˆD�O‰O˜EÓ"Ø�Y‰Y˜%ÔÝ#ô ˜“G—O‘O I¨uÖ5ð8ó9ð 9ð
 —?‘? 5¨1¥9Õ-°Ô6Ð6Ð6Ü%+¬H°jÓ%AˆD�O‰O˜EÑ"Ü)/°´c¸"¿)¹)³nÓ)EˆD�O‰O˜E A�IÓ&r   c                óf   € V P                   V,          p\        \        V4      V P                  V&   R # r   )r¬   r³   ÚOP_STRUCT_UNIONrŸ   )r   r•   r  Ústruct_indexs   &&& r   Ú_emit_bytecode_StructTypeÚ$Recompiler._emit_bytecode_StructType{  s'   € Ø×*Ñ*¨2Õ.ˆÜ!'¬¸Ó!Fˆ�‰˜Ór   c                óf   € V P                   V,          p\        \        V4      V P                  V&   R # r   )r­   r³   r-  rŸ   )r   r•   r  Ú
enum_indexs   &&& r   Ú_emit_bytecode_EnumTypeÚ"Recompiler._emit_bytecode_EnumType€  s$   € Ø—[‘[ •_ˆ
Ü!'¬°Ó!<ˆ�‰˜Ór   )rÓ   r­   rï   rå   r#  rè   r¬   r›   r…   rŸ   r�   r‚   rƒ   ©F)r®  rß   rã   rä   rx  )r=   r   )NÚconstN)Yr#   r$   r%   r&   r&  r   rŠ   r¹   r¾   rÂ   rœ   ræ   rë   rò   rù   r  rö   r2  rõ   r>  rW  r]  rO  ri  rn  rq  rt  ry  rƒ  r‡  r«  rµ  rÇ   rÄ  rÏ  r€  rá  ré   rø  Ú_generate_cpy_union_collecttyperû  rþ  Ú_generate_cpy_union_declr  Ú_generate_cpy_union_ctxr  r  r  r  r  r™  r¯  r  r
  r  r9  r<  r?  rB  rl  rH  rM  rR  rU  Ú*_generate_cpy_dllexport_python_collecttypeÚ._generate_cpy_extern_python_plus_c_collecttyper_  rc  rf  ri  rm  Ú"_generate_cpy_dllexport_python_ctxÚ&_generate_cpy_extern_python_plus_c_ctxr  r‚  r†  r‹  rŽ  r”  r˜  Ú_emit_bytecode_ConstPointerTypeÚ_emit_bytecode_NamedPointerTyperœ  r¢  r§  Ú_emit_bytecode_UnionTyper«  r'   r(   r)   s   @r   r   r   ~   sÞ  ø‡ € Ø€Mô%ò0ò81òt	<ò-ò&ò& H€Iò,ô>#ò2òòkòZ"ò0òh%ò+(òZKòò*òF=ò<òòFò+ò&ò
`òD2ò,
ò2ò ôDT)òlOò7ò.%à&FÐ#ò&ò7à8Ðò6à6Ðò)ò;ò:ôò<&ò
3ò@ò "ô7òCò*-òòFò1ò"ò;òò.Mò"ð
 .ð.Ð.Ø4ò4 òl6ò>ò/ò	Kð &ð&Ð&Ø,òò<AòBò9ò9ò@ò&Pð 'AÐ#Ø&@Ð#òJòFòGð  9Ð÷=ð =r   r   c                   ó2   a a€ ] tR tRt oV 3R ltRtVtV ;t# )ÚNativeIOiˆ  c                ó|   <€ \        V\        4      '       d   VP                  R 4      p\        \        V `  V4       R# )rp  N)r£   Úunicoderr  Úsuperrº  rð   )r   ry  r²   s   &&€r   rð   ÚNativeIO.write‰  s-   ø€ Ü˜!œW×%Ò%Ø—H‘H˜WÓ%�Ü”(˜DÑ'¨Ö*r   r7  )r#   r$   r%   r&   rð   r'   r(   Ú__classcell__)r²   r*   s   @@r   rº  rº  ˆ  s   ù‡ € ÷	+õ 	+r   rº  c                 ó   € \        V R 4      # )rð   )Úhasattr)Ú	maybefiles   &r   Ú_is_file_likerÃ  Ž  s   € ä�9˜gÓ&Ð&r   c                 ó   € V'       d   \        R V: 24       \        WVRJ R7      pVP                  4        VP                  4        \	        V4      '       d   VP                  W24       R# \        4       pVP                  Wb4       VP                  4       p \        VR4      ;_uu_ 4       pVP                  \        V4      ^,           4      V8w  d   \        h RRR4       V'       d   \        R4       R#   + '       g   i     L%; i  \         dº    RT\        P                  ! 4       3,          p	\        T	R4      ;_uu_ 4       pTP                  T4       RRR4       M  + '       g   i     M; i \        P                  ! Y“4       M=  \          d0    \        P"                  ! T4       \        P                  ! Y“4        Mi ; i R# i ; i)	zgenerating N)rƒ   Trü   z(already up-to-date)Fz%s.~%dÚw)Úprintr   r¹   rë   rÃ  rù   rº  Úgetvaluerý   Úreadr6   ÚIOErrorrþ   Úgetpidrð   ÚrenameÚOSErrorÚunlink)
r�   r‚   rø   Útarget_fileÚverboseÚ
recompilerr÷   ÚoutputÚf1Útmp_files
   &&&&&     r   Ú_make_c_or_py_sourcerÔ  ’  s[  € ßÝ¢Ð.Ô/Ü˜CØ.6¸$Ð.>ôA€Jà×!Ñ!Ô#Ø×"Ñ"Ô$Ü�[×!Ò!Ø×$Ñ$ [Ô;ÙÜ‹
€AØ× Ñ  Ô-Ø�Z‰Z‹\€FðÜ�+˜s×#Ô# rØ�w‰w”s˜6“{ Q•Ó'¨6Ô1Ü�ð 2÷ $÷ ÜÐ(Ô)Ù÷ $×#ûô ô 	Ø˜{¬B¯IªI«KÐ8Õ8ˆÜ�(˜C× Ô  BØ�H‰H�VÔ÷ !× × Ð úð	-Ü�IŠI�hÕ,øÜô 	-Ü�IŠI�kÔ"Ü�IŠI�hÖ,ð	-úò ð	úsl   ÂD	 Â+-C6ÃD	 Ã)D	 Ã6D	ÄD	 Ä	=GÅE!Å	GÅ!E1Å,GÅ5FÆGÆ7GÇGÇGÇGÇGc                 ó(   € Vf   Q h\        WW#V4      # r   ©rÔ  )r�   r‚   rø   Útarget_c_filerÏ  s   &&&&&r   Úmake_c_sourcerØ  ±  s"   € ØÒÐÐÜ °(Ø 'ó)ð )r   c                 ó   € \        WR VV4      # r   rÖ  )r�   r‚   Útarget_py_filerÏ  s   &&&&r   Úmake_py_sourcerÛ  ¶  s   € Ü °$¸Ø 'ó)ð )r   c                 ó,  € VP                  R 4      p \        P                  ! \        P                  P                  ! V .VRR O5!  4       VR;;,          V,          uu&   \        P                  P                  ! V .VO5!  V3#   \
         d     LFi ; i)r
  Nr  )rÑ   rþ   Úmakedirsrÿ   rY   rÌ  )Ú	outputdirÚmodnameÚ	extensionÚpartss   &&& r   Ú_modname_to_filerâ  º  sz   € Ø�M‰M˜#Ó€EðÜ
�Š”B—G‘G—L’L Ð8¨U°3°B¨ZÓ8Ô9ð 
ˆ"‡I�ÕƒIÜ�7‰7�<Š<˜	Ð* EÓ*¨EÐ1Ð1øô ô Ùðús   “9B ÂBÂBc                 óZ   € \        W4      pV P                  WV34       \        WV4       V# r   )r±   r¡   Úsetattr)Ú	patchlistÚclsr   Únew_methÚolds   &&&& r   Ú_patch_methré  È  s.   € Ü
�#Ó
€CØ×Ñ�c Ð%Ô&ÜˆC�xÔ Ø€Jr   c                 óH   € \        V 4       F  w  rp\        WV4       K  	  R # r   )Úreversedrä  )rå  ræ  r   Úold_meths   &   r   Ú_unpatch_methsrí  Î  s    € Ü'¨	Ö2Ñˆ�8Ü�˜8Ö$ó  3r   c                 óÂ   a€ \         P                  R 8X  d   ^ RIHp Ve   \	        WRR 4       \         P                  R8X  d   ^ RIHp V3R lp\	        WRV4      oR# R# )	r   )ÚMSVCCompilerNÚ_remove_visual_c_refc                 ó   € V# r   r7  )r   Úmanifest_files   &&r   r–   Ú&_patch_for_embedding.<locals>.<lambda>Ú  s   € ±Mr   Údarwin)Ú	CCompilerc                 óÆ   <€ R V P                   9   dE   \        V P                   4      V n         V P                   P                  R 4      pRV P                   V&   S! V .VO5/ VB # )z-bundlez-dynamiclib)Ú	linker_sor1  r  )r   r¢   Úkwdsr·   Úold_link_shared_objects   &*, €r   Úmy_link_shared_objectÚ3_patch_for_embedding.<locals>.my_link_shared_objectß  sV   ø€ Ø˜DŸN™NÔ*Ü!% d§n¡nÓ!5�”Ø—N‘N×(Ñ(¨Ó3�Ø$1�—‘˜qÑ!Ù)¨$Ð>°Ò>¸Ñ>Ð>r   Úlink_shared_object)ÚsysÚplatformÚcffi._shimmed_dist_utilsrï  ré  rõ  )rå  rï  rõ  rú  rù  s   &   @r   Ú_patch_for_embeddingr   Ò  s\   ø€ Ü
‡|�|�wÔõ 	:ØÒ#Ü˜	Ð1GÙAôCô ‡|�|�xÔå6õ	?ô "-¨YØ-AØ-Bó"DÒñ  r   c                 óü   a€ ^ RI Hp SP                  R4      '       dM   SRR o\        P                  R8X  d   SR,          oM(\        P                  R8X  d   SR,          oM	SR,          o\        WR	V3R
 l4       R# )r   )Ú	build_extz.*Nr   z.dllrô  z.dylibz.soÚget_ext_filenamec                 ó   <€ S# r   r7  )r   Úext_nameÚtargets   &&€r   r–   Ú#_patch_for_target.<locals>.<lambda>÷  s   ø€ ¡vr   rÜ  )rÿ  r  Úendswithrý  rþ  ré  )rå  r  r  s   &f r   Ú_patch_for_targetr	  é  sg   ø€ Ý2ð ‡��t×ÒØ˜˜�ˆÜ�<‰<˜7Ô"Ø�fÕ‰FÜ�\‰\˜XÔ%Ø�hÕ‰Fà�e�OˆFÜ�	Ð&8Ü-ö/r   c                 ó¶  € \        V\        4      '       g   VP                  R 4      pV P                  '       d   V P	                  V4       VEe·   V'       d   \        V4      '       d   \        R4      hV P                  RJpV'       d   V P                  V4       Vf@   \        W1V4      w  r^V'       d   V.V,           p\        P                  P                  ! V!  pMTpV	f   V'       d   RV,          p	MRp	V'       d   \        P                  ! Wñ3/ VB pMRp\        WW%VR7      pV'       dÓ   . p\        P                   ! 4       p V'       d   \#        V4       V	R8w  d   \%        VV	4       V'       d<   VR8X  d   RpMRp\'        V: R	\        P                  P)                  V4      : 24       \        P*                  ! V4       \        P,                  ! RVWŠ4      p\        P*                  ! V4       \/        V4       V# VV3# Vf   \        W1R
4      w  pp\1        WVVR7      pV'       d   V# RV3#   \        P*                  ! T4       \/        T4       i ; i)rp  NzGWriting to file-like objects is not supported with call_c_compiler=Truez%s.*r   )rÏ  r
  zthe current directory isz setting the current directory tor4   z.py)r£   rž   rr  Ú_windows_unicodeÚ_apply_windows_unicoderÃ  rf  r  Ú_apply_embedding_fixrâ  rþ   rÿ   rY   r   Úget_extensionrØ  Úgetcwdr   r	  rÆ  ÚabspathÚchdirÚcompilerí  rÛ  )r�   r‚   rø   ÚtmpdirÚcall_c_compilerÚc_fileÚsource_extensionÚextradirÚcompiler_verboser  ÚdebugÚuses_ffiplatformrø  Ú	embeddingrá  Ú
ext_c_fileÚextÚupdatedrå  ÚcwdÚmsgÚoutputfilenamerË   s   &&&&&&&&&&&&,          r   Ú	recompiler"  ú  sú  € ô �k¤3×'Ò'Ø!×(Ñ(¨Ó1ˆØ
××ÐØ×"Ñ" 4Ô(ØÓßœ}¨V×4Ò4Üð 8ó 9ð 9à—^‘^¨4Ð/ˆ	ßØ×$Ñ$ TÔ*ØŠ>Ü,¨VØ-=ó?‰MˆFçØ!˜
 UÕ*�ÜŸ™Ÿš uÑ-‰JàˆJàŠ>ßØ +Õ-‘à�çÜ×+Ò+¨JÑLÀtÑL‰CàˆCÜ °(Ø(8ô:ˆçØˆIÜ—)’)“+ˆCð*ßÜ(¨Ô3Ø˜S”=Ü% i°Ô8ß#Ø ”}Ø8™à@˜Ü£S¬"¯'©'¯/©/¸&Õ*AÐBÔCÜ—’˜Ô Ü!,×!4Ò!4°S¸#Ø5Eó"N�ô —’˜”Ü˜yÔ)Ø!Ð!à˜�<ÐàŠ>Ü(¨¸eÓD‰IˆF�AÜ  °6Ø)9ô;ˆçØˆMà˜�=Ð øô —’˜”Ü˜yÕ)ús   ÅH5 Å%H5 Å6A)H5 È5#I)é   r   )r#  é   )r#  r­  )	r
  TNz.cNrg   NNT)$Úiorþ   rý  Ú	sysconfigr=   r   r   Úerrorr   Úcffi_opcoder„   r   rN  rþ  Úversion_infoÚget_config_varr  r
   r,   rH   r^   rv   r   ÚStringIOrº  ÚBytesIOrÃ  rÔ  rØ  rÛ  râ  ré  rí  r   r	  r"  r7  r   r   Ú<module>r-     s!  ðß × ß  Ý $Ü à€ØÐ ØÐ à—L‘L GÑ+÷ .ð .¨s×/?Ñ/?À&Ñ/H÷ .ð .Ø×#Ñ# vÑ-÷Cð Cà ×/Ò/Ð0AÓBÔBð ÷1ñ 1÷ )ñ )÷8#ñ #÷:?ñ ?÷0	Kñ 	K÷D=ñ D=ðN( ×Ñ�tÔØ�{‰{�Hô+�2—:‘:ô +ò'òô>)ô
)ò2òò%òDò./ö"C!r   