hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Ë
Iñúh)“ãót—dZddlZddlZddlZddlZddlZddlZddlZddlZddl    m
Z
ddl m Z ddl m Z ddl mZddl mZdd    l mZdd
l mZdd l mZdd l mZdd l mZddl mZddl mZddl mZddl mZddlmZddlmZddlmZddlmZddlmZddlmZ    ddl mZ gd¢Z)dZ*d Z+d!ejXvZ-ej\d"d#d$i«Z/e/j`Z0e jbe jde jfe jhe jje jle jne jpe jre jte jve jxe jze j|e j~e j€e j‚e j„e j†e jˆe jŠe jŒe jŽe*e je j’i ZJGd%„d&ej\«ZKeL«j›eKjœ«Gd'„d(ej\«ZOeL«j›eOjœ«ePd„id)d“d*d“d+d,“d-d.“d/d0“d1d2“d3d“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“dHdI“dJdK“dLdM“dNdO“dPdQ“ŽZQe
dRgdS¢«ZRe
dTgdU¢«ZSe
dVgdW¢«ZTe
dXeTjªdYz«ZVe
dZd[d\g«ZWe
d]d^d_j±eWjª«z«ZYe
d`gda¢«ZZej¶db¬c«dd„«Z\ede„«Z]df„Z^dg„Z_e jÀZ`dh„Zadi„Zbdj„Zcdk„Zddl„Zedm„Zfdn„Zgdo„ZhdpaiejÔ«Zkdq„Zldr„Zmd…ds„Zndt„Zodu„Zpdv„Zqdw„Zrdasdx„Ztdy„Zudz„Zvd{„ZwGd|„d}«Zxe jòZye jôZze jöZ{d~„Z|d†d„Z}d€„Z~d„ZGd‚„dƒ«Z€y#e!$rWZ"e#e"«jI«jKd«r,ejL«ddkrdZ'e'dz Z'e'dz Z'e(e'«e"‚‚dZ"["wwxYw)‡z Windows platform implementation.éN)Ú
namedtupleé)Ú_common)ÚENCODING)Ú AccessDenied)Ú NoSuchProcess)ÚTimeoutExpired)Ú    conn_tmap)Úconn_to_ntuple)Údebug)Ú isfile_strict)Úmemoize)Úmemoize_when_activated)Úparse_environ_block)Ú usage_percent)ÚABOVE_NORMAL_PRIORITY_CLASS)ÚBELOW_NORMAL_PRIORITY_CLASS)ÚHIGH_PRIORITY_CLASS)ÚIDLE_PRIORITY_CLASS)ÚNORMAL_PRIORITY_CLASS)ÚREALTIME_PRIORITY_CLASS)Ú_psutil_windowszdll load failedéz3this Windows version is too old (< Windows Vista); z:psutil 3.4.2 is the latest version which supports Windows z2000, XP and 2003 server)Úwin_service_iterÚwin_service_getrrrrrrÚIOPRIO_VERYLOWÚ
IOPRIO_LOWÚ IOPRIO_NORMALÚ IOPRIO_HIGHÚCONN_DELETE_TCBÚAF_LINKÚ
DELETE_TCBi+Ú__pypy__Ú AddressFamilyr!éÿÿÿÿcó$—eZdZeZeZeZeZeZeZy)ÚPriorityN)    Ú__name__Ú
__module__Ú __qualname__rrrrrr©óúDH:\Change_password\venv_build\Lib\site-packages\psutil/_pswindows.pyr'r'es&„Ø"=ÐØ"=ÐØ-ÐØ-ÐØ1ÐØ5Ñr,r'có—eZdZdZdZdZdZy)Ú
IOPriorityrrééN)r(r)r*rrrrr+r,r-r/r/qs„Ø€NØ€JØ€M؁Kr,r/Ú num_handlesÚ ctx_switchesÚ    user_timer0Ú kernel_timer1Ú create_timeéÚ num_threadséÚ    io_rcountÚ    io_wcountéÚ    io_rbyteséÚ    io_wbytesé    Úio_count_othersé
Úio_bytes_othersé Únum_page_faultsé Ú    peak_wseté ÚwsetéÚpeak_paged_pooléÚ
paged_pooléÚpeak_non_paged_pooléÚnon_paged_pooléÚpagefileéÚ peak_pagefileéÚ mem_privateéÚ    scputimes)ÚuserÚsystemÚidleÚ    interruptÚdpcÚsvmem)ÚtotalÚ    availableÚpercentÚusedÚfreeÚpmem) ÚrssÚvmsrErGrIrKrMÚpeak_nonpaged_poolÚ nonpaged_poolrSrUÚprivateÚpfullmem)ÚussÚ pmmap_groupedÚpathrfÚ    pmmap_extz addr perms ú Úpio)Ú
read_countÚ write_countÚ
read_bytesÚ write_bytesÚ other_countÚ other_bytesi)ÚmaxsizecóÜ—|jd«r|Sdj|jd«dd«}|dvrJdj|jd«dd«}ddj|jd«dd«z}n;|jd«r|jd«d}ntj|«}|t |«d}t jj||«S)    zÌConvert paths using native DOS format like:
        "\Device\HarddiskVolume1\Windows\systemew\file.txt" or
        "\??\C:\Windows\systemew\file.txt"
    into:
        "C:\Windows\systemew\file.txt".
    z\\ú\Nr1>ú\??\UNCú \Device\Mupr9z\??\r0)Ú
