a
    xd                     @   s\   d Z ddlZddlmZ dd Ze ZddgZed	ejej	B ej
B Zd
d ZepVeZdS )zJSON token scanner
    N   )JSONDecodeErrorc                  C   s,   zddl m}  | W S  ty&   Y d S 0 d S )Nr   make_scanner)Z	_speedupsr   ImportErrorr    r   J/var/www/html/Ranjet/env/lib/python3.9/site-packages/simplejson/scanner.py_import_c_make_scanner   s
    r	   r   r   z)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c                    s~   | j 
| j| jtj| j| j| j| j	| j	| j
| j| j 	
fdd  fdd}|S )Nc           	         s  d}z| | }W n t y.   t|| |Y n0 |dkrJ| |d S |dkrn
| |d f S |dkr| |d f S |dkr| ||d  dkrd |d fS |d	kr| ||d  d
krd|d fS |dkr| ||d  dkrd|d fS | |}|d urd| \}}}|s2|rP||p>d |pHd }n	|}|| fS r|dkr| ||d  dkrd|d fS r|dkr| ||d  dkrЈd|d fS r|dkr| ||d  dkrd|d fS t|| |d S )NExpecting value"r   {[n   nullttrueTf   falseF N   NaNI   Infinity-	   z	-Infinity)
IndexErrorr   groupsend)	stringidxerrmsgnextcharmintegerfracexpres
_scan_onceencodingmatch_numbermemoobject_hookobject_pairs_hookparse_arrayparse_constantparse_float	parse_intparse_objectparse_stringstrictr   r   r,   "   sB     

&&&z#py_make_scanner.<locals>._scan_oncec                    s8   |dk rt d| |z | |W   S   0 d S )Nr   r
   )r   clear)r"   r#   )r,   r/   r   r   	scan_onceH   s    
z"py_make_scanner.<locals>.scan_once)r6   r2   r7   	NUMBER_REmatchr-   r8   r4   r5   r3   r0   r1   r/   )contextr:   r   r+   r   py_make_scanner   s    $&r>   )__doc__reerrorsr   r	   c_make_scanner__all__compileVERBOSE	MULTILINEDOTALLr;   r>   r   r   r   r   r   <module>   s   A