
    %j52                        d Z ddlZddlZddlZddlmZ ddlZdZdZ e	 e
 ee            D  cg c]	  } e|    | f c}       Z ej                  d      Zej                  dd	d
       ej                  ddddedd       ej                  dddeeej%                         z   dd       ej                  dddd       ej                  dddd        ej                  d!d"dd#       ej                  d$d%d&d'(       ej                  d)d*d+dd,       ej                  d-d.d/dd0       ej                  d1d2d3dd4       ej                  d5d6d7d8d9       ej                  d:d;d<d8d=       ej                  d>d?d@dAez   dBC       ej                  dDdEdFddGdHI       ej'                         Zeej*                  j-                            Zej.                  Zej0                  j3                  ej4                        Zej8                  rOej;                  g dJ      Z ej>                  dKe      jA                  dL      Z! e"dMe!       ejG                  e!        ee      dk(  rdNe_$         e% e&dO e            Z' e% e&dP e            Z( e% e)dQ e(            Z(ejT                  dLz   dRz   dLz   Z+dSZ,	 ddl-Z-ddl.Z.ddl/Z/ e/j`                  dT e-jb                  de.jd                   e/jf                  dTdd                  \  Z4Z, e
dU      \  Z5Z6Z7Z8Z9Z:Z;Z<dVZ=ddWZ>ddXZ?dY Z@e6e7e8e9e:e;gZAe<e<e<e<e;e<e<e8dZZBd[ ZC ej                  d\       e>e6      d]e=d^ e>e8      d_e=iZEej                  r1 ej                  d`      ZGd] e>e7      d^e=d_ e>e8      dae=ZHeHeEeG<    e?dbe<e5c       e?dde5e9c       e?dee5e7c       e?dfe5e8c       e?dge5e6c       e?dhe5e6c      diZI ej                  dj      ZJ ej                  dk      ZK ej                  dl      ZL ej                  dm      ZM ej                  dn      ZN ej                  do      ZO ej                  dp      ZP ej                  dq      ZQ ej                  dr      ZR ej                  ds      ZSg dtZTej                  r* e%eT      ZVeVjG                  d1       ej;                  eV       ej                  j                         r2ej;                  eTdNu      ZYeYj                  j                  dvdwdxy      Z\nej                  Z\ e]       Z^dZ_dZ`dz Zad{ Zbd| Zcd} Zdej;                  d~      Zeeej                         D ]P  ZgeJj                  eg      ZieieijA                  dL      ZjeijA                  d      Zkeke'v s>dNZle^j                  ej       R e\D ]  Zg eeg      dk(  r yeRj                  eg      Znen%eQj                  eg      Zoeo9eoj                         \  ZqZrZsZterj                         Zr eceg      Zvevrzev\  ZwZxZyZzZ{ eaew      rje^j                  ey       eyZ`dZ|e| e?de+dLz
  z  e<      z  Z|e| e@dewdexd      z  Z|e| e?de+dLz
  z  e<      z  Z|e|deydezde{z  Z|e|dz  Z| e"e|       dZ_ eberet      \  Z}Z~e}rAe^j                  e}       dZ|e| e?de+dLz
  z  e6      z  Z|e|de~de}dz  Z|e|dz  Z| e"e|       dZ_erdk(  r5eSj                  etj                               Zeetj                         Zte`ZsejH                  sese^vr}eqev r
eeq   ek  rej                  r ederej                        rej                  r ederej                        sdZ|ejT                  dkD  rkere_k7  sej                  rBerZ_ eCer      ZerejT                   d j                  ejT                        Zre| e?ere      z  Z|ne|dejT                  z  z  Z|e|dz  Z|eqeIv r	e|eIeq   z  Z|ne|deqz   dz   z  Z|e|dz  Z|eED ]  ZeEe   Zej                  eet      Zt e| e@et      z  Z| e"e|        yc c} w #  Y VxY w)a<  
Copyright 2009, The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
    N)PIPEz2.1.0VDIWEFzFilter logcat by package name)descriptionpackage*zApplication package name(s))nargshelpz-wz--tag-widthN	tag_width   zWidth of log tag)metavardesttypedefaultr	   z-lz--min-level	min_levelVz*Minimum level to be displayed [default: V])r   r   choicesr   r	   z
