+
    :i+  c                   s  a  R! tY0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^RIHtHtHt ]P                  R8X  g   Q h^ RIHtHt ]P(                  ! ]4      t]! ]4      t]P0                  t]P4                  t]P8                  t ! R	 R
]P<                  4      t]P@                  ! 4       ^ ,          R8X  d   ^t!MA]P@                  ! 4       ^ ,          R8X  d   ^t!M!]"! R]P@                  ! 4       ^ ,           24      h ! R R]P<                  4      t# ! R R]P<                  4      t$ ! R R]P<                  4      t% ! R R]P<                  4      t&]PN                  t(]PN                  t)]PN                  t*^^]PV                  ! ]PN                  4      ,          ,          ^,
          t,^t-^t.^t/]P`                  t1Rt2Rt3Rt4^t5^t6R]Pn                  n8        ]Pr                  ! ]4      .]Pn                  n:        ]Pv                  ]Px                  n8        ])]Pr                  ! ]%4      .]Px                  n:        ]Pv                  ]Pz                  n8        ])]Pr                  ! ]*4      .]Pz                  n:        ]Pv                  ]P|                  n8        ]*.]P|                  n:        ]Pv                  ]P~                  n8        ])]PN                  ]P                  .]P~                  n:        ]1]P                  n8        ]*]Pr                  ! ]&4      .]P                  n:        ]P                  ]P                  n8        ])]PN                  ]P                  .]P                  n:        ]P                  ]P                  n8        ])]PN                  ]P                  .]P                  n:        ]Pr                  ! ]4      ]P                  ]P                  ]P                  .]P                  n:        ](]P                  n8        ]P                  ]P                  n8        ](]PN                  ]Pr                  ! ]4      ]P                  ]Pr                  ! ]#4      .]P                  n:        ]P                  ]P                  n8        ](]Pr                  ! ]#4      ]Pr                  ! ]$4      ]P                  ]Pr                  ! ]P                  4      ]PN                  .]P                  n:        ]P                  ]P                  n8        ](.]P                  n:        ])]P                  n8        ]P                  ]P                  ]P                  ]PN                  ]P                  ]P                  ]).]P                  n:        ]P                  ]P                  n8        ]).]P                  n:         ! R R]4      tNR tOR tP]P                  ! R],          4      tR]P                  ! R4      tSR tT]	! ]]U! 4       4      tV/ tW] ^ k R  tXR# )"    N)LibraryLoaderwintypes)cast)OtpConnection)	LOG_LEVEL)	USAGE_OTP
YUBICO_VIDOtpYubiKeyDeviceZwin32)WinDLLWinErrorc                   s    ] tR t^.tR]P
                  3R]P                  3R]P                  3R]P                  ^,          3.tRt	R# )GUIDZData1ZData2ZData3ZData4 N)
__name__
__module____qualname____firstlineno__ctypesc_ulongc_ushortZc_ubyte_fields___static_attributes__r       6/usr/lib/python3.14/site-packages/ykman/hid/windows.pyr   r   .   s>    	&..!	&//"	&//"	&..1$%	Hr   r   Z64bitZ32bitzUnknown architecture: c                   s    ] tR t^DtR]P
                  3R]3R]P
                  3R]P                  ! ]P                  4      3.t
]tRtR# )DeviceInterfaceDatacbSizeZInterfaceClassGuidZFlagsReservedr   N)r   r   r   r   r   DWORDr   r   POINTERr   r   SETUPAPI_PACK_pack_r   r   r   r   r   r   D   sE    	8>>"	t$	(..!	V^^FNN34	H Fr   r   c                   s`    ] tR t^NtR]P
                  3R]P                  ^,          3.t]	t
RtR# )DeviceInterfaceDetailDatar   
DevicePathr   N)r   r   r   r   r   r   r   Zc_byter   r   r   r   r   r   r   r   r   N   s(    8>>*\6==1;L,MNHFr   r   c                   s    ] tR t^StR]P
                  3R]P                  3R]P                  3R]P                  3.tRtR# )HidAttributesZSizeVendorID	ProductIDZVersionNumberr   N)	r   r   r   r   r   r   r   r   r   r   r   r   r!   r!   S   s9    	 	V__%	foo&	&//*	Hr   r!   c            	       s    ] tR t^\tR]P
                  3R]P
                  3R]P
                  3R]P
                  3R]P
                  3R]P
                  ^,          3R]P
                  ^
