
    _i5>                        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\
R0                  r\
R2                  \R4                  \
R6                  \R8                  \
R:                  \R<                  \
R>                  \R@                  \
RB                  \RD                  \
RF                  \RH                  \
RJ                  \RL                  \
RN                  \RP                  \
RR                  \RT                  \
RV                  \RX                  \
RZ                  \R\                  \
R^                  \R`                  0r1\
Rd                  \Rf                  \
Rh                  \Rj                  \
Rl                  \Rn                  \
Rp                  \Rr                  \
Rt                  \Rv                  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 r@S rA\
R                  rB\
R                  rCS rDS  rES! rFS" rGS# rH\
R                  " 5       (       a  S$ rJ\R                  rK\
R                  rLS1S% jrMS& rN\
R                  rO\
R                  rPS2S' jrQS( rRS) rS \S" 5       rTS+ rWS, rXS- rY\R                  rZS. r[ " S/ S05      r\g! \U a  rV\" S*\V< 35        SrT SrVCVN<SrVCVff = f)3zmacOS platform implementation.    N   )_common)_ntuples)_psposix)_psutil_osx)AccessDenied)NoSuchProcess)ZombieProcess)	conn_tmap)conn_to_ntuple)debug)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volctxswc            
          [         R                  " 5       u  pp#pEX$-   nX-   nXE-  n[        X-
  U SS9n[        R                  " XXXAX#5      $ )z&System virtual memory as a namedtuple.r   round_)cextvirtual_memr   ntpsvmem)	totalactiveinactivewiredfreespeculativeavailusedpercents	            I/var/www/html/land-ocr/venv/lib/python3.13/site-packages/psutil/_psosx.pyvirtual_memoryr?   [   s[    8<8H8H8J5E8D OE>D 	DU]U1=G99gT8     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   r/   )r1   swap_memr   r3   sswap)r5   r<   r9   sinsoutr=   s         r>   swap_memoryrF   l   s3    #'==? EDD2G99U$;;r@   c                  `    [         R                  " 5       u  pp#[        R                  " XX#5      $ )z(Return system CPU times as a namedtuple.)r1   	cpu_timesr3   	scputimes)usernicesystemidles       r>   rH   rH   }   s$    #~~/D==V22r@   c                      / n [         R                  " 5        H0  nUu  p#pE[        R                  " X#XE5      nU R	                  U5        M2     U $ )z)Return system CPU times as a named tuple.)r1   per_cpu_timesr3   rI   append)retcpu_trJ   rK   rL   rM   items          r>   rO   rO      sG    
C##%#( F}}T6

4 & Jr@   c                  ,    [         R                  " 5       $ )z0Return the number of logical CPUs in the system.)r1   cpu_count_logical r@   r>   rU   rU      s    !!##r@   c                  ,    [         R                  " 5       $ )z-Return the number of CPU cores in the system.)r1   cpu_count_coresrV   r@   r>   rX   rX      s    !!r@   c                  b    [         R                  " 5       u  pp#n[        R                  " XX#5      $ N)r1   	cpu_statsr3   	scpustats)ctx_switches
interruptssoft_interruptssyscalls_trapss        r>   r[   r[      s+     @Lo ==?MMr@   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.
)r1   cpu_freqr3   scpufreq)currmin_max_s      r>   rc   rc      s(      ==?DT.//r@   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 )	r1   disk_partitionsospathisabsexistsr3   	sdiskpartrP   )	allretlist
partitions	partitiondevice
mountpointfstypeoptsntuples	            r>   rk   rk      s    G%%'J	+4(FVF77==((v0F0Fv6@v   Nr@   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   <   )r1   sensors_batteryNotImplementedErrorr   POWER_TIME_UNLIMITEDPOWER_TIME_UNKNOWNr3   sbattery)r=   minsleftpower_pluggedsecslefts       r>   r}   r}      st    +/+?+?+A(= "Q&M//	R--b=<<=99  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listrP   r3   sconnr	   )kindrQ   pidconscs        r>   r   r      s     Cv	.3<//5D AQ3%AJJsyy!}-    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keysr1   
net_if_mtunet_if_flagsnet_if_duplex_speedhasattrr   r   joinr3   	snicstatsOSErrorerrnoENODEV)
namesrQ   r%   mtuflagsduplexspeedoutput_flagsisuperrs
             r>   net_if_statsr      s    ""$E
C	N//$'C%%d+E 44T:MF w,, **6288E?L%DdEMCI  J  	yyELL( )	s   AC
C:C55C:c                  ,    [         R                  " 5       $ )z:The system boot time expressed in seconds since the epoch.)r1   	boot_timerV   r@   r>   r   r     s    >>r@   zignoring exception on import: c                     [         S:X  a  U $ [         [        5       -
  nUS:X  d  [        U5      S:  a  U $ [        S5        US:  a  X-
  $ X-   $ )z!Account for system clock updates.r   r   z9system clock was updated; adjusting process create_time())INIT_BOOT_TIMEr   absr   )r#   diffs     r>   adjust_proc_create_timer     sQ    IK'DqyCIM	
EFax|<r@   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)r1   usersr3   suserrP   )	rr   rawlistrS   rJ   ttyhostnametstampr   nts	            r>   r   r   +  sf    GjjlG+/(8S#:YYt[D(*:dFHr  Nr@   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   )r1   r   r   create_timeinsertr	   r   )lss    r>   r   r   ?  sx    	B{	AJ""$IIaO
 I2I	  	 I  	IIaOI	s   +A 
A8A87A8c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )zXDecorator which translates bare OSError exceptions into
NoSuchProcess and AccessDenied.
c                 j  > U R                   U R                  U R                  pTn T" U /UQ70 UD6$ ! [         a9  n[        R
                  " U5      (       a  [        X5U5      Ue[        X55      UeS nAf[         a  n[        X55      UeS nAf[        R                   a  n[        X5U5      UeS nAff = frZ   )r   _ppid_nameProcessLookupErrorr1   proc_is_zombier
   r	   PermissionErrorr   ZombieProcessError)selfargskwargsr   r   r%   r   funs          r>   wrapper wrap_exceptions.<locals>.wrapperW  s    ((DJJ

4		:t-d-f--! 	4""3''#Ct4#=*3 	3s)s2&& 	:40c9	:s,   2 
B24A00B2=B		B2 B--B2)	functoolswraps)r   r   s   ` r>   wrap_exceptionsr   R  s'    
 __S: : Nr@   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"S j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   ih  z1Wrapper class around underlying C implementation.)_cacher   r   r   c                 ,    Xl         S U l        S U l        g rZ   )r   r   r   )r   r   s     r>   __init__Process.__init__m  s    

r@   c                     [         R                  " U R                  5      n[        U5      [        [        5      :X  d   eU$ rZ   )r1   proc_kinfo_oneshotr   lenkinfo_proc_mapr   rQ   s     r>   _get_kinfo_procProcess._get_kinfo_procr  s4     %%dhh/3x3~....
r@   c                     [         R                  " U R                  5      n[        U5      [        [        5      :X  d   eU$ rZ   )r1   proc_pidtaskinfo_oneshotr   r   pidtaskinfo_mapr   s     r>   _get_pidtaskinfoProcess._get_pidtaskinfoz  s4     ++DHH53x3////
r@   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rZ   )r   cache_activater   r   s    r>   oneshot_enterProcess.oneshot_enter  s*    ++D1,,T2r@   c                 p    U R                   R                  U 5        U R                  R                  U 5        g rZ   )r   cache_deactivater   r   s    r>   oneshot_exitProcess.oneshot_exit  s*    --d3..t4r@   c                     U R                  5       [        S      nUb  U$ [        R                  " U R                  5      $ )Nr%   )r   r   r1   	proc_namer   )r   r%   s     r>   r%   Process.name  s7    ##%nV&<='tET^^DHH-EEr@   c                 B    [         R                  " U R                  5      $ rZ   )r1   proc_exer   r   s    r>   exeProcess.exe      }}TXX&&r@   c                 B    [         R                  " U R                  5      $ rZ   )r1   proc_cmdliner   r   s    r>   cmdlineProcess.cmdline  s      **r@   c                 T    [        [        R                  " U R                  5      5      $ rZ   )r   r1   proc_environr   r   s    r>   environProcess.environ  s    "4#4#4TXX#>??r@   c                 X    U R                  5       [        S      U l        U R                  $ )Nr   )r   r   r   r   s    r>   r   Process.ppid  s&    ))+N6,BC
zzr@   c                 B    [         R                  " U R                  5      $ rZ   )r1   proc_cwdr   r   s    r>   cwdProcess.cwd  r   r@   c                     U R                  5       n[        R                  " U[        S      U[        S      U[        S      5      $ )Nr   r   r   r   r3   puidsr   r   rawtuples     r>   uidsProcess.uids  H    '')yy^F+,^F+,^F+,
 	
r@   c                     U R                  5       n[        R                  " U[        S      U[        S      U[        S      5      $ )Nr   r    r!   r   r   s     r>   gidsProcess.gids  r  r@   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      r>   terminalProcess.terminal  sG    %%'w(?@((*	< 		s   5 
AAc                     U R                  5       n[        R                  " U[        S      U[        S      U[        S      U[        S      5      $ )Nr(   r)   r*   r+   )r   r3   pmemr   r   s     r>   memory_infoProcess.memory_info  sU    ((*xx_U+,_U+,_Y/0_Y/0	
 	
r@   c                     U R                  5       n[        R                  " U R                  5      n[        R
                  " X4-   6 $ rZ   )r  r1   proc_memory_ussr   r3   pfullmem)r   	basic_memusss      r>   memory_full_infoProcess.memory_full_info  s8    $$&	""488,||Y/00r@   c                 |    U R                  5       n[        R                  " U[        S      U[        S      SS5      $ )Nr&   r'   g        )r   r3   	pcputimesr   r   s     r>   rH   Process.cpu_times  sA    ((*}}_Z01_Z01
 	
r@   c                 ^    U R                  5       [        S      nU(       d  [        U5      nU$ )Nr#   )r   r   r   )r   	monotonicr#   s      r>   r   Process.create_time  s,    $$&~g'>?+E2Er@   c                 d    U R                  5       [        S      n[        R                  " US5      $ )Nr-   r   )r   r   r3   pctxsw)r   vols     r>   num_ctx_switchesProcess.num_ctx_switches  s-    
 ##%oj&ABzz#q!!r@   c                 6    U R                  5       [        S      $ )Nr,   )r   r   r   s    r>   num_threadsProcess.num_threads  s    $$&|'DEEr@   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   r1   proc_open_filesr   r3   	popenfilerP   )r   filesr   rm   fdry   s         r>   
open_filesProcess.open_files  sc    88q=I&&txx0HDT""t0V$   r@   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$ rZ   )r   r1   proc_net_connectionsr   r   TCP_STATUSESrP   )r   r   familiestypesr   rQ   rS   r,  famtypeladdrraddrr$   r   s                 r>   r   Process.net_connections  se    #D/++DHHhFD26/BT%e\B JJrN  
r@   c                 d    U R                   S:X  a  g[        R                  " U R                   5      $ r   )r   r1   proc_num_fdsr   s    r>   num_fdsProcess.num_fds  s%    88q=  **r@   Nc                 X    [         R                  " U R                  XR                  5      $ rZ   )r   wait_pidr   r   )r   timeouts     r>   waitProcess.wait  s      7JJ??r@   c                 B    [         R                  " U R                  5      $ rZ   )r1   proc_priority_getr   r   s    r>   nice_getProcess.nice_get  s    %%dhh//r@   c                 D    [         R                  " U R                  U5      $ rZ   )r1   proc_priority_setr   )r   values     r>   nice_setProcess.nice_set  s    %%dhh66r@   c                 b    U R                  5       [        S      n[        R                  US5      $ )Nr$   ?)r   r   PROC_STATUSESget)r   codes     r>   r$   Process.status  s-    ##%nX&>?  s++r@   c                     [         R                  " U R                  5      n/ nU H.  u  p4n[        R                  " X4U5      nUR                  U5        M0     U$ rZ   )r1   proc_threadsr   r3   pthreadrP   )r   r   rr   	thread_idutimestimery   s          r>   threadsProcess.threads  sM    ##DHH-'.#Ie[[59FNN6" (/ r@   )r   r   r   FinetrZ   )%__name__
__module____qualname____firstlineno____doc__	__slots__r   r   r   r   r   r   r   r%   r   r   r   r   r   r  r  r  r  r  rH   r   r#  r&  r-  r   r;  r@  rD  rI  r$   rW  __static_attributes__rV   r@   r>   r   r   h  s%   ;3I
      35 F F ' ' + + @ @   ' ' 
 
 
 
   
 
 1 1
 
 
   " " F F 	 	 
 
 + +
 @ @ 0 0 7 7 , ,
  r@   r   rY  rZ  )]r`  r   r   rl   rj   r   r   r3   r   r   r1   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_NONEr1  SIDLSTATUS_IDLESRUNSTATUS_RUNNINGSSLEEPSTATUS_SLEEPINGSSTOPSTATUS_STOPPEDSZOMBSTATUS_ZOMBIErM  dictr   r   r?   rF   	heap_info	heap_trimrH   rO   rU   rX   r[   has_cpu_freqrc   
disk_usagedisk_io_countersrk   r}   r   net_if_addrsr   r   r   r   	Exceptionr   r   r   r   
pid_existsr   r   rV   r@   r>   <module>r     s  
 %   	    ! ! " "  #  " + ( " 
,, 	733--G11'00'00//g(('11--g))w++7,,  	IIw""IIw%%KK((JJ&&JJ%% 	
	
	
	
	
	
	


	 			""< NN	NN	3$
"
N 0   
(( *:, &&  $6
[N(    
,} }e  	*3'
23Ns   #K K+K&&K+