--color-gccolor_gc
store_truezColor garbage collection)r   actionr	   z--always-display-tagsalways_tagszAlways display the tag namez	--currentcurrent_appz$Filter logcat by current running appz-sz--serialdevice_serialz$Device serial number (adb -s option))r   r	   z-dz--device
use_devicez.Use first device for log input (adb -d option)z-ez
--emulatoruse_emulatorz0Use first emulator for log input (adb -e option)z-cz--clearclear_logcatz#Clear the entire log before runningz-tz--tagtagappendz!Filter output by specified tag(s)z-iz--ignore-tagignored_tagz*Filter output by ignoring specified tag(s)-vz	--versionversionz	%(prog)s z!Print the version number and exit)r   r!   r	   z-az--allallFzPrint all log messages)r   r   r   r	   )dumpsysactivity
activitiesz.*TaskRecord.*A[= ]([^ ^}]*)   zCurrent package:Tc                 *    | j                  d      dk(  S N:findr   s    S/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/adbutils/pidcat.py<lambda>r/   G   s    7<<,2     c                 *    | j                  d      dk7  S r(   r+   r-   s    r.   r/   r/   I   s    gll3.?2.E r0   c                 P    | j                  d      t        |       dz
  k7  r| S | d d S )Nr)   r&   r*   )r,   lenr-   s    r.   r/   r/   N   s1    <<Gq 00   6=crl r0      r*   hh   z[0mc                     g }| |j                  d| z         ||j                  d|z         |rddj                  |      z  S dS )Nz3%dz10%dz[%sm; )r   join)fgbgcodess      r.   	termcolorr>   b   sI    E	~u||EBJ/	~u||FRK0+0:'8b8r0   c                 .    t        ||      | z   t        z   S )N)r>   RESET)messager;   r<   s      r.   colorizerB   i   s    Rw&..r0   c                    t         dk(  r| S | j                  dd      } t         t        z
  }d}d}|t        |       k  rPt	        ||z   t        |             }|| || z  }|t        |       k  r|dz  }|dt        z  z  }|}|t        |       k  rP|S )Nr*   	z    r9   r   
 )widthreplaceheader_sizer3   min)rA   	wrap_area
messagebufcurrentnexts        r.   indent_wraprO   m   s    {oodF+G#IJG
CL
 7Y&G5ggd++
#g,$J#++J CL
  r0   )dalvikvmProcessActivityManagerActivityThreadAndroidRuntimejdwp
StrictModeDEBUGc                     | t         vrt        d   t         | <   t         |    }|t        v r*t        j                  |       t        j                  |       |S )Nr   )
KNOWN_TAGS	LAST_USEDremover   )r   colors     r.   allocate_colorr]      sK     *#A,
3sOE	Lr0   z4^(StrictMode policy violation)(; ~duration=)(\d+ ms)z\1z\2z\3z{^(GC_(?:CONCURRENT|FOR_M?ALLOC|EXTERNAL_ALLOC|EXPLICIT) )(freed <?\d+.)(, \d+\% free \d+./\d+., )(paused \d+ms(?:\+\d+ms)?)z\4z V )r;   r<   z D z I z W z E z F )r   DIWEFz?^\w+\s+(\w+)\s+\w+\s+\w+\s+\w+\s+\w+\s+\w+\s+\w\s([\w|\.|\/]+)$zT^.*: Start proc ([a-zA-Z0-9._:]+) for ([a-z]+ [^:]+): pid=(\d+) uid=(\d+) gids=(.*)$z;^.*: Start proc (\d+):([a-zA-Z0-9._:]+)/[a-z0-9]+ for (.*)$zO^E/dalvikvm\(\s*(\d+)\): >>>>> ([a-zA-Z0-9._:]+) \[ userId:0 \| appId:(\d+) \]$z-^Killing (\d+):([a-zA-Z0-9._:]+)/[^:]+: (.*)$z4^No longer want ([a-zA-Z0-9._:]+) \(pid (\d+)\): .*$z4^Process ([a-zA-Z0-9._:]+) \(pid (\d+)\) has died.?$z!^([A-Z])/(.+?)\( *(\d+)\): (.*?)$z.*nativeGetEnabledTags.*z^#(.*?)pc\s(.*?)$)logcatr    brief)streamrzutf-8rH   )encodingerrorsc                     t        t              dk(  ry| t        v ry| j                  d      }|dk(  r| t        v S | d | t        v S )Nr   Tr)   r*   )r3   r   named_processesr,   catchall_package)tokenindexs     r.   match_packagesrn      sQ    
7|qJJsOE*/2+E%% +fu))+r0   c                    | dk7  ryt         j                  |      }|r9|j                  d      }|j                  d      }t        |      r|t        v r||fS t
        j                  |      }|r9|j                  d      }|j                  d      }t        |      r|t        v r||fS t        j                  |      }|r9|j                  d      }|j                  d      }t        |      r|t        v r||fS y)NrR   NNr&      )PID_KILLmatchgrouprn   pids	PID_LEAVE	PID_DEATH)r   rA   killpidpackage_lineleavedeaths          r.   parse_deathr}      s    
