
    F	h               	          d Z ddlZddlmZmZmZ ddlmZmZ ddlm	Z	  e	j                  d      Z G d de      Zej                  	 	 dd
       Z ej                   e       d	d	d	 ej"                  ej$                        dk(         y)z)
Wrapper for YAJL C library version 1.x.
    N)	Structurec_uintbyref)commonutils)_yajl2_ctypes_common   c                       e Zd ZdefdefgZy)ConfigallowComments	checkUTF8N)__name__
__module____qualname__r   _fields_     N/var/www/html/backend/venv/lib/python3.12/site-packages/ijson/backends/yajl.pyr   r      s    	&!	fHr   r   Fc              #     K   |rt        d      t        j                  | j                  |d      \  }}t	        |d      }t
        j                  t        |      t        |      dd      }	 	 	 d}|r!t
        j                  ||t        |            }	nt
        j                  |      }	|	t        j                  k(  r0t        j                  t
        ||      }
t        j                  |
      |s)|	t        j                   k(  rt        j"                  d      n	 t
        j%                  |       y# t        $ r d}Y w xY w# t
        j%                  |       w xY ww)a2  
    Iterator yielding unprefixed events.

    Parameters:

    - f: a readable file-like object with JSON input
    - allow_comments: tells parser to allow comments in JSON input
    - check_utf8: if True, parser will cause an error if input is invalid utf-8
    - buf_size: a size of an input buffer
    z,yajl backend doesn't support multiple_valuesr	   TNr   zIncomplete JSON data)
ValueErrorr   make_callbakssendr   yajl
yajl_allocr   GeneratorExit
yajl_parselenyajl_parse_complete
YAJL_ERRORyajl_get_errorr   	JSONErrorYAJL_INSUFFICIENT_DATAIncompleteJSONError	yajl_free)targetallow_commentsmultiple_values	use_float	callbacks
_keepaliveconfighandlebufferresulterrors              r   basic_parse_basecoror0      s0     GHH0>>v{{IWXYIzND)F__U9-uV}dDIF VE11&9-888,;;D&&Q&&u--1HHH 445KLL  v !  	vsC   A(E+E  -D/ 1B'E  E/D=:E  <D==E   EE)r'   invalid_leading_zeros_detection incomplete_json_tokens_detectionint64)FFF)__doc__ctypesr   r   r   ijsonr   r   ijson.backendsr   get_yajlr   r   	coroutiner0   enrich_backendglobalssizeofc_longr   r   r   <module>r>      s     + +  / %$$Q'Y  GL#(# #L   I$)%*
&--
&!
+r   