digraph pkgdb_array { graph [rankdir=LR,rank=same,ranksep=".10"]; edge [arrowhead="vee",arrowsize="0.2",fontname="DejaVuSansCondensed",fontsize="9"]; node [height=".1",shape=box,fontname="DejaVuSansCondensed",fontsize="9"]; pkgdb_plist -> main; pkgdb_plist [style=filled,fillcolor="darksalmon",label="pkgdb.plist"]; main [label="Main array"]; main -> pkgdict [label="dictionary"]; main -> pkgdict2 [label="dictionary"]; pkgdict [style=filled,label="Package[0]"]; pkgdict2 [style=filled,label="Package[N+1]"]; pkgdict2 -> pkgdict2_objs [label="objects"]; pkgdict2_objs [style=filled,label="..."]; pkgdict -> pkgname [label="string"]; pkgdict -> version [label="string"]; pkgdict -> pkgver [label="string"]; pkgdict -> state [label="string"]; state -> state_inst [label="value"]; state -> state_hfuned [label="value"]; state -> state_unpack [label="value"]; state -> state_hfrmed [label="value"]; state_inst [style=filled,fillcolor="yellowgreen",label="installed"]; state_hfuned [style=filled,fillcolor="yellowgreen",label="half-unpacked"]; state_unpack [style=filled,fillcolor="yellowgreen",label="unpacked"]; state_hfrmed [style=filled,fillcolor="yellowgreen",label="half-removed"]; pkgdict -> automatic [label="bool"]; automatic [label="automatic-install"]; pkgdict -> short_desc [label="string"] pkgdict -> requiredby [label="array"]; requiredby [style=filled]; requiredby -> reqby1 [label="string"]; requiredby -> reqby2 [style=filled,label="string"]; reqby1 [label="blah-2.0"]; reqby2 [style=filled,label="..."]; }