+
    ߢ2j                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
Ht . ROt. ROt. ROt]P                  R8H  t]P"                  ! ]P$                  4      ^8H  t ! R R]P(                  4      t ! R R]4      t]R	8X  di   R
 t]! RP7                  R R 4       4      P9                  4       4       ]! 4        F,  w  tt]! R],          RP7                  R ] 4       4      4       K.  	  R# R# )    )print_functionN)c_uint32c_longc_ulongc_size_tc_void_pPOINTER	CFUNCTYPEntc                   h   a ] tR t^Ht oRt] U u. uF
  q \
        3NK  	  up tR tR tRt	Vt
R# u up i )CPUID_structc                N    WP                   9  d   \        V4      h\        W4      # )N)_register_namesKeyErrorgetattr)selfitems   &&;lib/python3.14/site-packages/archspec/vendor/cpuid/cpuid.py__getitem__CPUID_struct.__getitem__L   s#    +++4. t""    c                z    R P                  V P                  V P                  V P                  V P                  4      # )z.eax=0x{:x}, ebx=0x{:x}, ecx=0x{:x}, edx=0x{:x})formateaxebxecxedxr   s   &r   __repr__CPUID_struct.__repr__Q   s2    ?FFtxxQUQYQY[_[c[ceiememnnr    N)r   r   r   r   )__name__
__module____qualname____firstlineno__r   r   _fields_r   r   __static_attributes____classdictcell__)r__classdict__s   0@r   r   r   H   s6     2O'67!H7H#
o o 8s   /r   c                   @   a  ] tR t^Ut o R tRR ltRR ltR tRtV t	R# )CPUIDc                   \         P                  ! 4       R9  d   \        R4      h\        '       dU   \        '       d#   \
        P                  ! R4      V n        \        pM>\
        P                  P                  V n        \        pM\        '       d   \        M\        p\        V4      p\
        P                  V,          ! V!  p\        '       d   \        V P                  P                   n        \
        P                  \
        P$                  \
        P&                  \
        P&                  .V P                  P                   n        V P                  P!                  RVR^@4      V n        V P*                  '       g   \-        R4      h\
        P.                  ! V P*                  W24       M^ RIHpHpHpHpHpHp	 V! R	VWV,          Wx,          V	,          R7      V n        V P<                  P?                  V4       \
        P@                  ! \
        PB                  PE                  V P<                  4      4      V n        \G        R\I        \J        4      \L        \L        4      p
V
! V P*                  4      V n'        R# )
AMD64zOnly available for x86zkernel32.dllNi   zCould not allocate RWX memory)mmapMAP_PRIVATEMAP_ANONYMOUS
PROT_WRITE	PROT_READ	PROT_EXEC)flagsprot)r.   x86_64x86i686)(platformmachineSystemError
is_windowsis_64bitctypesCDLLwin_WINDOWS_64_OPCwindllkernel32_CDECL_32_OPC_POSIX_64_OPClenc_ubyter   VirtualAllocrestyper   r   argtypesaddrMemoryErrormemmover/   r0   r1   r2   r3   r4   mmwrite	addressofc_intfrom_bufferr
   r	   r   r   func_ptr)r   opcsizecoder/   r0   r1   r2   r3   r4   	func_types   &          r   __init__CPUID.__init__V   s   %GG677:x ";;~6%
 "==11##+8-C3x%,:,4DHH!!).4oovPVP^P^`f`n`n-oDHH!!*--dD&$GDI999!"ABBNN499d1  !1+i7	DG GGMM$(()A)A$'')JKDIdGL$98XN	!$)),r   c                    V P                  WR 7      pVP                  VP                  VP                  VP                  3# ))r   r   )registers_forr   r   r   r   r   r   r   structs   &&& r   __call__CPUID.__call__   s4    ###5zz6::vzz6::==r   c                >    \        4       pV P                  W1V4       V# )ztCalls cpuid with eax and ecx set as the input arguments, and returns a structure
containing eax, ebx, ecx, and edx.
)r   rU   r^   s   &&& r   r]   CPUID.registers_for   s     f3'r   c                6   \         '       ds   \        V P                  P                  n        \
        \        \        .V P                  P                  n        V P                  P                  V P                  ^ R4       R# V P                  P                  4        R# )r   i   N)r>   r   rB   VirtualFreerK   r   r   r   rL   rM   rP   closer   s   &r   __del__CPUID.__del__   sY    :+1DHH  (-5x,IDHH  )HH  Av6GGMMOr   )rM   rU   rP   rB   N)r   )
r"   r#   r$   r%   rZ   r`   r]   rg   r'   r(   )r*   s   @r   r,   r,   U   s     1-f> r   r,   __main__c               #      "   \        4       p R F.  pV ! V4      w  p  pW8:  g   K  V ! V4      pW3x  V^,          pK   	  R# 5i)r   N)r   l        )r,   )cpuidr   highest_regss        r   valid_inputsro      sG     $C$SzGQ1.Szk!q %s
    AA c              #   B   "   T F  qP                  ^4      x  K  	  R# 5i)   N)ljust).0xs   & r   	<genexpr>rv      s     E'D!771::'Ds   %08xc              #   4   "   T F  pR V,          x  K  	  R# 5i)rw   Nr!   )rt   regs   & r   rv   rv      s     $BTcVc\\Ts   )S         r{            r{      r{   _      r{   O   rr   r{   W      [      )rz   r{      I   r{      D   r{      r~   r   A   r{      r   r{   Y   r   r   r{   r   rr   r   r{   Q   r   r   r   )rz   r      |   $   r   r   r   r      r   L   r      r~   r   r{   r   r{   r   r   r{   r   rr   r{   r   r   r   r   r   )r,   ABCD)
__future__r   r;   osr@   r   r   r   r   r   r	   r
   rG   rC   rF   namer>   sizeofc_voidpr?   	Structurer   objectr,   r"   ro   printjoinstripr   rn   r!   r   r   <module>r      s    &  	  T T T  WW_
==(A-
o6## 
oFF FT z 
#((E'DE
E
K
K
MN!^	TfslCHH$BT$BBC $ r   