startswithÚjoinÚsplitÚcextÚQueryDosDeviceÚlenÚosrn)ÚsÚrawdriveÚ driveletterÚ    remainders    r-Úconvert_dos_pathrˆ¸sπð    ‡||FÔØˆØy‰y˜Ÿ™ › r¨Ð*Ó+€HØÐ1Ñ1Ø—9‘9˜QŸW™W T›]¨2¨AÐ.Ó/ˆØ˜tŸy™y¨¯©°«°q¸Ð);Ó<Ñ<‰ Ø    ×    Ñ    ˜XÔ    &Ø—g‘g˜d“m AÑ&‰ ä×)Ñ)¨(Ó3ˆ Ø”#h“-/Ð"€IÜ 7‰7<‰<˜  YÓ /Ð/r,có*—tj«S©N)r€Ú getpagesizer+r,r-r‹r‹Îs€ä × Ñ Ó Ðr,cóŽ—tj«}|\}}}}|}|}|}||z
}t||z
|d¬«}    t|||    ||«S)z&System virtual memory as a namedtuple.r©Úround_)r€Ú virtual_memrr_)
ÚmemÚtotphysÚ    availphysÚ_totsysÚ    _availsysr`Úavailrdrcrbs
          r-Úvirtual_memoryr–Øs[€ä
€CØ-0Ñ*€GˆY˜ Ø €EØ €EØ €DØ 5‰=€DܘU U™]¨U¸1Ô=€GÜ ˜˜w¨¨dÓ 3Ð3r,cóü—tj«}|d}|d}||z
}|dkDr&tj«}td|z|z«}nd}d}||z
}t    |d«}t j ||||dd«S)z=Swap system memory as a (total, used, free, sin, sout) tuple.rr0g{®Gáz„?çr)r€rÚ swap_percentÚintÚroundrÚsswap)rÚ
total_physÚ total_systemr`Ú percentswaprcrdrbs        r-Ú swap_memoryr äs‘€ä
€CàQ‘€Jؐq‘6€Lð ˜:Ñ %€Eð
 ˆq‚yÜ×'Ñ'Ó)ˆ ܐ4˜+Ñ%¨Ñ-Ó.‰àˆ Øˆà 4‰<€DܐK Ó#€GÜ =‰=˜  d¨G°Q¸Ó :Ð:r,có֗t|t«r|jtd¬«}t    j
|«\}}||z
}t ||d¬«}tj||||«S)z'Return disk usage associated with path.Ústrict)Úerrorsrr)    Ú
isinstanceÚbytesÚdecoderr€Ú
disk_usagerrÚ
sdiskusage)rnr`rdrcrbs     r-r§r§s`€ä$œÔð{‰{œ8¨Hˆ{Ó5ˆÜ—/‘/ $Ó'K€Eˆ4Ø 4‰<€DܘD %°Ô2€GÜ × Ñ ˜e T¨4°Ó 9Ð9r,cóv—tj|«}|Dcgc]}tj|Ž‘Œc}Scc}w)zReturn disk partitions.)r€Údisk_partitionsrÚ    sdiskpart)ÚallÚrawlistÚxs   r-rªrªs1€ä×"Ñ" 3Ó'€GØ+2Ö 3 aŒG× Ñ ˜qÒ !Ò 3Ð3ùÒ 3sš6cóð—tj«\}}}tttj«ŽDcgc] }t |«‘Œc}Ž}t||||j |j«Scc}w)z)Return system CPU times as a named tuple.)r€Ú    cpu_timesrYÚzipÚ per_cpu_timesÚsumr]r^)rZr[r\ÚnÚ percpu_summeds     r-r°r°sh€äŸ™Ó)Ñ€Dˆ&$ô´´T×5GÑ5GÓ5IÐ0JÖK¨1¤ A¥ÒKÐL€MÜ Ø ˆfd˜M×3Ñ3°]×5FÑ5Fó ðùò LsºA3cóˆ—g}tj«D](\}}}}}t|||||«}|j|«Œ*|S)z6Return system per-CPU times as a list of named tuples.)r€r²rYÚappend)ÚretrZr[r\r]r^Úitems       r-r²r²)sO€à
€CÜ.2×.@Ñ.@Ó.BòÑ*ˆˆfd˜I sܘ˜v t¨Y¸Ó<ˆØ 
‰
4Õðð €Jr,có*—tj«S)z0Return the number of logical CPUs in the system.)r€Úcpu_count_logicalr+r,r-r»r»2s€ä × !Ñ !Ó #Ð#r,có*—tj«S)z-Return the number of CPU cores in the system.)r€Úcpu_count_coresr+r,r-r½r½7s€ä × Ñ Ó !Ð!r,cóh—tj«\}}}}d}tj||||«S)zReturn CPU statistics.r)r€Ú    cpu_statsrÚ    scpustats)r3Ú
interruptsÚ_dpcsÚsyscallsÚsoft_interruptss     r-r¿r¿<s8€ä04·±Ó0@Ñ-€L*˜e XØ€OÜ × Ñ Øj /°8ó ðr,cóˆ—tj«\}}d}tjt    |«|t    |««gS)zMReturn CPU frequency.
    On Windows per-cpu frequency is not supported.
    r˜)r€Úcpu_freqrÚscpufreqÚfloat)ÚcurrÚmax_Úmin_s   r-rÆrÆEs8€ô—‘“J€Dˆ$Ø €DÜ × Ñ œU 4›[¨$´°d³ Ó <Ð =Ð=r,FcóN—tj«}td„|D««S)Nc3ó4K—|]}t|d«–—Œy­w)r0N)r›)Ú.0Úloads  r-ú    <genexpr>z#_getloadavg_impl.<locals>.<genexpr>Usèø€Ò6 D”t˜Q—Ñ6ùs‚)r€Ú
getloadavgÚtuple)Ú    raw_loadss r-Ú_getloadavg_implrÔRs€ä—‘Ó!€IÜ Ñ6¨IÔ6Ó 6Ð6r,có¶—tr
t«St5tstj«daddd«t«S#1swYt«SxYw)z„Return the number of processes in the system run queue averaged
    over the last 1, 5, and 15 minutes respectively as a tuple.
    TN)Ú_loadavg_initializedrÔÚ_lockr€Úinit_loadavg_counterr+r,r-rÑrÑXsN€õ ÜÓ!Ð!ä    ñ(Ý#Ü × %Ñ %Ô 'Ø#'Ð  ÷(ô
Ó Ð÷ (ô
Ó Ðús —AÁAc óò—t|\}}tj|||«}t«}|D];}|\}}}    }
} } } t    |||    |
| | t
|dk(r| nd¬«}|j |«Œ=t|«S)zˆReturn socket connections.  If pid == -1 return system-wide
    connections (as opposed to connections opened by one process only).
    r%N)Úpid)r
