
    kj                        d dl Z d dlZd dlmZ d dlmZ d dlmZ dZddej                  z   ej                  z   dz   dej                  z   ej                  z   dz   d	ej                  z   ej                  z   d	z   d
ej                  z   dz   dej                  z   dz   dej                  z   dz   fZd Z G d de      Z e       Zy)    N)Contentview)Metadata)strutilsz{};
zT(?<=[^\w\s)])\s*/(?:[^\n/]|(?<!\\)(?:\\\\)*\\/)+?/(?=[gimsuy]{0,6}\s*(?:[;,).\n]|$))'"`z/\*z\*/z//$zfor\(z\)c                 R   t        j                  | t        t              } t	        j
                  dd|       } t	        j
                  dd|       } t	        j
                  dd|       } t        j                         }d}| j                  d      D ]u  }|j                  d	      r|j                  d
|z  |z          |dz  }1|j                  d      r|dz  }|j                  d
|z  |z          _|j                  d
|z  |z          w t        j                  |j                               } | S )Nz\s*{\s*(?!};)z {
z\s*;\s*z;
z(?<!{)\s*}(;)?\s*z\n}\1\nr   Tz{
z     })r   escape_special_areasSPECIAL_AREAS
DELIMITERSresubioStringIO
splitlinesendswithwrite
startswithunescape_special_areasgetvalue)data
beautifiedindent_levellines       p/home/ubuntu/.cache/pipx/cdb5059130eadca/lib/python3.12/site-packages/mitmproxy/contentviews/_view_javascript.pybeautifyr      s
   ((}jID66"FD1D66*eT*D66&
D9DJL% <==W|3d:;AL__S!ALW|3d:;W|3d:;< **:+>+>+@ADK    c                   <    e Zd ZdZdZdededefdZdedede	fdZ
y)	JavaScriptContentview
javascript)zapplication/x-javascriptzapplication/javascriptztext/javascriptr   metadatareturnc                 <    |j                  dd      }t        |      S )Nzutf-8replace)decoder   )selfr   r$   data_strs       r   prettifyzJavaScriptContentview.prettify4   s    
 ;;w	2!!r    c                 ^    t        t        |      xr |j                  | j                  v       S )N)floatboolcontent_type%_JavaScriptContentview__content_types)r)   r   r$   s      r   render_priorityz%JavaScriptContentview.render_priority<   s)    
 T$ZQH$9$9T=Q=Q$QRRr    N)__name__
__module____qualname__syntax_highlightr0   bytesr   strr+   r-   r1    r    r   r"   r"   ,   sU    #O"" " 
	"SS S 
	Sr    r"   )r   r   mitmproxy.contentviews._apir   r   mitmproxy.utilsr   r   #MULTILINE_CONTENT_LINE_CONTINUATION	NO_ESCAPEMULTILINE_CONTENTSINGLELINE_CONTENTr   r   r"   r#   r8   r    r   <module>r?      s    	 	 3 0 $
[8777(:L:LLsR8777(:L:LLsR8%%%(:(::S@
X'''&0	H'''#-x***U20SK S0 #$
r    