
    daf_                         	 d dl mZmZ d dlmZ dZdZdZdZdZ	dZ
eeez   e
z   ez   e	z   z
  Zd Zd Zdd	Zd
 Zd Zd Zd Z edd      Zd Zd Zy)    )
namedtupleCounter)commonprefixTP         c                 n    t        |       |z
  |z
  }|t        kD  rd| d | || t        |       |z
  d  fz  } | S )Nz%s[%d chars]%s)len_PLACEHOLDER_LEN)s	prefixlen	suffixlenskips       (/root/Python-3.12.4/Lib/unittest/util.py_shortenr      sK    q6I	)D*9tQs1v	7I7J5KLLH    c                     t        t        t        |             } t        t        t        |             }|t
        k  r| S t        |       t	              t
        |z
  t        z   t        z   z
  }|t        kD  r&t        t        |      t        fd| D              S t        t        t              t        fd| D              S )Nc              3   .   K   | ]  }|d  z     y wN .0r   prefixr   s     r   	<genexpr>z'_common_shorten_repr.<locals>.<genexpr>'   s     :Va	
m+:s   c              3   T   K   | ]  }t        |d  t        t              z    ! y wr   )r   _MIN_DIFF_LEN_MIN_END_LENr   s     r   r   z'_common_shorten_repr.<locals>.<genexpr>*   s-        (1YZ=-NN  s   %()tuplemap	safe_reprmaxr
   _MAX_LENGTHr   _MIN_BEGIN_LENr   _MIN_COMMON_LENr   )argsmaxlen
common_lenr   r   s      @@r   _common_shorten_reprr(      s    Y%&DS$ F$FFI9$~58HHJJO# &.*=:T:::fno>F       r   c                     	 t        |       }|rt	        |      t
        k  r|S |d t
         dz   S # t        $ r t        j                  |       }Y Bw xY w)Nz [truncated]...)repr	Exceptionobject__repr__r
   r"   )objshortresults      r   r    r    -   sW    &c CK+-,;"333	  &%&s   / AAc                 8    | j                   d| j                  S )N.)
__module____qualname__)clss    r   strclassr6   6   s    nnc&6&677r   c                    	 dx}}g }g }	 	 | |   }||   }||k  r-|j                  |       |dz  }| |   |k(  ry|dz  }| |   |k(  rnj||kD  r-|j                  |       |dz  }||   |k(  rG|dz  }||   |k(  rn8|dz  }	 | |   |k(  r|dz  }| |   |k(  r|dz  }||   |k(  r|dz  }||   |k(  r	 # |dz  }||   |k(  r|dz  }||   |k(  rw w xY w# t        $ r. |j                  | |d         |j                  ||d         Y ||fS w xY wNr      )append
IndexErrorextend)expectedactualijmissing
unexpectedeas           r   sorted_list_differencerE   9   s    IAGJ
	Aq	A1uq!QqkQ&FA qkQ&Q!!!$QQi1nFA Qi1n Q"1+*Q #1+* FA )q.Q !)q.+ ( FA )q.Q !)q. 	NN8AB<(fQRj)J		sA   :C 1C 9C  B3 C 1C 3CCC 1D
Dc                     	 g }| r%| j                         }	 |j                  |       | r%||fS # t        $ r |j                  |       Y #w xY wr   )popremove
ValueErrorr:   )r=   r>   rA   items       r   unorderable_list_differencerK   b   s[    
 G
||~	!MM$  F?	  	!NN4 	!s   / AAc                     	 | |kD  | |k  z
  S r   r   )xys     r   three_way_cmprO   s   s    8Ea!er   Mismatchzactual expected valuec                 >   	 t        |       t        |      }}t        |      t        |      }}t               }g }t        |      D ]y  \  }}	|	|u rdx}
}t	        ||      D ]  }||   |	k(  s|
dz  }
|||<    t        |      D ]  \  }}||	k(  s|dz  }|||<    |
|k7  s\t        |
||	      }|j                  |       { t        |      D ]N  \  }}	|	|u rd}t	        ||      D ]  }||   |	k(  s|dz  }|||<    t        d||	      }|j                  |       P |S r8   )listr
   r,   	enumeraterange	_Mismatchr:   )r>   r=   r   tmnNULLr0   r?   elemcnt_scnt_tr@   
other_elemdiffs                  r   _count_diff_all_purposer_   y   sc   N<hqAq63q6qA8DFQ<  44<q! 	Att|
!	 'q\ 	MAzT!
!	 E>UE40DMM$   Q< 	44<q! 	Att|
!	 E4(d	 Mr   c                 J   	 t        |       t        |      }}g }|j                         D ];  \  }}|j                  |d      }||k7  st        |||      }|j	                  |       = |j                         D ](  \  }}||vst        d||      }|j	                  |       * |S )Nr   )r   itemsgetrU   r:   )	r>   r=   r   rV   r0   rZ   r[   r\   r^   s	            r   _count_diff_hashablerc      s    N6?GH-qAFwwy  edAE>UE40DMM$	 
 wwy  eq=Qt,DMM$  Mr   N)F)collectionsr   r   os.pathr   
__unittestr"   r   r#   r   r$   r   r   r(   r    r6   rE   rK   rO   rU   r_   rc   r   r   r   <module>rg      s      +  
 !11OC !#/01
 *48&R" z#:;	!Fr   