MINI MINI MANI MO
3
  \)1                 @   s  d Z ddlZddlmZ yddlmZ W n ek
r@   dZY nX ddgZej	ej
B ejB Ze
dZe
dZe
d	ZG d
d deZeeedZejdeZd
ddddddddZdd ZdeejfddZepeZejdeZdZdejefddZejefdd ZG d!d deZdS )"zImplementation of JSONDecoder
    N)scanner)
scanstringJSONDecoderJSONDecodeErrornaninfz-infc               @   s    e Zd ZdZdd Zdd ZdS )r   a   Subclass of ValueError with the following additional properties:
    msg: The unformatted error message
    doc: The JSON document being parsed
    pos: The start index of doc where parsing failed
    lineno: The line corresponding to pos
    colno: The column corresponding to pos
    c             C   sb   |j dd|d }||jdd| }d||||f }tj| | || _|| _|| _|| _|| _d S )N
r      z%s: line %d column %d (char %d))	countrfind
ValueError__init__msgdocposlinenocolno)selfr   r   r   r   r   errmsg r   $/usr/lib64/python3.6/json/decoder.pyr
      s    zJSONDecodeError.__init__c             C   s   | j | j| j| jffS )N)	__class__r   r   r   )r   r   r   r   
__reduce__*   s    zJSONDecodeError.__reduce__N)__name__
__module____qualname____doc__r
   r   r   r   r   r   r      s   	)z	-InfinityZInfinityNaNz(.*?)(["\\\x00-\x1f])"\/r   
	)r   r   r    bfnrtc             C   s`   | |d |d  }t |dkrL|d dkrLy
t|dS  tk
rJ   Y nX d}t|| |d S )Nr	         ZxX   zInvalid \uXXXX escape)lenintr   r   )sr   escr   r   r   r   
_decode_uXXXX;   s    
r1   Tc             C   s  g }|j }|d }x|| |}|dkr4td| ||j }|j \}	}
|	rT||	 |
dkr`P n.|
dkr|rdj|
}t|| |n
||
 qy| | }W n  tk
r   td| |Y nX |dkry|| }
W n* tk
r   dj|}t|| |Y nX |d7 }nt| |}|d	7 }d
|  ko.dkn  r| ||d  d
krt| |d }d|  kondkn  rd|d
 d>