+
    jHàjo  ã                  óV   € R t ^ RIHt ^ RIt^ RItRt^tRtR R ltR R lt	R	 R
 lt
R# )zÞPCI display controllers on macOS, read from the IOKit registry.

Intel Macs name their GPU vendors here; Apple silicon has no PCI display controller. Read through
ctypes without environment-variable input or subprocesses.
)ÚannotationsNi  é   c               ó    € V ^8„  d   QhRRRR/# )é   Úrefz
int | NoneÚreturn© )Úformats   "ÚD/home/ubuntu/.hermes/hermes-agent/hermes_platform/host/darwin_pci.pyÚ__annotate__r      s   € ÷ 
ñ 
�zð 
 jñ 
ó    c                ó‚  € V'       g   R#  V P                  V4      V P                  4       8w  d    V P                  V4       R# V P                  V4      pV'       d;   \        P                  \        P                  ! V P                  V4      V4      R4      MR V P                  V4       #   T P                  T4       i ; i)zZLittle-endian integer from a CFData property, or ``None`` for a missing or non-data value.NÚlittle)	ÚCFGetTypeIDÚCFDataGetTypeIDÚ	CFReleaseÚCFDataGetLengthÚintÚ
from_bytesÚctypesÚ	string_atÚCFDataGetBytePtr)Úcfr   Úsizes   && r
   Ú	_data_intr      s’   € çÙðØ�>‰>˜#Ó "×"4Ñ"4Ó"6Ô6Øð 	�‰�SÖð ×!Ñ! #Ó&ˆß]aŒs�~‰~œf×.Ò.¨r×/BÑ/BÀ3Ó/GÈÓNÐPXÔYÐgkÐkà
