o \Õ“a› ã@s\dZddlZddlmZdd„ZeƒZddgZe d ejej Bej B¡Z d d „Z ep+e Z dS) zJSON token scanner éNé)ÚJSONDecodeErrorcCs(z ddlm}|WStyYdSw)Nr©Ú make_scanner)Ú _speedupsrÚ ImportErrorr©rú4/usr/lib/python3/dist-packages/simplejson/scanner.pyÚ_import_c_make_scanners   ÿr rrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c s~|j‰ |j‰|j‰ tj‰|j‰|j‰ |j‰|j‰ |j ‰|j ‰|j ‰|j ‰‡‡‡‡‡‡‡‡‡‡ ‡ ‡ ‡ f dd„‰‡‡fdd„}|S)Nc sâd}z||}Wn tyt|||ƒ‚w|dkr#ˆ ||dˆˆ ƒS|dkr5ˆ ||dfˆˆ ˆˆˆˆƒS|dkrBˆ||dfˆƒS|dkrV|||d…dkrVd|dfS|d krj|||d…d krjd |dfS|d kr~|||d …dkr~d|d fSˆ||ƒ}|dur©| ¡\}}}|s’|rŸˆ||p—d|p›dƒ}nˆ |ƒ}|| ¡fS|dkr¿|||d…dkr¿ˆdƒ|dfS|dkrÕ|||d…dkrÕˆdƒ|dfS|dkrë|||d…dkrëˆdƒ|dfSt|||ƒ‚)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Ústrictrr r-"sD   ÿÿ      z#py_make_scanner.._scan_oncecs4|dkr td||ƒ‚z ˆ||ƒWˆ ¡Sˆ ¡w)Nrr )rÚclear)r#r$)r-r0rr Ú scan_onceHs   z"py_make_scanner..scan_once) r7r3r8Ú NUMBER_REÚmatchr.r9r5r6r4r1r2r0)Úcontextr;rr,r Úpy_make_scanners$& r?)Ú__doc__ÚreÚerrorsrr Úc_make_scannerÚ__all__ÚcompileÚVERBOSEÚ MULTILINEÚDOTALLr<r?rrrrr Ús þ A