§
    òŽ’j�  ã                   óô   — d dl mZmZmZ ddlmZmZ ddlmZm	Z	 ddl
mZ ddlmZ erddlmZ ded	z  d
edeeeef         ez  d	z  ef         fd„Z	 	 	 ddddeeef         ez  d	z  dededee	         f
d„Zd	S )é    )ÚTYPE_CHECKINGÚAnyÚcasté   )ÚArraySchemaConfigÚresolve_parser_array_schema)ÚSTRING_DELIMITERSÚJSONReturnType)ÚContextValues)ÚObjectComparer)Ú
JSONParserÚschema_configNÚidxÚreturnc                 óö  — | €dS d }d}t          | j        t          ¦  «        r¢|t          | j        ¦  «        k     rK| j        |         }|�+t          |t          t
          f¦  «        st          d¦  «        ‚t          d|¦  «        }nq| j        du rd}net          | j        t          ¦  «        rt          d| j        ¦  «        }n5d}n2t          | j        t          ¦  «        rt          d| j        ¦  «        }nd}||fS )N)NFFzSchema must be an object.zdict[str, Any] | bool | NoneTzdict[str, Any])	Ú
isinstanceÚitems_schemaÚlistÚlenÚdictÚboolÚ
ValueErrorr   Úadditional_items)r   r   Úitem_schemaÚ	drop_itemÚ
raw_schemas        úEC:\Projects\DSCons\.venv\Lib\site-packages\json_repair\parse_array.pyÚ_resolve_array_item_schemar      s  € ð ÐØˆ{à04€KØ€IÝ�-Ô,­dÑ3Ô3ð Ø•�]Ô/Ñ0Ô0Ò0Ð0Ø&Ô3°CÔ8ˆJØÐ%­j¸ÅdÍDÀ\Ñ.RÔ.RÐ%Ý Ð!<Ñ=Ô=Ð=ÝÐ=¸zÑJÔJˆKˆKØÔ+¨uÐ4Ð4ØˆIˆIÝ˜Ô6½Ñ=Ô=ð 	ÝÐ/°Ô1OÑPÔPˆKˆKàˆKˆKÝ	�MÔ.µÑ	5Ô	5ð ÝÐ+¨]Ô-GÑHÔHˆˆàˆà˜	Ð!Ð!ó    ú$ú]Úselfr   ÚschemaÚpathÚclosing_delimiterc                 óÆ  — t          | j        |¦  «        \  }}}|d uo
|j        dk    }| j        j        t
          j        k    }d}	g }
