§ x<ˆj_‰ãóh—dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddl mZddlmZddlmZddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!erIesGe j"¦«5e j#d¦«ddl$Z$ddl%Z%ddl&Z&ddl'Z'ddd¦«n #1swxYwYerddl(m)Z)e j*j+Z+e j,e d¦«e j,ed¦«e j,eoe d¦«Gd„de¦«¦«¦«¦«Z-d„Z.e/fd„Z0Gd„de-¦«Z1Gd „d!e-¦«Z2Gd"„d#e-¦«Z3Gd$„d%e-¦«Z4Gd&„d'e-¦«Z5e j,e d¦«Gd(„d)e¦«¦«Z6e j,e d¦«Gd*„d+e¦«¦«Z7e j,e d¦«Gd,„d-e¦«¦«Z8e9d.krdd/l:m;Z;e;e<¦«dSdS)0zWindows specific tests.éN)ÚWINDOWS)ÚFileNotFoundError)Úsuper)Úwhich)ÚAPPVEYOR)ÚGITHUB_ACTIONS)Ú HAS_BATTERY)ÚIS_64BIT)ÚPY3)ÚPYPY)ÚTOLERANCE_DISK_USAGE)ÚTOLERANCE_SYS_MEM)ÚPsutilTestCase)Úmock)Úretry_on_failure)Úsh)Úspawn_testproc)Ú terminateÚignore)Úconvert_oserrorz WINDOWS onlyzpywin32 not available on PYPYzpywin32 broken on GITHUB + PY2có—eZdZdS)ÚWindowsTestCaseN)Ú__name__Ú __module__Ú __qualname__©óúm/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/psutil/tests/test_windows.pyrr;s€€€€€ð  €Drrcóv—td¦«stjd¦«‚dd|zz}t|¦«S)z™Currently not used, but avalable just in case. Usage: >>> powershell( "Get-CIMInstance Win32_PageFileUsage | Select AllocatedBaseSize") zpowershell.exezpowershell.exe not availablez?powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive z,-NoProfile -WindowStyle Hidden -Command "%s")rÚunittestÚSkipTestr)ÚcmdÚcmdlines rÚ powershellr$CsK€õ Ð!Ñ "Ô "ð@ÝÔÐ >Ñ?Ô?Ð?àIØ6¸Ñ<ñ =ð õ ˆg‰;Œ;ÐrcóT‡—td|›d|›�¦« ¦«}d | ¦«dd…¦« ¦«}‰�>> wmic("Win32_OperatingSystem", "FreePhysicalMemory") 2134124534 z wmic path z get ÚéNú,có&•—g|] }‰|¦«‘ŒSrr)Ú.0ÚxÚ converters €rú zwmic..[s!ø€Ð=Ð=Ð=¨1˜)˜) A™,œ,Ð=Ð=Ð=r)rÚstripÚjoinÚ splitlinesÚtupleÚsplit)ÚpathÚwhatr,ÚoutÚdatas ` rÚwmicr7Qs¨ø€õ ˆ" d d d¨D¨DÐ 1Ñ 2Ô 2× 8Ò 8Ñ :Ô :€CØ �7Š7�3—>’>Ñ#Ô# A B BÔ'Ñ (Ô (× .Ò .Ñ 0Ô 0€DØÐØ �$ˆ;ˆ;ÝÐ=Ð=Ð=Ð=°· ² ± ´ Ð=Ñ=Ô=Ñ>Ô>Ð >à�9˜T‘?”?Ð "àˆ rcón—eZdZejdejvd¦«d„¦«Zd„Zd„Z d„Z d„Z d„Z d S) Ú TestCpuAPIsÚNUMBER_OF_PROCESSORSz-NUMBER_OF_PROCESSORS env var is not availablecó’—ttjd¦«}| |t j¦«¦«dS)Nr:)ÚintÚosÚenvironÚ assertEqualÚpsutilÚ cpu_count)ÚselfÚnum_cpuss rÚ&test_cpu_count_vs_NUMBER_OF_PROCESSORSz2TestCpuAPIs.test_cpu_count_vs_NUMBER_OF_PROCESSORSis>€õ •r”zÐ"8Ô9Ñ:Ô:ˆØ ×Ò˜¥6Ô#3Ñ#5Ô#5Ñ6Ô6Ð6Ð6Ð6rcóŠ—tj¦«d}tj¦«}| ||¦«dS)Né)Úwin32apiÚ GetSystemInfor@rAr?©rBÚ sys_valueÚ psutil_values rÚtest_cpu_count_vs_GetSystemInfoz+TestCpuAPIs.test_cpu_count_vs_GetSystemInfoqsA€õÔ*Ñ,Ô,¨QÔ/ˆ ÝÔ'Ñ)Ô)ˆ Ø ×Ò˜ LÑ1Ô1Ð1Ð1Ð1rcóЗtj¦«}td„| ¦«D¦«¦«}| t j¦«|¦«dS)Nc3ó$K—|] }|jV—Œ dS©N)ÚNumberOfLogicalProcessors©r*Úprocs rú z.zs9èè€ð5ð5ØðÔ2ð5ð5ð5ð5ð5ð5r©ÚwmiÚWMIÚsumÚWin32_Processorr?r@rA)rBÚwÚprocss rÚtest_cpu_count_logical_vs_wmiz)TestCpuAPIs.test_cpu_count_logical_vs_wmixsi€Ý ŒG‰IŒIˆÝð5ð5Ø !× 1Ò 1Ñ 3Ô 3ð5ñ5ô5ñ5ô5ˆà ×Ò�Ô)Ñ+Ô+¨UÑ3Ô3Ð3Ð3Ð3rcóÔ—tj¦«}td„| ¦«D¦«¦«}| t jd¬¦«|¦«dS)Nc3ó$K—|] }|jV—Œ dSrO)Ú NumberOfCoresrQs rrSz:TestCpuAPIs.test_cpu_count_cores_vs_wmi..€s%èè€ÐGÐG¨4�DÔ&ÐGÐGÐGÐGÐGÐGrF)ÚlogicalrT)rBrYÚcoress rÚtest_cpu_count_cores_vs_wmiz'TestCpuAPIs.test_cpu_count_cores_vs_wmi~s_€Ý ŒG‰IŒIˆÝÐGÐG°1×3DÒ3DÑ3FÔ3FÐGÑGÔGÑGÔGˆØ ×Ò�Ô)°%Ð8Ñ8Ô8¸%Ñ@Ô@Ð@Ð@Ð@rcó”—| tj¦«ttjd¬¦«¦«¦«dS)NT)Úpercpu)r?r@rAÚlenÚ cpu_times©rBs rÚtest_cpu_count_vs_cpu_timesz'TestCpuAPIs.test_cpu_count_vs_cpu_timesƒsH€Ø ×Ò�Ô)Ñ+Ô+Ý�VÔ-°TÐ:Ñ:Ô:Ñ;Ô;ñ =ô =ð =ð =ð =rcó$—tj¦«}| ¦«d}| |jt j¦«j¦«| |jt j¦«j ¦«dS©Nr) rUrVrXr?ÚCurrentClockSpeedr@Úcpu_freqÚcurrentÚ MaxClockSpeedÚmax)rBrYrRs rÚ test_cpu_freqzTestCpuAPIs.test_cpu_freq‡sq€Ý ŒG‰IŒIˆØ× Ò Ñ"Ô" 1Ô%ˆØ ×Ò˜Ô/µ´Ñ1BÔ1BÔ1JÑKÔKÐKØ ×Ò˜Ô+­V¬_Ñ->Ô->Ô-BÑCÔCÐCÐCÐCrN) rrrr ÚskipIfr=r>rDrLr[rargrorrrr9r9gs¢€€€€€à€X„_Ð+°2´:Ð=ØDñFôFð7ð7ñFôFð7ð 2ð2ð2ð4ð4ð4ð AðAðAð =ð=ð=ðDðDðDðDðDrr9cóä—eZdZd„Zd„Zd„Zd„Zd„Zej e d¦«e ¦«d„¦«¦«Z e ¦«d„¦«Z e ¦«d „¦«Zd „Zd „Zd „Zd „ZdS)ÚTestSystemAPIscó —td¦«}tjd¬¦« ¦«}|D]I}d| dd¦« ¦«vrŒ-||vr| d|z¦«‚ŒJdS)Nz ipconfig /allT)Úperniczpseudo-interfaceú ú-z-%r nic wasn't found in 'ipconfig /all' output)rr@Únet_io_countersÚkeysÚreplaceÚlowerÚfail)rBr5ÚnicsÚnics rÚtest_nic_nameszTestSystemAPIs.test_nic_names�s¢€Ý�Ñ!Ô!ˆÝÔ%¨TÐ2Ñ2Ô2×7Ò7Ñ9Ô9ˆØð Kð KˆCØ! S§[¢[°°cÑ%:Ô%:×%@Ò%@Ñ%BÔ%BÐBÐBØØ˜#ˆ~ˆ~Ø—i’iØCÀcÑIñKôKðKðð Kð KrcóØ—tj¦« ¦«d}| t |j¦«t j¦«j¦«dSri) rUrVÚWin32_ComputerSystemr?r<ÚTotalPhysicalMemoryr@Úvirtual_memoryÚtotal©rBrYs rÚtest_total_phymemz TestSystemAPIs.test_total_phymemšs\€Ý ŒG‰IŒI× *Ò *Ñ ,Ô ,¨QÔ /ˆØ ×Ò�˜QÔ2Ñ3Ô3ÝÔ.Ñ0Ô0Ô6ñ 8ô 8ð 8ð 8ð 8rcóæ—tj¦« ¦«d}| t |j¦«t j¦«jt¬¦«dS)Nr©Údelta) rUrVÚWin32_PerfRawData_PerfOS_MemoryÚassertAlmostEqualr<ÚAvailableBytesr@r‚Úfreerr„s rÚtest_free_phymemzTestSystemAPIs.test_free_phymemŸsd€Ý ŒG‰IŒI× 5Ò 5Ñ 7Ô 7¸Ô :ˆØ ×ÒÝ �Ô Ñ !Ô !¥6Ô#8Ñ#:Ô#:Ô#?Ý#ð ñ %ô %ð %ð %ð %rcóö—tj¦« ¦«d}| t |j¦«t j¦«jz t j ¦«j¦«t j ¦«jdkrZ| dt j ¦«j ¦«| dt j ¦«j ¦«dSdSri) rUrVr‰r?r<Ú CommitLimitr@r‚rƒÚ swap_memoryrŒÚusedr„s rÚtest_total_swapmemz!TestSystemAPIs.test_total_swapmem¥sË€Ý ŒG‰IŒI× 5Ò 5Ñ 7Ô 7¸Ô :ˆØ ×Ò�˜Qœ]Ñ+Ô+­fÔ.CÑ.EÔ.EÔ.KÑKÝÔ+Ñ-Ô-Ô3ñ 5ô 5ð 5å Ô Ñ Ô Ô &¨!Ò +Ð +Ø × Ò ˜Q¥Ô 2Ñ 4Ô 4Ô 9Ñ :Ô :Ð :Ø × Ò ˜Q¥Ô 2Ñ 4Ô 4Ô 9Ñ :Ô :Ð :Ð :Ð :ð ,Ð +rcó—tj¦«jdkrátj¦« d¬¦«d}t |j¦«dzt |j¦«z }|  tj¦«j d¦«|  tj¦«j |d¬¦«|  tj¦«j d¦«dSdS)NrÚ_Total)ÚNameédrFr‡) r@r�rƒrUrVÚ#Win32_PerfRawData_PerfOS_PagingFiler<Ú PercentUsageÚPercentUsage_BaseÚassertGreaterEqualÚpercentrŠÚassertLessEqual)rBrYÚ percentSwaps rÚtest_percent_swapmemz#TestSystemAPIs.test_percent_swapmem­sî€Ý Ô Ñ Ô Ô &¨Ò *Ð *Ý”‘ ” ×=Ò=Øð>ñôØ ô"ˆAõ˜aœnÑ-Ô-°Ñ3µc¸!Ô:MÑ6NÔ6NÑNˆKð × #Ò #¥FÔ$6Ñ$8Ô$8Ô$@À!Ñ DÔ DÐ DØ × "Ò "¥6Ô#5Ñ#7Ô#7Ô#?ÀØ)*ð #ñ ,ô ,ð ,à × Ò ¥Ô!3Ñ!5Ô!5Ô!=¸sÑ CÔ CÐ CÐ CÐ Cð +Ð *rztest not relieable on appveyorcóî—tj¦« ¦«}td„|D¦«¦«}tt j¦«¦«}| ||¦«dS)Ncó—g|] }|j‘Œ Sr©Ú ProcessId©r*r+s rr-z,TestSystemAPIs.test_pids..Ìs€Ð/Ð/Ð/¨˜œ Ð/Ð/Ð/r)rUrVÚ Win32_ProcessÚsetr@Úpidsr?)rBrYÚwmi_pidsÚ psutil_pidss rÚ test_pidszTestSystemAPIs.test_pidsÆsf€õ ŒG‰IŒI× #Ò #Ñ %Ô %ˆÝÐ/Ð/¨QÐ/Ñ/Ô/Ñ0Ô0ˆÝ�&œ+™-œ-Ñ(Ô(ˆ Ø ×Ò˜ ;Ñ/Ô/Ð/Ð/Ð/rcó—tjd¬¦«}tj¦« ¦«}|D�]J}|D�]}|j dd¦«|jkr÷|js�nd|j vr�n|j  d¦«rnì tj |j¦«}n#t$rYnÄwxYw|  |jt|j¦«¦«t|j¦«}|  |j|¦«t'|j|z ¦«dkr | d|j›d |›�¦«‚n'�Œ | d t+|¦«z¦«‚�ŒLdS) NT©Úallú\r&ÚcdromúA:i zpsutil=z, wmi=zcan't find partition %s)r@Údisk_partitionsrUrVÚWin32_LogicalDiskÚdeviceryÚDeviceIDÚ mountpointÚoptsÚ startswithÚ disk_usagerr?rƒr<ÚSizeÚ FreeSpacerŒÚabsr{Úrepr)rBÚps_partsÚ wmi_partsÚps_partÚwmi_partÚusageÚwmi_frees rÚ test_diskszTestSystemAPIs.test_disksÐs³€åÔ)¨dÐ3Ñ3Ô3ˆÝ”G‘I”I×/Ò/Ñ1Ô1ˆ Øð Kñ KˆGØ%ð Kñ K�Ø”>×)Ò)¨$°Ñ3Ô3°xÔ7HÒHÐHØ"Ô-ðà™Ø '¤,Ð.Ð.Ø™ØÔ)×4Ò4°TÑ:Ô:ðؘðÝ &Ô 1°'Ô2DÑ EÔ E˜˜øÝ,ðððà˜˜ðøøøð×$Ò$ U¤[µ#°h´mÑ2DÔ2DÑEÔEÐEÝ" 8Ô#5Ñ6Ô6�HØ×$Ò$ U¤Z°Ñ:Ô:Ð:å˜5œ:¨Ñ0Ñ1Ô1Ð4DÒDÐDØ"Ÿiši˜iØ!œJ˜J˜J¨¨ð)2ñ3ô3ð3à�Eñ)Ið,—i’iÐ 9½DÀ¹M¼MÑ IÑJÔJÐJùð1 Kð KsÂB6Â6 CÃCcóš—tj¦«D]¶}d|jvrŒ tj|j¦«}tj|j¦«}| |d|jt¬¦«| |d|j t¬¦«|  |j |j |jz ¦«Œ·dS)Nr®rr‡r') r@r°rµrGÚGetDiskFreeSpaceExr´r·rŠrŒr rƒr?r‘)rBÚdiskrJrKs rÚtest_disk_usagezTestSystemAPIs.test_disk_usageîsæ€åÔ*Ñ,Ô,ð Eð EˆDؘ$œ)Ð#Ð#ØÝ Ô3°D´OÑDÔDˆIÝ!Ô,¨T¬_Ñ=Ô=ˆLØ × "Ò " 9¨Q¤<°Ô1BÝ)=ð #ñ ?ô ?ð ?à × "Ò " 9¨Q¤<°Ô1CÝ)=ð #ñ ?ô ?ð ?à × Ò ˜\Ô.Ø)Ô/°,Ô2CÑCñ Eô Eð Eð Eð Eð ErcóЗd„tj¦« d¦«D¦«}d„tjd¬¦«D¦«}| ||¦«dS)NcóF—g|]}|¯| d¦«°|dz‘ŒS)r¯r­)r¶r£s rr-z7TestSystemAPIs.test_disk_partitions..ýsF€ð-ð-ð-ØØð-àŸš dÑ+Ô+ð-Ø �‰Hð-ð-ð-rz\cóP—g|]#}|j d¦«°|j‘Œ$S)r¯)r´r¶r£s rr-z7TestSystemAPIs.test_disk_partitions..s>€ð>ð>ð>¨Ø œ|×6Ò6°tÑ<Ô<ð>˜œ ð>ð>ð>rTr«)rGÚGetLogicalDriveStringsr2r@r°r?rIs rÚtest_disk_partitionsz#TestSystemAPIs.test_disk_partitionsüs~€ð-ð-Ý&Ô=Ñ?Ô?×EÒEÀhÑOÔOð-ñ-ô-ˆ ð>ð>­fÔ.DÈÐ.NÑ.NÔ.Nð>ñ>ô>ˆ à ×Ò˜ LÑ1Ô1Ð1Ð1Ð1rcóh—tt ¦«¦«}tj¦« ¦«}t¦«}|D]6}| |j¦«| |j¦«Œ7|  ||zd|›d|›�¦«dS)Nzno common entries in z, ) r¥ÚcextÚ net_if_statsrUrVÚWin32_NetworkAdapterÚaddr•ÚNetConnectionIDÚ assertTrue)rBÚps_namesÚ wmi_adaptersÚ wmi_namesÚ wmi_adapters rÚtest_net_if_statsz TestSystemAPIs.test_net_if_statss´€Ý•t×(Ò(Ñ*Ô*Ñ+Ô+ˆÝ”w‘y”y×5Ò5Ñ7Ô7ˆ Ý‘E”Eˆ Ø'ð 7ð 7ˆKØ �MŠM˜+Ô*Ñ +Ô +Ð +Ø �MŠM˜+Ô5Ñ 6Ô 6Ð 6Ð 6Ø �Š˜ 9Ñ,Ð,Ø9A¸¸À9À9ÐMñ Oô Oð Oð Oð Orcó°—tj¦« ¦«}|dj d¦«d}t j |d¦«}t j tj ¦«¦«}t||z   ¦«¦«}|  |d¦«dS)Nrú.ú %Y%m%d%H%M%SrF) rUrVÚWin32_OperatingSystemÚLastBootUpTimer2ÚdatetimeÚstrptimeÚ fromtimestampr@Ú boot_timerºÚ total_secondsrœ)rBÚwmi_osÚ wmi_btime_strÚ wmi_btime_dtÚ psutil_dtÚdiffs rÚtest_boot_timezTestSystemAPIs.test_boot_times®€Ý”‘”×0Ò0Ñ2Ô2ˆØ˜qœ Ô0×6Ò6°sÑ;Ô;¸AÔ>ˆ ÝÔ(×1Ò1Ø ˜>ñ+ô+ˆ åÔ%×3Ò3µFÔ4DÑ4FÔ4FÑGÔGˆ Ý�L 9Ñ,×;Ò;Ñ=Ô=Ñ>Ô>ˆØ ×Ò˜T 1Ñ%Ô%Ð%Ð%Ð%rcó°—tjdd¬¦«5| tj¦«d¦«ddd¦«n #1swxYwYtjdd¬¦«5| tj¦«d¦«ddd¦«n #1swxYwYtjdd¬¦«5| tj¦«d¦«ddd¦«n #1swxYwYtjdd¬¦«5| tj¦«d¦«ddd¦«dS#1swxYwYdS)Nz psutil._pswindows.cext.boot_timerF©Ú return_valueééiM)rÚpatchr?r@ràrfs rÚtest_boot_time_fluctuationz)TestSystemAPIs.test_boot_time_fluctuations9€å ŒZÐ:ÈÐ KÑ KÔ Kð 4ð 4Ø × Ò �VÔ-Ñ/Ô/°Ñ 3Ô 3Ð 3ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å ŒZÐ:ÈÐ KÑ KÔ Kð 4ð 4Ø × Ò �VÔ-Ñ/Ô/°Ñ 3Ô 3Ð 3ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å ŒZÐ:ÈÐ KÑ KÔ Kð 4ð 4Ø × Ò �VÔ-Ñ/Ô/°Ñ 3Ô 3Ð 3ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å ŒZÐ:ÈÐ MÑ MÔ Mð 6ð 6Ø × Ò �VÔ-Ñ/Ô/°Ñ 5Ô 5Ð 5ð 6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6sG—(A Á AÁAÁ,(B  B$Â'B$Ã(C5Ã5C9Ã<C9Ä(E Å EÅEN)rrrr~r…r�r’ržr rprrr©rÂrÆrËr×rçrîrrrrrrrŽs4€€€€€ðKðKðKð8ð8ð8ð %ð%ð%ð ;ð;ð;ð Dð Dð Dð2€X„_�XÐ?Ñ@Ô@ØÐÑÔð0ð0ñÔñAÔ@ð0ðÐÑÔðKðKñÔðKð:ÐÑÔð Eð EñÔð Eð2ð2ð2ðOðOðOð&ð&ð&ð 6ð 6ð 6ð 6ð 6rrrcó˜—eZdZd„Zeje d¦«d„¦«Zeje d¦«d„¦«Zd„Z d„Z d„Z d„Z d S) ÚTestSensorsBatterycóÔ—tj¦«dr(| tj¦«¦«dS| tj¦«¦«dS)NÚSystemBatteriesPresent)rGÚGetPwrCapabilitiesÚassertIsNotNoner@Úsensors_batteryÚ assertIsNonerfs rÚtest_has_batteryz#TestSensorsBattery.test_has_battery*s_€Ý Ô &Ñ (Ô (Ð)AÔ Bð 8Ø × Ò ¥Ô!7Ñ!9Ô!9Ñ :Ô :Ð :Ð :Ð :à × Ò �fÔ4Ñ6Ô6Ñ 7Ô 7Ð 7Ð 7Ð 7rz no batterycóÌ—tj¦«}| d¦«d}tj¦«}| |j|jd¬¦«dS)Núselect * from Win32_Batteryrr'r‡)rUrVÚqueryr@rõrŠr›ÚEstimatedChargeRemaining©rBrYÚ battery_wmiÚbattery_psutils rÚ test_percentzTestSensorsBattery.test_percent0sg€å ŒG‰IŒIˆØ—g’gÐ;Ñ<Ô<¸QÔ?ˆ ÝÔ/Ñ1Ô1ˆØ ×ÒØ Ô " KÔ$HØð ñ ô ð ð ð rcóЗtj¦«}| d¦«d}tj¦«}| |j|jdk¦«dS)Nrùré)rUrVrúr@rõr?Ú power_pluggedÚ BatteryStatusrüs rÚtest_power_pluggedz%TestSensorsBattery.test_power_plugged9sf€å ŒG‰IŒIˆØ—g’gÐ;Ñ<Ô<¸QÔ?ˆ ÝÔ/Ñ1Ô1ˆð ×Ò˜Ô5Ø$Ô2°aÒ7ñ 9ô 9ð 9ð 9ð 9rcóÄ—tjdd¬¦«5}| tj¦«¦«|jsJ‚ ddd¦«dS#1swxYwYdS)Nú&psutil._pswindows.cext.sensors_battery)ré€rrré)rrírör@rõÚcalled©rBÚms rÚtest_emulate_no_batteryz*TestSensorsBattery.test_emulate_no_batteryCs«€Ý ŒZÐ@Ø%3ð5ñ5ô5ð Ø89Ø × Ò �fÔ4Ñ6Ô6Ñ 7Ô 7Ð 7Ø”8ˆOˆO�8ˆOð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s—0AÁAÁAcóä—tjdd¬¦«5}| tj¦«jtj¦«|jsJ‚ ddd¦«dS#1swxYwYdS)Nr)r'rrrré©rrír?r@rõÚsecsleftÚPOWER_TIME_UNLIMITEDrr s rÚtest_emulate_power_connectedz/TestSensorsBattery.test_emulate_power_connectedIóº€Ý ŒZÐ@Ø%1ð3ñ3ô3ð Ø67Ø × Ò �VÔ3Ñ5Ô5Ô>Ý#Ô8ñ :ô :ð :à”8ˆOˆO�8ˆOð  ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó—AA%Á%A)Á,A)cóä—tjdd¬¦«5}| tj¦«jtj¦«|jsJ‚ ddd¦«dS#1swxYwYdS)Nr)rérrrér r s rÚtest_emulate_power_chargingz.TestSensorsBattery.test_emulate_power_chargingPrrcóä—tjdd¬¦«5}| tj¦«jtj¦«|jsJ‚ ddd¦«dS#1swxYwYdS)Nr)rrréÿÿÿÿré)rrír?r@rõrÚPOWER_TIME_UNKNOWNrr s rÚtest_emulate_secs_left_unknownz1TestSensorsBattery.test_emulate_secs_left_unknownWsº€Ý ŒZÐ@Ø%2ð4ñ4ô4ð Ø78Ø × Ò �VÔ3Ñ5Ô5Ô>Ý#Ô6ñ 8ô 8ð 8à”8ˆOˆO�8ˆOð  ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rN) rrrr÷r rpr rÿrr rrrrrrrðrð(s·€€€€€ð8ð8ð8ð €X„_˜�_ lÑ3Ô3ððñ4Ô3ðð€X„_˜�_ lÑ3Ô3ð9ð9ñ4Ô3ð9ðððð ððððððððððrrðcó”—eZdZed„¦«Zed„¦«Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„ZdS)Ú TestProcesscó6—t¦«j|_dSrO©rÚpid©Úclss rÚ setUpClasszTestProcess.setUpClassfó€å Ñ"Ô"Ô&ˆŒˆˆrcó.—t|j¦«dSrO©rrrs rÚ tearDownClasszTestProcess.tearDownClassjó€å�#”'ÑÔÐÐÐrcóx—tjd¦«}| tj|j¦«dSri)r@ÚProcessÚ assertRaisesÚ AccessDeniedÚkill©rBÚps rÚ test_issue_24zTestProcess.test_issue_24ns2€Ý ŒN˜1Ñ Ô ˆØ ×Ò�&Ô-¨q¬vÑ6Ô6Ð6Ð6Ð6rcóð—tjd¦«}| | ¦«d¦«t |¦«| ¦«| | ¦«dk¦« | ¦«dd…\}}| |dk¦«dS#tj $r tj ¦«ddvr‚YdSwxYw)NrëÚSystemgrrr')Úvistazwin-7Úwin7) r@r(r?ÚnameÚstrÚusernamerÒÚ create_timeÚ memory_infor*ÚplatformÚuname)rBr-ÚrssÚvmss rÚtest_special_pidzTestProcess.test_special_pidrsí€Ý ŒN˜1Ñ Ô ˆØ ×Ò˜Ÿš™œ 8Ñ,Ô,Ð,õ ˆA‰ŒˆØ � Š ‰ Œ ˆ Ø �Š˜Ÿ š ™œ¨3Ò.Ñ/Ô/Ð/ð %Ø—}’}‘” r¨ rÔ*‰HˆC�ð �OŠO˜C !šGÑ $Ô $Ð $Ð $Ð $øõ Ô"ð ð ð å”>Ñ#Ô# AÔ&Ð*DÐDÐDØðEÐDÐDð øøøs CÃ+C5Ã4C5cóŽ—tj|j¦«}| t|jt j¦«dSrO)r@r(rr)Ú ValueErrorÚ send_signalÚsignalÚSIGINTr,s rÚtest_send_signalzTestProcess.test_send_signalƒs5€Ý ŒN˜4œ8Ñ $Ô $ˆØ ×Ò�* a¤mµV´]ÑCÔCÐCÐCÐCrcóÀ—tjtj¦«¦«}| ¦«}t jtjtj tj¦«¦«}| ¦«}|  ||dz¦«t j |¦«|  | ¦«|¦«dS)Nr') r@r(r=ÚgetpidÚ num_handlesrGÚ OpenProcessÚwin32conÚPROCESS_QUERY_INFORMATIONÚFALSEr?Ú CloseHandle)rBr-ÚbeforeÚhandleÚafters rÚtest_num_handles_incrementz&TestProcess.test_num_handles_increment‡s¦€Ý ŒN�2œ9™;œ;Ñ 'Ô 'ˆØ—’‘”ˆÝÔ%¥hÔ&HÝ&.¤nµb´i±k´kñCôCˆà— ’ ‘”ˆØ ×Ò˜ ¨¡ Ñ+Ô+Ð+ÝÔ˜VÑ$Ô$Ð$Ø ×Ò˜Ÿš™œ¨&Ñ1Ô1Ð1Ð1Ð1rcóè—tj| ¦«j¦«}| t j¦«| t j¦«| ¦«|  ¦«|  tj |jt j¦«|  tj |jt j¦«dSrO) r@r(rrr?r@Ú CTRL_C_EVENTÚCTRL_BREAK_EVENTr+Úwaitr)Ú NoSuchProcessr,s rÚtest_ctrl_signalszTestProcess.test_ctrl_signals‘sÁ€Ý ŒN˜4×.Ò.Ñ0Ô0Ô4Ñ 5Ô 5ˆØ � Š •fÔ)Ñ*Ô*Ð*Ø � Š •fÔ-Ñ.Ô.Ð.Ø �ЉŒˆØ �ЉŒˆØ ×Ò�&Ô.Øœ-­Ô)<ñ >ô >ð >à ×Ò�&Ô.Øœ-­Ô)@ñ Bô Bð Bð Bð Brcó—tjtj¦«}| d¦«rt jd¦«‚| tj ¦«  ¦«|¦«dS)Nú$zrunning as service account) rGÚ GetUserNameExrGÚNameSamCompatibleÚendswithr r!r?r@r(r5)rBr3s rÚ test_usernamezTestProcess.test_usernameœsn€ÝÔ%¥hÔ&@ÑAÔAˆØ �=Š=˜Ñ Ô ð BõÔ#Ð$@ÑAÔAÐ AØ ×Ò�œÑ)Ô)×2Ò2Ñ4Ô4°dÑ;Ô;Ð;Ð;Ð;rcóz—tjddtj¦«¦« ¦«}d t j¦« ¦«¦«}|ddcxkr |dkrnn|  ddd¦«}|  ||¦«dS)Nz[ ]+rurú"r&r) ÚreÚsubrGÚGetCommandLiner.r/r@r(r#ryr?rIs rÚ test_cmdlinezTestProcess.test_cmdline¥s®€Ý”F˜6 3­Ô(?Ñ(AÔ(AÑBÔB×HÒHÑJÔJˆ Ø—x’x¥¤Ñ 0Ô 0× 8Ò 8Ñ :Ô :Ñ;Ô;ˆ Ø �QŒ<˜3Ð 1Ð 1Ò 1Ð 1 ,¨q¤/Ò 1Ð 1Ð 1Ð 1Ð 1ð "×)Ò)¨#¨r°1Ñ5Ô5ˆIØ ×Ò˜ LÑ1Ô1Ð1Ð1Ð1rcóZ—tjtjtjt j¦«¦«}| tj|¦«tj |¦«}tj ¦«  ¦«}| ||¦«dSrO)rGrFrGrHrIr=rDÚ addCleanuprJÚ win32processÚGetPriorityClassr@r(Únicer?©rBrLrJrKs rÚ test_nicezTestProcess.test_nice¿s„€ÝÔ%¥hÔ&HÝ&.¤nµb´i±k´kñCôCˆà �Š�Ô,¨fÑ5Ô5Ð5Ý Ô1°&Ñ9Ô9ˆ Ý”~Ñ'Ô'×,Ò,Ñ.Ô.ˆ Ø ×Ò˜ yÑ1Ô1Ð1Ð1Ð1rcó²—tjtjtj|j¦«}| tj|¦«tj |¦«}tj |j¦«  ¦«}|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |d|j¦«|  |j|j¦«|  |j|j¦«dS) NÚPeakWorkingSetSizeÚWorkingSetSizeÚQuotaPeakPagedPoolUsageÚQuotaPagedPoolUsageÚQuotaPeakNonPagedPoolUsageÚQuotaNonPagedPoolUsageÚ PagefileUsageÚPeakPagefileUsage)rGrFrGrHrIrrbrJrcÚGetProcessMemoryInfor@r(r7r?Ú peak_wsetÚwsetÚpeak_paged_poolÚ paged_poolÚpeak_nonpaged_poolÚ nonpaged_poolÚpagefileÚ peak_pagefiler:r;rfs rÚtest_memory_infozTestProcess.test_memory_infoÇsé€ÝÔ%¥hÔ&HÝ&.¤n°d´hñ@ô@ˆà �Š�Ô,¨fÑ5Ô5Ð5Ý Ô5°fÑ=Ô=ˆ Ý”~ d¤hÑ/Ô/×;Ò;Ñ=Ô=ˆ Ø ×ÒØ Ð*Ô +¨\Ô-Cñ Eô Eð Eà ×ÒØ Ð&Ô '¨Ô):ñ <ô <ð <à ×ÒØ Ð/Ô 0°,Ô2Nñ Pô Pð Pà ×ÒØ Ð+Ô ,¨lÔ.Eñ Gô Gð Gà ×ÒØ Ð2Ô 3Ø Ô +ñ -ô -ð -ð ×ÒØ Ð.Ô /°Ô1Kñ Mô Mð Mà ×ÒØ �oÔ &¨ Ô(=ñ ?ô ?ð ?à ×ÒØ Ð)Ô *¨LÔ,Fñ Hô Hð Hð ×Ò˜Ô)¨<Ô+<Ñ=Ô=Ð=Ø ×Ò˜Ô)¨<Ô+@ÑAÔAÐAÐAÐArcóz—tjtjtj|j¦«}| tj|¦«tj |j¦«}|  ¦«|  ¦«}tj |¦«}| ||¦«dSrO)rGrFrGrHrIrrbrJr@r(rrRrcÚGetExitCodeProcessr?)rBrLr-rKrJs rÚ test_waitzTestProcess.test_waitâs’€ÝÔ%¥hÔ&HÝ&.¤n°d´hñ@ô@ˆà �Š�Ô,¨fÑ5Ô5Ð5Ý ŒN˜4œ8Ñ $Ô $ˆØ � Š ‰ Œ ˆ Ø—v’v‘x”xˆ Ý Ô3°FÑ;Ô;ˆ Ø ×Ò˜ yÑ1Ô1Ð1Ð1Ð1rcór—d„}tjtjtj|j¦«}| tj|¦«|tj |¦«d¦«}tj |j¦«  ¦«}|  ||¦«dS)Ncó:‡—ˆfd„td¦«D¦«S)Ncó$•—g|] }d|z‰z¯ |‘Œ S)r'r)r*Úir+s €rr-zGTestProcess.test_cpu_affinity..from_bitmask..îs&ø€Ð9Ð9Ð9˜!¨Q°!©V°q©LÐ9�AÐ9Ð9Ð9ré@)Úrange)r+s`rÚ from_bitmaskz3TestProcess.test_cpu_affinity..from_bitmaskís#ø€Ø9Ð9Ð9Ð9�u R™yœyÐ9Ñ9Ô9Ð 9rr)rGrFrGrHrIrrbrJrcÚGetProcessAffinityMaskr@r(Ú cpu_affinityr?)rBr„rLrJrKs rÚtest_cpu_affinityzTestProcess.test_cpu_affinityìs©€ð :ð :ð :õÔ%¥hÔ&HÝ&.¤n°d´hñ@ô@ˆà �Š�Ô,¨fÑ5Ô5Ð5Ø �LÝ Ô /°Ñ 7Ô 7¸Ô :ñ<ô<ˆ å”~ d¤hÑ/Ô/×<Ò<Ñ>Ô>ˆ Ø ×Ò˜ yÑ1Ô1Ð1Ð1Ð1rcóº—tjtjtjt j¦«¦«}| tj|¦«tj |¦«}tj ¦«  ¦«}| |j|d¦«| |j|d¦«| |j|d¦«| |j|d¦«| |j|d¦«| |j|d¦«dS)NÚReadOperationCountÚWriteOperationCountÚReadTransferCountÚWriteTransferCountÚOtherOperationCountÚOtherTransferCount)rGrFrGrHrIr=rDrbrJrcÚGetProcessIoCountersr@r(Ú io_countersr?Ú read_countÚ write_countÚ read_bytesÚ write_bytesÚ other_countÚ other_bytesrfs rÚtest_io_counterszTestProcess.test_io_countersøsj€ÝÔ%¥hÔ&HÝ&.¤nµb´i±k´kñCôCˆà �Š�Ô,¨fÑ5Ô5Ð5Ý Ô5°fÑ=Ô=ˆ Ý”~Ñ'Ô'×3Ò3Ñ5Ô5ˆ Ø ×ÒØ Ô # YÐ/CÔ%Dñ Fô Fð Fà ×ÒØ Ô $ iÐ0EÔ&Fñ Hô Hð Hà ×ÒØ Ô # YÐ/BÔ%Cñ Eô Eð Eà ×ÒØ Ô $ iÐ0DÔ&Eñ Gô Gð Gà ×ÒØ Ô $ iÐ0EÔ&Fñ Hô Hð Hà ×ÒØ Ô $ iÐ0DÔ&Eñ Gô Gð Gð Gð GrcóØ—ddl}ddl}d}|jj |d|j¦«}| |jjj|¦«|j  ¦«}|jj  ||  |¦«¦«|j }tj|j¦« ¦«}| ||¦«dS)Nré)ÚctypesÚctypes.wintypesÚwindllÚkernel32rFrrbrJÚwintypesÚDWORDÚGetProcessHandleCountÚbyrefÚvaluer@r(rEr?)rBršrHrLÚhndcntrJrKs rÚtest_num_handleszTestProcess.test_num_handles s݀؈ ˆ ˆ ØÐÐÐØ$)Ð!Ø”Ô'×3Ò3Ø % q¨$¬(ñ4ô4ˆà �Š˜œ Ô.Ô:¸FÑCÔCÐCà”×&Ò&Ñ(Ô(ˆØŒ Ô×4Ò4Ø �F—L’L Ñ(Ô(ñ *ô *ð *à”Lˆ Ý”~ d¤hÑ/Ô/×;Ò;Ñ=Ô=ˆ Ø ×Ò˜ yÑ1Ô1Ð1Ð1Ð1rcóŠ—t¦«}d|_tjd|¬¦«5tjd¦«5}t j¦«}| tj|j¦«ddd¦«n #1swxYwYddd¦«n #1swxYwY|  |j d¦«dS)Ni+z psutil._psplatform.cext.proc_cwd©Ú side_effectz time.sleeprF) Ú WindowsErrorÚwinerrorrrír@r(r)r*ÚcwdršÚ call_count)rBÚexcr r-s rÚtest_error_partial_copyz#TestProcess.test_error_partial_copys'€å‰nŒnˆØˆŒ Ý ŒZÐ:ÈÐ LÑ LÔ Lð >ð >Ý”˜LÑ)Ô)ð >¨QÝ”NÑ$Ô$�Ø×!Ò!¥&Ô"5°q´uÑ=Ô=Ð=ð >ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð ×Ò ¤ ¨aÑ0Ô0Ð0Ð0Ð0s5¬BÁ9BÁ: BÂB  B B ÂBÂB!Â$B!cóÆ—tj¦«ddz}tj |¦«}| tj|j¦«dS)NriŸ†)r@r¦Ú _psplatformr(r)rSÚexe)rBrrRs rÚtest_exezTestProcess.test_exe$sP€õŒk‰mŒm˜BÔ %Ñ'ˆÝÔ!×)Ò)¨#Ñ.Ô.ˆØ ×Ò�&Ô.°´Ñ9Ô9Ð9Ð9Ð9rN)rrrÚ classmethodr!r%r.r<rBrNrTrZr`rgrzr}r‡r—r¤r­r±rrrrrds5€€€€€àð'ð'ñ„[ð'ðððñ„[ðð7ð7ð7ð%ð%ð%ð"DðDðDð2ð2ð2ð Bð Bð Bð<ð<ð<ð 2ð 2ð 2ð42ð2ð2ðBðBðBð62ð2ð2ð 2ð 2ð 2ðGðGðGð& 2ð 2ð 2ð1ð1ð1ð:ð:ð:ð:ð:rrcóÖ—eZdZdZed„¦«Zed„¦«Zd„Zej e d¦«d„¦«Z d„Z d„Z e¦«d „¦«Ze¦«d „¦«Zd „Zd S) ÚTestProcessWMIz%Compare Process API results with WMI.có6—t¦«j|_dSrOrrs rr!zTestProcessWMI.setUpClass/r"rcó.—t|j¦«dSrOr$rs rr%zTestProcessWMI.tearDownClass3r&rcóö—tj¦« |j¬¦«d}t j|j¦«}| | ¦«|j¦«dS©Nr¡r) rUrVr¤rr@r(r?r3ÚCaption©rBrYr-s rÚ test_namezTestProcessWMI.test_name7s\€Ý ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆØ ×Ò˜Ÿš™œ 1¤9Ñ-Ô-Ð-Ð-Ð-rz!unreliable path on GITHUB_ACTIONScó>—tj¦« |j¬¦«d}t j|j¦«}| | ¦« ¦«|j  ¦«¦«dSr¸) rUrVr¤rr@r(r?r°rzÚExecutablePathrºs rr±zTestProcessWMI.test_exe=ss€å ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆð ×Ò˜Ÿš™œŸš™œ¨!Ô*:×*@Ò*@Ñ*BÔ*BÑCÔCÐCÐCÐCrcóD—tj¦« |j¬¦«d}t j|j¦«}| d | ¦«¦«|j   dd¦«¦«dS)Nr¡rrur\r&) rUrVr¤rr@r(r?r/r#Ú CommandLineryrºs rr`zTestProcessWMI.test_cmdlineEsƒ€Ý ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆØ ×Ò˜Ÿš !§)¢)¡+¤+Ñ.Ô.Øœ×.Ò.¨s°BÑ7Ô7ñ 9ô 9ð 9ð 9ð 9rcó*—tj¦« |j¬¦«d}t j|j¦«}| ¦«\}}}|›d|›�}| | ¦«|¦«dS)Nr¡rr­) rUrVr¤rr@r(ÚGetOwnerr?r5)rBrYr-ÚdomainÚ_r5s rrZzTestProcessWMI.test_usernameKs~€Ý ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆØŸjšj™lœlш��8Ø%˜v˜v x xÐ0ˆØ ×Ò˜Ÿš™œ xÑ0Ô0Ð0Ð0Ð0rcó—tj¦« |j¬¦«d}t j|j¦«}| ¦«j}| |t|j ¦«¦«dSr¸) rUrVr¤rr@r(r7r:r?r<rj)rBrYr-r:s rÚtest_memory_rsszTestProcessWMI.test_memory_rssRsm€å ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆØ�mŠm‰oŒoÔ!ˆØ ×Ò˜�c !Ô"2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4rcóN—tj¦« |j¬¦«d}t j|j¦«}| ¦«j}t|j ¦«}||kr$||dzkr|  d|›d|›�¦«‚dSdS)Nr¡rr™zwmi=z , psutil=) rUrVr¤rr@r(r7r;r<Ú PageFileUsager{)rBrYr-r;Ú wmi_usages rÚtest_memory_vmszTestProcessWMI.test_memory_vmsYsž€å ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆØ�mŠm‰oŒoÔ!ˆõ ˜œÑ(Ô(ˆ Ø �9Ò Ð  3¨)°dÑ*:Ò#:Ð#:Ø—)’)�)°9°9°9¸c¸cÐBÑCÔCÐ Cð Ð Ð#:Ð#:rcó”—tj¦« |j¬¦«d}t j|j¦«}t |j d¦«d¦«}tj dtj |  ¦«¦«¦«}|  ||¦«dS)Nr¡rrÙrÚ)rUrVr¤rr@r(r4Ú CreationDater2ÚtimeÚstrftimeÚ localtimer6r?)rBrYr-Ú wmic_createÚ psutil_creates rÚtest_create_timezTestProcessWMI.test_create_timefsž€Ý ŒG‰IŒI× #Ò #¨d¬hÐ #Ñ 7Ô 7¸Ô :ˆÝ ŒN˜4œ8Ñ $Ô $ˆÝ˜!œ.×.Ò.¨sÑ3Ô3°AÔ6Ñ7Ô7ˆ Ýœ  nÝ&*¤n°Q·]²]±_´_Ñ&EÔ&EñGôGˆ à ×Ò˜ mÑ4Ô4Ð4Ð4Ð4rN)rrrÚ__doc__r²r!r%r»r rprr±r`rZrrÅrÉrÑrrrr´r´,s€€€€€Ø/Ð/àð'ð'ñ„[ð'ðððñ„[ðð.ð.ð.ð €X„_�^Ð%HÑIÔIðDðDñJÔIðDð9ð9ð9ð 1ð1ð1ðÐÑÔð5ð5ñÔð5ð ÐÑÔð Dð DñÔð Dð5ð5ð5ð5ð5rr´cób—eZdZdZed„¦«Zed„¦«Zd„Zd„Zd„Z d„Z d„Z d „Z d S) ÚTestDualProcessImplementationa{ Certain APIs on Windows have 2 internal implementations, one based on documented Windows APIs, another one based NtQuerySystemInformation() which gets called as fallback in case the first fails because of limited permission error. Here we test that the two methods return the exact same value, see: https://github.com/giampaolo/psutil/issues/304 có6—t¦«j|_dSrOrrs rr!z(TestDualProcessImplementation.setUpClass~r"rcó.—t|j¦«dSrOr$rs rr%z+TestDualProcessImplementation.tearDownClass‚r&rcóª—tj|j¦« ¦«}t jdt tjd¦«¬¦«5}tj|j¦« ¦«}|  t|¦«t|¦«¦«tt|¦«¦«D]^}|  ||d¦«|  ||d¦«|  ||||d¬¦«Œ_|jsJ‚ ddd¦«dS#1swxYwYdS)Nz(psutil._psplatform.cext.proc_memory_infoÚmsgr¦rir‡)r@r(rr7rríÚOSErrorÚerrnoÚEPERMr?rdrƒršrŠr)rBÚmem_1ÚfunÚmem_2r�s rrzz.TestDualProcessImplementation.test_memory_info†su€Ý”˜tœxÑ(Ô(×4Ò4Ñ6Ô6ˆÝ ŒZÐBÝ$+­E¬K¸Ñ$?Ô$?ðAñAôAð ØDGÝ”N 4¤8Ñ,Ô,×8Ò8Ñ:Ô:ˆEØ × Ò �S ™ZœZ­¨U©¬Ñ 4Ô 4Ð 4Ý�3˜u™:œ:Ñ&Ô&ð Fð F�Ø×'Ò'¨¨a¬°!Ñ4Ô4Ð4Ø×'Ò'¨¨a¬°!Ñ4Ô4Ð4Ø×&Ò& u¨Q¤x°°q´ÀÐ&ÑEÔEÐEÐEØ”:Ð Ð �:Ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sÁC EÅE ÅE có|—tj|j¦« ¦«}t jdt tjd¦«¬¦«5}|  tj|j¦« ¦«|¦«|j sJ‚ ddd¦«dS#1swxYwYdS)Nú"psutil._psplatform.cext.proc_timesrØr¦) r@r(rr6rrírÙrÚrÛr?r)rBÚctimerÝs rrÑz.TestDualProcessImplementation.test_create_time’së€Ý”˜tœxÑ(Ô(×4Ò4Ñ6Ô6ˆÝ ŒZÐ<Ý$+­E¬K¸Ñ$?Ô$?ðAñAôAð ØDGØ × Ò �Vœ^¨D¬HÑ5Ô5×AÒAÑCÔCÀUÑ KÔ KÐ KØ”:Ð Ð �:Ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð óÁA B1Â1B5Â8B5cóÚ—tj|j¦« ¦«}t jdt tjd¦«¬¦«5}tj|j¦« ¦«}|j sJ‚|  |j |j d¬¦«|  |j |j d¬¦«ddd¦«dS#1swxYwYdS)NràrØr¦g{®Gáz„?r‡) r@r(rrerrírÙrÚrÛrrŠÚuserÚsystem)rBÚ cpu_times_1rÝÚ cpu_times_2s rÚtest_cpu_timesz,TestDualProcessImplementation.test_cpu_times™sD€Ý”n T¤XÑ.Ô.×8Ò8Ñ:Ô:ˆ Ý ŒZÐ<Ý$+­E¬K¸Ñ$?Ô$?ðAñAôAð DØDGÝ œ.¨¬Ñ2Ô2×<Ò<Ñ>Ô>ˆKØ”:Ð Ð �:Ø × "Ò "ØÔ  +Ô"2¸$ð #ñ @ô @ð @à × "Ò "ØÔ" KÔ$6¸dð #ñ Dô Dð Dð  Dð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð DsÁA9C à C$Ã'C$cóÚ—tj|j¦« ¦«}t jdt tjd¦«¬¦«5}tj|j¦« ¦«}tt|¦«¦«D]&}|  ||||d¬¦«Œ'|j sJ‚ ddd¦«dS#1swxYwYdS)Nz(psutil._psplatform.cext.proc_io_countersrØr¦rFr‡) r@r(rr�rrírÙrÚrÛrƒrdrŠr)rBÚ io_counters_1rÝÚ io_counters_2r�s rr—z.TestDualProcessImplementation.test_io_counters¤s2€Ýœ t¤xÑ0Ô0×<Ò<Ñ>Ô>ˆ Ý ŒZÐBÝ$+­E¬K¸Ñ$?Ô$?ðAñAôAð ØDGÝ"œN¨4¬8Ñ4Ô4×@Ò@ÑBÔBˆMÝ�3˜}Ñ-Ô-Ñ.Ô.ð Að A�Ø×&Ò&Ø! !Ô$ m°AÔ&6¸að'ñAôAðAðAà”:Ð Ð �:Ð ð  ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sÁA8C à C$Ã'C$có|—tj|j¦« ¦«}t jdt tjd¦«¬¦«5}|  tj|j¦« ¦«|¦«|j sJ‚ ddd¦«dS#1swxYwYdS)Nz(psutil._psplatform.cext.proc_num_handlesrØr¦) r@r(rrErrírÙrÚrÛr?r)rBrErÝs rr¤z.TestDualProcessImplementation.test_num_handles®sò€Ý”n T¤XÑ.Ô.×:Ò:Ñ<Ô<ˆ Ý ŒZÐBÝ$+­E¬K¸Ñ$?Ô$?ðAñAôAð ØDGØ × Ò �Vœ^¨D¬HÑ5Ô5×AÒAÑCÔCØ(ñ *ô *ð *à”:Ð Ð �:Ð ð  ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð râcój—tj¦«D]ž} t |d¬¦«}t |d¬¦«}| ||¦«ŒR#t $r@}t |¦«}t|tjtj f¦«s‚Yd}~Œ—d}~wwxYwdS)NT)Úuse_pebF) r@r¦rÍÚ proc_cmdliner?rÙrÚ isinstancer*rS)rBrÚaÚbÚerrs rr`z*TestDualProcessImplementation.test_cmdline¶s߀Ý”;‘=”=ð 'ð 'ˆCð 'Ý×%Ò% c°4Ð%Ñ8Ô8�Ý×%Ò% c°5Ð%Ñ9Ô9�ð× Ò   AÑ&Ô&Ð&Ð&øõ ð ð ð Ý% cÑ*Ô*�Ý! #­Ô(;Ý(.Ô(<ð(>ñ?ô?ðàðððððøøøøð øøøð 'ð 's—8A&Á& B0Á06B+Â+B0N) rrrrÒr²r!r%rzrÑrèr—r¤r`rrrrÔrÔrs±€€€€€ðððð'ð'ñ„[ð'ðððñ„[ðð ð ð ðððð Dð Dð Dððððððð 'ð 'ð 'ð 'ð 'rrÔcón‡—eZdZdZed„¦«ZddgZˆfd„Zˆfd„Zd„Z d„Z d „Z d „Z d „Z d „ZˆxZS) ÚRemoteProcessTestCasez×Certain functions require calling ReadProcessMemory. This trivially works when called on the current process. Check that this works on other processes, especially when they have a different bitness. có$—d}tjd¦«D]x}tj|d|gtjtj¬¦«}| ¦«\}}| ¦«|tt ¦«kr|cSŒydS)Nz6import sys; sys.stdout.write(str(sys.maxsize > 2**32))zC:\Python*\python.exeú-c)ÚargsÚstdoutÚstderr) ÚglobÚ subprocessÚPopenÚPIPEÚSTDOUTÚ communicaterRr4r )ÚcodeÚfilenamerRÚoutputrÃs rÚfind_other_interpreterz,RemoteProcessTestCase.find_other_interpreterÌs¢€ðHˆõœ Ð":Ñ;Ô;ð ð ˆHÝÔ#¨(°D¸$Ð)?Ý+5¬?Ý+5Ô+<ð>ñ>ô>ˆDð×(Ò(Ñ*Ô*‰IˆF�AØ �IŠI‰KŒKˆKØ�¥˜\Ñ*Ô*Ò*Ð*Ø���ð+ð  ð rr÷zimport sys; sys.stdin.read()cób•—t¦« ¦«| ¦«}|€tjd¦«‚t rt j|_||_ n||_t j|_ tj   ¦«}ttj¦«¦«|d<| |j g|jz|t"j¬¦«|_| |jg|jz|t"j¬¦«|_dS)Nz0could not find interpreter with opposite bitnessÚTHINK_OF_A_NUMBER)ÚenvÚstdin)rÚsetUprr r!r ÚsysÚ executableÚpython64Úpython32r=r>Úcopyr4rDrÚ test_argsrürþÚproc32Úproc64)rBÚ other_pythonrÚ __class__s €rr zRemoteProcessTestCase.setUpÞsø€Ý ‰Œ� Š ‰Œˆà×2Ò2Ñ4Ô4ˆ Ø Ð ÝÔ#ØBñDôDð Då ð +ÝœNˆDŒMØ(ˆDŒMˆMà(ˆDŒMÝœNˆDŒMåŒj�oŠoÑÔˆÝ#&¥r¤y¡{¤{Ñ#3Ô#3ˆÐ Ñ Ø×)Ò)Ø Œ]ˆO˜dœnÑ ,ØÝ”/ð*ñ#ô#ˆŒ ð×)Ò)Ø Œ]ˆO˜dœnÑ ,ØÝ”/ð*ñ#ô#ˆŒ ˆ ˆ rc󬕗t¦« ¦«|j ¦«|j ¦«dSrO)rÚtearDownrrr)rBrs €rrzRemoteProcessTestCase.tearDown÷sGø€Ý ‰Œ×ÒÑÔÐØ Œ ×ÒÑ!Ô!Ð!Ø Œ ×ÒÑ!Ô!Ð!Ð!Ð!rcó—tj|jj¦«}| t | ¦«¦«d¦«| | ¦«dd…|j¦«dS©Nér')r@r(rrr?rdr#rr,s rÚtest_cmdline_32z%RemoteProcessTestCase.test_cmdline_32üói€Ý ŒN˜4œ;œ?Ñ +Ô +ˆØ ×Ò�˜QŸYšY™[œ[Ñ)Ô)¨1Ñ-Ô-Ð-Ø ×Ò˜Ÿš™œ Q R Rœ¨$¬.Ñ9Ô9Ð9Ð9Ð9rcó—tj|jj¦«}| t | ¦«¦«d¦«| | ¦«dd…|j¦«dSr)r@r(rrr?rdr#rr,s rÚtest_cmdline_64z%RemoteProcessTestCase.test_cmdline_64rrcó´—tj|jj¦«}| | ¦«t j¦«¦«dSrO)r@r(rrr?rªr=Úgetcwdr,s rÚ test_cwd_32z!RemoteProcessTestCase.test_cwd_32ó?€Ý ŒN˜4œ;œ?Ñ +Ô +ˆØ ×Ò˜Ÿš™œ¥"¤)¡+¤+Ñ.Ô.Ð.Ð.Ð.rcó´—tj|jj¦«}| | ¦«t j¦«¦«dSrO)r@r(rrr?rªr=rr,s rÚ test_cwd_64z!RemoteProcessTestCase.test_cwd_64 r rcó —tj|jj¦«}| ¦«}| d|¦«| |dttj ¦«¦«¦«dS)Nr) r@r(rrr>ÚassertInr?r4r=rD)rBr-Úes rÚtest_environ_32z%RemoteProcessTestCase.test_environ_32sg€Ý ŒN˜4œ;œ?Ñ +Ô +ˆØ �IŠI‰KŒKˆØ � Š Ð)¨1Ñ-Ô-Ð-Ø ×Ò˜Ð.Ô/µµR´Y±[´[Ñ1AÔ1AÑBÔBÐBÐBÐBrcó˜—tj|jj¦«} | ¦«dS#tj$rYdSwxYwrO)r@r(rrr>r*r,s rÚtest_environ_64z%RemoteProcessTestCase.test_environ_64sP€Ý ŒN˜4œ;œ?Ñ +Ô +ˆð Ø �IŠI‰KŒKˆKˆKˆKøÝÔ"ð ð ð Ø ˆDˆDð øøøs 6¶A ÁA )rrrrÒÚ staticmethodrrr rrrrr"r&r(Ú __classcell__)rs@rrõrõÄsàø€€€€€ððð ð  ð  ñ„\ð  ðÐ5Ð6€Ið#ð#ð#ð#ð#ð2"ð"ð"ð"ð"ð :ð:ð:ð :ð:ð:ð /ð/ð/ð/ð/ð/ðCðCðCð ððððððrrõcó—eZdZd„Zd„ZdS)Ú TestServicescóô—tgd¢¦«}tgd¢¦«}tgd¢¦«}tj¦«D�]/}| ¦«}| |dt ¦«| |d ¦«d¦«| |dt ¦«| |dt ¦«| |d|¦«|d �tj |d ¦«| |d t ¦«| |dt ¦«| |d t ¦«| |d |¦«| |d|¦«| |d t ¦«|  ¦«}|�;tj |¦«}|  |  ¦«¦«tj | ¦«¦«}| ||¦«�Œ1dS) N)ÚrunningÚpausedÚstartÚpauseÚcontinueÚstopÚstopped)Ú automaticÚmanualÚdisabled)r.r/Ú start_pendingÚ pause_pendingÚcontinue_pendingÚ stop_pendingr4r3r&Ú display_namer5ÚstatusrÚbinpathÚ start_typeÚ description)r¥r@Úwin_service_iterÚas_dictÚassertIsInstancer4ÚassertNotEqualr.r$r(rrÒÚ is_runningÚwin_service_getr3r?)rBÚvalid_statusesÚvalid_start_typesÚservr6rr-Úss rÚtest_win_service_iterz"TestServices.test_win_service_iter$sG€Ýð ð ð ñ ô ˆõ ð! ð! ð! ñ ô Ðõ ð ð ð ñ ô ˆõÔ+Ñ-Ô-ð &ñ &ˆDØ—<’<‘>”>ˆDØ × !Ò ! $ v¤,µÑ 4Ô 4Ð 4Ø × Ò   V¤ × 2Ò 2Ñ 4Ô 4°bÑ 9Ô 9Ð 9Ø × !Ò ! $ ~Ô"6½Ñ <Ô <Ð <Ø × !Ò ! $ zÔ"2µCÑ 8Ô 8Ð 8Ø �MŠM˜$˜xœ.¨.Ñ 9Ô 9Ð 9Ø�EŒ{Ð&Ý”˜t Eœ{Ñ+Ô+Ð+Ø × !Ò ! $ y¤/µ3Ñ 7Ô 7Ð 7Ø × !Ò ! $ zÔ"2µCÑ 8Ô 8Ð 8Ø × !Ò ! $ |Ô"4µcÑ :Ô :Ð :Ø �MŠM˜$˜|Ô,Ð.?Ñ @Ô @Ð @Ø �MŠM˜$˜xœ.¨.Ñ 9Ô 9Ð 9Ø × !Ò ! $ }Ô"5µsÑ ;Ô ;Ð ;Ø—(’(‘*”*ˆC؈ݔN 3Ñ'Ô'�Ø—’ § ¢ ¡¤Ñ/Ô/Ð/åÔ& t§y¢y¡{¤{Ñ3Ô3ˆAà × Ò ˜T 1Ñ %Ô %Ð %Ñ %ð- &ð &rcóx—tjjj}tjjj}t tj¦«¦« ¦«}| tj ¦«5}tj |dz¦«ddd¦«n #1swxYwY|  |j j|dz¦«tj |¦«}trddd|f}n|df}t|Ž}tjd|¬¦«5| tj |j¦«ddd¦«n #1swxYwYtjd|¬¦«5| tj |j¦«ddd¦«n #1swxYwYtrddd|f}n|df}t|Ž}tjd|¬¦«5| tj|j¦«ddd¦«n #1swxYwYtjd|¬¦«5| tj|j¦«ddd¦«n #1swxYwY| | ¦«t+|¦«¦«| | ¦«t+|¦«¦«| | ¦«t/|¦«¦«| | ¦«t/|¦«¦«dS)Nz???rrØz/psutil._psplatform.cext.winservice_query_statusr¦z/psutil._psplatform.cext.winservice_query_config)r@r¯rÍÚERROR_SERVICE_DOES_NOT_EXISTÚERROR_ACCESS_DENIEDÚnextrAr3r)rSrFr?Ú exceptionr r¨rrír=r5r*r$r4r<r»)rBrMrNr3ÚcmÚservicerør¬s rÚtest_win_service_getz!TestServices.test_win_service_getTse€å Ô Ô #Ô @ð %å$Ô0Ô5ÔIÐå•FÔ+Ñ-Ô-Ñ.Ô.×3Ò3Ñ5Ô5ˆØ × Ò �vÔ3Ñ 4Ô 4ð 1¸Ý Ô " 4¨%¡<Ñ 0Ô 0Ð 0ð 1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1à ×Ò˜œÔ*¨D°5©LÑ9Ô9Ð9õÔ(¨Ñ.Ô.ˆÝ ð 9Ø�u˜aÐ!=Ð>ˆDˆDà0°%Ð8ˆDݘDÐ!ˆÝ ŒZÐIØ$'ð)ñ)ô)ð Dð Dà × Ò �fÔ2°G´NÑ CÔ CÐ Cð Dð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð DõŒZÐIØ$'ð)ñ)ô)ð Fð Fà × Ò �fÔ2°GÔ4DÑ EÔ EÐ Eð Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ ð 0Ø�u˜aÐ!4Ð5ˆDˆDà'¨Ð/ˆDݘDÐ!ˆÝ ŒZÐIØ$'ð)ñ)ô)ð Cð Cà × Ò �fÔ1°7´>Ñ BÔ BÐ Bð Cð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð CõŒZÐIØ$'ð)ñ)ô)ð Eð Eà × Ò �fÔ1°7Ô3CÑ DÔ DÐ Dð Eð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð � Š �g—l’l‘n”n¥c¨'¡l¤lÑ3Ô3Ð3Ø � Š �g×*Ò*Ñ,Ô,­c°'©l¬lÑ;Ô;Ð;Ø � Š �g—l’l‘n”n¥d¨7¡m¤mÑ4Ô4Ð4Ø � Š �g×*Ò*Ñ,Ô,­d°7©m¬mÑ<Ô<Ð<Ð<ÐB"Â"B&Â)B&Ä&EÅE ÅE Å(&FÆFÆ!FÇ&HÈH ÈH È)&IÉIÉ"IN)rrrrKrSrrrr,r,!s3€€€€€ð.&ð.&ð.&ð`)=ð)=ð)=ð)=ð)=rr,Ú__main__)Ú run_from_name)=rÒrÝrÚrûr=r8r]r@rür rÌr Úwarningsr@rÚpsutil._compatrrrÚ psutil.testsrrr r r r r rrrrrrrÚcatch_warningsÚ simplefilterrGrGrcrUÚpsutil._pswindowsrr¯rÍrprr$r<r7r9rrrðrr´rÔrõr,rÚpsutil.tests.runnerrUÚ__file__rrrúr^srððÐà€€€Ø € € € Ø € € € Ø € € € Ø€€€Ø € € € Ø € € € ØÐÐÐØ € € € Ø € € € Ø€€€Ø€€€à € € € ØÐÐÐÐÐØ,Ð,Ð,Ð,Ð,Ð,Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø!Ð!Ð!Ð!Ð!Ð!Ø'Ð'Ð'Ð'Ð'Ð'Ø$Ð$Ð$Ð$Ð$Ð$Ø!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐØÐÐÐÐÐØ-Ð-Ð-Ð-Ð-Ð-Ø*Ð*Ð*Ð*Ð*Ð*Ø'Ð'Ð'Ð'Ð'Ð'ØÐÐÐÐÐØ)Ð)Ð)Ð)Ð)Ð)ØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ø"Ð"Ð"Ð"Ð"Ð"ð ð�4ðØ ˆÔ Ñ "Ô "ðð؈ԘhÑ'Ô'Ð'؈ˆˆØˆˆˆØÐÐÐØˆ ˆ ˆ ð ððñôððððððøøøððððð ð2Ø1Ð1Ð1Ð1Ð1Ð1ðÔÔ€ð€„�W�˜nÑ-Ô-Ø€„�Ð6Ñ7Ô7à€„�Ð+¨ GÐ-MÑNÔNð ð ð ð ð �nñ ô ñOÔNñ8Ô7ñ.Ô-ð ð ð ð ð #ððððð,$Dð$Dð$Dð$Dð$D�/ñ$Dô$Dð$DðNR6ðR6ðR6ðR6ðR6�_ñR6ôR6ðR6ðt4ð4ð4ð4ð4˜ñ4ô4ð4ðxE:ðE:ðE:ðE:ðE:�/ñE:ôE:ðE:ðP@5ð@5ð@5ð@5ð@5�_ñ@5ô@5ð@5ðL€„�W�˜nÑ-Ô-ðN'ðN'ðN'ðN'ðN' NñN'ôN'ñ.Ô-ðN'ðb€„�W�˜nÑ-Ô-ðTðTðTðTðT˜NñTôTñ.Ô-ðTðx€„�W�˜nÑ-Ô-ð[=ð[=ð[=ð[=ð[=�>ñ[=ô[=ñ.Ô-ð[=ð| ˆzÒÐØ1Ð1Ð1Ð1Ð1Ð1Ø€M�(ÑÔÐÐÐðÐsÂ6!C#Ã#C'Ã*C'