<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]O                 @   s  d  d l  Z  d  d l Z d  d l m Z e d  \ Z Z Z Z Z	 e  j
 d e  j e  j B j Z e  j
 d e  j  j Z e  j
 d e  j e  j B j Z e  j
 d e  j  j Z e  j
 d e  j  j Z e  j
 d	 e  j  j Z Gd
 d   d e  Z Gd d   d  Z d S)    N)Mapping   z
    ^
    [ \t]*
    (?: while
    |   else
    |   def
    |   return
    |   assert
    |   break
    |   class
    |   continue
    |   elif
    |   try
    |   except
    |   raise
    |   import
    |   yield
    )
    \b
z'
    [ \t]*
    (?: \# \S .* )?
    \n
aK  
    \""" [^"\\]* (?:
                     (?: \\. | "(?!"") )
                     [^"\\]*
                 )*
    (?: \""" )?

|   " [^"\\\n]* (?: \\. [^"\\\n]* )* "?

|   ''' [^'\\]* (?:
                   (?: \\. | '(?!'') )
                   [^'\\]*
                )*
    (?: ''' )?

|   ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
zM
    [ \t]*
    [^\s#\\]    # if we match, m.end()-1 is the interesting char
z_
    \s*
    (?: return
    |   break
    |   continue
    |   raise
    |   pass
    )
    \b
z
    [^[\](){}#'"\\]+
c               @   sO   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
 d  Z d	 S)StringTranslatePseudoMappingc             C   s4   | |  _  | |  _ | j | d d  } | |  _ d  S)Nc             S   s   | |  |  S)N )key_getZ_defaultr   r   ,/opt/alt/python35/lib64/python3.5/PyParse.pyr   y   s    z3StringTranslatePseudoMapping.__init__.<locals>._get)_non_defaultsZ_default_valuegetr   )selfZnon_defaultsdefault_valuer   r   r   r   __init__u   s    		z%StringTranslatePseudoMapping.__init__c             C   s   |  j  |  S)N)r   )r   itemr   r   r   __getitem__}   s    z(StringTranslatePseudoMapping.__getitem__c             C   s   t  |  j  S)N)lenr	   )r   r   r   r   __len__   s    z$StringTranslatePseudoMapping.__len__c             C   s   t  |  j  S)N)iterr	   )r   r   r   r   __iter__   s    z%StringTranslatePseudoMapping.__iter__Nc             C   s   |  j  |  S)N)r   )r   r   defaultr   r   r   r
      s    z StringTranslatePseudoMapping.get)__name__
__module____qualname__r   r   r   r   r
   r   r   r   r   r   `   s
   r   c               @   sB  e  Z d  Z d d   Z d d   Z d e d d  Z d d	   Z i  Z e j	 d
 d   d D  e j	 d d   d D  e j	 d d   d D  e
 e d e d  Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d    Z d! d"   Z d# d$   Z d Z d% d&   Z d Z d' d(   Z d S))Parserc             C   s   | |  _  | |  _ d  S)N)indentwidthtabwidth)r   r   r   r   r   r   r      s    	zParser.__init__c             C   s   | |  _  d |  _ d  S)Nr   )strstudy_level)r   sr   r   r   set_str   s    	zParser.set_strNc       
      C   sI  |  j  d  } } | s d  St |  } x t d  D] } | j d d |  } | d k  r[ P| j d d |  d } | | | |  } | r | | j    r | j   } P| } q3 W| d  k r | |  } | r | | j    r | j   } | S| d } xA | | |  } | r@| j   \ }	 } | |	  sA|	 } qPqW| S)Nr   z:
r   
   )r   r   rangerfindstartspan)
r   Zis_char_in_string_synchrer   poslimitZtriesimr   r   r   r   find_good_parse_start   s8    
	
	zParser.find_good_parse_startc             C   s&   | d k r" |  j  | d   |  _  d  S)Nr   )r   )r   lor   r   r   set_lo   s    zParser.set_loc             c   s'   |  ] } t  |  t  d   f Vq d S)(N)ord).0cr   r   r   	<genexpr>   s    zParser.<genexpr>z({[c             c   s'   |  ] } t  |  t  d   f Vq d S))N)r.   )r/   r0   r   r   r   r1      s    z)}]c             c   s'   |  ] } t  |  t  |  f Vq d  S)N)r.   )r/   r0   r   r   r   r1      s    z"'\
#r   xc             C   sp  |  j  d k r d  Sd |  _  |  j } | j |  j  } | j d d  } | j d d  } | j d d  } | j d d  } | j d d  } t } d } } d g |  _ } | j } d t |  } } xO| | k  r| | }	 | d } |	 d k r q |	 d k r.| d } | d k r | |  q |	 d	 k rG| d } q |	 d
 k rf| r | d } q |	 d k s~|	 d k r|	 }
 | | d | d  |
 d k r|
 d }
 | } t |
  d } | | } x | | k  r| | }	 | d } |	 d k rq| | d | |  |
 k r+| | } P|	 d k rg| d } | d k r| d k rc| |  Pq|	 d k r| | d k r| d } | d } qqW| d | k rt	 } q t
 } q |	 d k r| j d |  } q | | d k r| d } | d | k rt } | d } q W| t	 k rI| t
 k rI| d k rIt } | |  _ | d | k rl| |  d  S)Nr    Zxxxxxxxxr3   ZxxxxZxxz
xr   r   r-   r2   "'      \#)r   r   	translate_tranreplaceC_NONE	goodlinesappendr   C_STRING_FIRST_LINEC_STRING_NEXT_LINESfindC_BACKSLASH	C_BRACKETcontinuation)r   r   rF   levellnor?   Z	push_goodr(   nchquoteZfirstlnowr   r   r   _study1   s    		
	





"








	
	zParser._study1c             C   s   |  j    |  j S)N)rM   rF   )r   r   r   r   get_continuation_typeg  s    
zParser.get_continuation_typec             C   sg  |  j  d k r d  S|  j   d |  _  |  j |  j } } t |  d } t |  } xp | r | } x@ t | | d | |  D]# } | j d d | d  d } q Wt | |  r | d } qX PqX W| d k r | } | | |  _ |  _	 d } g  } | j
 }	 | d f g }
 x$| | k  r7t | | |  } | r| j   } | d } x* | | k rz| | d k rz| d } qQW| | k r| | } | } | | k rP| | } | d k r|	 |  |
 j
 | t |  f  | } | d } q| d k r5| r	| d =| } | d } |
 j
 | t |  f  q| d	 k sM| d
 k r|
 j
 | t |  d f  | } t | | |  j   } |
 j
 | t |  f  q| d k r|
 j
 | t |  d f  | j d | |  d } |
 j
 | t |  f  q| d } | | d k r*| | | } | d } qW| |  _ | rT| d |  _ t |
  |  _ d  S)Nr6   r    r   r    z 	
z([{z)]}r4   r5   r9   r:   r:   )r   rM   r   r?   r   r!   r"   _junkre
stmt_startstmt_endr@   _chew_ordinaryreend_match_stringrerC   lastchlastopenbracketpostuplestmt_bracketing)r   r   r?   r(   pqZnothingrV   stackZ
push_stackZ
bracketingr)   ZnewprJ   r   r   r   _study2|  s    
		"!	






	zParser._study2c             C   s  |  j    |  j } |  j } t |  } | j d d |  d } } | d } x | | k  r t | |  } | r | j   d } d } PqR | j d |  d } } qR W| } } x | | d k r | d } q W|  j } t | | |  j	 |  j
   | S)Nr   r   r    z 	)r]   rW   r   r   r"   _itemrerT   rC   r   
expandtabsr   )r   jr   rI   Zorigir(   r)   extrar   r   r   compute_bracket_indent  s$    
		

	zParser.compute_bracket_indentc             C   s#   |  j    |  j } | d | d S)Nr    r6   r:   )rM   r?   )r   r?   r   r   r   get_num_lines_in_stmt  s    
	zParser.get_num_lines_in_stmtc             C   s  |  j    |  j } |  j } x | | d k r< | d } q W| } | j d |  d } d } } x	| | k  rn| | } | d k r | d } | d } qf | d k r | r | d } | d } qf | d k s | d k r t | | |  j   } qf | d	 k rPqf | d k ra| d
 k ra| d k sC| | d d k ra| | d d
 k rad } Pqf | d } qf W| r| d } t j d | | |   d  k } | s| } x | | d k r| d } qWt | |  j |  j	 |  j
   d S)Nz 	r    r   r   z([{z)]}r4   r5   r9   =z=<>!z\s*\\z 	
)r]   r   rQ   rC   rU   rT   rematchr   r_   r   )r   r   r(   startposendposfoundrG   rJ   r   r   r   compute_backslash_indent  sH    
		



 
"zParser.compute_backslash_indentc             C   sg   |  j    |  j |  j } } | } |  j } x* | | k  rX | | d k rX | d } q/ W| | |  S)Nz 	r    )r]   rQ   rR   r   )r   r(   rI   r`   r   r   r   r   get_base_indent_stringF  s    
	zParser.get_base_indent_stringc             C   s   |  j    |  j d k S)N:)r]   rV   )r   r   r   r   is_block_openerQ  s    
zParser.is_block_openerc             C   s#   |  j    t |  j |  j  d  k	 S)N)r]   _closerer   rQ   )r   r   r   r   is_block_closerW  s    
zParser.is_block_closerc             C   s   |  j    |  j S)N)r]   rW   )r   r   r   r   get_last_open_bracket_pos^  s    
z Parser.get_last_open_bracket_posc             C   s   |  j    |  j S)N)r]   rY   )r   r   r   r   get_last_stmt_bracketingg  s    
zParser.get_last_stmt_bracketing)r   r   r   r   r   r%   r*   r,   r<   updater   r.   rM   rN   r]   rb   rd   rk   rl   rn   rp   rW   rq   rY   rr   r   r   r   r   r      s.   3	m	5r   )rf   syscollectionsr   r!   r>   rD   rA   rB   rE   compileVERBOSE	MULTILINEsearchr%   rg   rP   DOTALLrU   r^   ro   rS   r   r   r   r   r   r   <module>   s"   	*