| j                             t
          j        ¦  «        5  |  	                    ¦   «          |  
                    ¦   «         }d}|�r€||dfv�ryt          ||¦  «        \  }}|› d|› d�}|�|s|s|nd }|t          v ród}|                      ||¦  «        }|                      |dz   ¬¦  «        }|  
                    |¦  «        d	k    r{|r4|
r2t          d
„ |
D ¦   «         ¦  «        r|                      d¦  «         d}	�nË|�.|                      ||¦  «        }|                     |||¦  «        }no|                      ¦   «         }nZ|                      ¦   «         }|�|                     |||¦  «        }n,|�|                      ||¦  «        n|                      ¦   «         }t+          j        |¦  «        r)|  
                    ¦   «         |dfvr| xj        dz  c_        ne|dk    r/|  
                    d¦  «        dk    r|                      d¦  «         n0|s|
                     |¦  «         n|�|                     d|¦  «         |dz  }|  
                    ¦   «         }|rf||k    r`|                     ¦   «         s|dk    rF| xj        dz  c_        |  
                    ¦   «         }|r ||k    r|                     ¦   «         °@|dk    °F|r||dfv�°y||k    r|                      d|› d�¦  «         |	s| xj        dz  c_        d d d ¦  «         n# 1 swxY w Y   |
S )NÚsalvageFr   Ú}ú[r!   r   )r   ú:c              3   óP   K  — | ]!}t          |t          t          f¦  «         V — Œ"d S )N)r   r   r   )Ú.0Úitems     r   ú	<genexpr>zparse_array.<locals>.<genexpr>G   s7   è è € Ð<pÐ<pÐdhÅÈDÕSWÕY]ÐR^ÑA_ÔA_Ð=_Ð<pÐ<pÐ<pÐ<pÐ<pÐ<pr   z=Closed unclosed array before object member after scalar itemsTú,z...éÿÿÿÿú.z8While parsing an array, found a stray '...'; ignoring itz.Dropped extra array item not covered by schemaz-While parsing an array we missed the closing z, ignoring it)r   Úschema_repairerÚschema_repair_modeÚcontextÚcurrentr   ÚOBJECT_VALUEÚenterÚARRAYÚskip_whitespacesÚget_char_atr   r	   Úskip_to_characterÚscroll_whitespacesÚallÚlogÚparse_objectÚrepair_valueÚparse_stringÚ
parse_jsonr   Úis_strictly_emptyÚindexÚappendÚ_logÚisspace)r"   r#   r$   r%   r2   Ú_schemar   Úsalvage_modeÚarray_is_object_valueÚclosed_before_parent_memberÚarrÚcharr   r   r   Ú	item_pathÚactive_schema_repairerÚiÚvalues                      r   Úparse_arrayrR   )   sZ  € õ /JÈ$ÔJ^Ð`fÑ.gÔ.gÑ+€O�W˜mØ"¨$Ð.Ðb°?Ô3UÐYbÒ3b€LØ œLÔ0µMÔ4NÒNÐØ"'Ðà "€CØ	Œ×	Ò	�MÔ/Ñ	0Ô	0ð ?ð ?Ø×ÒÑÔÐØ×ÒÑ!Ô!ˆØˆØñ 3	*�tÐ$5°sÐ#;Ð;Ñ;Ý%?ÀÈsÑ%SÔ%SÑ"ˆK˜ØÐ(Ð( #Ð(Ð(Ð(ˆIà#2Ð#>ÀyÐ#>ÐYeÐ#>��Ðkoð #ð Õ(Ð(Ð(à�Ø×*Ò*¨4°Ñ3Ô3�Ø×+Ò+°°A±Ð+Ñ6Ô6�Ø×#Ò# AÑ&Ô&¨#Ò-Ð-Ø,ð °ð ½Ð<pÐ<pÐloÐ<pÑ<pÔ<pÑ9pÔ9pð ØŸšÐ!`ÑaÔaÐaØ6:Ð3ÙØ-Ð9à $× 1Ò 1°+¸yÑ IÔ I˜Ø 6× CÒ CÀEÈ;ÐXaÑ bÔ b˜˜ð !%× 1Ò 1Ñ 3Ô 3˜˜à ×-Ò-Ñ/Ô/�EØ-Ð9à 6× CÒ CÀEÈ;ÐXaÑ bÔ b˜øð @VÐ?a�D—O’O K°Ñ;Ô;Ð;Ðgk×gvÒgvÑgxÔgxð õ Ô/°Ñ6Ô6ð 
b¸4×;KÒ;KÑ;MÔ;MÐVgÐilÐUmÐ;mÐ;mØ�
”
˜a‘�
”
�
Ø˜%’� D×$4Ò$4°RÑ$8Ô$8¸CÒ$?Ð$?Ø—’ØNñô ð ð ð ð bØ—
’
˜5Ñ!Ô!Ð!Ð!Ø Ð,à×$Ò$Ð%UÐW`ÑaÔaÐaà�1‰HˆCØ×#Ò#Ñ%Ô%ˆDØð *˜4Ð#4Ò4Ð4¸$¿,º,¹.¼.Ð4ÈDÐTWÊKÈKØ�
”
˜a‘�
”
Ø×'Ò'Ñ)Ô)�ð ð *˜4Ð#4Ò4Ð4¸$¿,º,¹.¼.Ð4ÈDÐTWÊKÈKðc ð 3	*�tÐ$5°sÐ#;Ð;Ñ;ðj Ð$Ò$Ð$Ø�HŠHØ`Ð@QÐ`Ð`Ð`ñô ð ð +ð 	ØˆJŒJ˜!‰OˆJŒJð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ðB €Js   Á+KMÍMÍM)Nr    r!   )Útypingr   r   r   Úparser_schemar   r   Úutils.constantsr	   r
   Úutils.json_contextr   Úutils.object_comparerr   Újson_parserr   ÚintÚtupler   Ústrr   r   r   rR   © r   r   ú<module>r]      s_  ðØ +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø -Ð -Ð -Ð -Ð -Ð -Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1àð (Ø'Ð'Ð'Ð'Ð'Ð'ð"Ø$ tÑ+ð"à	ð"ð ˆ4��S�Œ>˜DÑ  4Ñ'¨Ð-Ô.ð"ð "ð "ð "ð> ,0ØØ ð	Nð NØ
ðNà��c�ŒN˜TÑ! DÑ(ðNð ðNð ð	Nð
 
ˆ.ÔðNð Nð Nð Nð Nð Nr   