�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%= 0zdepth must be > 0zwidth must be != 0) int ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact)rr rrr r rrrrcszPrettyPrinter.__init__cCs&|j||jddid|jjddS)Nr )_formatr*write)rrrrrrszPrettyPrinter.pprintcCs"t}|j||ddid|jS)Nr) _StringIOr0getvalue)rrZsiorrrrszPrettyPrinter.pformatcCs|j|idddS)Nrr)format)rrrrrrszPrettyPrinter.isrecursivecCs |j|idd\}}}|o| S)Nr)r4)rrsreadable recursiverrrrszPrettyPrinter.isreadablec Cst|}||kr.|jt|d|_d|_dS|j|||}|j||} t|| kr|jj t |j d} | dk rd||<| |||||||d||=dSt |t rd||<|j||||||d||=dS|j|dS)NTFr )rr1 _recursion _recursive _readable_reprr)len _dispatchgetr__repr__ isinstancedict _pprint_dict) rrr r allowancecontextlevelobjidrep max_widthprrrr0s,    zPrettyPrinter._formatc Csj|j}|d|jdkr*||jddt|}|r^t|jtd} |j| |||d|||ddS)N{r  )key})r1r(r<sorteditemsr$_format_dict_items) rrr r rCrDrEr1ZlengthrOrrrrBs zPrettyPrinter._pprint_dictcCslt|s|jt|dS|j}|j|jd|jt|j||t|jd|d|||jddS)N(r ))r<r1repr __class__rr0listrO)rrr r rCrDrEclsrrr_pprint_ordered_dictsz"PrettyPrinter._pprint_ordered_dictcCs0|jd|j||||d|||jddS)N[r ])r1 _format_items)rrr r rCrDrErrr _pprint_lists zPrettyPrinter._pprint_listcCsH|jdt|dkrdnd}|j||||t||||j|dS)NrQr z,)rR)r1r<rZ)rrr r rCrDrEendcharrrr _pprint_tuples  zPrettyPrinter._pprint_tuplec Cst|s|jt|dS|j}|tkr8|jdd}n&|j|jdd}|t|jd7}t|td}|j||||t||||j|dS)NrJrMz({z})r )rL) r<r1rSrTsetrrNrrZ) rrr r rCrDrEtypr\rrr _pprint_sets  zPrettyPrinter._pprint_setcCs|j}t|s|t|dSg}|jd} |dkrD|d7}|d7}|j|} } xt| D]\} } t| }| t| dkr| |8} t|| kr|j|q\tjd| }|j | }d}xtt|D]h\}}||}|t|dkr| t| dkr||8}tt||kr&|r |jt||}q|}qW|r\|jt|q\Wt|dkr^||dS|dkrp|dx8t|D],\} }| dkr|dd|||qzW|dkr|d dS) NTr z\S*\s*rQrr/rKrR) r1r<rS splitlinesr) enumerateappendrefindallpop)rrr r rCrDrEr1ZchunkslinesZ max_width1rHilinerGpartsZ max_width2currentjpart candidaterrr _pprint_strsT         zPrettyPrinter._pprint_strc Cs|j}t|dkr"|t|dS|dk}|rF|d7}|d7}|dd} x:t||j||D]$} || || | s^dd|} q^W|r|ddS)Nr rQrar/rKrR)r1r<rS_wrap_bytes_reprr)) rrr r rCrDrEr1ZparensdelimrGrrr _pprint_bytes's"  zPrettyPrinter._pprint_bytescCs>|j}|d|jt|||d|d||d|ddS)Nz bytearray( r rR)r1rtbytes)rrr r rCrDrEr1rrr_pprint_bytearray<s zPrettyPrinter._pprint_bytearraycCs8|jd|j|j||d|d|||jddS)Nz mappingproxy( r rR)r1r0copy)rrr r rCrDrErrr_pprint_mappingproxyEs z"PrettyPrinter._pprint_mappingproxycCs|j}||j7}dd|}t|d} xrt|D]f\} \} } | | k} |j| ||}|||d|j| ||t|d| r|nd||| s2||q2WdS)Nz, rKr z: r)r1r(r<rcr;r0)rrOr r rCrDrEr1delimnlZ last_indexrirLentlastrGrrrrPMs    z PrettyPrinter._format_dict_itemscCsN|j}||j7}|jdkr,||jdddd|}d} |j|d} } t|} y t| } Wntk rvdSXd}x|sH| }y t| } Wn(tk rd}| |8} | |8} YnX|jr|j|||}t|d}| |kr| } | r|} | |kr| |8} || d} ||q~|| |} |j ||||r<|nd||q~WdS) Nr rKz, raFTrz, ) r1r(r)iternext StopIterationr.r;r<r0)rrOr r rCrDrEr1r{rsrrHitZnext_entr}r|rGwrrrrZ^sN         zPrettyPrinter._format_itemscCs4|j||j|j|\}}}|s&d|_|r0d|_|S)NFT)r4ryr'r:r9)rrrDrErSr6r7rrrr;s zPrettyPrinter._reprcCst||||S)N)r)rrrD maxlevelsrErrrr4szPrettyPrinter.formatc Cst|s|jt|dS|j|j||}|j}|t|jd7}|jd|j|d|f|j||||d|||jddS)Nr z %s(%s, %srKrR)r<r1rSr;default_factoryrTrrB) rrr r rCrDrEZrdfrVrrr_pprint_default_dictsz"PrettyPrinter._pprint_default_dictc Cst|s|jt|dS|j}|j|jd|jdkrN|j|jdd|j}|j|||t|jd|d|||jddS)Nz({r rKrz}))r<r1rSrTrr( most_commonrP) rrr r rCrDrErVrOrrr_pprint_counters zPrettyPrinter._pprint_counterc Cst|js|jt|dS|j}|j|jd|t|jd7}xrt|jD]d\}} |t|jdkr|j| |||d|||jdqP|j| ||d|||jdd|qPWdS)NrQr rRz, rK)r<mapsr1rSrTrrcr0) rrr r rCrDrErVrimrrr_pprint_chain_maps  zPrettyPrinter._pprint_chain_mapc Cst|s|jt|dS|j}|j|jd|t|jd7}|jd|jdkrz|j||||d|||jdn:|j|||d|||j|j||}|jdd||fdS)NrQr rXrz])z], %smaxlen=%s)rK)r<r1rSrTrmaxlenrZr;) rrr r rCrDrErVZrmlrrr _pprint_deques    zPrettyPrinter._pprint_dequecCs|j|j|||||ddS)Nr )r0data)rrr r rCrDrErrr_pprint_user_dictszPrettyPrinter._pprint_user_dictcCs|j|j|||||ddS)Nr )r0r)rrr r rCrDrErrr_pprint_user_listszPrettyPrinter._pprint_user_listcCs|j|j|||||ddS)Nr )r0r)rrr r rCrDrErrr_pprint_user_stringsz!PrettyPrinter._pprint_user_string)r r NN)2rr r!rrrrrr0r=rBrAr?rW _collections OrderedDictr[rUr]tupler`r^ frozensetrprrtrvrw bytearrayrz_typesMappingProxyTyperPrZr;r4r defaultdictrCounterrChainMaprdequerUserDictrUserListr UserStringrrrrrbsZ&      1    )       cCst|}|tkrt|ddfSt|dd}t|to<|tjkr8|sHdSt|}|rj||krjdd||kfS||krt|ddfSd||<d}d}g} | j } |d7}t } t |j t d} xf| D]^\} }| | |||\}}}| ||||\}}}| d||f|o |o |}|s|rd}qW||=d d j| ||fSt|trP|tjksht|trd|tjkrdt|tr|s~dSd }n"t|dkrd }n|sdSd}t|}|r||kr|dd||kfS||krt|ddfSd||<d}d}g} | j } |d7}x>|D]6}t ||||\}}}| ||s:d}|rd}qW||=|d j| ||fSt|}||o~|jd dfS)NTFr?{}z{...}r )rLz%s: %sz{%s}z, []z[%s]z(%s,)()z(%s)z...<)rTF)rTF)rTF)r_builtin_scalarsrSgetattr issubclassrAr?rr8rdrrNrOr$joinrUrr< startswith)rrDrrEr_rrFr6r7Z componentsrdrrOkvZkreprZ kreadableZkrecurZvreprZ vreadableZvrecurr4oZoreprZ oreadableZorecurrGrrrrs|       rcCsdt|jt|fS)Nz)rrr)rrrrr81sr8cCsddl}|dkr,dd ddgddd fgd }t}|j}t|idd|j}|j||j}td ||td ||dS)Nrstringr rrq)iz _safe_repr:zpformat:)r r)timerrrprint)rrrIZt1Zt2Zt3rrr _perfcheck6s rccsd}t|dd}xhtdt|dD]T}|||d}||}||krR||8}tt||krv|rpt|V|}q&|}q&W|rt|VdS)Nrqr)r<rangerS)rrrCrlr}rirnrorrrrrCs rr__main__)Nr r N)r r N)N)" collectionsrresysr+typesriorr2__all__rrrrrrr$rrrrrvrr%floatcomplexr-rrr8rrrrrrrr%s4   D