bg"UdZddlmZddlmZddlmZddlmZm Z m Z m Z m Z dddd d d d d Z iddddde dde dde dddddddde dde dddddde dd dd!dd"dd#de de d$e d$e d$e d$e d$e d$e d$e d$e d$e d$d% Zdde de de dddde de dddddd&Zid'dd(dddd)e d*d+dd,dde dde dd-e dd.e dd/dd0dd1e d2d3e d2de dd4dd5dd!diZe jd6e jd6e jd7iZd8ed9<ejd:d;dd<ejd:d;d=d<ejd:d;d>d=d?ejd:d;d@dAejd:d;d@dAiZdBedC<e jdDe jdEe jdFe jdGiZ dHedI<GdJdKe Z!dLS)MaHFunctions to generate files readable with George Sander's vcg (Visualization of Compiler Graphs). You can download vcg at https://rw4.cs.uni-sb.de/~sander/html/gshome.html Note that vcg exists as a debian package. See vcg's documentation for explanation about the different values that maybe used for the functions parameters. ) annotations)Mapping)Any)EdgeTypeLayoutNodePropertiesNodeTypePrinter)dfstree minbackward left_to_right right_to_left top_to_bottom bottom_to_topmaxdepth maxdepthslowmindepth mindepthslow mindegree minindegree minoutdegree maxdegree maxindegree maxoutdegree)yesno) blackwhiteblueredgreenyellowmagenta lightgreycyandarkgreydarkbluedarkred darkgreen darkyellow darkmagentadarkcyangold lightbluelightred lightgreen lightyellow lightmagenta lightcyanlilac turquoise aquamarinekhakipurple yellowgreenpinkorangeorchid)boxellipserhombtriangle)center left_justify right_justify)solidlinenone) continuousdasheddotted invisible)algosbooleanscolorsshapes textmodes arrowstyles linestylestitlelabelcolorrN textcolor bordercolorwidthheight borderwidthtextmoderPshaperOshrinkstretch orientationrLvertical_orderhorizontal_orderxspaceyspacerM) layoutalgorithmlate_edge_labelsdisplay_edge_labelsdirty_edge_labels finetuningmanhattan_edgessmanhattan_edges port_sharingedgesnodessplines)rSrTrUrVrWrXrZr[r\r]r^r_rarb sourcename targetname linestylerRclass thickness arrowcolorbackarrowcolor arrowsize backarrowsize arrowstylerQbackarrowstylepriorityanchorr>r?zdict[NodeType, str]SHAPESrErG)ryrzrx rJ)ryrzrrrxr")ryrzrVz$dict[EdgeType, dict[str, str | int]]ARROWSrrrrzdict[Layout, str] ORIENTATIONcVeZdZddZddZ ddd ZeddZ dddZddZ dS) VCGPrinterreturnNonec |d||t|jdddd|jr.|tt |jdSdS)zEmit the header lines.zgraph:{ r rr)rSrerfrlrj)r`N)emit _inc_indent_write_attributes GRAPH_ATTRSrSlayoutrselfs m/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/pyreverse/vcg_printer.py _open_graphzVCGPrinter._open_graphs +   *!"!     ; V  " ";K z4VCGPrinter._build_label_for_node..s666d 666rc34K|]}t|VdSN)len)rrs r z3VCGPrinter._build_label_for_node..s(UU4SYYUUUUUUr_z\n\fz\n\f08z\n\f10z()) fontcolorrTattrsmethodsmax) rrrTrr method_namesmaxlenrFattrrs rrz VCGPrinter._build_label_for_nodes+(2e;;FF 7y7*"2777   # (:(BL &B$*66g666 UUJ,<+= +Lu+TUUUUUfqj!%%t%% , ,D++T++EE  *))4))E  . .D--T---EE r from_nodeto_noderrT str | Nonec|d|d|ddt|}|r||d<|jtfi||ddS) zACreate an edge from one node to another to display relationships.zedge: {sourcename:"z" targetname:"rFrrTrN)rrr EDGE_ATTRS)rrrrrT attributess r emit_edgezVCGPrinter.emit_edges F9 F FG F F F    E]  ("'Jw        #rattributes_dictMapping[str, Any]argsrc |D]\}} ||}n:#t$r-}td|d||d}~wwxYw|s||d|dg|dkr)||dt |d||vr||d|dt d |d |d tdS) z%Write graph, node or edge attributes.zno such attribute z possible attributes are Nz:"z" rY: zvalue z isn't correct for attribute z correct values are )itemsKeyErrorAttributeErrorkeysrint ValueErrortype)rrrkeyvalue_typees rrzVCGPrinter._write_attributessO**,,  JC ',   $```H\H\H^H^``    S..E...////! S113u::1112222% S,,5,,,---- `U````Z^``  s$ A(AA)rrr)rrrr rrrr)rrrr) rrrrrrrTrrr)rrrrrr) __name__ __module__ __qualname__rrr staticmethodrrrrrrrrs V V V V-1 ,\4! *rrN)"__doc__ __future__rcollections.abcrtypingrpylint.pyreverse.printerrrrr r ATTRS_VALrrrPACKAGECLASS INTERFACEr}__annotations__USESINHERITS IMPLEMENTS ASSOCIATION AGGREGATIONr LEFT_TO_RIGHT RIGHT_TO_LEFT TOP_TO_BOTTOM BOTTOM_TO_TOPrrrrrrs #"""""######XXXXXXXXXXXXXX&!D6<,Au; ;  B Q Q Yx 8$  9X&   Q  a1 +& Yx  aq9W%a  a!" a#$!)!*-$Z0":.J' ,!*-j) z " z "$9 >  x 8$X& +& x  !! Q<(   Q    Yx 8$)H%i)Q)M*i . +& !" a#$% * e NE   M              -0: / / / / " kkkkkkkkkkr