
    
\h                        S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S r	\R                  S:X  a  S rS SKJrJrJrJrJrJrJrJrJrJr  S S	KJrJrJrJrJrJr  \" \5      r\" \5      rS
r Sr!\RD                  RF                  r#\\4\#l$        \\#l%        \RD                  RL                  r&\\4\&l$        \\&l%         " S S\5      r'\" \'5      r(\RR                  RT                  r+\(4\+l$        \\+l%         " S S\5      r,SS jr-\.S:X  aK  \	" 5       r/\0" SS5       r1\2" S\/-  \1S9  SSS5        \/(       d   \-" \Rf                  /\Rh                  -   SS9  ggg! , (       d  f       N7= f)    )print_functionN)IntEnum)list2cmdlinec                      [         R                  S:w  a  [        S5      eSS Kn  U R                  R
                  R                  5       $ !   [        R                  " 5         [        S5         g= f)Nnt-This function is only implemented on Windows.r   z*Admin check failed, assuming not an admin.F)
osnameRuntimeErrorctypeswindllshell32IsUserAnAdmin	traceback	print_excprint)r   s    Hlib/python3.13/site-packages/menuinst/platforms/win_utils/win_elevate.pyisUserAdminr      sY    	ww$JKK}}$$2244:;s   #A	 	"A-r   c                 J     U R                  S5      $ ! [         a    U s $ f = f)Nzutf-8)encodeAttributeError)values    r   ensure_binaryr   %   s,    	<<(( 	 L	s    "")
POINTER	StructureWinErrorbyrefc_char_pc_intc_ulongc_void_psizeofr   )BOOLDWORDHANDLE	HINSTANCEHKEYHWND@   c                   |    \ rS rSrSrS\4S\4S\4S\4S\4S\4S	\4S
\	4S\
4S\4S\4S\4S\4S\4S\4/rS rSrg)ShellExecuteInfoH   z
https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/nf-shellapi-shellexecuteexa
https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/ns-shellapi-_shellexecuteinfoa
cbSizefMaskhwndlpVerblpFilelpParameterslpDirectorynShowhInstApplpIDListlpClass	hKeyClassdwHotKeyhIconhProcessc                     [         R                  " U 5        [        U 5      U l        UR	                  5        H1  u  p#[        U[        5      (       a  [        U5      n[        XU5        M3     g )N)	r   __init__r"   r.   items
isinstancestrr   setattr)selfkwargs
field_namefield_values       r   r>   ShellExecuteInfo.__init__`   sO    t$ ,DK+1<<>'
k3//"/"<K+6 ,:    )r.   N)__name__
__module____qualname____firstlineno____doc__r$   r    r(   r   r   r&   r!   r'   r%   _fields_r>   __static_attributes__ rH   r   r,   r,   H   s    	 ugTNx x X&H%e#"!$f 
$	7rH   r,   c                   D    \ rS rSrSrSrSrSrSrSr	Sr
SrS	rS
rSrSrSrg)SWn   r         	      
                  rP   N)rI   rJ   rK   rL   HIDEMAXIMIZEMINIMIZERESTORESHOWSHOWDEFAULTSHOWMAXIMIZEDSHOWMINIMIZEDSHOWMINNOACTIVESHOWNASHOWNOACTIVATE
SHOWNORMALrO   rP   rH   r   rR   rR   n   s>    DHHGDKMMOFNJrH   rR   Tc           
      ^   [         R                  S:w  a  [        S5      e[        R                  nU c  U/[        R
                  -   n O1[        U S5      (       a  [        U [        5      (       a  [        S5      eSU S   < S3n[        U SS  5      n[        R                  nSn[        U[        UUUS S S	9n[        [!        U5      5      nU(       d
  [#        5       eU(       aI  UR$                  n	['        U	[(        5        [+        5       n
[-        U	[!        U
5      5        U
R.                  nU$ S nU$ )
Nr   r   __iter__zcmdLine is not a sequence."r   r]   runas)r5   r/   r1   r2   r3   r0   r4   )r	   r
   r   sys
executableargvhasattrr@   rA   
ValueErrorr   rR   r^   r,   SEE_MASK_NOCLOSEPROCESSShellExecuteExr   r   r<   WaitForSingleObjectINFINITEr$   GetExitCodeProcessr   )cmdLinewait
python_execmdparamsshowCmdr1   execute_info
successful
procHandleerrrcs               r   
runAsAdminr   }   s   	ww$JKKJ,)Wj))Z-E-E566AJ
 C'!"+&FggGF $%L  l 34Jj!**
J1g:uSz2YY I IrH   __main__z
output.txtazuserIsAdmin = %d)file)ry   )NT)5
__future__r   r	   rn   r   enumr   
subprocessr   r   r
   r   r   r   r   r   r   r   r   r    r!   r"   r   ctypes.wintypesr#   r$   r%   r&   r'   r(   PHANDLEPDWORDrs   rv   kernel32ru   argtypesrestyperw   r,   PShellExecuteInfoShell32ShellExecuteExArt   rR   r   rI   userIsAdminopenfr   ro   rp   rP   rH   r   <module>r      sa   & 	 
   #  77d?   KJfoGU^F(H //==$*E? "';;#)6"2!%79 7@   01^^33N02N!N -` z-K	lC	 A K0q9 
!CNN#chh.T: 	 	 	 s   E
E%