+
    :1jx                         ^ RI Ht ^ RIHt ^RIHtHt ]! ]4      t]'       d   ^ RI	H
t
HtHtHtHtHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHt ]
! ]4      t]
! ]4      t^@t Rt!]PD                  PF                  t#]]3]#n$        ]]#n%        ]PD                  PL                  t&]3]&n$        ]]&n%         ! R R]4      t']
! ]'4      t(]PR                  PT                  t+](3]+n$        ]]+n%         ! R R	]4      t, ! R
 R]4      t-R t.R t/R t0RR lt1R# )    )IntEnum)	getLogger)ensure_binaryon_win)POINTER	StructureWinErrorbyrefc_char_pc_intc_ulongc_ulonglongc_void_p	c_wchar_ppointersizeofwindll)BOOLDWORDHANDLE	HINSTANCEHKEYHWNDc                      a  ] tR t^)t o RtR]3R]3R]3R]3R]3R]3R]3R	]	3R
]
3R]3R]3R]3R]3R]3R]3.tR tRtV tR# )ShellExecuteInfoz
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                    \         P                  ! V 4       \        V 4      V n        VP	                  4        F2  w  r#\        V\        4      '       d   \        V4      p\        WV4       K4  	  R # )N)	r   __init__r   r   items
isinstancestrr   setattr)selfkwargs
field_namefield_values   &,  8lib/python3.14/site-packages/conda/common/_os/windows.pyr,   ShellExecuteInfo.__init__A   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____classdictcell__)__classdict__s   @r5   r   r   )   s     	 ugTNx x X&H%e#"!$f 
$	7 	7r7   r   c                   F    ] tR t^Ot^ t^t^t^	t^t^
t	^t
^t^t^t^t^tRtR# )SW N)r8   r9   r:   r;   HIDEMAXIMIZEMINIMIZERESTORESHOWSHOWDEFAULTSHOWMAXIMIZEDSHOWMINIMIZEDSHOWMINNOACTIVESHOWNASHOWNOACTIVATE
SHOWNORMALr>   rC   r7   r5   rB   rB   O   s>    DHHGDKMMOFNJr7   rB   c                   J    ] tR t^^t^ t^t^t^t^t^t	^t
^t^t^ t^t^t^tRtR# )ERRORrC   N)r8   r9   r:   r;   ZEROFILE_NOT_FOUNDPATH_NOT_FOUND
BAD_FORMATACCESS_DENIEDASSOC_INCOMPLETEDDE_BUSYDDE_FAILDDE_TIMEOUTDLL_NOT_FOUNDNO_ASSOCOOMSHAREr>   rC   r7   r5   rQ   rQ   ^   sD    DNNJMHHKMH
CEr7   rQ   c                     R p\        ^ 4      p \        P                  P                  \	        V 4      R R \        V4      4       VP                  pV#   \         d"   p\        P                  RT4        R p?T# R p?ii ; i)N%r)
r   r   kernel32GetDiskFreeSpaceExWr   r   value	Exceptionloginfo)dir_nameresult
free_byteses   &   r5   get_free_space_on_windowsrk   n   sy    FQJ	++hJ		
 !! M  qMs   A A A=A88A=c                      R p  \         P                  P                  4       ^ 8g  p V #   \         d"   p\        P                  RT4        Rp?T # Rp?ii ; i)Fr`   N)r   shell32IsUserAnAdminrd   re   rf   )rh   rj   s     r5   is_admin_on_windowsro   ~   sR    F--/14 M  qMs   !' AAAc                     \        V \        4       \        V 4       R#   \         d"   p\        P                  RT4        Rp?R# Rp?ii ; i)zBWaits until spawned process finishes and closes the handle for it.r`   N)WaitForSingleObjectINFINITECloseHandlerd   re   rf   )process_handlerj   s   & r5   _wait_and_close_handleru      s:    NH5N# qs    AAAc           
        V ^ ,          pRP                  \        V 4      ^8  d
   V R,          MR4      pRpRp \        \        RRVVR\        P
                  R7      p\        \        V4      4      pVP                  pV'       g   \        4       pWE3# V'       d   \        XP                  4       WE3#   \         d%   pRpTp\        P                  RT4        Rp?L_Rp?ii ; i)	a  
Run command line argument list (`args`) with elevated privileges.

If `wait` is True, the process will block until completion.

NOTES:
    - no stdin / stdout / stderr pipe support
    - does not automatically quote arguments (i.e. for paths that may contain spaces)
See:
- http://stackoverflow.com/a/19719292/1170370 on 20160407 MCS.
- msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
- https://github.com/ContinuumIO/menuinst/blob/master/menuinst/windows/win_elevate.py
- https://github.com/saltstack/salt-windows-install/blob/master/deps/salt/python/App/Lib/site-packages/win32/Demos/pipes/runproc.py  # NOQA
- https://github.com/twonds/twisted/blob/master/twisted/internet/_dumbwin32proc.py
- https://stackoverflow.com/a/19982092/2127762
- https://www.codeproject.com/Articles/19165/Vista-UAC-The-Definitive-Guide
- https://github.com/JustAMan/pyWinClobber/blob/master/win32elevate.py
 :   NNNrunas)r   r   r   r    r!   r"   r#   Fr`   rC   )joinlenr   SEE_MASK_NOCLOSEPROCESSrB   rD   ShellExecuteExr
   r*   rd   re   rf   r	   ru   )	argswaitarg0	param_strhprocess
error_codeexecute_info
successfulrj   s	   &&       r5   run_as_adminr      s    & 7DSY]b;IHJ')"''
 $E,$78
(( Z
  
|445  

qs   AB2 2C!=CC!N)T)2enumr   loggingr   compatr   r   r8   re   ctypesr   r   r	   r
   r   r   r   r   r   r   r   r   r   ctypes.wintypesr   r   r   r   r   r   PHANDLEPDWORDr|   rr   ra   rq   argtypesrestypers   r   PShellExecuteInfoShell32ShellExecuteExAr}   rB   rQ   rk   ro   ru   r   rC   r7   r5   <module>r      s     *	    KJfoGU^F(H //==$*E? "'//--K"9KK79 7@   01^^33N02N!N G   - r7   