o ?Og|_ @s ddlZddlZddlZddlZddlZddl m Z gdZ d#ddddd d Z d$ddddd d Zdd ddZddZddZddZGdddZddZGdddZeeeeeeeedhZddZd%ddZ d d!Z!e"d"kr{e dSdS)&N)StringIO)pprintpformat isreadable isrecursivesaferepr PrettyPrinterppPFTcompact sort_dictsunderscore_numbersc Cs& t|||||||d}||dS)N)streamindentwidthdepthr rr)rr) objectrrrrr rrZprinterr-/opt/alt/python310/lib64/python3.10/pprint.pyr0srcCs t||||||d|S)N)rrrr rr)rr)rrrrr rrrrrr9sr)rcOs t|g|Rd|i|dS)Nr)r)rrargskwargsrrrr @sr cCs t|idddSNrr _safe_reprrrrrrDrcC t|idddSNrr rrrrrrHrrcCrNrrrrrrrLrrc@s$eZdZ dgZddZddZdS) _safe_keyobjcCs ||_dSN)r#)selfr#rrr__init__\s z_safe_key.__init__cCsRz|j|jkWSty(tt|jt|jftt|jt|jfkYSwr$)r# TypeErrorstrtypeid)r%otherrrr__lt___s z_safe_key.__lt__N)__name__ __module__ __qualname__ __slots__r&r,rrrrr"Ps   r"cCs t|dt|dfSr)r")trrr _safe_tuplefsr2c@seZdZdCddddddZd d Zd d Zd dZddZddZddZ iZ ddZ e e e j <ddZee ejj <ddZee ej <ddZee ej <ddZee ej <ee ej <dd Zee ej <d!d"Zee ej <d#d$Zee ej <d%d&Zee ej j <d'd(Z!e!e ej"j <d)d*Z#d+d,Z$d-d.Z%d/d0Z&d1d2Z'd3d4Z(e(e ej)j <d5d6Z*e*e ej+j <d7d8Z,e,e ej-j <d9d:Z.e.e ej/j <d;d<Z0e0e ej1j <d=d>Z2e2e ej3j <d?d@Z4e4e ej5j <dAdBZ6dS)Drr r NFTr cCs t|}t|}|dkrtd|dur|dkrtd|s#td||_||_||_|dur4||_ntj|_t||_ ||_ ||_ dS)Nrzindent must be >= 0zdepth must be > 0zwidth must be != 0) int ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact _sort_dicts_underscore_numbers)r%rrrrr rrrrrr&ks$  zPrettyPrinter.__init__cCs&|||jddid|jddS)Nr )_formatr8writer%rrrrrszPrettyPrinter.pprintcCs"t}|||ddid|Sr) _StringIOr@getvalue)r%rZsiorrrrszPrettyPrinter.pformatcCs||idddSr formatrBrrrrszPrettyPrinter.isrecursivecCs ||idd\}}}|o| SrrE)r%rsreadable recursiverrrrs zPrettyPrinter.isreadablec Cs t|}||vr|t|d|_d|_dS||||}|j||} t|| kr~|j t |j d} | durNd||<| |||||||d||=dSt |r~t|t s~|jjr~t|j dr~d|j jjvr~d||<|||||||d||=dS||dS)NTFr __wrapped__Z __create_fn__)r*rA _recursion _recursive _readable_reprr7len _dispatchgetr)__repr__ _dataclassesZ is_dataclass isinstanceZ__dataclass_params__reprhasattrrJr/_pprint_dataclass) r%rrr allowancecontextlevelobjidrep max_widthprrrr@s8   zPrettyPrinter._formatc s`jj}|t|d7}fddtD}||d||||||||ddS)Nr cs$g|]}|jr|jt|jfqSr)rUnamegetattr).0frrr s$z3PrettyPrinter._pprint_dataclass..()) __class__r-rOrSZfieldsrA_format_namespace_items r%rrrrXrYrZcls_nameitemsrrrrWs zPrettyPrinter._pprint_dataclassc Csz|j}|d|jdkr||jddt|}|r7|jr't|td} n|} || |||d|||ddS)N{r  key})rAr6rOr=sortedrjr2_format_dict_items) r%rrrrXrYrZrAZlengthrjrrr _pprint_dicts  zPrettyPrinter._pprint_dictcCslt|s |t|dS|j}||jd|t|||t|jd|d|||ddS)Nrdr re)rOrArUrfr-r@listrj)r%rrrrXrYrZclsrrr_pprint_ordered_dictsz"PrettyPrinter._pprint_ordered_dictcCs0|d|||||d|||ddS)N[r ])rA _format_itemsr%rrrrXrYrZrrr _pprint_lists zPrettyPrinter._pprint_listcCsH|dt|dkr dnd}|||||t|||||dS)Nrdr z,)re)rArOrx)r%rrrrXrYrZendcharrrr _pprint_tuples zPrettyPrinter._pprint_tuplec Cst|s |t|dS|j}|tur|dd}n||jdd}|t|jd7}t|td}|||||t|||||dS)Nrkro({})r rm) rOrArUrfsetr-rpr"rx) r%rrrrXrYrZtypr{rrr _pprint_sets  zPrettyPrinter._pprint_setcCs|j}t|s|t|dSg}|d} |dkr"|d7}|d7}|j|} } t| D]n\} } t| }| t| dkrA| |8} t|| krM||q-td| }| | }d}t|D]2\}}||}|t|dkr{| t| dkr{||8}tt||kr|r|t||}q_|}q_|r|t|q-t|dkr||dS|dkr|dt|D]\} }| dkr|dd|||q|dkr|d dSdS) NTr z\S*\s*rdrr?rlre) rArOrU splitlinesr7 enumerateappendrefindallpop)r%rrrrXrYrZrAZchunkslinesZ max_width1r]iliner\partsZ max_width2currentjpart candidaterrr _pprint_strsX         zPrettyPrinter._pprint_strc Cs|j}t|dkr|t|dS|dk}|r#|d7}|d7}|dd} t||j||D]} || || | s@dd|} q.|rI|ddSdS)Nr rdrr?rlre)rArOrU_wrap_bytes_reprr7) r%rrrrXrYrZrAZparensdelimr\rrr _pprint_bytesCs&    zPrettyPrinter._pprint_bytesc Cs>|j}|d|t|||d|d||d|ddS)Nz bytearray( r re)rArbytes)r%rrrrXrYrZrArrr_pprint_bytearrayXs  zPrettyPrinter._pprint_bytearraycCs8|d||||d|d|||ddS)Nz mappingproxy( r re)rAr@copyryrrr_pprint_mappingproxyas z"PrettyPrinter._pprint_mappingproxyc Csft|tjur d}n|jj}|t|d7}|j}||d| |||||||ddS)N namespacer rdre) r)_typesSimpleNamespacerfr-rO__dict__rjrArgrhrrr_pprint_simplenamespaceis z%PrettyPrinter._pprint_simplenamespacec Cs|j}||j7}dd|}t|d} t|D]3\} \} } | | k} || ||}|||d|| ||t|d| r@|nd||| sK||qdS)N, rlr z: r!)rAr6rOrrNr@)r%rjrrrXrYrZrAdelimnl last_indexrrnentlastr\rrrrqxs"    z PrettyPrinter._format_dict_itemsc Cs|j}dd|}t|d} t|D]7\} \} } | | k} || |dt| |vr0|dn|| ||t| d| r?|nd||| sJ||qdS)Nrrlr =...)rArOrr*r@)r%rjrrrXrYrZrArrrrnrrrrrrgs"     z%PrettyPrinter._format_namespace_itemscCsF|j}||j7}|jdkr||jdddd|}d} |j|d} } t|} zt| } Wn ty;YdSwd}|s| }zt| } Wnty[d}| |8} | |8} Ynw|jr||||}t|d}| |krv| } | rv|} | |kr| |8} || d} ||q>|| |} | ||||r|nd|||r@dSdS) Nr rlrrFTr!, ) rAr6r7iternext StopIterationr<rNrOr@)r%rjrrrXrYrZrArrrr]itZnext_entrrr\wrrrrxsV            zPrettyPrinter._format_itemscCs4||||j|\}}}|sd|_|rd|_|S)NFT)rFrr5rMrL)r%rrYrZrUrHrIrrrrNs  zPrettyPrinter._reprcCs |||||Sr$)r)r%rrY maxlevelsrZrrrrFszPrettyPrinter.formatc Cst|s |t|dS||j||}|j}|t|jd7}|d|j|d|f|||||d|||ddS)Nr z %s(%s, %srlre)rOrArUrNdefault_factoryrfr-rr) r%rrrrXrYrZZrdfrtrrr_pprint_default_dictsz"PrettyPrinter._pprint_default_dictc Cst|s |t|dS|j}||jd|jdkr'||jdd|}||||t|jd|d|||ddS)Nr}r rlr!r~)rOrArUrfr-r6 most_commonrq) r%rrrrXrYrZrtrjrrr_pprint_counters zPrettyPrinter._pprint_counterc Cst|js|t|dS|j}||jd|t|jd7}t|jD]2\}} |t|jdkrF|| |||d|||dq'|| ||d|||dd|q'dS)Nrdr rerrl)rOmapsrArUrfr-rr@) r%rrrrXrYrZrtrmrrr_pprint_chain_maps  zPrettyPrinter._pprint_chain_mapc Cst|s |t|dS|j}||jd|t|jd7}|d|jdur>|||||d|||ddS||||d||||j||}|dd||fdS)Nrdr rvr!z])z], %smaxlen=%s)rl)rOrArUrfr-maxlenrxrN) r%rrrrXrYrZrtZrmlrrr _pprint_deques"   zPrettyPrinter._pprint_dequec C||j|||||ddSNr r@dataryrrr_pprint_user_dictzPrettyPrinter._pprint_user_dictc Crrrryrrr_pprint_user_listrzPrettyPrinter._pprint_user_listc Crrrryrrr_pprint_user_string!rz!PrettyPrinter._pprint_user_stringcCst|}|tvrt|ddfSt|dd}t|tr0|tjur0|jr)|dddfSt|ddfSt|tr|tjur|s>dSt |}|rO||krOdd||vfS||vrZt |ddfSd||<d}d} g} | j } |d7}|j rwt |td} n|} | D].\} }|| |||\}}}|||||\}}}| d ||f|o|o|}|s|rd} q}||=d d | || fSt|tr|tjust|trF|tjurFt|tr|sd Sd }nt|dkrd}n|sdSd}t |}|r||kr|dd||vfS||vr t |ddfSd||<d}d} g} | j } |d7}|D]}|||||\}}}| ||s2d}|r7d} q||=|d | || fSt|}||oS|d dfS)NTFrRZ_d)z{}TFz{...}r rmz%s: %sz{%s}r)z[]TFz[%s]z(%s,))z()TFz(%s)r<)r)_builtin_scalarsrUr` issubclassr3rRr>dictr*rKrr=rprjr2rFjoinrstuplerO startswith)r%rrYrrZrrr[rHrIZ componentsrrjkvZkreprZ kreadableZkrecurZvreprZ vreadableZvrecurrFoZoreprZ oreadableZorecurr\rrrr&s            zPrettyPrinter._safe_repr)r r NN)7r-r.r/r&rrrrr@rWrPrrrrRru _collections OrderedDictrzrsr|rrr frozensetrr(rrr bytearrayrrMappingProxyTyperrrqrgrxrNrFr defaultdictrCounterrChainMaprdequerUserDictrUserListr UserStringrrrrrrjsh ,       1    )         rcCsdt|jt|fS)Nz)r)r-r*rrrrrKzsrKcCsddl}|durddddgdddfgd }t}|}||iddd |}|||}td ||td ||dS) Nrstring)r r!r)iTz _safe_repr:zpformat:)timer perf_counterrrprint)rrr^t1t2Zt3rrr _perfchecks rccsd}t|dd}tdt|dD]*}|||d}||}||kr)||8}tt||kr;|r8t|V|}q|}q|rGt|VdSdS)Nrr)rOrangerU)rrrXrrrrrrrrrs  r__main__)Nr r N)r r Nr$)# collectionsrZ dataclassesrSrsysr9typesriorrC__all__rrr rrrr"r2rrr(rrfloatcomplexr;r)rrKrrr-rrrrsD