>>'"Djjmzz!},'C4K$$OOG$Ekk!n{{1~,'C4K$$OOG$Ekk!n{{1~,'C4K$$r0   c                 4   t         j                  |       }||j                         \  }}}|||ddfS t        j                  |       }||j                         \  }}}}}|||||fS t        j                  |       }||j                         \  }}}|d||dfS y )Nr9   )PID_START_5_1rs   groups	PID_STARTPID_START_DALVIK)linestartline_pidline_packagetargetline_uid	line_gidss          r.   parse_start_procr      s    %E).&,VXr255OOD!E>Clln;fh)VXxBB""4(E+0<<>(,R8R77r0   c                 \     t         fdt        t        j                  |      D              S )Nc              3   V   K   | ]   }t        j                  d |z   dz          " yw)^$N)rers   ).0tr   s     r.   	<genexpr>z$tag_in_tags_regex.<locals>.<genexpr>  s$     L!rxxq4-Ls   &))anymapstrstrip)r   tagss   ` r.   tag_in_tags_regexr     s    Ls399d7KLLLr0   zps || ps -Arq   rE   rF   )r<   z	 Process z created for z PID: z   UID: z	   GIDs: z (PID: z) endedrW   r9   )r;   rp   )__doc__argparsesysr   
subprocessr   adbutils__version__
LOG_LEVELSdictranger3   LOG_LEVELS_MAPArgumentParserparseradd_argumentintr   lower
parse_argsargsr   upperr   adbdevicer   
adb_devicer   shellsystem_dumpsearchrt   running_package_nameprintr   r"   listfilterrk   rj   r   r   rI   rG   fcntltermiosstructunpackioctl
TIOCGWINSZpackhBLACKREDGREENYELLOWBLUEMAGENTACYANWHITEr@   r>   rB   rO   rZ   rY   r]   compileRULESr   keyvalTAGTYPESPID_LINEr   r   r   rr   rv   rw   LOG_LINEBUG_LINEBACKTRACE_LINEadb_commandr   adb_clear_commandstdinisattyre   connmakefile
adb_stdoutsetru   last_tagapp_pidrn   r}   r   r   ps_pid
splitlinesr   rs   	pid_matchry   proc	seen_pidsaddbug_linelog_liner   levelr   ownerrA   r   r   r   r   r   r   r   linebufdead_pid
dead_pnamer[   lstripbt_liner   r   r\   rjustmatcherrH   sub)is   0r.   <module>r      s	  *  
 	   
5Z3IJa
1q)JK	 	 	 -L	M   IS/L  M   D-;SZ\cu  v   D-kZXbXhXhXjMjtw  k   l   Lz,Mg  h   +-Zw  x   KmLNt  u   D*?Ag  h   D*<  TD   E   D,^L  XJ   K   D).Ty  z   D'hEh  i   D.}X  UA   B   D+i{AZ  bE   F   D'lEXp  q 4>>//12	
,,\\  !3!34
 ""#HIK$299%C%0227%( 	
23NN'(w<1DH 
2G<>  vE%' ( 	C nnq 1$q(
	!!v}}kekk!W//T1a1HIKHAu
 9>a 5sE64$9/" %w5		
	 BJJFG"3	&0A5I	 ==
"** 	GC "+5!15)F:K!&(C E#J %E*%D)%E*%F+%C(%C( 2::XYBJJno	

YZ2::pq BJJGHBJJNO	BJJNO	BJJ;<BJJ2301 ( [)T"&' 99k$7F%%cGI%NJJ
u
+0 M 
		-	( Dt$Iooa q!##IHHSM  UD
4yA~~~d#H~~d#H!)!2E3w
))+CT"E>C;fh),'HHXGGx{Q 7EBBG{$0&$: ; ;Gx{Q 7EBBG(H:CE EGtOG'NH&sG4HjH8C;?3<<JII4g g~ &&w~~'78nn&GE88T)>%#89#D-c43C3CDxx)#txx8G~~(?d..H"3'Et~~o&'--dnn=Cx..GsT^^++G3 8E?"3;$$sNG  0.++gw/0 {7##G	'NkUc Kp	s   a1Aa a