grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ,-Þiã@s¦ddlZddlZddlZddlZddlZddlmZdd„Zdd„Z dd „Z d d „Z e  ¡Z ejdfd d „ZGdd„deƒZddd„ZdZdd„ZGdd„deƒZdS)éNé)ÚlibcCs¤g}t|dƒ�‚}| ¡}| d¡D]^}| d¡}|dkrH| t|ƒ¡q"t|d|…ƒ}t||dd…ƒ}| t||dƒ¡q"Wdƒn1s–0Y|S)NÚrú,ú-éÿÿÿÿr)ÚopenÚreadÚsplitÚfindÚappendÚintÚextendÚrange)ÚpathZcpusÚfZcpus_range_strZ cpu_rangeZrangeopÚstartÚend©rú-/usr/lib/python3.9/site-packages/bcc/utils.pyÚ_read_cpu_ranges  4rcCstdƒS)Nz/sys/devices/system/cpu/online©rrrrrÚget_online_cpus$srcCstdƒS)Nz /sys/devices/system/cpu/possiblerrrrrÚget_possible_cpus'srcCs.t |¡}t |tj¡j ¡}||vr*|SdS©N)rZbcc_procutils_languageÚctÚcastZc_char_pÚvalueÚdecode)Z candidatesÚpidÚresÚlanguagerrrÚdetect_language*s r"cCs8t|dƒr|jn|}| |¡|r,| d¡| ¡dS)zA printb(s) print a bytes object to stdout and flush Úbufferó N)Úhasattrr#ÚwriteÚflush)ÚsÚfileÚnlÚbufrrrÚprintb1s   r,c@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú ArgStringzÑ ArgString(arg) encapsulate a system argument that can be easily coerced to a bytes() object, which is better for comparing to kernel or probe data (which should never be en/decode()'ed). cCs&tjddkr||_n | t¡|_dS)Nré)ÚsysÚ version_infor(rÚFILESYSTEMENCODING)ÚselfÚargrrrÚ__init__FszArgString.__init__cCs |j t¡Sr)r(Úencoder1©r2rrrÚ __bytes__LszArgString.__bytes__cCs|jSr)r(r6rrrÚ__str__OszArgString.__str__N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r4r7r8rrrrr->sr-c CsDt|dƒr|ntj}tjt d¡|d�| t |||||¡¡dS)Nr&é)rr)) r%r/ÚstderrÚ tracebackÚ print_stackÚ _getframer&ÚwarningsÚ formatwarning)ÚmessageÚcategoryÚfilenameÚlinenor)ÚlineÚlogrrrÚwarn_with_tracebackRsrJFcCs@|dur |Strn*t|ƒturs