
    ;^h>                        S r SSKrSSKrSSKrSSKJr  SSKJr  SSKJr  SSKJ	r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  / r\R.                  " 5       r\R2                  r\
R4                  \R6                  \
R8                  \R:                  \
R<                  \R>                  \
R@                  \RB                  \
RD                  \RF                  \
RH                  \RJ                  \
RL                  \RN                  \
RP                  \RR                  \
RT                  \RV                  \
RX                  \RZ                  \
R\                  \R^                  \
R`                  \Rb                  0r2\
Rf                  \Rh                  \
Rj                  \Rl                  \
Rn                  \Rp                  \
Rr                  \Rt                  \
Rv                  \Rx                  0r=\>" SSSSSSSSSSSS9r?\>" SSSSSSSSS9r@\" S/ SQ5      rA\" S/ S Q5      rB\" S!/ S"Q5      rC\" S#\CR                  S$-   5      rES% rFS& rGS' rHS( rIS) rJS* rKS+ rLS, rM\R                  rN\
R                  rOS8S- jrPS. rQ\
R                  rR\R                  rSS9S/ jrTS0 rUS1 rVS2 rWS3 rX\R                  rYS4 rZS5 r[ " S6 S75      r\g):zmacOS platform implementation.    N)
namedtuple   )_common)_psposix)_psutil_osx)_psutil_posix)AccessDenied)NoSuchProcess)ZombieProcess)	conn_tmap)conn_to_ntuple)isfile_strict)memoize_when_activated)parse_environ_block)usage_percent                     	   
   )ppidruideuidsuidrgidegidsgidttynrctimestatusname)cpuutimecpustimerssvmspfaultspageins
