U e5dy @sjdZddlZzddlmZWnek r4dZYnXdgZedejej Bej BZ ddZ epde ZdS)zJSON token scanner N) make_scannerrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c sv|j |j|j tj|j |j|j|j|j |j |j  f ddfdd}|S)Ncsz ||}Wntk r*t|dYnX|dkrD ||d S|dkrf ||df S|dkr||dfS|dkr|||ddkrd|dfS|dkr|||dd krd |dfS|d kr|||d d krd|d fS||}|dk r\|\}}}|s*|rH||p6d|p@d}n|}||fS|dkr|||ddkrd|dfS|dkr|||ddkrd|dfS|dkr|||ddkrd|dfSt|dS)N"{[nZnullttrueTfZfalseFNZNaNIZInfinity- z -Infinity) IndexError StopIterationgroupsend)stringidxZnextcharmZintegerZfracZexpres _scan_onceZ match_numbermemo object_hookobject_pairs_hook parse_arrayparse_constant parse_float parse_int parse_object parse_stringstrict$/usr/lib64/python3.8/json/scanner.pyrsF            z#py_make_scanner.._scan_oncecsz||WSXdS)N)clear)rr)rrr(r) scan_onceAsz"py_make_scanner..scan_once) r%r!r& NUMBER_REmatchr'r#r$r"rr r)contextr+r(rr)py_make_scanners"%r/) __doc__reZ_jsonrZc_make_scanner ImportError__all__compileVERBOSE MULTILINEDOTALLr,r/r(r(r(r)s :