r€Únet_connectionsÚsetr Ú TCP_STATUSESÚaddÚlist)ÚkindÚ_pidÚfamiliesÚtypesr­r¸r¹ÚfdÚfamÚtypeÚladdrÚraddrÚstatusrÚÚnts               r-rÛrÛns’€ô  ‘oO€HˆeÜ×"Ñ" 4¨°5Ó9€GÜ
‹%€CØò ˆØ37Ñ0ˆˆCu˜e V¨SÜ Ø Ø Ø Ø Ø Ø Ü Ø˜r’z‘ tô    
ˆð     ‰ ð ô ‹9Ðr,cóò—i}tj«}|j«D]M\}}|\}}}}ttd«rt    j
|«}t    j ||||d«||<ŒO|S)z)Get NIC stats (isup, duplex, speed, mtu).Ú    NicDuplexÚ)r€Ú net_if_statsÚitemsÚhasattrrrìÚ    snicstats)r¸ÚrawdictÚnamerïÚisupÚduplexÚspeedÚmtus        r-rîrî…s{€à
€CÜ×ÑÓ!€GØ—}‘}“òD‰ ˆˆeØ#(Ñ ˆˆfe˜SÜ ”7˜KÔ (Ü×&Ñ& vÓ.ˆFÜ×%Ñ% d¨F°E¸3ÀÓCˆˆDŠ    ð    Dð
€Jr,có*—tj«S)zsReturn network I/O statistics for every network interface
    installed on the system as a dict of raw tuples.
    )r€Únet_io_countersr+r,r-rùrù‘s€ô × Ñ Ó !Ð!r,có*—tj«S)z,Return the addresses associated to each NIC.)r€Ú net_if_addrsr+r,r-rûrû˜s€ä × Ñ Ó Ðr,cóþ—tj«\}}}}|dk(}t|dz«}t|dz«}|ry|s|rtj}n|dk(rtj
}tj |||«S)zReturn battery information.ré€r>Nr%)r€Úsensors_batteryÚboolrÚPOWER_TIME_UNLIMITEDÚPOWER_TIME_UNKNOWNÚsbattery)Ú acline_statusÚflagsrbÚsecsleftÚ power_pluggedÚ
no_batteryÚchargings       r-rþrþ¢s}€ô
/3×.BÑ.BÓ.DÑ+€M5˜' 8Ø! QÑ&€Mܐe˜c‘kÓ"€JܐE˜A‘I‹€HáØÙ™Ü×/Ñ/‰Ø    RŠÜ×-Ñ-ˆä × Ñ ˜G X¨}Ó =Ð=r,có’—tj«tj«z
}t|tz
«dkrtS|a|S)zThe system boot time expressed in seconds since the epoch. This
    also includes the time spent during hybernate / suspend.
    r)Útimer€ÚuptimeÚabsÚ _last_btime)r¸s r-Ú    boot_timer¾s<€ô )‰)‹+œŸ ™ › Ñ