,          3.tRtR	# )
HidCapabilitiesUsage	UsagePageZInputReportByteLengthZOutputReportByteLengthZFeatureReportByteLengthr   ZNotUsedr   N)r   r   r   r   r   r   r   r   r   r   r   r$   r$   \   sg    	&//"	foo&	 &//2	!6??3	"FOO4	V__r)*	FOOb()Hr   r$   i   i   @l        c                   s8   a  ] tR t^t o R tR tR tR tRtV t	R# )WinHidOtpConnectionc           	     s    \         P                  V\        \        \        ,          R \
        ^ R 4      V n        V P                  \        8X  d   \        4       hR # N)	kernel32CreateFileAGENERIC_WRITEFILE_SHARE_READFILE_SHARE_WRITEOPEN_EXISTINGhandleINVALID_HANDLE_VALUEr
   )selfpaths   &&r   __init__ZWinHidOtpConnection.__init__   sK    **..
 ;;..* /r   c                sz    V P                   '       d)   \        P                  V P                   4       R V n         R # R # r(   )r/   r)   CloseHandle)r1   s   &r   closeZWinHidOtpConnection.close   s)    ;;;  -DK r   c                sL   \         P                  ! ^	4      p\        P                  V P                  V\         P
                  ! V4      4      pV'       g   \        4       hVP                  R,          p\        P                  \        P                  RVP                  4       4       V# )i	   :i   NNzRECV: %s)r   create_string_bufferhidHidD_GetFeaturer/   sizeofr
   Zrawloggerlogr   TRAFFIChex)r1   bufresultdata   &   r   receiveZWinHidOtpConnection.receive   sl    ))!,$$T[[#v}}S7IJ*wwr{

9$$j$((*=r   c                s4   \         P                  \        P                  R VP	                  4       4       \
        P                  ! RV,           4      p\        P                  V P                  V\
        P                  ! V4      4      pV'       g   \        4       hR# )zSEND: %ss    N)r:   r;   r   r<   r=   r   r6   r7   HidD_SetFeaturer/   r9   r
   )r1   r@   r>   r?   s   &&  r   sendZWinHidOtpConnection.send   sc    

9$$j$((*=))%$,7$$T[[#v}}S7IJ* r   )r/   N)
r   r   r   r   r3   r5   rB   rD   r   Z__classdictcell__)Z__classdict__   @r   r'   r'      s     
 r   r'   c                 s    \        4       p\        P                  V \        P                  ! V4      4      pV'       g   \        4       hVP                  VP                  3# r(   )r!   r7   HidD_GetAttributesr   byrefr
   r"   r#   )deviceZ
attributesr?   s   &  r   get_vid_pidrI      sF    J##FFLL,DEFj
 4 444r   c                 s   \        ^ 4      p\        P                  V \        P                  ! V4      4      pV'       g   \        4       h \        4       p\        P                  V\        P                  ! V4      4      pV\        8w  d   \        4       hVP                  VP                  3\        P                  V4       #   \        P                  T4       i ; i)r    )PHIDP_PREPARSED_DATAr7   HidD_GetPreparsedDatar   rG   r
   r$   HidP_GetCapsHIDP_STATUS_SUCCESSr&   r%   HidD_FreePreparsedData)rH   Zpreparsed_dataZretZcapsrA   r   	get_usagerO      s    )!,N

#
#FFLL,H
ICj
3 ~v||D/AB%%*~~tzz) 	"">2"">2s   	A B? ?Cs   \Wvid_%04x\Ws   \Wpid_([a-z0-9]{4})\Wc            	      s   \        4       p \        P                  \        P                  ! V 4      4       \
        P                  \        P                  ! V 4      R R \        \        ,          4      p ^ p\        4       p\        P                  ! \        4      Vn        . p \
        P                  V^ \        P                  ! V 4      V\        P                  ! V4      4      pV^,          pV'       g   EM\        P                  ! 4       p\
        P                  V\        P                  ! V4      R ^ \        P                  ! V4      R 4      pV'       d   \!        4       hVP"                  pV^ 8X  d   K  \        P$                  ! V4      p\&        P)                  V4      p	\        P                  ! \&        4      V	n        \
        P                  V\        P                  ! V4      \        P                  ! V	4      VR R 4      pV'       g   \!        4       h\        P*                  ! \        P,                  ! V	P.                  4      4      p
\0        P3                  V
4      '       g   EK  \4        P3                  V
4      pV'       g   EK  VP7                  \9        VP;                  ^4      ^4      V
34       EK  V\
        P=                  V4       #   \
        P=                  T4       i ; ir(   )r   r7   HidD_GetHidGuidr   rG   setupapiSetupDiGetClassDevsADIGCF_DEVICEINTERFACEDIGCF_PRESENTr   r9   r   SetupDiEnumDeviceInterfacesr   r    SetupDiGetDeviceInterfaceDetailAr
   Zvaluer6   r   Zfrom_bufferZ	string_atZ	addressofr    VID_REZsearchPID_REappendZintZgroupSetupDiDestroyDeviceInfoList)Zhid_guidZ
