o ?Og_@s ddlmZmZddlmZdZdZdZdZdZ dZ eeee ee Z ddZ d d Z dd d ZddZddZddZddZeddZddZddZdS)) namedtupleCounter) commonprefixTP cCsBt|||}|tkrd|d|||t||df}|S)Nz%s[%d chars]%s)len_PLACEHOLDER_LEN)s prefixlenZ suffixlenskipr 4/opt/alt/python310/lib64/python3.10/unittest/util.py_shortens&rcsttt|}ttt|}|tkr|St|tt|tt}|t kr'sz'_common_shorten_repr..c3s(|]}t|dttVqdSr)r _MIN_DIFF_LEN _MIN_END_LENrrr rr*s ) tuplemap safe_reprmaxr _MAX_LENGTHr_MIN_BEGIN_LENr _MIN_COMMON_LENr)argsmaxlenZ common_lenr rr_common_shorten_reprs   r!FcCsNzt|}Wntyt|}Ynw|rt|tkr|S|dtdS)Nz [truncated]...)repr Exceptionobject__repr__rr)objZshortresultr r rr-s  rcCsd|j|jfS)Nz%s.%s) __module__ __qualname__)clsr r rstrclass6sr+cCs` d}}g}g} z||}||}||kr1|||d7}|||kr0|d7}|||ks&n^||krO|||d7}|||krN|d7}|||ksDn@|d7}z&|||krd|d7}|||ksZW|d7}|||kry|d7}|||kson|d7}|||kr|d7}|||kswWnty|||d|||dY||fSwq )NrT)append IndexErrorextend)expectedactualijmissingZ unexpectedear r rsorted_list_difference9sZ            r7cCsJ g}|r!|}z||Wnty||Ynw|s||fSr)popremove ValueErrorr-)r0r1r4itemr r runorderable_list_differencebs r<cCs ||k||kSrr )xyr r r three_way_cmpssr?ZMismatchzactual expected valuecCs. t|t|}}t|t|}}t}g}t|D]G\}} | |ur%qd} } t||D]} || | kr>| d7} ||| <q.t|D]\} } | | krS| d7} ||| <qC| | krct| | | }||qt|D],\}} | |urqqhd} t||D]} || | kr| d7} ||| <qxtd| | }||qh|S)Nrr,)listrr$ enumeraterange _Mismatchr-)r1r0r tmnZNULLr'r2elemcnt_scnt_tr3Z other_elemdiffr r r_count_diff_all_purposeysF      rKc Cs t|t|}}g}|D]\}}||d}||kr)t|||}||q|D]\}}||vrAtd||}||q.|S)Nr)ritemsgetrCr-) r1r0r rDr'rGrHrIrJr r r_count_diff_hashables     rNN)F) collectionsrrZos.pathrZ __unittestrr rrrrrr!rr+r7r<r?rCrKrNr r r rs4    )  #