%€CÜ
ˆ3”Ñ Ó Ò"ÜÐàˆ Øˆ
r,có —g}tj«}|D]2}|\}}}tj|d||d«}|j    |«Œ4|S)z:Return currently connected users as a list of namedtuples.N)r€ÚusersrÚsuserr·)Úretlistr­r¹rZÚhostnameÚtstamprês       r-rrÎsV€à€G܏j‰j‹l€GØòˆØ!%шˆh˜Ü ]‰]˜4  x°¸Ó >ˆØ‰rÕðð €Nr,c#ó`K—tj«D]\}}t||«–—Œy­w)z*Yields a list of WindowsService instances.N)r€Úwinservice_enumerateÚWindowsService)róÚ display_names  r-rrÞs0èø€ä"×7Ñ7Ó9ò1шˆlܘT <Ó0Ó0ñ1ùs‚,.cóN—t|d«}|j«d|_|S)zBOpen a Windows service and return it as a WindowsService instance.Nr)rÚ _query_configÚ _display_name)róÚservices  r-rräs)€ä˜T 4Ó(€GØ#×1Ñ1Ó3°NÑC€GÔØ €Nr,có”—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
e jd    „«Z d
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zy)rz(Represents an installed Windows service.có —||_||_yrŠ)Ú_namer)Úselfrórs   r-Ú__init__zWindowsService.__init__îs€ØˆŒ
Ø)ˆÕr,cóp—d|j›d|j›d}|jj›|›S)Nz(name=z, display_name=ú))rrÚ    __class__r()r Údetailss  r-Ú__str__zWindowsService.__str__òs;€Ø˜4Ÿ:™:˜.¨¸×8JÑ8JÐ7MÈQÐOˆØ—.‘.×)Ñ)Ð*¨7¨)Ð4Ð4r,cóB—d|j«›dt|«›dS)Nú<z at ú>)r&Úid©r s r-Ú__repr__zWindowsService.__repr__ös"€Ø4—<‘<“>Ð" $¤r¨$£x j°Ð2Ð2r,có`—t|t«stS|j|jk(SrŠ)r¤rÚNotImplementedr©r Úothers  r-Ú__eq__zWindowsService.__eq__ùs'€ô˜%¤Ô0Ü!Ð !؏z‰z˜UŸ[™[Ñ(Ð(r,có—||k( SrŠr+r/s  r-Ú__ne__zWindowsService.__ne__s€Ø˜5‘=РРr,có²—|j«5tj|j«\}}}}ddd«t    ¬«S#1swYŒxYw)N)rÚbinpathÚusernameÚ
start_type)Ú_wrap_exceptionsr€Úwinservice_query_configrÚdict)r rr5r6r7s     r-rzWindowsService._query_configs]€Ø × "Ñ "Ó $ñ    ä×,Ñ,¨T¯Z©ZÓ8ñ 8ˆL˜' 8¨Z÷    ô
Ø%ØØØ!ô    
ð    
÷     ð    ús ‘%A Á Acó¸—|j«5tj|j«\}}ddd«dk(rd}t    |¬«S#1swYŒxYw)Nr)rérÚ)r8r€Úwinservice_query_statusrr:)r rérÚs   r-Ú _query_statuszWindowsService._query_statussX€Ø × "Ñ "Ó $ñ    CÜ×6Ñ6°t·z±zÓB‰KˆFC÷    Cà !Š8؈Cܘ6 sÔ+Ð+÷        Cð    Cús ‘#AÁAc#óK—    d–—y#t$rs}|j}t|«rd|›d}td||¬«|‚|jt
j t
jhvrd|›d}td||¬«|‚‚d}~wwxYw­w)z{Ctx manager which translates bare OSError and WindowsError
        exceptions into NoSuchProcess and AccessDenied.
        Nzservice z( is not querable (not enough privileges)©rÚróÚmsgz does not exist)    ÚOSErrorrÚis_permission_errrÚwinerrorr€ÚERROR_INVALID_NAMEÚERROR_SERVICE_DOES_NOT_EXISTr)r Úerrrór@s    r-r8zWindowsService._wrap_exceptionssšèø€ð
    Ü øÜò    Ø—:‘:ˆDÜ  Ô%à˜t˜hÐ&NÐOðô# t°$¸CÔ@ÀcÐIØ—‘Ü×'Ñ'Ü×1Ñ1ð"ñð!  ¨Ð8Ü#¨°4¸SÔAÀsÐJàûð    üs%‚B„    ˆB‰    B’A.BÂBÂBcó—|jS)z¢The service name. This string is how a service is referenced
        and can be passed to win_service_get() to get a new
        WindowsService instance.
        )rr+s r-rózWindowsService.name0s€ð
z‰zÐr,có—|jS)z_The service display name. The value is cached when this class
        is instantiated.
        )rr+s r-rzWindowsService.display_name7s€ð×!Ñ!Ð!r,có(—|j«dS)zwThe fully qualified path to the service binary/exe file as
        a string, including command line arguments.
        r5©rr+s r-r5zWindowsService.binpath=s€ð×!Ñ!Ó# IÑ.Ð.r,có(—|j«dS)z,The name of the user that owns this service.r6rJr+s r-r6zWindowsService.usernameCs€à×!Ñ!Ó# JÑ/Ð/r,có(—|j«dS)zRA string which can either be "automatic", "manual" or
        "disabled".
        r7rJr+s r-r7zWindowsService.start_typeGs€ð×!Ñ!Ó# LÑ1Ð1r,có(—|j«dS)zzThe process PID, if any, else None. This can be passed
        to Process class to control the service's process.
        rÚ©r=r+s r-rÚzWindowsService.pidOs€ð×!Ñ!Ó# EÑ*Ð*r,có(—|j«dS)zService status as a string.rérNr+s r-rézWindowsService.statusUs€à×!Ñ!Ó# HÑ-Ð-r,cóH—tj|j««S)zService long description.)r€Úwinservice_query_descrrór+s r-Ú descriptionzWindowsService.descriptionYs€ä×*Ñ*¨4¯9©9«;Ó7Ð7r,có֗|j«}|j|j««|j«|d<|j    «|d<|j «|d<|S)zUUtility method retrieving all the information above as a
        dictionary.
        rórrR)rÚupdater=rórrR)r Úds  r-Úas_dictzWindowsService.as_dict_sa€ð × Ñ Ó  ˆØ    ‰×#Ñ#Ó%Ô&Ø—I‘I“Kˆˆ&‰    Ø ×-Ñ-Ó/ˆˆ.ÑØ×+Ñ+Ó-ˆˆ-ÑØˆr,N)r(r)r*Ú__doc__r!r&r,r1r3rr=Ú
contextlibÚcontextmanagerr8rórr5r6r7rÚrérRrVr+r,r-rrëso„Ù2ò*ò5ò3ò)ò!ò 
ò,ð×Ññóðò0ò"ò /ò 0ò2ò+ò .ò8ó     r,rcó¬—t|t«sJ|«‚t|t«xs,|jtj
tj hvS)z*Return True if this is a permission error.)r¤rAÚPermissionErrorrCr€ÚERROR_ACCESS_DENIEDÚERROR_PRIVILEGE_NOT_HELD)Úexcs r-rBrBœsN€ä cœ7Ô #Ð( SÓ(Ð #Ü cœ?Ó +ò ¨s¯|©|Ü × Ñ Ü ×%Ñ%ð@ð0ðr,cóž—t|t«sJ|«‚t|«r t||¬«St|t«r t ||¬«S|‚)z3Convert OSError into NoSuchProcess or AccessDenied.©rÚró)r¤rArBrÚProcessLookupErrorr)r^rÚrós   r-Úconvert_oserrorrb¥sI€ä cœ7Ô #Ð( SÓ(Ð #ܘÔÜ ¨$Ô/Ð/ܐ#Ô)Ô*Ü ¨4Ô0Ð0Ø
€Ir,cóB‡—tj‰«ˆfd„«}|S)zDDecorator which converts OSError into NoSuchProcess or AccessDenied.c󆕗    ‰|g|¢­i|¤ŽS#t$r(}t||j|j¬«|‚d}~wwxYw)Nr`)rArbrÚr)r ÚargsÚkwargsrFÚfuns    €r-Úwrapperz wrap_exceptions.<locals>.wrapper²sIø€ð    OِtÐ-˜dÒ- fÑ-Ð -øÜò    OÜ! #¨4¯8©8¸$¿*¹*ÔEÈ3Ð Nûð    Oúsƒ     A˜#;»A©Ú    functoolsÚwraps©rgrhs` r-Úwrap_exceptionsrm¯s)ø€ô‡__SÓóOóðOð €Nr,cóB‡—tj‰«ˆfd„«}|S)zWorkaround for https://github.com/giampaolo/psutil/issues/875.
    See: https://stackoverflow.com/questions/4457745#4457745.
    có@•—d}d}t|«D]}    ‰|g|¢­i|¤ŽcS‰›d|›d›}t|j|j|¬«‚#t$rD}|}|jtk(r)t    j