collectionZindexZinterface_infoZpathsr?   Zdetail_len_dwZ
detail_lenr>   Zinterface_detailr2   Z	pid_matchs               r   
list_pathsr[     s   vHX./..Xd,AM,QJ::,. &.A B99X&^,F QJE$NN,M>>^,]+F j &,,JQ--j9C8DDSI&,mm4M&N#>>^,-.F j ##F$4$45E5P5P$QRD}}T"""MM$/	9LL#iooa&8""=t!DE--j9--j9s.   0A?K 0A K B2K AK  K  0K Kc            
      s&   \        \        4      p . p\        4        EF  w  r#V P                  V4       \        P	                  V4      pV'       d   V\
        Jd   VP                  V4       KQ  \        P                  V^ \        \        ,          R\        ^ R4      pV\        8X  d   \        P                  RV4       Mo \        V4      pV\         8X  dC   \#        W2\$        4      pV\        V&   VP                  V4        \        P'                  V4       K   \        P'                  V4       \
        \        V&   EK   	  V  F
  p\        V K  	  V#   \(         d    \        P                  RTRR7        L^i ; i  \        P'                  T4       i ; i)r    Nz#Couldn't read HID descriptor for %sz Couldn't read Usage Page for %s:T)Zexc_info)Zset_device_cacher[   ZdiscardZget_SKIPrY   r)   r*   r,   r-   r.   r0   r:   ZdebugrO   r   r   r'   r4   Z	Exception)ZstaleZdevicesZpidr2   ZdevrH   Zusages          r   list_devicesr^   J  s]   EG\	d %%s#%%..
 ))LL>E
-!&)I%*46IJC*-M$'NN3' $$V, & $$V,#dC "H $  N  V?PTUV $$V,s+   >A EE9#E63E95E66E99Fc                sb    V ^8  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   # )i   r\   )__conditional_annotations__ZdictZbytesr   )Zformats   "r   __annotate__r`      s%    j	 2 1tE++, 1k	 r   )Zr_   r   ZloggingZplatformZreZsysr   r   Ztypingr   Zyubikit.core.otpr   Zyubikit.loggingr   Zbaser   r   r   r	   r
   Z	getLoggerr   r:   ZwindllZHidr7   ZSetupAPIrQ   ZKernel32r)   Z	Structurer   Zarchitecturer   ZOSErrorr   r   r!   r$   Zc_void_pZHDEVINFOZHANDLErJ   r9   r0   r,   r-   r.   Zc_longZNTSTATUSrM   r+   ZGENERIC_READrS   rT   rP   Zrestyper   ZargtypesZBOOLEANrF   rK   rN   ZHidD_GetProductStringr   rL   ZBOOLr8   rC   Zc_char_pZHWNDr   rR   rU   rV   rZ   r*   r4   r'   rI   rO   ZcompilerW   rX   r[   Zobjectr]   r\   r^   r`   )r_   rE   r   <module>ra      s  $    	 
 *  * % 9 9 ||w  #			8	$ 
v	jj????6  1(MQ7*M
*8+@+@+B1+E*FG
HH&**  0 0 
F$$ 	f&& 	 ??	  Qv!???1D   ==     #    &t 45   !)!1!1   #)6>>-+H"I   $,$4$4   !&,fnn=Q.R%S   "%-%5%5   "';&<   #$,$4$4   !&,foov~~%N   "#   16>>/3RS    'mm    &H   &mm    &H    NN4
OOMMNN	*   & )1   %/7}} $ $ ,
OO
NN4NN
NN&'1 $ $ - 5=MM ) ) 1
NN&'
NN,-NN
NN8>>"
OO6 ) ) 2 19 % % -2 % % .  &   
OONNNN
OONNNN
!     (}}   !'   !- !H53& 
$z1	2	-	.A:H 	vx(/1 1*r   