
    ~/j_                    0   S SK Jr  S SKJr  S SKrS SKrS SKJr  S SKJ	r	  S SKJ
r
  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr              SS jr            SS jrg)    )annotations)IteratorN)_compare_eq_mapping)_compare_eq_iterable)_compare_eq_sequence)_compare_eq_set)has_default_eq)isattrs)	isdatacls)
isiterable)	ismapping)isnamedtuple)
issequence)isset)istext)_AssertionTextDiffStyle)_HighlightFunc)_compare_eq_textc              #    #    [        U 5      (       a(  [        U5      (       a  [        U UUUU5       Sh  vN   gSSKJn  [	        X5      (       a  UR                  U 5       Sh  vN   GO'[	        X5      (       a  U R                  U5       Sh  vN   O[        U 5      [        U5      L aH  [        U 5      (       d   [        U 5      (       d  [        U 5      (       a  [        U UUUU5       Sh  vN   O[        U 5      (       a%  [        U5      (       a  [        XX#5       Sh  vN   Oi[        U 5      (       a%  [        U5      (       a  [        XX#5       Sh  vN   O4[        U 5      (       a$  [        U5      (       a  [!        XX#5       Sh  vN   [#        U 5      (       a&  [#        U5      (       a  [%        XX#5       Sh  vN   ggg GN GNh GN@ N N N} NJ N7f)zYield the per-line explanation for ``left == right`` (without summary).

Yields nothing when no specialised explanation applies, so consumers
can stream the output and bail out early (e.g. for truncation) without
materialising the entire diff first.
Nr   )
ApproxBase)r   r   _pytest.python_apir   
isinstance_repr_comparetyper   r
   r   _compare_eq_clsr   r   r   r   r   r   r   r   )leftrighthighlighterverboseassertion_text_diff_styler   s         ]/root/lseg-credit/backend/venv/lib/python3.13/site-packages/_pytest/assertion/_compare_any.py_compare_eq_anyr"      s     d||u#%
 	
 	
 	2 e((**4000))))%000$Z4;&dOOwt}}T0B0B ')   *U"3"3+DNNN4[[U5\\&tKIIIt__5!1!1*4MMMd
5 1 1+DNNN !2I	
 10 OIM Os   3GG
/G%G&*GGAG/G04G$G%4GG4GG3GGGGGGGGGGc              #    #    [        U 5      (       d  g [        U 5      (       aE  [        R                  " U 5      nU Vs/ s H!  ofR                  (       d  M  UR
                  PM#     nnOk[        U 5      (       a<  U R                  nU Vs/ s H"  n[        US5      (       d  M  UR
                  PM$     nnO[        U 5      (       a  U R                  nO eSn	/ n
/ nU H?  n[        X5      [        X5      :X  a  U
R                  U5        M.  UR                  U5        MA     U
(       d  U(       a  Sv   U
(       a  US:  a  S[        U
5       S3v   O=U
(       a6  Sv   U" [        R                  " U
5      5      R                  5        S h  vN   U(       a  Sv   U" [        R                  " U5      5      R                  5        S h  vN   U Hm  n[        X5      n[        X5      nSv   S	U S
3v   U	 U SU" [!        U5      5       SU" [!        U5      5       3v   [#        UUUUU5       H	  nX-   v   M     Mo     g g s  snf s  snf  N N7f)Neqz      z	Omitting z! identical items, use -vv to showzMatching attributes:zDiffering attributes:z$Drill down into differing attribute :z: z != )r	   r   dataclassesfieldscomparenamer
   __attrs_attrs__getattrr   _fieldsappendlenpprintpformat
splitlinesreprr"   )r   r   r   r   r    
all_fieldsinfofields_to_checkfieldindentsamediff
field_leftfield_rightlines                  r!   r   r   O   s	     $ ''-
1;L||9499L	))
3=V:%PTAU:5:::V	d		,,uFDD 475#88KKKK	 ! t!#d)$EFF	$$v~~d34??AAA%%v~~d34??AAAE -J!%/KH8qAAHUG2k$z2B&C%DDUYZeUfIgHhii') m#  3 M W* 	B 	BsH   <IH?H?&#I	I"I2CII		<IIBII)r   objectr   r?   r   r   r   intr    r   returnzIterator[str])
__future__r   collections.abcr   r(   r1   "_pytest.assertion._compare_mappingr   #_pytest.assertion._compare_sequencer   r   _pytest.assertion._compare_setr   _pytest.assertion._guardsr	   r
   r   r   r   r   r   r   r   _pytest.assertion._typingr   r   _pytest.assertion.compare_textr   r"   r        r!   <module>rL      s    " $   B D D : 4 - / 0 / 2 0 + , = 4 ;3O
3O3O  3O 	3O
  73O 3Ol4$
4$4$  4$ 	4$
  74$ 4$rK   