�‰�SÕøˆ�‰�SÕús   Œ$B+ ÁB+ Á;B+ Â+B>c               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r	   s   "r
   r   r      s   € ÷ 7ñ 7˜ñ 7r   c                óT  € \         P                  VP                  n        \         P                  \         P                  \         P
                  .VP                  n        \         P                  ;VP                  n        VP                  n        \         P                  .VP                  n        \         P                  VP                  n        \         P                  .VP                  n        \         P                  VP                  n        \         P                  .VP                  n        \         P                  .VP                  n        \         P                  V P                  n        \         P                  .V P                  n        \         P
                  \         P                  \         P                  ! \         P
                  4      .V P                   n        \         P
                  V P"                  n        \         P
                  .V P"                  n        \         P                  V P$                  n        \         P
                  \         P                  \         P                  \         P
                  .V P$                  n        \         P
                  .V P&                  n        R # )N)r   Úc_void_pÚCFStringCreateWithCStringÚrestypeÚc_char_pÚc_uint32ÚargtypesÚc_ulongr   r   Úc_longr   r   r   ÚIOServiceMatchingÚPOINTERÚIOServiceGetMatchingServicesÚIOIteratorNextÚIORegistryEntryCreateCFPropertyÚIOObjectRelease)Úiokitr   s   &&r
   Ú_bindr-      s™  € Ü+1¯?©?€B× Ñ Ô(Ü-3¯_©_¼f¿o¹oÌvÏÉÐ,_€B× Ñ Ô)Ü:@¿.¹.ÐH€B‡N�NÔ˜R×/Ñ/Ô7Ü%Ÿ™Ð/€B‡N�NÔÜ!'§¡€B×ÑÔÜ#)§?¡?Ð"3€B×ÑÔÜ"(§/¡/€B×ÑÔÜ$*§O¡OÐ#4€B×ÑÔ Ü#Ÿ_™_Ð-€B‡L�LÔÜ&,§o¡o€E×ÑÔ#Ü(.¯©Ð'8€E×ÑÔ$Ü39·?±?ÄFÇOÁOÔU[×UcÒUcÔdj×dsÑdsÓUtÐ2u€E×&Ñ&Ô/Ü#)§?¡?€E×ÑÔ Ü%+§_¡_Ð$5€E×ÑÔ!Ü4:·O±O€E×)Ñ)Ô1Ü6<·o±oÄvÇÁÔX^×XgÑXgÔio×ixÑixÐ5y€E×)Ñ)Ô2Ü&,§o¡oÐ%6€E×ÑÖ"r   c               ó   € V ^8„  d   QhRR/# )r   r   zlist[str] | Noner   )r	   s   "r
   r   r   2   s   € ÷ ñ Ð,ñ r   c                 ó   € \         P                  ! \         P                  P                  R4      4      p \         P                  ! \         P                  P                  R4      4      p\	        W4       \         P
                  ! 4       pV P                  ^ V P                  R4      \         P                  ! V4      4      ^ 8w  d   R# R
 Uu/ uF(  q3VP                  RVP                  4       \        4      bK*  	  pp. p \        \        4       FÄ  pV P                  V4      pV'       g    Mª VP                  4        UUu/ uF"  w  r8V\!        WP#                  WxR^ 4      4      bK$  	  p	ppV P%                  V4       V	R,          f   K{  V	R,          ^,	          \&        8X  g   K–  TP)                  V	R,          f   RMV	R,          R,          R	 4       KÆ  	  V P%                  VP*                  4       VP-                  4        F  pVP/                  V4       K  	  V# u upi u uppi   T P%                  T4       i ; i  T P%                  TP*                  4       TP-                  4        F  pTP/                  T4       K  	  i ; i)zVHex PCI vendor ids of every display controller, or ``None`` when IOKit cannot be read.ÚIOKitÚCoreFoundations   IOPCIDeviceNú
class-codeú	vendor-idÚ iÿÿ  Ú04x)r2   r3   )r   ÚCDLLÚutilÚfind_libraryr-   r"   r(   r&   Úbyrefr   ÚencodeÚ_UTF8ÚrangeÚ_MAX_DEVICESr)   Úitemsr   r*   r+   Ú_DISPLAY_CLASSÚappendÚvalueÚvaluesr   )
r,   r   ÚiteratorÚnameÚkeysÚvendorsÚ_ÚentryÚkeyÚreads
             r
   Údisplay_vendor_idsrK   2   s  € ä�KŠKœŸ™×0Ñ0°Ó9Ó:€EÜ	�Š”V—[‘[×-Ñ-Ð.>Ó?Ó	@€BÜ	ˆ%ÔÜ�ŠÓ €Hà×)Ñ)¨!¨U×-DÑ-DÀ^Ó-TÔV\×VbÒVbÐckÓVlÓmÐqrÔrÙÙWrÓsÑWrÈt�"×.Ñ.¨t°T·[±[³]ÄEÓJÒJÑWr€DÐsØ€GðÜ”|Ö$ˆAØ×(Ñ(¨Ó2ˆEßÙð-à)-¯©¬ô7Ù)5™I˜Dð œi¨×,QÑ,QÐRWÐ^bÐdeÓ,fÓgÒgÙ)5ð ñ 7ð ×%Ñ% eÔ,Ø�LÕ!Ô-°$°|Õ2DÈÕ2JÌnÖ2\Ø—‘ T¨+Õ%6Ò%>™rÀtÈKÕGXÐ[aÕGaÐbeÐFfÖhñ %ð 	×Ñ˜hŸn™nÔ-Ø—;‘;–=ˆCØ�L‰L˜Öñ !à€Nùò% tùó7øð ×%Ñ% eÕ,ûð 	×Ñ˜hŸn™nÔ-Ø—;‘;–=ˆCØ�L‰L˜Öò !úsI   Ã.HÃ;-H8 Ä)H"Ä<(HÅ$H"Å'H8 ÆH8 Æ 2H8 ÈH"È"H5È5H8 È8AI=)Ú__doc__Ú
__future__r   r   Úctypes.utilr;   r?   r=   r   r-   rK   r   r   r
   Ú<module>rO      s3   ðñõ #ã Û à€Ø€Ø€õ
õ7÷(r   