numthreadsvolctxsw	scputimesusernicesystemidlesvmem)total	availablepercentusedfreeactiveinactivewiredpmem)r(   r)   r*   r+   pfullmem)ussc            
          [         R                  " 5       u  pp#pEX$-   nX-   nXE-  n[        X-
  U SS9n[        XXXAX#5      $ )z&System virtual memory as a namedtuple.r   round_)cextvirtual_memr   r4   )	r5   r:   r;   r<   r9   speculativeavailr8   r7   s	            ?/var/www/html/env/lib/python3.13/site-packages/psutil/_psosx.pyvirtual_memoryrH   o   sR    8<8H8H8J5E8D OE>D 	DU]U1=GwdHLL    c                  x    [         R                  " 5       u  pp#n[        XSS9n[        R                  " XX%X45      $ )z=Swap system memory as a (total, used, free, sin, sout) tuple.r   rA   )rC   swap_memr   r   sswap)r5   r8   r9   sinsoutr7   s         rG   swap_memoryrO   ~   s3    #'==? EDD2G==dS??rI   c                  J    [         R                  " 5       u  pp#[        XX#5      $ )z(Return system CPU times as a namedtuple.)rC   	cpu_timesr.   r/   s       rG   rQ   rQ      s     #~~/DT..rI   c                      / n [         R                  " 5        H%  nUu  p#pE[        X#XE5      nU R                  U5        M'     U $ )z)Return system CPU times as a named tuple.)rC   per_cpu_timesr.   append)retcpu_tr0   r1   r2   r3   items          rG   rS   rS      sC    
C##%#( FV2

4 & JrI   c                  ,    [         R                  " 5       $ )z0Return the number of logical CPUs in the system.)rC   cpu_count_logical rI   rG   rY   rY      s    !!##rI   c                  ,    [         R                  " 5       $ )z-Return the number of CPU cores in the system.)rC   cpu_count_coresrZ   rI   rG   r\   r\      s    !!rI   c                  b    [         R                  " 5       u  pp#n[        R                  " XX#5      $ N)rC   	cpu_statsr   	scpustats)ctx_switches
interruptssoft_interruptssyscalls_trapss        rG   r_   r_      s2     @Lo / rI   c                  b    [         R                  " 5       u  pn[        R                  " XU5      /$ )zReturn CPU frequency.
On macOS per-cpu frequency is not supported.
Also, the returned frequency never changes, see:
https://arstechnica.com/civis/viewtopic.php?f=19&t=465002.
)rC   cpu_freqr   scpufreq)currmin_max_s      rG   rg   rg      s*     }}DT.//rI   c                 R   / n[         R                  " 5       nU H  nUu  pEpgUS:X  a  SnU (       dJ  [        R                  R	                  U5      (       a$  [        R                  R                  U5      (       d  Ma  [        R                  " XEXg5      nUR                  U5        M     U$ )z8Return mounted disk partitions as a list of namedtuples.none )	rC   disk_partitionsospathisabsexistsr   	sdiskpartrT   )	allretlist
partitions	partitiondevice
mountpointfstypeoptsntuples	            rG   ro   ro      s    G%%'J	+4(FVF77==((v0F0F""6vDv   NrI   c                       [         R                  " 5       u  pnUS:H  nU(       a  [        R                  nOUS:X  a  [        R
                  nOUS-  n[        R                  " XU5      $ ! [         a     gf = f)zReturn battery information.Nr   <   )rC   sensors_batteryNotImplementedErrorr   POWER_TIME_UNLIMITEDPOWER_TIME_UNKNOWNsbattery)r7   minsleftpower_pluggedsecslefts       rG   r   r      sv    +/+?+?+A(= "Q&M//	R--b=G}==  s   A* *
A76A7c                 
   / n[        5        Ha  n [        U5      R                  U 5      nU(       a<  U H4  n[        U5      U/-   nUR	                  [
        R                  " U6 5        M6     Ma  Mc     U$ ! [         a     Mt  f = f)z System-wide network connections.)pidsProcessnet_connectionslistrT   r   sconnr
   )kindrU   pidconscs        rG   r   r      s     Cv	23<//5D AQ3%AJJw}}a01    J  		s   A44
BBc                     [        5       R                  5       n 0 nU  H  n [        R                  " U5      n[        R                  " U5      n[        R
                  " U5      u  pV[        [        S5      (       a  [        R                  " U5      nSR                  U5      nSU;   n[        R                  " XXcU5      X'   M     U$ ! [         a*  n	U	R                  [        R                  :w  a  e  Sn	A	M  Sn	A	ff = f)z)Get NIC stats (isup, duplex, speed, mtu).	NicDuplex,runningN)net_io_counterskeys
cext_posix
net_if_mtunet_if_flagsnet_if_duplex_speedhasattrr   r   join	snicstatsOSErrorerrnoENODEV)
namesrU   r%   mtuflagsduplexspeedoutput_flagsisuperrs
             rG   net_if_statsr     s    ""$E
C	''-C++D1E&::4@MF w,, **6288E?L%D))e,CI " J  	yyELL( )	s   AC
C:C55C:c                  ,    [         R                  " 5       $ )z:The system boot time expressed in seconds since the epoch.)rC   	boot_timerZ   rI   rG   r   r     s    >>rI   c                      / n [         R                  " 5       nU HU  nUu  p4pVnUS:X  a  M  U(       d  M  [        R                  " X4=(       d    SU=(       d    SXg5      nU R	                  U5        MW     U $ )z:Return currently connected users as a list of namedtuples.~N)rC   usersr   suserrT   )	rv   rawlistrW   r0   ttyhostnametstampr   nts	            rG   r   r   #  sf    GjjlG+/(8S#:]]4h.>$Lr  NrI   c                      [         R                  " 5       n SU ;  a.   [        S5      R                  5         U R	                  SS5        U $ U $ ! [
         a     U $ [         a    U R	                  SS5         U $ f = fNr   )rC   r   r   create_timeinsertr
   r	   )lss    rG   r   r   7  sx    	B{	AJ""$IIaO
 I2I	  	 I  	IIaOI	s   +A 
A8A87A8c                      [         R                  " U 5      [        S      nU[         R                  :H  $ ! [         a     gf = f)Nr$   F)rC   proc_kinfo_oneshotkinfo_proc_mapSZOMBr   )r   sts     rG   	is_zombier   J  sB    $$S).*BCTZZ s   25 
AAc                 F   ^  [         R                  " T 5      U 4S j5       nU$ )zXDecorator which translates bare OSError exceptions into
NoSuchProcess and AccessDenied.
c                   > U R                   U R                  U R                  pTn T" U /UQ70 UD6$ ! [         a.  n[	        U5      (       a  [        X5U5      Ue[        X55      UeS nAf[         a  n[        X55      UeS nAff = fr^   )	r   _ppid_nameProcessLookupErrorr   r   r
   PermissionErrorr	   )selfargskwargsr   r   r%   r   funs          rG   wrapper wrap_exceptions.<locals>.wrapperW  s    ((DJJ

4	3t-d-f--! 	4~~#Ct4#=*3 	3s)s2	3s    2 
B)A%%B2A>>B)	functoolswraps)r   r   s   ` rG   wrap_exceptionsr   R  s'    
 __S	3 	3 NrI   c                      \ rS rSrSr/ SQrS r\\S 5       5       r	\\S 5       5       r
S rS r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S"S j5       r\S 5       r\S#S j5       r\S 5       r \S 5       r!\S 5       r"\S  5       r#S!r$g)$r   if  z1Wrapper class around underlying C implementation.)_cacher   r   r   c                 ,    Xl         S U l        S U l        g r^   )r   r   r   )r   r   s     rG   __init__Process.__init__k  s    

rI   c                     [         R                  " U R                  5      n[        U5      [        [        5      :X  d   eU$ r^   )rC   r   r   lenr   r   rU   s     rG   _get_kinfo_procProcess._get_kinfo_procp  s4     %%dhh/3x3~....
rI   c                     [         R                  " U R                  5      n[        U5      [        [        5      :X  d   eU$ r^   )rC   proc_pidtaskinfo_oneshotr   r   pidtaskinfo_mapr   s     rG   _get_pidtaskinfoProcess._get_pidtaskinfox  s4     ++DHH53x3////
rI   c                 p    U R                   R                  U 5        U R                  R                  U 5        g r^   )r   cache_activater   r   s    rG   oneshot_enterProcess.oneshot_enter  s*    ++D1,,T2rI   c                 p    U R                   R                  U 5        U R                  R                  U 5        g r^   )r   cache_deactivater   r   s    rG   oneshot_exitProcess.oneshot_exit  s*    --d3..t4rI   c                     U R                  5       [        S      nUb  U$ [        R                  " U R                  5      $ )Nr%   )r   r   rC   	proc_namer   )r   r%   s     rG   r%   Process.name  s7    ##%nV&<='tET^^DHH-EErI   c                 B    [         R                  " U R                  5      $ r^   )rC   proc_exer   r   s    rG   exeProcess.exe      }}TXX&&rI   c                 B    [         R                  " U R                  5      $ r^   )rC   proc_cmdliner   r   s    rG   cmdlineProcess.cmdline  s      **rI   c                 T    [        [        R                  " U R                  5      5      $ r^   )r   rC   proc_environr   r   s    rG   environProcess.environ  s    "4#4#4TXX#>??rI   c                 X    U R                  5       [        S      U l        U R                  $ )Nr   )r   r   r   r   s    rG   r   Process.ppid  s&    ))+N6,BC
zzrI   c                 B    [         R                  " U R                  5      $ r^   )rC   proc_cwdr   r   s    rG   cwdProcess.cwd  r   rI   c                     U R                  5       n[        R                  " U[        S      U[        S      U[        S      5      $ )Nr   r   r   r   r   puidsr   r   rawtuples     rG   uidsProcess.uids  H    '')}}^F+,^F+,^F+,
 	
rI   c                     U R                  5       n[        R                  " U[        S      U[        S      U[        S      5      $ )Nr   r    r!   r   r  s     rG   gidsProcess.gids  r  rI   c                     U R                  5       [        S      n[        R                  " 5       n X!   $ ! [         a     g f = f)Nr"   )r   r   r   get_terminal_mapKeyError)r   tty_nrtmaps      rG   terminalProcess.terminal  sG    %%'w(?@((*	< 		s   5 
AAc                     U R                  5       n[        U[        S      U[        S      U[        S      U[        S      5      $ )Nr(   r)   r*   r+   )r   r=   r   r  s     rG   memory_infoProcess.memory_info  sQ    ((*_U+,_U+,_Y/0_Y/0	
 	
rI   c                 x    U R                  5       n[        R                  " U R                  5      n[	        X4-   6 $ r^   )r  rC   proc_memory_ussr   r>   )r   	basic_memr?   s      rG   memory_full_infoProcess.memory_full_info  s4    $$&	""488,V+,,rI   c                 |    U R                  5       n[        R                  " U[        S      U[        S      SS5      $ )Nr&   r'   g        )r   r   	pcputimesr   r  s     rG   rQ   Process.cpu_times  sC    ((*  _Z01_Z01
 	
rI   c                 6    U R                  5       [        S      $ )Nr#   )r   r   r   s    rG   r   Process.create_time  s    ##%nW&=>>rI   c                 d    U R                  5       [        S      n[        R                  " US5      $ )Nr-   r   )r   r   r   pctxsw)r   vols     rG   num_ctx_switchesProcess.num_ctx_switches  s-    
 ##%oj&AB~~c1%%rI   c                 6    U R                  5       [        S      $ )Nr,   )r   r   r   s    rG   num_threadsProcess.num_threads  s    $$&|'DEErI   c                     U R                   S:X  a  / $ / n[        R                  " U R                   5      nU H>  u  p4[        U5      (       d  M  [        R
                  " X45      nUR                  U5        M@     U$ r   )r   rC   proc_open_filesr   r   	popenfilerT   )r   filesr   rq   fdr}   s         rG   
open_filesProcess.open_files  se    88q=I&&txx0HDT"" **44V$   rI   c           
          [         U   u  p#[        R                  " U R                  X#5      n/ nU H,  nUu  pxpp[	        XxXX[
        5      nUR                  U5        M.     U$ r^   )r   rC   proc_net_connectionsr   r   TCP_STATUSESrT   )r   r   familiestypesr   rU   rW   r*  famtypeladdrraddrr$   r   s                 rG   r   Process.net_connections  se    #D/++DHHhFD26/BT%e\B JJrN  
rI   c                 d    U R                   S:X  a  g[        R                  " U R                   5      $ r   )r   rC   proc_num_fdsr   s    rG   num_fdsProcess.num_fds  s%    88q=  **rI   Nc                 X    [         R                  " U R                  XR                  5      $ r^   )r   wait_pidr   r   )r   timeouts     rG   waitProcess.wait  s      7JJ??rI   c                 B    [         R                  " U R                  5      $ r^   )r   getpriorityr   r   s    rG   nice_getProcess.nice_get  s    %%dhh//rI   c                 D    [         R                  " U R                  U5      $ r^   )r   setpriorityr   )r   values     rG   nice_setProcess.nice_set  s    %%dhh66rI   c                 b    U R                  5       [        S      n[        R                  US5      $ )Nr$   ?)r   r   PROC_STATUSESget)r   codes     rG   r$   Process.status  s-    ##%nX&>?  s++rI   c                     [         R                  " U R                  5      n/ nU H.  u  p4n[        R                  " X4U5      nUR                  U5        M0     U$ r^   )rC   proc_threadsr   r   pthreadrT   )r   r   rv   	thread_idutimestimer}   s          rG   threadsProcess.threads  sM    ##DHH-'.#Ie__Yu=FNN6" (/ rI   )r   r   r   inetr^   )%__name__
__module____qualname____firstlineno____doc__	__slots__r   r   r   r   r   r   r   r%   r   r   r   r   r   r  r  r  r  r  rQ   r   r!  r$  r+  r   r9  r>  rB  rG  r$   rU  __static_attributes__rZ   rI   rG   r   r   f  s%   ;3I
      35 F F ' ' + + @ @   ' ' 
 
 
 
   
 
 - -
 
 
 ? ? & & F F 	 	 
 
 + +
 @ @ 0 0 7 7 , ,
  rI   r   )FrW  )]r]  r   r   rp   collectionsr   rn   r   r   r   rC   r   r   r	   r
   r   r   r   r   r   r   r   __extra__all__getpagesizePAGESIZEAF_LINKTCPS_ESTABLISHEDCONN_ESTABLISHEDTCPS_SYN_SENTCONN_SYN_SENTTCPS_SYN_RECEIVEDCONN_SYN_RECVTCPS_FIN_WAIT_1CONN_FIN_WAIT1TCPS_FIN_WAIT_2CONN_FIN_WAIT2TCPS_TIME_WAITCONN_TIME_WAITTCPS_CLOSED
CONN_CLOSETCPS_CLOSE_WAITCONN_CLOSE_WAITTCPS_LAST_ACKCONN_LAST_ACKTCPS_LISTENCONN_LISTENTCPS_CLOSINGCONN_CLOSINGPSUTIL_CONN_NONE	CONN_NONEr/  SIDLSTATUS_IDLESRUNSTATUS_RUNNINGSSLEEPSTATUS_SLEEPINGSSTOPSTATUS_STOPPEDr   STATUS_ZOMBIErK  dictr   r   r.   r4   r=   _fieldsr>   rH   rO   rQ   rS   rY   r\   r_   rg   
disk_usagedisk_io_countersro   r   r   net_if_addrsr   r   r   r   r   
pid_existsr   r   r   rZ   rI   rG   <module>r     s  
 %   	 "   ! ) ! " "  # " + ( "  !!#


 	733--G11'00'00//g(('11--g))w++7,,  	IIw""IIw%%KK((JJ&&JJ%% 	
	
	
	
	
	
	


	 			& {$FG	 -	. &>?j$,,":;M@/$
"
0   
(( *>, &&&&$:
(    
(z zrI   