PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 pe@s4dZddlmZddlZddlZddlZddlZddlZddlZy ddl Z Wne k rhddl Z YnXddlm Z m Z mZddlmZmZeeddZeeddZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dqd d!Z-d"d#Z.drd$d%Z/d&d'Z0d(d)Z1e eege egfe ege gfe ge gfe egegfe gegfe ege egfe ge egfege egfd*Z2edk re2j3ege gfegegfd+edk re2j3d,ege egfi[ [[[ [[ed-d.d/d0d1d2d3gZ4ed4d.d/d0d1gZ5ed5d6d7d8d9d:d;gZ6edd?d@gZ7edAdBdCdDdEdFdGdHdIgZ8edJdKdLdMdNgZ9edOdPdQdRdSdTdUdVgZ:edWdXdYgZ;edZd[d\gZedcdddedfgZ?edgdddedfgZ@edhd6d7d8d9gZAedidjdkgZBedldmdngZCGdodpdpedpdPdQdRdSdTdUgZDdS)sz*Common objects shared by all _ps* modules.)divisionN)AF_INET SOCK_STREAM SOCK_DGRAM) namedtuplewrapsAF_INET6AF_UNIXZrunningZsleepingz disk-sleepstoppedz tracing-stopZzombieZdeadz wake-killZwakingidlelockedZwaitingZ ESTABLISHEDZSYN_SENTZSYN_RECVZ FIN_WAIT1Z FIN_WAIT2Z TIME_WAITZCLOSEZ CLOSE_WAITZLAST_ACKZLISTENZCLOSINGZNONEc CsDy||d}Wntk r(d}YnX|dk r>> @memoize ... def foo() ... return 1 ... >>> foo() 1 >>> foo.cache_clear() >>> cs`|tt|jf}jz4y|Stk rL||}|<YnXWdjX|S)N) frozensetsorteditemsacquireKeyErrorrelease)argskwargskeyr)cachefunlockrrwrapperUs zmemoize..wrapperc s$jz jWdjXdS)z Clear cache.N)rclearrr)rr!rr cache_clearbs zmemoize..cache_clear)r threadingRLockr$)r r"r$r)rr r!rmemoizeGs  r'csfdd}|S)z>A decorator which can be used to mark functions as deprecated.csHdjdk rd7jdkr._tfdd}|S)Nzpsutil.%s is deprecatedz; use %s insteadcstjtdd||S)N)category stacklevel)warningswarnDeprecationWarning)rr)r msgrrinnerzsz(deprecated..outer..inner)__name____doc__r)r r/) replacement)r r.routerss   zdeprecated..outerr)r2r3r)r2r deprecatedqs r4csfdd}|S)zA decorator which can be used to mark a method as deprecated 'replcement' is the method name which will be called instead. cs8d|jf|jdkr|_t|fdd}|S)Nz$%s() is deprecated; use %s() insteadcs tjtddt|||S)Nr()r)r*)r+r,r-getattr)selfrr)r.r2rrr/sz/deprecated_method..outer..inner)r0r1r)r r/)r2)r.rr3s   z deprecated_method..outerr)r2r3r)r2rdeprecated_methods r7c CsTytj|}Wn4tk rBtjd}|jtjtjfkr>dSXtj|j SdS)zSame as os.path.isfile() but does not swallow EACCES / EPERM exceptions, see: http://mail.python.org/pipermail/python-dev/2012-June/120787.html FN) osstatOSErrorsysexc_infoerrnoEPERMZEACCESS_ISREGst_mode)pathsterrrrr isfile_stricts rE)allZtcpZtcp4ZudpZudp4inetZinet4Zinet6)Ztcp6Zudp6ZunixsswaprrfreepercentsinZsout sdiskusagesdiskioZ read_countZ write_countZ read_bytesZ write_bytesZ read_timeZ write_time sdiskpartZdeviceZ mountpointZfstypeoptssnetioZ bytes_sentZ bytes_recvZ packets_sentZ packets_recvZerrinZerroutZdropinZdropoutsusernameterminalhoststartedsconnfdfamilytypeladdrraddrstatuspidpmemrssvms pcputimesusersystem popenfilerBpthreadidZ user_timeZ system_timepuidsrealZ effectiveZsavedpgidspiopioniceioclassvaluepctxswZ voluntaryZ involuntaryc@s(eZdZfZeddZeddZdS)pconncCstjdtdd|jS)Nz7'local_address' field is deprecated; use 'laddr'insteadr()r)r*)r+r,r-rZ)r6rrr local_addresss zpconn.local_addresscCstjdtdd|jS)Nz8'remote_address' field is deprecated; use 'raddr'insteadr()r)r*)r+r,r-r[)r6rrrremote_addresss zpconn.remote_addressN)r0 __module__ __qualname__ __slots__propertyrprqrrrrros ro)N)N)Er1 __future__rr>r9socketr:r<r+r% ImportErrordummy_threadingrrrpsutil._compatrrr5rr STATUS_RUNNINGSTATUS_SLEEPINGSTATUS_DISK_SLEEPSTATUS_STOPPEDSTATUS_TRACING_STOP STATUS_ZOMBIE STATUS_DEADZSTATUS_WAKE_KILL STATUS_WAKING STATUS_IDLE STATUS_LOCKEDSTATUS_WAITINGCONN_ESTABLISHED CONN_SYN_SENT CONN_SYN_RECVCONN_FIN_WAIT1CONN_FIN_WAIT2CONN_TIME_WAIT CONN_CLOSECONN_CLOSE_WAIT CONN_LAST_ACK CONN_LISTEN CONN_CLOSING CONN_NONErr'r4r7rEZ conn_tmapupdaterHrLrMrNrPrQrVr^rardrergrirjrkrnrorrrrs     *