|«t |dzd«}Yd}~Œ†‚d}~wwxYw)Nç-Cëâ6?é!r0ç{®Gáz¤?z     retried z: times, converted to AccessDenied as it's still returning r?)
ÚrangerArCÚERROR_PARTIAL_COPYr
ÚsleepÚminrrÚr)    r rerfÚdelayÚtimesÚ_rFr@rgs            €r-rhz)retry_error_partial_copy.<locals>.wrapperÁsºø€àˆØˆÜu“ò        ˆAð Ù˜4Ð1 $Ò1¨&Ñ1Ò1ð        ðˆe9˜U˜Gð$Ø"˜eð %ð     ô˜tŸx™x¨d¯j©j¸cÔBÐBøôò ؐؗ<‘<Ô#5Ò5Ü—J‘J˜uÔ%Ü ¨¡    ¨4Ó0EÜØûð  ús• AÁ    BÁ9BÂBÂBrirls` r-Úretry_error_partial_copyrz¼s)ø€ô
‡__SÓóCóðCð& €Nr,có@—eZdZdZgd¢Zd„Zd„Zd„Zed„«Z    d„Z
e ed„««Z e e d    „««Ze e d
„««Zd „Zd „Ze d „«Ze d„«Zd„Ze d„«Ze d„«Ze d(d„«Ze d„«Ze d)d„«Ze d„«Ze d„«Ze d„«Ze d„«Ze d„«Ze e d„««Ze d„«Z e d*d„«Z!e d„«Z"e d„«Z#e d „«Z$e d!„«Z%e d"„«Z&e d#„«Z'e d$„«Z(e d%„«Z)e d&„«Z*e d'„«Z+y)+ÚProcessz1Wrapper class around underlying C implementation.)Ú_cacherÚ_ppidrÚcó.—||_d|_d|_yrŠ)rÚrr~)r rÚs  r-r!zProcess.__init__Ýs€ØˆŒØˆŒ
؈
r,cóp—|jj|«|jj|«yrŠ)Ú
_proc_infoÚcache_activateÚexer+s r-Ú oneshot_enterzProcess.oneshot_enteräs&€Ø ‰×&Ñ& tÔ,Ø ‰×Ñ Õ%r,cóp—|jj|«|jj|«yrŠ)rÚcache_deactivaterƒr+s r-Ú oneshot_exitzProcess.oneshot_exitès&€Ø ‰×(Ñ(¨Ô.Ø ‰×!Ñ! $Õ'r,có~—tj|j«}t|«tt«k(sJ‚|S)zOReturn multiple information about this process as a
        raw tuple.
        )r€Ú    proc_inforÚr‚Ú    pinfo_map©r r¸s  r-rzProcess._proc_infoìs1€ô
n‰n˜TŸX™XÓ&ˆÜ3‹xœ3œy›>Ò)Ð)Ð)؈
r,cóœ—|jdk(ry|jdk(rytjj|j    ««S)zbReturn process name, which on Windows is always the final
        part of the executable.
        rzSystem Idle Processr7ÚSystem)rÚrƒrnÚbasenamerƒr+s r-róz Process.nameõs;€ð 8‰8qŠ=Ø(Ø 8‰8qŠ=ØÜw‰w×Ñ §¡£
Ó+Ð+r,cój—tr!    tj|j«}ntj|j«}|jd«r t|«S|S#t$rD}|j
dk(r/t |›d«t|j|j«|‚‚d}~wwxYw)Néz translated into AccessDeniedrz) ÚPYPYr€Úproc_exerÚrAÚerrnor rrr}rˆ)r rƒrFs   r-rƒz Process.exes—€õ ð Ü—m‘m D§H¡HÓ-‘ô—-‘- §¡Ó)ˆCØ >‰>˜$Ô Ü# CÓ(Ð (؈
øôò ð—9‘9 ’?ܘS˜GÐ#@ÐAÔBÜ& t§x¡x°·±Ó<À#ÐEØûð  úsˆA%Á%    B2Á.?B-Â-B2cóP—tjtjk\r"    tj|jd¬«Stj|jd¬«S#t
$r7}t |«r&tj|jd¬«cYd}~S‚d}~wwxYw)NT)Úuse_pebF)r€ÚWINVERÚ WINDOWS_8_1Ú proc_cmdlinerÚrArB©r rFs  r-ÚcmdlinezProcess.cmdlines€ô ;‰;œ$×*Ñ*Ò *ð Ü×(Ñ(¨¯©¸4Ô@Ð@ô×$Ñ$ T§X¡X°tÔ<Ð <øô ò Ü$ SÔ)Ü×,Ñ,¨T¯X©X¸uÔEÕEàûð     ús#£ A%Á%    B%Á.+B ÂB%ÂB  B%cóV—tj|j«}t|«SrŠ)r€Ú proc_environrÚr)r r„s  r-ÚenvironzProcess.environ$s#€ô × Ñ ˜dŸh™hÓ 'ˆÜ" 1Ó%Ð%r,c󎗠   t«|jS#t$r"t|j|j«d‚wxYwrŠ)Úppid_maprÚÚKeyErrorrrr+s r-Úppidz Process.ppid*sA€ð    @Ü“:˜dŸh™hÑ'Ð 'øÜò    @Ü §¡¨$¯*©*Ó5¸4Ð ?ð    @ús    ‚™+Ac 󜗠   tj|j«S#t$r¡}t    |«rt d«|j «}|td|td|td|td|td|td|td|td    |td
|td f
cYd}~S‚d}~wwxYw) Nz*attempting memory_info() fallback (slower)rErGrIrKrMrOrQrSrUrW)r€Úproc_memory_inforÚrArBr rrŠ)r rFÚinfos   r-Ú_get_raw_meminfozProcess._get_raw_meminfo0sà€ð    Ü×(Ñ(¨¯©Ó2Ð 2øÜò    Ü  Ô%ôÐBÔCØ—‘Ó(àœÐ#4Ñ5Ñ6Øœ ;Ñ/Ñ0Øœ 6Ñ*Ñ+ØœÐ#4Ñ5Ñ6Øœ <Ñ0Ñ1ØœÐ#8Ñ9Ñ:ØœÐ#3Ñ4Ñ5Øœ :Ñ.Ñ/Øœ ?Ñ3Ñ4Øœ =Ñ1Ñ2ð õ ð ûð%    ús!‚!¡    C ªBCÂ?C ÃCÃC cóP—|j«}|d}|d}t||f|zŽS)Nr0r<)r¥re)r Útrfrgs    r-Ú memory_infozProcess.memory_infoGs7€ð
× !Ñ !Ó #ˆØ‰dˆØ‰dˆÜc˜3Z !‘^Ð$Ð$r,có’—|j«}tj|j«}|t    «z}t ||fzŽSrŠ)r¨r€Úproc_memory_ussrÚr‹rk)r Ú    basic_memrls   r-Úmemory_full_infozProcess.memory_full_infoQsB€à×$Ñ$Ó&ˆ    Ü×"Ñ" 4§8¡8Ó,ˆØ Œ{‹}шܘ c VÑ+Ð,Ð,r,c#óK—    tj|j«}|D]%\}}}}t|«}t    |«}||||f–—Œ'y#t
$r'}t ||j|j«|‚d}~wwxYw­wrŠ)r€Úproc_memory_mapsrÚrˆÚhexrArbr)r ÚrawÚaddrÚpermrnrfrFs       r-Ú memory_mapszProcess.memory_mapsXs‰èø€ð
    .Ü×'Ñ'¨¯©Ó1ˆCð *-ò .Ñ%d˜D #Ü'¨Ó-Ü˜4“yØ˜T 4¨Ð-Ó-ñ .øô ò    Fô" # t§x¡x°·±Ó<À#Ð Eûð    Füs'‚B„A£+BÁ    A>Á"A9Á9A>Á>Bcó@—tj|j«SrŠ)r€Ú    proc_killrÚr+s r-Úkillz Process.killes€ä~‰~˜dŸh™hÓ'Ð'r,có—|tjk(r tj|j«y|tj
tj hvr!tj|j|«yd}t|«‚)NzPonly SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals are supported on Windows)
ÚsignalÚSIGTERMr€rµrÚÚ CTRL_C_EVENTÚCTRL_BREAK_EVENTrƒr¶Ú
ValueError)r Úsigr@s   r-Ú send_signalzProcess.send_signalis_€à ”&—.‘.Ò  Ü N‰N˜4Ÿ8™8Õ $Ø ”V×(Ñ(¬&×*AÑ*AÐBÑ BÜ G‰GD—H‘H˜cÕ "ð+ð ô˜S“/Ð !r,Ncó`—|€tj}nt|dz«}ttdtj«}|
|«|znd}    tj
|j |«}d}    t|j «s|S|r,|«|k\r"t||j |j¬«‚t    j|«t|dzd«}Œj#tj$r'}t||j |j«|‚d}~wtj$rd}YŒ¼wxYw)NièÚ    monotonicrpr`r0rr) r€ÚINFINITEršÚgetattrr
Ú    proc_waitrÚr    rÚTimeoutAbandonedÚ
pid_existsrurv)r ÚtimeoutÚ cext_timeoutÚtimerÚstop_atÚ    exit_coderFrws        r-Úwaitz Process.waitvs€à ˆ?ÜŸ=™=‰Lô˜w¨™~Ó.ˆL䜘k¬4¯9©9Ó5ˆØ'.Ð':‘%“'˜GÒ#Àˆð    ôŸ™ t§x¡x°Ó>ˆIð&ˆØÜ˜dŸh™hÔ'ؠРٙ5›7 gÒ-Ü$ W°$·(±(ÀÇÁÔLÐLÜ J‰JuÔ Ü˜ ™     4Ó(ˆEð øô'×"Ñ"ò    Iä  ¨$¯(©(°D·J±JÓ?ÀSÐ HûÜ×$Ñ$ò        ðŠIð        úsÁ CÃD-Ã0"DÄD-Ä,D-cór—|jdvrytj|j«\}}|›d|›S)N¾rr7zNT AUTHORITY\SYSTEMrz)rÚr€Ú proc_username)r ÚdomainrZs   r-r6zProcess.username¡s:€à 8‰8vÑ Ø)Ü×)Ñ)¨$¯(©(Ó3‰ ˆØ˜˜D˜6Ð"Ð"r,có◠   tj|j«\}}}|S#t$r>}t    |«r-|r‚t d«|j «tdcYd}~S‚d}~wwxYw)Nz*attempting create_time() fallback (slower)r6)r€Ú
proc_timesrÚrArBr rrŠ)r Ú    fast_onlyÚ_userÚ_systemÚcreatedrFs      r-r6zProcess.create_time¨sf€ð        Ü&*§o¡o°d·h±hÓ&?Ñ #ˆE7˜G؈NøÜò    Ü  Ô%ÙØÜÐBÔCØ—‘Ó(¬°=Ñ)AÑBÕBØ ûð     ús ‚$'§    A.°2A)Á"A.Á(A)Á)A.có6—|j«tdS)Nr8)rrŠr+s r-r8zProcess.num_threads·s€à‰Ó ¤¨=Ñ!9Ñ:Ð:r,có®—tj|j«}g}|D].\}}}tj|||«}|j |«Œ0|SrŠ)r€Ú proc_threadsrÚrÚpthreadr·)r r­rÚ    thread_idÚutimeÚstimeÚntuples       r-ÚthreadszProcess.threads»sV€ä×#Ñ# D§H¡HÓ-ˆØˆØ'.ò    #Ñ #ˆIu˜eÜ—_‘_ Y°°uÓ=ˆFØ N‰N˜6Õ "ð    #ðˆr,có$—    tj|j«\}}}tj||dd«S#t$rI}t    |«s‚t d«|j «}|td}|td}Yd}~Œed}~wwxYw)Nz(attempting cpu_times() fallback (slower)r4r5r˜)
r€rÑrÚrArBr rrŠrÚ    pcputimes)r rZr[Ú_createdrFr¤s      r-r°zProcess.cpu_timesÄs‰€ð    4Ü%)§_¡_°T·X±XÓ%>Ñ "ˆD&˜(ô× Ñ   v¨s°CÓ8Ð8øôò    4Ü$ SÔ)ØÜ Ð<Ô =Ø—?‘?Ó$ˆDØœ     +Ñ.Ñ/ˆDØœ) MÑ2Ñ3Fûð     4ús‚#=½    BÁ?B
BcóD—tj|jd«y)NT©r€Úproc_suspend_or_resumerÚr+s r-ÚsuspendzProcess.suspendÒs€ä ×#Ñ# D§H¡H¨dÕ3r,cóD—tj|jd«y)NFrãr+s r-ÚresumezProcess.resumeÖs€ä ×#Ñ# D§H¡H¨eÕ4r,cóڗ|jdvr t|j|j«‚tj|j«}t
j j|«S)NrÍ)rÚrrr€Úproc_cwdrƒrnÚnormpath)r rns  r-Úcwdz Process.cwdÚsN€ð 8‰8vÑ Ü˜tŸx™x¨¯©Ó4Ð 4ô}‰}˜TŸX™XÓ&ˆÜw‰w×Ñ Ó%Ð%r,có—|jdvrgSt«}tj|j«}|D]@}t    |«}t |«sŒt j|d«}|j|«ŒBt|«S)NrÍr%)
rÚrÜr€Úproc_open_filesrˆr rÚ    popenfilerÞrß)r r¸Úraw_file_namesÚfilerÝs     r-Ú
open_fileszProcess.open_filesäsz€à 8‰8vÑ ØˆIÜ‹eˆô
×-Ñ-¨d¯h©hÓ7ˆØ"ò     ˆDÜ# DÓ)ˆDܘTÕ"Ü ×*Ñ*¨4°Ó4Ø—‘˜•ð         ô
C‹yÐr,có0—t||j¬«S)N)rá)rÛrÚ)r ràs  r-rÛzProcess.net_connectionsõs€ä˜t¨$¯(©(Ô3Ð3r,cóZ—tj|j«}t|«}|SrŠ)r€Úproc_priority_getrÚr'©r Úvalues  r-Únice_getzProcess.nice_getùs$€ä×&Ñ& t§x¡xÓ0ˆÜ˜“ˆØˆ r,cóB—tj|j|«SrŠ)r€Úproc_priority_setrÚrõs  r-Únice_setzProcess.nice_setÿs€ä×%Ñ% d§h¡h°Ó6Ð6r,cóZ—tj|j«}t|«}|SrŠ)r€Úproc_io_priority_getrÚr/r‹s  r-Ú
ionice_getzProcess.ionice_gets$€ä×'Ñ'¨¯©Ó1ˆÜ˜‹oˆØˆ
r,có—|r d}t|«‚|tjtjtjtj
hvr|›d}t |«‚tj|j|«y)Nz&value argument not accepted on Windowsz is not a valid priority)
Ú    TypeErrorr/rrrrr¼r€Úproc_io_priority_setrÚ)r Úioclassrör@s    r-Ú
ionice_setzProcess.ionice_set    sr€á Ø:ˆCܘC“.Ð  Ø Ü × %Ñ %Ü × !Ñ !Ü × $Ñ $Ü × "Ñ "ð    
ñ
ð IÐ5Ð6ˆCܘS“/Ð !Ü ×!Ñ! $§(¡(¨GÕ4r,c    ób—    tj|j«}t|ŽS#t$r|}t    |«s‚t d«|j «}|td|td|td|td|td|tdf}Yd}~t|ŽSd}~wwxYw)Nz*attempting io_counters() fallback (slower)r:r;r=r?rArC)    r€Úproc_io_countersrÚrArBr rrŠrq)r r¸rFr¤s    r-Ú io_counterszProcess.io_counterss¼€ð    Ü×'Ñ'¨¯©Ó1ˆCôCˆyÐøôò     Ü$ SÔ)ØÜ Ð>Ô ?Ø—?‘?Ó$ˆDà”Y˜{Ñ+Ñ,Ø”Y˜{Ñ+Ñ,Ø”Y˜{Ñ+Ñ,Ø”Y˜{Ñ+Ñ,Ø”YÐ0Ñ1Ñ2Ø”YÐ0Ñ1Ñ2ð ŒCôCˆyÐûð     ús‚)©    B.²A+B)Â)B.có„—tj|j«}|rtjStj
SrŠ)r€Úproc_is_suspendedrÚrÚSTATUS_STOPPEDÚSTATUS_RUNNING)r Ú    suspendeds  r-rézProcess.status+s1€ä×*Ñ*¨4¯8©8Ó4ˆ    Ù Ü×)Ñ)Ð )ä×)Ñ)Ð )r,cóV—d„}tj|j«}||«S)NcóP—td«Dcgc] }d|z|zsŒ |‘Œc}Scc}w)Né@r)rs)r®Úis  r-Ú from_bitmaskz.Process.cpu_affinity_get.<locals>.from_bitmask5s$€Ü$ R›yÖ9˜!¨Q°!©V°q«L’AÒ9Ð 9ùÒ9sŽ #œ#)r€Úproc_cpu_affinity_getrÚ)r rÚbitmasks   r-Úcpu_affinity_getzProcess.cpu_affinity_get3s(€ò    :ô×,Ñ,¨T¯X©XÓ6ˆÙ˜GÓ$Ð$r,có—d„}tttt««««}|D]7}||vsŒt    |t
«sd|›d}t |«‚d|›}t|«‚||«}tj|j|«y)NcóL—|sd|›}t|«‚d}|D]
}|d|zz}Œ |S)Nzinvalid argument rr0)r¼)Úlsr@ÚoutÚbs    r-Ú
to_bitmaskz,Process.cpu_affinity_set.<locals>.to_bitmask=sA€ÙØ)¨"¨Ð0Ü  “oÐ%؈CØò Øq˜!‘t‘ ‘ð àˆJr,z invalid CPU z; an integer is required) rßrsr‚r²r¤ršrÿr¼r€Úproc_cpu_affinity_setrÚ)r rörÚallcpusÚcpur@rs       r-Úcpu_affinity_setzProcess.cpu_affinity_set;s€ò    ô”uœS¤£Ó1Ó2Ó3ˆØò    &ˆCؘ'Ò!Ü! #¤sÔ+Ø(¨¨Ð/GÐHCÜ# C›.Ð(Ø$ S GÐ,Ü  “oÐ%ð     &ñ˜UÓ#ˆÜ ×"Ñ" 4§8¡8¨WÕ5r,cóЗ    tj|j«S#t$r;}t    |«r*t d«|j «tdcYd}~S‚d}~wwxYw)Nz*attempting num_handles() fallback (slower)r2)r€Úproc_num_handlesrÚrArBr rrŠr™s  r-r2zProcess.num_handlesUsW€ð    Ü×(Ñ(¨¯©Ó2Ð 2øÜò    Ü  Ô%ÜÐBÔCØ—‘Ó(¬°=Ñ)AÑBÕBØ ûð        ús ‚!¡    A%ª/A ÁA%ÁA Á A%cób—|j«td}tj|d«S)Nr3r)rrŠrÚpctxsw)r r3s  r-Únum_ctx_switcheszProcess.num_ctx_switches_s)€à—‘Ó(¬°>Ñ)BÑCˆ ä~‰~˜l¨AÓ.Ð.r,rŠ)F)Úinet),r(r)r*rWÚ    __slots__r!r„r‡rrrórmrƒrzršrr¡r¥r¨r¬r³r¶r¾rËr6r6r8rÞr°rårçrërñrÛr÷rúrýrrrérrr2r!r+r,r-r|r|Øs“„Ù;â3€Iòò&ò(ðñóðò
,ðØñóóðð"Øñ =óóð =ðØñ&óóð&ò@ò ð.ñ%óð%ðñ-óð-ò .ðñ(óð(ðñ
"óð
"ðò()óð()ðTñ#óð#ð ò óð ðñ;óð;ðñóððñ 9óð 9ðñ4óð4ðñ5óð5ðØñ&óóð&ðñóðð ò4óð4ðñóðð
ñ7óð7ðñóðð
ñ 5óð 5ðñóðð$ñ*óð*ðñ%óð%ðñ6óð6ð2ñóððñ/óñ/r,r|r+)r%)NN)rWrXÚenumrjrƒr¸ÚsysÚ    threadingr
Ú collectionsrrírrrrr    r
r r r rrrrrrrrrrrr€Ú ImportErrorrFÚstrÚlowerr}Úgetwindowsversionr@Ú RuntimeErrorÚ__extra__all__r rtÚbuiltin_module_namesr‘ÚIntEnumr$r!ÚMIB_TCP_STATE_ESTABÚCONN_ESTABLISHEDÚMIB_TCP_STATE_SYN_SENTÚ CONN_SYN_SENTÚMIB_TCP_STATE_SYN_RCVDÚ CONN_SYN_RECVÚMIB_TCP_STATE_FIN_WAIT1ÚCONN_FIN_WAIT1ÚMIB_TCP_STATE_FIN_WAIT2ÚCONN_FIN_WAIT2ÚMIB_TCP_STATE_TIME_WAITÚCONN_TIME_WAITÚMIB_TCP_STATE_CLOSEDÚ
CONN_CLOSEÚMIB_TCP_STATE_CLOSE_WAITÚCONN_CLOSE_WAITÚMIB_TCP_STATE_LAST_ACKÚ CONN_LAST_ACKÚMIB_TCP_STATE_LISTENÚ CONN_LISTENÚMIB_TCP_STATE_CLOSINGÚ CONN_CLOSINGÚMIB_TCP_STATE_DELETE_TCBÚPSUTIL_CONN_NONEÚ    CONN_NONErÝr'ÚglobalsrTÚ __members__r/r:rŠrYr_reÚ_fieldsrkrmr~rorqÚ    lru_cacherˆr‹r–r Údisk_io_countersr§rªr°r²r»r½r¿rÆrÖÚLockr×rÔrÑrÛrîrùrûrþr rrrrrÚpidsrÅrŸrBrbrmrzr|r+r,r-ú<module>rPsÕðñ
'ãÛ ÛÛ    Û Û
ÛÛ Ý"åÝÝ!Ý"Ý#ÝÝ#ÝÝ"ÝÝ+Ý(Ý"Ý8Ý8Ý0Ý0Ý2Ý4ðÝ)ò*
€ð$€ØÐؐS×-Ñ-Ð-€à— ‘ ˜_¨y¸"¨oÓ>€ Ø
€ð    ×јg×6Ñ6Ø×Ñ ×!6Ñ!6Ø×Ñ ×!6Ñ!6Ø× Ñ  '×"8Ñ"8Ø× Ñ  '×"8Ñ"8Ø× Ñ  '×"8Ñ"8Ø×јw×1Ñ1Ø×!Ñ! 7×#:Ñ#:Ø×Ñ ×!6Ñ!6Ø×јw×2Ñ2Ø×Ñ × 4Ñ 4Ø×!Ñ! ?Ø×ј7×,Ñ,ð€ ô"6ˆt|‰|ô6ñƒ    ×ѐ×%Ñ%Ô&ô—‘ôñƒ    ×ѐ×'Ñ'Ô(á ò Ùð áð ñð ñð     ñ
ð  ñ ð  ñð ñð ñð ñð ñð ñð ñð ñð ñ
ð ñ ð! ñ"ð# ñ$ð% ñ&ð' ñ(ð) ñ*ð+ ñ,ð- €    ñB {ÚEó G€    ñ    7ÒMÓN€áØ
ò 5ó6€ñ j $§,¡,°Ñ":Ó ;€á˜?¨V°U¨OÓ<€ á Ø §¡¨-×*?Ñ*?Ó!@Ñ@ó B€    ñò7ó8€ð€×јSÔ!ñ0ó"ð0ð*    ñó    ðò    4ò;ð>×(Ñ(Ðò    :ò4ò    òò$ò
"ò
ò>ðÐØˆ    ‰Ó€ò7ò ó,ò.    ò"òò>ð2€ ò ò ò 1ò ÷}ñ}ðX ‡yy€Ø _‰_€
Ø =‰=€òóò
ò÷8K/òK/øðcòá ˆC‹‰Ó×#Ñ#Ð$5Ô6Ø !ˆC× !Ñ !Ó # AÑ &¨Ò *ð DˆØ ÐKÑKˆØ Ð)Ñ)ˆÙ˜3Ó SÐ(à ûðúsÂOÏP7Ï AP2Ð2P7