developers/zcash-core-dag.svg

2502 lines
178 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="2924pt" height="2996pt"
viewBox="0.00 0.00 2924.00 2995.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2991.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2991.5 2920,-2991.5 2920,4 -4,4"/>
<!-- zcash/zcash#4506 -->
<g id="node1" class="node">
<title>zcash/zcash#4506</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/zcash/issues/4506" xlink:title="zcash/zcash#4506&#10;TZE: Add transaction&#10;builder support to&#10;librustzcash" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="194,-282 24,-282 24,-214 194,-214 194,-282"/>
<text text-anchor="middle" x="109" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4506</text>
<text text-anchor="middle" x="109" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: Add transaction</text>
<text text-anchor="middle" x="109" y="-236.8" font-family="Times,serif" font-size="14.00" fill="#000000">builder support to</text>
<text text-anchor="middle" x="109" y="-221.8" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226 -->
<g id="node2" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="448,-188 260,-188 260,-150 448,-150 448,-188"/>
<text text-anchor="middle" x="354" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="354" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/zcash#4506&#45;&gt;zcash/librustzcash#226 -->
<g id="edge1" class="edge">
<title>zcash/zcash#4506&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M194,-220.59C223.8,-210.98 256.87,-200.32 285.17,-191.19"/>
<polygon fill="#000000" stroke="#000000" points="286.5267,-194.4301 294.97,-188.03 284.3784,-187.7679 286.5267,-194.4301"/>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node3" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="738.5,-195.5 546.5,-195.5 546.5,-142.5 738.5,-142.5 738.5,-195.5"/>
<text text-anchor="middle" x="642.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="642.5" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="642.5" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge2" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M448.07,-169C476.16,-169 507.16,-169 535.99,-169"/>
<polygon fill="#000000" stroke="#000000" points="536.09,-172.5001 546.09,-169 536.09,-165.5001 536.09,-172.5001"/>
</g>
<!-- zcash/librustzcash#224 -->
<g id="node4" class="node">
<title>zcash/librustzcash#224</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/librustzcash/issues/224" xlink:title="zcash/librustzcash#224&#10;Refactor TZE Rust logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="203.5,-124 14.5,-124 14.5,-86 203.5,-86 203.5,-124"/>
<text text-anchor="middle" x="109" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#224</text>
<text text-anchor="middle" x="109" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor TZE Rust logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226 -->
<g id="edge3" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M183.48,-124.06C195.04,-127.04 206.85,-130.09 218,-133 235.65,-137.6 254.57,-142.58 272.53,-147.33"/>
<polygon fill="#000000" stroke="#000000" points="271.8273,-150.7645 282.39,-149.94 273.6186,-143.9975 271.8273,-150.7645"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node5" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node5"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="447,-96.5 261,-96.5 261,-43.5 447,-43.5 447,-96.5"/>
<text text-anchor="middle" x="354" y="-81.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="354" y="-66.3" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="354" y="-51.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/zcash#4190 -->
<g id="edge4" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M203.72,-91.468C219.08,-89.275 235.05,-86.994 250.59,-84.772"/>
<polygon fill="#000000" stroke="#000000" points="251.335,-88.2012 260.74,-83.323 250.3457,-81.2715 251.335,-88.2012"/>
</g>
<!-- zcash/zcash#4877 -->
<g id="node6" class="node">
<title>zcash/zcash#4877</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/zcash/pull/4877" xlink:title="zcash/zcash#4877&#10;Backport Boost removal&#10;PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="204,-353.5 14,-353.5 14,-349.5 10,-349.5 10,-345.5 14,-345.5 14,-308.5 10,-308.5 10,-304.5 14,-304.5 14,-300.5 204,-300.5 204,-353.5"/>
<polyline fill="none" stroke="#000000" points="14,-349.5 18,-349.5 18,-345.5 14,-345.5 "/>
<polyline fill="none" stroke="#000000" points="14,-308.5 18,-308.5 18,-304.5 14,-304.5 "/>
<text text-anchor="middle" x="109" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4877</text>
<text text-anchor="middle" x="109" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport Boost removal</text>
<text text-anchor="middle" x="109" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821 -->
<g id="node7" class="node">
<title>zcash/zcash#4821</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/4821" xlink:title="zcash/zcash#4821&#10;Replace boost::variant&#10;with std::variant" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="442.5,-388.5 265.5,-388.5 265.5,-335.5 442.5,-335.5 442.5,-388.5"/>
<text text-anchor="middle" x="354" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4821</text>
<text text-anchor="middle" x="354" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::variant</text>
<text text-anchor="middle" x="354" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::variant</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4821 -->
<g id="edge5" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4821</title>
<path fill="none" stroke="#000000" d="M204.07,-340.58C220.94,-342.99 238.54,-345.51 255.5,-347.93"/>
<polygon fill="#000000" stroke="#000000" points="255.0064,-351.3949 265.4,-349.34 255.9934,-344.4649 255.0064,-351.3949"/>
</g>
<!-- zcash/zcash#4822 -->
<g id="node8" class="node">
<title>zcash/zcash#4822</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/4822" xlink:title="zcash/zcash#4822&#10;Replace boost::optional&#10;with std::optional" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="446,-317.5 262,-317.5 262,-264.5 446,-264.5 446,-317.5"/>
<text text-anchor="middle" x="354" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4822</text>
<text text-anchor="middle" x="354" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::optional</text>
<text text-anchor="middle" x="354" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::optional</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4822 -->
<g id="edge6" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4822</title>
<path fill="none" stroke="#000000" d="M204.07,-313.03C219.63,-310.74 235.81,-308.37 251.54,-306.06"/>
<polygon fill="#000000" stroke="#000000" points="252.4162,-309.4688 261.8,-304.55 251.3969,-302.5434 252.4162,-309.4688"/>
</g>
<!-- zcash/zcash#4879 -->
<g id="node9" class="node">
<title>zcash/zcash#4879</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/4879" xlink:title="zcash/zcash#4879&#10;Refactor zcashconsensus&#10;library into zcash_script" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="741,-388.5 544,-388.5 544,-335.5 741,-335.5 741,-388.5"/>
<text text-anchor="middle" x="642.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4879</text>
<text text-anchor="middle" x="642.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor zcashconsensus</text>
<text text-anchor="middle" x="642.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">library into zcash_script</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4879 -->
<g id="edge7" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M442.52,-362C471.32,-362 503.61,-362 533.71,-362"/>
<polygon fill="#000000" stroke="#000000" points="533.83,-365.5001 543.83,-362 533.83,-358.5001 533.83,-365.5001"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node10" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node10"><a xlink:href="https://github.com/zcash/zcash/issues/4819" xlink:title="zcash/zcash#4819&#10;Backport upstream PRs&#10;that remove Boost usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="740,-317.5 545,-317.5 545,-264.5 740,-264.5 740,-317.5"/>
<text text-anchor="middle" x="642.5" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="642.5" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="642.5" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4819 -->
<g id="edge8" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M442.78,-338.05C458.49,-333.94 474.71,-329.78 490,-326 504.49,-322.42 519.79,-318.76 534.88,-315.23"/>
<polygon fill="#000000" stroke="#000000" points="535.814,-318.6062 544.76,-312.93 534.2268,-311.7885 535.814,-318.6062"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4879 -->
<g id="edge9" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M446.11,-314.97C460.78,-318.71 475.8,-322.5 490,-326 504.3,-329.53 519.37,-333.17 534.25,-336.73"/>
<polygon fill="#000000" stroke="#000000" points="533.4511,-340.1376 543.99,-339.05 535.0732,-333.3281 533.4511,-340.1376"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4819 -->
<g id="edge10" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M446.08,-291C474.25,-291 505.5,-291 534.62,-291"/>
<polygon fill="#000000" stroke="#000000" points="534.83,-294.5001 544.83,-291 534.83,-287.5001 534.83,-294.5001"/>
</g>
<!-- zcash/zcash#4876 -->
<g id="node11" class="node">
<title>zcash/zcash#4876</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/4876" xlink:title="zcash/zcash#4876&#10;libzcash_script: Expose&#10;precomputation APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1076,-388.5 891,-388.5 891,-335.5 1076,-335.5 1076,-388.5"/>
<text text-anchor="middle" x="983.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4876</text>
<text text-anchor="middle" x="983.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">libzcash_script: Expose</text>
<text text-anchor="middle" x="983.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">precomputation APIs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4879&#45;&gt;zcash/zcash#4876 -->
<g id="edge11" class="edge">
<title>zcash/zcash#4879&#45;&gt;zcash/zcash#4876</title>
<path fill="none" stroke="#000000" d="M741.13,-362C784.93,-362 836.47,-362 880.73,-362"/>
<polygon fill="#000000" stroke="#000000" points="880.94,-365.5001 890.94,-362 880.94,-358.5001 880.94,-365.5001"/>
</g>
<!-- zcash/zcash#4786 -->
<g id="node12" class="node">
<title>zcash/zcash#4786</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/zcash/issues/4786" xlink:title="zcash/zcash#4786&#10;[Orchard] Document&#10;Sinsemilla hash function&#10;and commitment scheme" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1082,-1560 885,-1560 885,-1492 1082,-1492 1082,-1560"/>
<text text-anchor="middle" x="983.5" y="-1544.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4786</text>
<text text-anchor="middle" x="983.5" y="-1529.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Document</text>
<text text-anchor="middle" x="983.5" y="-1514.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla hash function</text>
<text text-anchor="middle" x="983.5" y="-1499.8" font-family="Times,serif" font-size="14.00" fill="#000000">and commitment scheme</text>
</a>
</g>
</g>
<!-- zcash/halo2#73 -->
<g id="node13" class="node">
<title>zcash/halo2#73</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/halo2/issues/73" xlink:title="zcash/halo2#73&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1752,-1552.5 1579,-1552.5 1579,-1499.5 1752,-1499.5 1752,-1552.5"/>
<text text-anchor="middle" x="1665.5" y="-1537.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#73</text>
<text text-anchor="middle" x="1665.5" y="-1522.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1665.5" y="-1507.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/halo2#73 -->
<g id="edge12" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1082.3,-1526C1212.3,-1526 1439.4,-1526 1568.5,-1526"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1529.5001 1578.8,-1526 1568.8,-1522.5001 1568.8,-1529.5001"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node14" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/4707" xlink:title="zcash/zcash#4707&#10;[Orchard] Consensus&#10;specification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2091,-1787.5 1922,-1787.5 1922,-1734.5 2091,-1734.5 2091,-1787.5"/>
<text text-anchor="middle" x="2006.5" y="-1772.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="2006.5" y="-1757.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="2006.5" y="-1742.3" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/zcash#4707 -->
<g id="edge13" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1065.3,-1560.2C1091.4,-1574.8 1118.1,-1594.2 1136,-1619 1177.6,-1676.7 1121.5,-1724.9 1172,-1775 1282.2,-1884.4 1358.7,-1834 1513,-1851 1647.7,-1865.8 1685.8,-1880.9 1818,-1851 1867.4,-1839.8 1919,-1814 1955.7,-1792.9"/>
<polygon fill="#000000" stroke="#000000" points="1957.7923,-1795.7334 1964.7,-1787.7 1954.2903,-1789.6723 1957.7923,-1795.7334"/>
</g>
<!-- zcash/orchard#21 -->
<g id="node15" class="node">
<title>zcash/orchard#21</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/orchard/pull/21" xlink:title="zcash/orchard#21&#10;Implement Sinsemilla&#10;primitives" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1411,-1367.5 1238,-1367.5 1238,-1363.5 1234,-1363.5 1234,-1359.5 1238,-1359.5 1238,-1322.5 1234,-1322.5 1234,-1318.5 1238,-1318.5 1238,-1314.5 1411,-1314.5 1411,-1367.5"/>
<polyline fill="none" stroke="#000000" points="1238,-1363.5 1242,-1363.5 1242,-1359.5 1238,-1359.5 "/>
<polyline fill="none" stroke="#000000" points="1238,-1322.5 1242,-1322.5 1242,-1318.5 1238,-1318.5 "/>
<text text-anchor="middle" x="1324.5" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#21</text>
<text text-anchor="middle" x="1324.5" y="-1337.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1324.5" y="-1322.3" font-family="Times,serif" font-size="14.00" fill="#000000">primitives</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/orchard#21 -->
<g id="edge14" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1057.6,-1491.8C1084.4,-1477.1 1113.4,-1458.2 1136,-1436 1157.9,-1414.4 1147.1,-1395 1172,-1377 1188.5,-1365.1 1208.3,-1357 1228.2,-1351.6"/>
<polygon fill="#000000" stroke="#000000" points="1229.0334,-1354.9994 1237.9,-1349.2 1227.3521,-1348.2043 1229.0334,-1354.9994"/>
</g>
<!-- zcash/orchard#4 -->
<g id="node16" class="node">
<title>zcash/orchard#4</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2093,-1552.5 1920,-1552.5 1920,-1499.5 2093,-1499.5 2093,-1552.5"/>
<text text-anchor="middle" x="2006.5" y="-1537.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="2006.5" y="-1522.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="2006.5" y="-1507.3" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#73&#45;&gt;zcash/orchard#4 -->
<g id="edge15" class="edge">
<title>zcash/halo2#73&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1752.4,-1526C1800.4,-1526 1860.2,-1526 1909.7,-1526"/>
<polygon fill="#000000" stroke="#000000" points="1909.7,-1529.5001 1919.7,-1526 1909.7,-1522.5001 1909.7,-1529.5001"/>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node17" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard as a&#10;future NU feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2398.5,-1811.5 2206.5,-1811.5 2206.5,-1758.5 2398.5,-1758.5 2398.5,-1811.5"/>
<text text-anchor="middle" x="2302.5" y="-1796.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="2302.5" y="-1781.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard as a</text>
<text text-anchor="middle" x="2302.5" y="-1766.3" font-family="Times,serif" font-size="14.00" fill="#000000">future NU feature</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge16" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2091.3,-1767.9C2124.1,-1770.5 2161.9,-1773.6 2196.4,-1776.4"/>
<polygon fill="#000000" stroke="#000000" points="2196.2548,-1779.8994 2206.5,-1777.2 2196.8076,-1772.9212 2196.2548,-1779.8994"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node18" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement Orchard&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2633,-1690.5 2474,-1690.5 2474,-1637.5 2633,-1637.5 2633,-1690.5"/>
<text text-anchor="middle" x="2553.5" y="-1675.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="2553.5" y="-1660.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="2553.5" y="-1645.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/zcash#5024 -->
<g id="edge17" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2038.3,-1734.4C2073.9,-1706.6 2134.5,-1664.7 2195,-1648 2284,-1623.4 2390.2,-1632.6 2463.8,-1644.8"/>
<polygon fill="#000000" stroke="#000000" points="2463.4577,-1648.2915 2473.9,-1646.5 2464.6197,-1641.3886 2463.4577,-1648.2915"/>
</g>
<!-- zcash/orchard#31 -->
<g id="node19" class="node">
<title>zcash/orchard#31</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/orchard/issues/31" xlink:title="zcash/orchard#31&#10;Implement Orchard note&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1763,-1222.5 1568,-1222.5 1568,-1169.5 1763,-1169.5 1763,-1222.5"/>
<text text-anchor="middle" x="1665.5" y="-1207.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#31</text>
<text text-anchor="middle" x="1665.5" y="-1192.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard note</text>
<text text-anchor="middle" x="1665.5" y="-1177.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#21&#45;&gt;zcash/orchard#31 -->
<g id="edge18" class="edge">
<title>zcash/orchard#21&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1362.1,-1314.4C1399,-1289.5 1457.5,-1253 1513,-1231 1527.2,-1225.4 1542.5,-1220.5 1557.8,-1216.4"/>
<polygon fill="#000000" stroke="#000000" points="1559.0025,-1219.7038 1567.8,-1213.8 1557.241,-1212.929 1559.0025,-1219.7038"/>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge19" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2022.2,-1552.8C2050.8,-1599.3 2115.7,-1695.2 2195,-1749 2197.3,-1750.6 2199.6,-1752 2202.1,-1753.5"/>
<polygon fill="#000000" stroke="#000000" points="2200.5519,-1756.643 2211,-1758.4 2203.928,-1750.511 2200.5519,-1756.643"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node20" class="node">
<title>zcash/orchard#35</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2385,-977.5 2220,-977.5 2220,-924.5 2385,-924.5 2385,-977.5"/>
<text text-anchor="middle" x="2302.5" y="-962.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="2302.5" y="-947.3" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="2302.5" y="-932.3" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge20" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2093.3,-1520C2117.2,-1514.4 2141.4,-1504.4 2159,-1487 2168.2,-1477.9 2262.9,-1106.9 2293.2,-987.57"/>
<polygon fill="#000000" stroke="#000000" points="2296.6143,-988.3453 2295.7,-977.79 2289.8324,-986.6116 2296.6143,-988.3453"/>
</g>
<!-- zcash/orchard#32 -->
<g id="node21" class="node">
<title>zcash/orchard#32</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/orchard/issues/32" xlink:title="zcash/orchard#32&#10;Implement note encryption&#10;for Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2112.5,-1056.5 1900.5,-1056.5 1900.5,-1003.5 2112.5,-1003.5 2112.5,-1056.5"/>
<text text-anchor="middle" x="2006.5" y="-1041.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#32</text>
<text text-anchor="middle" x="2006.5" y="-1026.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note encryption</text>
<text text-anchor="middle" x="2006.5" y="-1011.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#32 -->
<g id="edge21" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1763.3,-1178.6C1781.9,-1173.7 1800.8,-1167.6 1818,-1160 1874.2,-1135 1931.4,-1092.7 1967.8,-1063.2"/>
<polygon fill="#000000" stroke="#000000" points="1970.2016,-1065.7564 1975.7,-1056.7 1965.7541,-1060.3509 1970.2016,-1065.7564"/>
</g>
<!-- zcash/orchard#33 -->
<g id="node22" class="node">
<title>zcash/orchard#33</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2119.5,-1972.5 1893.5,-1972.5 1893.5,-1919.5 2119.5,-1919.5 2119.5,-1972.5"/>
<text text-anchor="middle" x="2006.5" y="-1957.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="2006.5" y="-1942.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="2006.5" y="-1927.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#33 -->
<g id="edge22" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1763.1,-1199.5C1784,-1204.9 1804,-1214.5 1818,-1231 1899.5,-1326.9 1801.7,-1681.6 1854,-1796 1876.3,-1844.8 1922,-1886.3 1957.5,-1913.2"/>
<polygon fill="#000000" stroke="#000000" points="1955.7518,-1916.256 1965.9,-1919.3 1959.8651,-1910.5919 1955.7518,-1916.256"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node23" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2647.5,-977.5 2459.5,-977.5 2459.5,-924.5 2647.5,-924.5 2647.5,-977.5"/>
<text text-anchor="middle" x="2553.5" y="-962.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="2553.5" y="-947.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="2553.5" y="-932.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge23" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2385,-951C2405.5,-951 2427.7,-951 2449.1,-951"/>
<polygon fill="#000000" stroke="#000000" points="2449.2,-954.5001 2459.2,-951 2449.2,-947.5001 2449.2,-954.5001"/>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/orchard#35 -->
<g id="edge39" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2105.9,-1003.5C2139.4,-994.54 2176.6,-984.6 2209.6,-975.8"/>
<polygon fill="#000000" stroke="#000000" points="2210.8525,-979.0876 2219.6,-973.11 2209.0341,-972.3279 2210.8525,-979.0876"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node36" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node36"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2649.5,-857 2457.5,-857 2457.5,-789 2649.5,-789 2649.5,-857"/>
<text text-anchor="middle" x="2553.5" y="-841.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="2553.5" y="-826.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2553.5" y="-811.8" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="2553.5" y="-796.8" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/zcash#5020 -->
<g id="edge40" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2112.9,-1044.6C2200.3,-1050.9 2323.4,-1045.9 2410,-986 2439.1,-965.87 2424.1,-942.82 2446,-915 2460.7,-896.24 2479.8,-878.47 2497.7,-863.65"/>
<polygon fill="#000000" stroke="#000000" points="2500.3044,-866.0467 2505.9,-857.05 2495.9153,-860.5936 2500.3044,-866.0467"/>
</g>
<!-- zcash/zcash#5018 -->
<g id="node38" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2388.5,-1987.5 2216.5,-1987.5 2216.5,-1904.5 2388.5,-1904.5 2388.5,-1987.5"/>
<text text-anchor="middle" x="2302.5" y="-1972.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="2302.5" y="-1957.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2302.5" y="-1942.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="2302.5" y="-1927.3" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="2302.5" y="-1912.3" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge43" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M2119.7,-1946C2148.2,-1946 2178.5,-1946 2206.1,-1946"/>
<polygon fill="#000000" stroke="#000000" points="2206.1,-1949.5001 2216.1,-1946 2206.1,-1942.5001 2206.1,-1949.5001"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node34" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node34"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2911,-913 2702,-913 2702,-845 2911,-845 2911,-913"/>
<text text-anchor="middle" x="2806.5" y="-897.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="2806.5" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2806.5" y="-867.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="2806.5" y="-852.8" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2646.6,-924.5C2661.3,-920.32 2676.6,-915.96 2691.7,-911.66"/>
<polygon fill="#000000" stroke="#000000" points="2692.9357,-914.9476 2701.6,-908.85 2691.0243,-908.2136 2692.9357,-914.9476"/>
</g>
<!-- zcash/zcash#4883 -->
<g id="node24" class="node">
<title>zcash/zcash#4883</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/4883" xlink:title="zcash/zcash#4883&#10;Find optimized addition&#10;chains for the Pasta&#10;fields (x^{1/α} used in&#10;Rescue, and x^{(m&#45;1)/2}&#10;used in square root)" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="452.5,-1482 255.5,-1482 255.5,-1384 452.5,-1384 452.5,-1482"/>
<text text-anchor="middle" x="354" y="-1466.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4883</text>
<text text-anchor="middle" x="354" y="-1451.8" font-family="Times,serif" font-size="14.00" fill="#000000">Find optimized addition</text>
<text text-anchor="middle" x="354" y="-1436.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains for the Pasta</text>
<text text-anchor="middle" x="354" y="-1421.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (x^{1/α} used in</text>
<text text-anchor="middle" x="354" y="-1406.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rescue, and x^{(m&#45;1)/2}</text>
<text text-anchor="middle" x="354" y="-1391.8" font-family="Times,serif" font-size="14.00" fill="#000000">used in square root)</text>
</a>
</g>
</g>
<!-- zcash/halo2#72 -->
<g id="node25" class="node">
<title>zcash/halo2#72</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/halo2/issues/72" xlink:title="zcash/halo2#72&#10;Implement table&#45;based&#10;variant of Sarkar&#39;s&#10;square root algorithm" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="733.5,-1420 551.5,-1420 551.5,-1352 733.5,-1352 733.5,-1420"/>
<text text-anchor="middle" x="642.5" y="-1404.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#72</text>
<text text-anchor="middle" x="642.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement table&#45;based</text>
<text text-anchor="middle" x="642.5" y="-1374.8" font-family="Times,serif" font-size="14.00" fill="#000000">variant of Sarkar&#39;s</text>
<text text-anchor="middle" x="642.5" y="-1359.8" font-family="Times,serif" font-size="14.00" fill="#000000">square root algorithm</text>
</a>
</g>
</g>
<!-- zcash/zcash#4883&#45;&gt;zcash/halo2#72 -->
<g id="edge24" class="edge">
<title>zcash/zcash#4883&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M452.88,-1416.9C481.33,-1412.3 512.41,-1407.2 541.02,-1402.5"/>
<polygon fill="#000000" stroke="#000000" points="541.6986,-1405.936 551.02,-1400.9 540.5926,-1399.0239 541.6986,-1405.936"/>
</g>
<!-- zcash/zcash#4710 -->
<g id="node26" class="node">
<title>zcash/zcash#4710</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/4710" xlink:title="zcash/zcash#4710&#10;[Orchard]&#10;Specify/implement&#10;GroupHash into&#10;Pallas/Vesta" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1059,-1427.5 908,-1427.5 908,-1344.5 1059,-1344.5 1059,-1427.5"/>
<text text-anchor="middle" x="983.5" y="-1412.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4710</text>
<text text-anchor="middle" x="983.5" y="-1397.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard]</text>
<text text-anchor="middle" x="983.5" y="-1382.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify/implement</text>
<text text-anchor="middle" x="983.5" y="-1367.3" font-family="Times,serif" font-size="14.00" fill="#000000">GroupHash into</text>
<text text-anchor="middle" x="983.5" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">Pallas/Vesta</text>
</a>
</g>
</g>
<!-- zcash/halo2#72&#45;&gt;zcash/zcash#4710 -->
<g id="edge25" class="edge">
<title>zcash/halo2#72&#45;&gt;zcash/zcash#4710</title>
<path fill="none" stroke="#000000" d="M733.88,-1386C784.82,-1386 847.87,-1386 897.86,-1386"/>
<polygon fill="#000000" stroke="#000000" points="897.99,-1389.5001 907.99,-1386 897.99,-1382.5001 897.99,-1389.5001"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/zcash#4707 -->
<g id="edge26" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1059.1,-1417.2C1087.6,-1432.8 1117.6,-1454.5 1136,-1483 1197.8,-1578.8 1087,-1661 1172,-1737 1226,-1785.3 1704.4,-1772.8 1911.5,-1765"/>
<polygon fill="#000000" stroke="#000000" points="1911.9434,-1768.4855 1921.8,-1764.6 1911.6717,-1761.4908 1911.9434,-1768.4855"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/orchard#21 -->
<g id="edge27" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1059.2,-1376C1108.9,-1369.5 1174.3,-1360.8 1227.7,-1353.8"/>
<polygon fill="#000000" stroke="#000000" points="1228.4688,-1357.2274 1237.9,-1352.4 1227.5169,-1350.2924 1228.4688,-1357.2274"/>
</g>
<!-- zcash/halo2#66 -->
<g id="node27" class="node">
<title>zcash/halo2#66</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/halo2/issues/66" xlink:title="zcash/halo2#66&#10;Refactor proofs to not&#10;require length encodings" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1423,-2167.5 1226,-2167.5 1226,-2114.5 1423,-2114.5 1423,-2167.5"/>
<text text-anchor="middle" x="1324.5" y="-2152.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#66</text>
<text text-anchor="middle" x="1324.5" y="-2137.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor proofs to not</text>
<text text-anchor="middle" x="1324.5" y="-2122.3" font-family="Times,serif" font-size="14.00" fill="#000000">require length encodings</text>
</a>
</g>
</g>
<!-- zcash/zcash#4714 -->
<g id="node28" class="node">
<title>zcash/zcash#4714</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/4714" xlink:title="zcash/zcash#4714&#10;[Orchard] Encoding of&#10;Halo 2 proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1754,-1952.5 1577,-1952.5 1577,-1899.5 1754,-1899.5 1754,-1952.5"/>
<text text-anchor="middle" x="1665.5" y="-1937.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4714</text>
<text text-anchor="middle" x="1665.5" y="-1922.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Encoding of</text>
<text text-anchor="middle" x="1665.5" y="-1907.3" font-family="Times,serif" font-size="14.00" fill="#000000">Halo 2 proofs</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/zcash#4714 -->
<g id="edge28" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1423.2,-2134.1C1443.1,-2128.5 1462.4,-2119.4 1477,-2105 1524,-2058.7 1465.9,-2007.2 1513,-1961 1527.7,-1946.6 1547,-1937.7 1566.9,-1932.2"/>
<polygon fill="#000000" stroke="#000000" points="1567.8196,-1935.5783 1576.7,-1929.8 1566.1545,-1928.7792 1567.8196,-1935.5783"/>
</g>
<!-- zcash/halo2#67 -->
<g id="node29" class="node">
<title>zcash/halo2#67</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/halo2/issues/67" xlink:title="zcash/halo2#67&#10;Multi&#45;proof prover" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740,-2204 1591,-2204 1591,-2166 1740,-2166 1740,-2204"/>
<text text-anchor="middle" x="1665.5" y="-2188.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#67</text>
<text text-anchor="middle" x="1665.5" y="-2173.8" font-family="Times,serif" font-size="14.00" fill="#000000">Multi&#45;proof prover</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#67 -->
<g id="edge29" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#67</title>
<path fill="none" stroke="#000000" d="M1423.1,-2153.7C1473.1,-2160.2 1533.1,-2167.9 1580.9,-2174.1"/>
<polygon fill="#000000" stroke="#000000" points="1580.5322,-2177.5816 1590.9,-2175.4 1581.4347,-2170.64 1580.5322,-2177.5816"/>
</g>
<!-- zcash/halo2#74 -->
<g id="node30" class="node">
<title>zcash/halo2#74</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/halo2/issues/74" xlink:title="zcash/halo2#74&#10;Implement plumbing for&#10;recursion" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1761,-2275.5 1570,-2275.5 1570,-2222.5 1761,-2222.5 1761,-2275.5"/>
<text text-anchor="middle" x="1665.5" y="-2260.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#74</text>
<text text-anchor="middle" x="1665.5" y="-2245.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement plumbing for</text>
<text text-anchor="middle" x="1665.5" y="-2230.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#74 -->
<g id="edge30" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#74</title>
<path fill="none" stroke="#000000" d="M1423.1,-2155.8C1441.7,-2160.9 1460.5,-2167.8 1477,-2177 1496.8,-2188 1493.2,-2202 1513,-2213 1527.4,-2221 1543.4,-2227.2 1559.6,-2232.1"/>
<polygon fill="#000000" stroke="#000000" points="1559.1284,-2235.6012 1569.7,-2234.9 1560.9985,-2228.8556 1559.1284,-2235.6012"/>
</g>
<!-- zcash/zcash#4714&#45;&gt;zcash/zcash#4707 -->
<g id="edge31" class="edge">
<title>zcash/zcash#4714&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1754.3,-1907.3C1775.6,-1901.4 1798,-1894 1818,-1885 1872.3,-1860.6 1928.6,-1821.5 1965.3,-1793.7"/>
<polygon fill="#000000" stroke="#000000" points="1967.4702,-1796.4467 1973.3,-1787.6 1963.2257,-1790.8802 1967.4702,-1796.4467"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node31" class="node">
<title>zcash/halo2#75</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2096,-2330.5 1917,-2330.5 1917,-2277.5 2096,-2277.5 2096,-2330.5"/>
<text text-anchor="middle" x="2006.5" y="-2315.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="2006.5" y="-2300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2006.5" y="-2285.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#74&#45;&gt;zcash/halo2#75 -->
<g id="edge32" class="edge">
<title>zcash/halo2#74&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1761.4,-2264.5C1806.8,-2271.8 1861,-2280.5 1906.9,-2287.9"/>
<polygon fill="#000000" stroke="#000000" points="1906.4726,-2291.3761 1916.9,-2289.5 1907.5786,-2284.464 1906.4726,-2291.3761"/>
</g>
<!-- zcash/halo2#251 -->
<g id="node32" class="node">
<title>zcash/halo2#251</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2407.5,-2330.5 2197.5,-2330.5 2197.5,-2277.5 2407.5,-2277.5 2407.5,-2330.5"/>
<text text-anchor="middle" x="2302.5" y="-2315.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="2302.5" y="-2300.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="2302.5" y="-2285.3" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge33" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M2096.1,-2304C2124.8,-2304 2156.9,-2304 2187.2,-2304"/>
<polygon fill="#000000" stroke="#000000" points="2187.3,-2307.5001 2197.3,-2304 2187.3,-2300.5001 2187.3,-2307.5001"/>
</g>
<!-- zcash/zcash#4711 -->
<g id="node33" class="node">
<title>zcash/zcash#4711</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/issues/4711" xlink:title="zcash/zcash#4711&#10;[Orchard] Shielded&#10;protocol changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1742.5,-1694.5 1588.5,-1694.5 1588.5,-1641.5 1742.5,-1641.5 1742.5,-1694.5"/>
<text text-anchor="middle" x="1665.5" y="-1679.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4711</text>
<text text-anchor="middle" x="1665.5" y="-1664.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Shielded</text>
<text text-anchor="middle" x="1665.5" y="-1649.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/zcash#4707 -->
<g id="edge34" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1742.7,-1688.7C1766.8,-1695.1 1793.5,-1702.3 1818,-1709 1848.5,-1717.3 1881.7,-1726.4 1911.6,-1734.7"/>
<polygon fill="#000000" stroke="#000000" points="1911.0266,-1738.174 1921.6,-1737.5 1912.9141,-1731.4333 1911.0266,-1738.174"/>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/orchard#4 -->
<g id="edge35" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1742.8,-1654.2C1767.3,-1648.6 1794.2,-1641.3 1818,-1632 1868.2,-1612.4 1921.3,-1581.5 1958.4,-1558.1"/>
<polygon fill="#000000" stroke="#000000" points="1960.4057,-1560.9711 1966.9,-1552.6 1956.6029,-1555.0941 1960.4057,-1560.9711"/>
</g>
<!-- zcash/zcash#4712 -->
<g id="node35" class="node">
<title>zcash/zcash#4712</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/issues/4712" xlink:title="zcash/zcash#4712&#10;[Orchard] Note encryption" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1770,-1151 1561,-1151 1561,-1113 1770,-1113 1770,-1151"/>
<text text-anchor="middle" x="1665.5" y="-1135.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4712</text>
<text text-anchor="middle" x="1665.5" y="-1120.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Note encryption</text>
</a>
</g>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/zcash#4707 -->
<g id="edge37" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1770.3,-1132.9C1788.4,-1137.8 1805.4,-1146.2 1818,-1160 1878.3,-1226.1 1821.6,-1477.6 1854,-1561 1879.7,-1627.1 1934.2,-1689.9 1970.6,-1726.9"/>
<polygon fill="#000000" stroke="#000000" points="1968.554,-1729.8038 1978.1,-1734.4 1973.5038,-1724.854 1968.554,-1729.8038"/>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/orchard#32 -->
<g id="edge38" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1729.2,-1112.9C1779.4,-1097.9 1850.3,-1076.7 1907.8,-1059.5"/>
<polygon fill="#000000" stroke="#000000" points="1909.0872,-1062.7701 1917.7,-1056.6 1907.1193,-1056.0524 1909.0872,-1062.7701"/>
</g>
<!-- zcash/zcash#4713 -->
<g id="node37" class="node">
<title>zcash/zcash#4713</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/issues/4713" xlink:title="zcash/zcash#4713&#10;[Orchard] Commitment&#10;Merkle tree design" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1758,-2023.5 1573,-2023.5 1573,-1970.5 1758,-1970.5 1758,-2023.5"/>
<text text-anchor="middle" x="1665.5" y="-2008.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4713</text>
<text text-anchor="middle" x="1665.5" y="-1993.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Commitment</text>
<text text-anchor="middle" x="1665.5" y="-1978.3" font-family="Times,serif" font-size="14.00" fill="#000000">Merkle tree design</text>
</a>
</g>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/zcash#4707 -->
<g id="edge41" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1758.3,-1986.3C1779.1,-1981 1800.3,-1973 1818,-1961 1841,-1945.5 1836,-1931.1 1854,-1910 1890.1,-1867.7 1936.3,-1823.7 1968.4,-1794.6"/>
<polygon fill="#000000" stroke="#000000" points="1971.1609,-1796.8198 1976.2,-1787.5 1966.4488,-1791.6432 1971.1609,-1796.8198"/>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/orchard#33 -->
<g id="edge42" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1758.2,-1983.1C1796.8,-1977.4 1842,-1970.6 1883.3,-1964.4"/>
<polygon fill="#000000" stroke="#000000" points="1884.0227,-1967.8311 1893.4,-1962.9 1882.9943,-1960.9071 1884.0227,-1967.8311"/>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5024 -->
<g id="edge44" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2339.5,-1904.4C2389.3,-1848.4 2477,-1750 2523.1,-1698.1"/>
<polygon fill="#000000" stroke="#000000" points="2525.8404,-1700.2862 2529.9,-1690.5 2520.6237,-1695.6186 2525.8404,-1700.2862"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node39" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2653.5,-2029.5 2453.5,-2029.5 2453.5,-1976.5 2653.5,-1976.5 2653.5,-2029.5"/>
<text text-anchor="middle" x="2553.5" y="-2014.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="2553.5" y="-1999.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="2553.5" y="-1984.3" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5037 -->
<g id="edge45" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2388.5,-1965.5C2406.2,-1969.6 2425.1,-1973.8 2443.5,-1978"/>
<polygon fill="#000000" stroke="#000000" points="2442.7648,-1981.4225 2453.3,-1980.3 2444.3643,-1974.6077 2442.7648,-1981.4225"/>
</g>
<!-- zcash/zcash#4716 -->
<g id="node40" class="node">
<title>zcash/zcash#4716</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/issues/4716" xlink:title="zcash/zcash#4716&#10;[Orchard] Specify&#10;transaction format and&#10;hashing changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1756.5,-1481 1574.5,-1481 1574.5,-1413 1756.5,-1413 1756.5,-1481"/>
<text text-anchor="middle" x="1665.5" y="-1465.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4716</text>
<text text-anchor="middle" x="1665.5" y="-1450.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-1435.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format and</text>
<text text-anchor="middle" x="1665.5" y="-1420.8" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/zcash#4707 -->
<g id="edge46" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1756.5,-1459.6C1778.4,-1466 1800.5,-1475.6 1818,-1490 1845.3,-1512.5 1835.2,-1531 1854,-1561 1892.3,-1622.1 1944.7,-1687.7 1977.1,-1726.5"/>
<polygon fill="#000000" stroke="#000000" points="1974.5093,-1728.8584 1983.6,-1734.3 1979.8869,-1724.3771 1974.5093,-1728.8584"/>
</g>
<!-- zcash/orchard#34 -->
<g id="node41" class="node">
<title>zcash/orchard#34</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/orchard/issues/34" xlink:title="zcash/orchard#34&#10;Add parsing and&#10;serialization support for&#10;Orchard bundles" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2101,-1478 1912,-1478 1912,-1410 2101,-1410 2101,-1478"/>
<text text-anchor="middle" x="2006.5" y="-1462.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#34</text>
<text text-anchor="middle" x="2006.5" y="-1447.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add parsing and</text>
<text text-anchor="middle" x="2006.5" y="-1432.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization support for</text>
<text text-anchor="middle" x="2006.5" y="-1417.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard bundles</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/orchard#34 -->
<g id="edge47" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1756.9,-1446.2C1801.5,-1445.8 1855.5,-1445.3 1901.8,-1444.9"/>
<polygon fill="#000000" stroke="#000000" points="1901.9352,-1448.3989 1911.9,-1444.8 1901.8658,-1441.3993 1901.9352,-1448.3989"/>
</g>
<!-- zcash/zcash#5022 -->
<g id="node42" class="node">
<title>zcash/zcash#5022</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/issues/5022" xlink:title="zcash/zcash#5022&#10;Implement ZIP&#45;225&#10;transaction format&#10;changes in zcashd." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2380,-1454 2225,-1454 2225,-1386 2380,-1386 2380,-1454"/>
<text text-anchor="middle" x="2302.5" y="-1438.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5022</text>
<text text-anchor="middle" x="2302.5" y="-1423.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2302.5" y="-1408.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format</text>
<text text-anchor="middle" x="2302.5" y="-1393.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes in zcashd.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/zcash#5022 -->
<g id="edge48" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/zcash#5022</title>
<path fill="none" stroke="#000000" d="M2101.4,-1436.3C2137.7,-1433.4 2178.9,-1430 2214.6,-1427.1"/>
<polygon fill="#000000" stroke="#000000" points="2215.2979,-1430.5567 2225,-1426.3 2214.761,-1423.5774 2215.2979,-1430.5567"/>
</g>
<!-- zcash/librustzcash#350 -->
<g id="node43" class="node">
<title>zcash/librustzcash#350</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/librustzcash/issues/350" xlink:title="zcash/librustzcash#350&#10;Implement ZIP&#45;225&#10;transaction format &amp;&#10;hashing changes in&#10;librustzcash." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2396.5,-1555.5 2208.5,-1555.5 2208.5,-1472.5 2396.5,-1472.5 2396.5,-1555.5"/>
<text text-anchor="middle" x="2302.5" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#350</text>
<text text-anchor="middle" x="2302.5" y="-1525.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2302.5" y="-1510.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format &amp;</text>
<text text-anchor="middle" x="2302.5" y="-1495.3" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes in</text>
<text text-anchor="middle" x="2302.5" y="-1480.3" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/librustzcash#350 -->
<g id="edge49" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/librustzcash#350</title>
<path fill="none" stroke="#000000" d="M2101.4,-1466.4C2132.3,-1473.7 2166.7,-1481.9 2198.3,-1489.4"/>
<polygon fill="#000000" stroke="#000000" points="2197.8725,-1492.8922 2208.4,-1491.7 2199.4268,-1486.0669 2197.8725,-1492.8922"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5024 -->
<g id="edge50" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2380,-1444.7C2390.7,-1449.9 2401,-1455.9 2410,-1463 2468.2,-1508.7 2513.2,-1584.2 2536.3,-1628.5"/>
<polygon fill="#000000" stroke="#000000" points="2533.2323,-1630.1885 2540.9,-1637.5 2539.4654,-1627.0027 2533.2323,-1630.1885"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5021 -->
<g id="edge51" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2320.8,-1385.9C2366.8,-1299.9 2487.3,-1074.7 2534.3,-986.81"/>
<polygon fill="#000000" stroke="#000000" points="2537.5117,-988.2295 2539.2,-977.77 2531.3576,-984.8937 2537.5117,-988.2295"/>
</g>
<!-- zcash/zcash#4708 -->
<g id="node44" class="node">
<title>zcash/zcash#4708</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zcash/issues/4708" xlink:title="zcash/zcash#4708&#10;Specify Poseidon&#10;instantiation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1058.5,-1190.5 908.5,-1190.5 908.5,-1137.5 1058.5,-1137.5 1058.5,-1190.5"/>
<text text-anchor="middle" x="983.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4708</text>
<text text-anchor="middle" x="983.5" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify Poseidon</text>
<text text-anchor="middle" x="983.5" y="-1145.3" font-family="Times,serif" font-size="14.00" fill="#000000">instantiation</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/zcash#4707 -->
<g id="edge52" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1017,-1190.5C1053.1,-1221.1 1108.9,-1275 1136,-1335 1163.4,-1395.6 1127,-1583 1172,-1632 1270,-1738.7 1714.3,-1757.5 1911.6,-1760.6"/>
<polygon fill="#000000" stroke="#000000" points="1911.6658,-1764.1007 1921.7,-1760.7 1911.7352,-1757.1011 1911.6658,-1764.1007"/>
</g>
<!-- zcash/orchard#37 -->
<g id="node45" class="node">
<title>zcash/orchard#37</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/orchard/issues/37" xlink:title="zcash/orchard#37&#10;Implement Poseidon&#10;outside the circuit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1406,-1222.5 1243,-1222.5 1243,-1169.5 1406,-1169.5 1406,-1222.5"/>
<text text-anchor="middle" x="1324.5" y="-1207.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#37</text>
<text text-anchor="middle" x="1324.5" y="-1192.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon</text>
<text text-anchor="middle" x="1324.5" y="-1177.3" font-family="Times,serif" font-size="14.00" fill="#000000">outside the circuit</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#37 -->
<g id="edge53" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#37</title>
<path fill="none" stroke="#000000" d="M1058.8,-1171.1C1110.1,-1175.9 1178.4,-1182.3 1232.9,-1187.4"/>
<polygon fill="#000000" stroke="#000000" points="1232.6265,-1190.8894 1242.9,-1188.3 1233.254,-1183.9176 1232.6265,-1190.8894"/>
</g>
<!-- zcash/orchard#45 -->
<g id="node46" class="node">
<title>zcash/orchard#45</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/orchard/issues/45" xlink:title="zcash/orchard#45&#10;Implement Poseidon gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1433,-1151 1216,-1151 1216,-1113 1433,-1113 1433,-1151"/>
<text text-anchor="middle" x="1324.5" y="-1135.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#45</text>
<text text-anchor="middle" x="1324.5" y="-1120.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#45 -->
<g id="edge54" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#45</title>
<path fill="none" stroke="#000000" d="M1058.8,-1156.9C1101.9,-1152.9 1157,-1147.7 1205.8,-1143.1"/>
<polygon fill="#000000" stroke="#000000" points="1206.154,-1146.5824 1215.8,-1142.2 1205.5265,-1139.6106 1206.154,-1146.5824"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="node47" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/22" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#10;Implement Poseidon test&#10;vectors" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-693.5 1172,-693.5 1172,-640.5 1477,-640.5 1477,-693.5"/>
<text text-anchor="middle" x="1324.5" y="-678.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</text>
<text text-anchor="middle" x="1324.5" y="-663.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon test</text>
<text text-anchor="middle" x="1324.5" y="-648.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="edge55" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<path fill="none" stroke="#000000" d="M996.42,-1137.4C1024.7,-1080.2 1095.9,-942.06 1172,-837 1208.6,-786.56 1257.7,-734 1290.2,-700.92"/>
<polygon fill="#000000" stroke="#000000" points="1292.744,-703.3252 1297.3,-693.76 1287.7734,-698.3963 1292.744,-703.3252"/>
</g>
<!-- zcash/orchard#37&#45;&gt;zcash/orchard#31 -->
<g id="edge56" class="edge">
<title>zcash/orchard#37&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1406.2,-1196C1451.6,-1196 1508.7,-1196 1557.8,-1196"/>
<polygon fill="#000000" stroke="#000000" points="1557.8,-1199.5001 1567.8,-1196 1557.8,-1192.5001 1557.8,-1199.5001"/>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1410.7,-1113C1536.1,-1087.6 1760.4,-1051.5 1818,-1104 1881.2,-1161.6 1798.5,-1422 1854,-1487 1868.3,-1503.8 1888.7,-1513.8 1910,-1519.8"/>
<polygon fill="#000000" stroke="#000000" points="1909.2545,-1523.2208 1919.8,-1522.2 1910.9196,-1516.4217 1909.2545,-1523.2208"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node48" class="node">
<title>zcash/halo2#79</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1746,-1323.5 1585,-1323.5 1585,-1240.5 1746,-1240.5 1746,-1323.5"/>
<text text-anchor="middle" x="1665.5" y="-1308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="1665.5" y="-1293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="1665.5" y="-1278.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="1665.5" y="-1263.3" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="1665.5" y="-1248.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/halo2#79 -->
<g id="edge58" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1433,-1139.1C1448.8,-1143.7 1464.1,-1150.3 1477,-1160 1505.3,-1181.2 1486.2,-1207.9 1513,-1231 1530.6,-1246.2 1552.8,-1256.9 1574.9,-1264.4"/>
<polygon fill="#000000" stroke="#000000" points="1574.0091,-1267.7896 1584.6,-1267.5 1576.1401,-1261.1219 1574.0091,-1267.7896"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="node49" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/24" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#10;Implement Orchard key&#10;components test vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1818,-555.5 1513,-555.5 1513,-502.5 1818,-502.5 1818,-555.5"/>
<text text-anchor="middle" x="1665.5" y="-540.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</text>
<text text-anchor="middle" x="1665.5" y="-525.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-510.3" font-family="Times,serif" font-size="14.00" fill="#000000">components test vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge59" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1367.3,-640.43C1404.6,-618.21 1460.8,-587.02 1513,-567 1520.8,-564.02 1528.9,-561.21 1537.1,-558.57"/>
<polygon fill="#000000" stroke="#000000" points="1538.2925,-561.8645 1546.8,-555.55 1536.2116,-555.1809 1538.2925,-561.8645"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node50" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/26" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#10;Implement Unified Address&#10;encodings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2159,-407.5 1854,-407.5 1854,-354.5 2159,-354.5 2159,-407.5"/>
<text text-anchor="middle" x="2006.5" y="-392.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</text>
<text text-anchor="middle" x="2006.5" y="-377.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2006.5" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">encodings</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge60" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1804.6,-502.38C1809.3,-499.55 1813.8,-496.43 1818,-493 1847.3,-469.17 1824.6,-439.74 1854,-416 1855.2,-415.04 1856.4,-414.1 1857.6,-413.19"/>
<polygon fill="#000000" stroke="#000000" points="1859.6558,-416.0254 1866,-407.54 1855.7489,-410.217 1859.6558,-416.0254"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node62" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2396.5,-472 2208.5,-472 2208.5,-404 2396.5,-404 2396.5,-472"/>
<text text-anchor="middle" x="2302.5" y="-456.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="2302.5" y="-441.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="2302.5" y="-426.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="2302.5" y="-411.8" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge98" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2144.5,-407.58C2162.6,-411.05 2180.8,-414.56 2198.1,-417.9"/>
<polygon fill="#000000" stroke="#000000" points="2197.7193,-421.3908 2208.2,-419.84 2199.0398,-414.5164 2197.7193,-421.3908"/>
</g>
<!-- zcash/halo2#144 -->
<g id="node51" class="node">
<title>zcash/halo2#144</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/halo2/issues/144" xlink:title="zcash/halo2#144&#10;book: Specify proof&#10;encoding" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1402,-1952.5 1247,-1952.5 1247,-1899.5 1402,-1899.5 1402,-1952.5"/>
<text text-anchor="middle" x="1324.5" y="-1937.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#144</text>
<text text-anchor="middle" x="1324.5" y="-1922.3" font-family="Times,serif" font-size="14.00" fill="#000000">book: Specify proof</text>
<text text-anchor="middle" x="1324.5" y="-1907.3" font-family="Times,serif" font-size="14.00" fill="#000000">encoding</text>
</a>
</g>
</g>
<!-- zcash/halo2#144&#45;&gt;zcash/zcash#4714 -->
<g id="edge61" class="edge">
<title>zcash/halo2#144&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1402.3,-1926C1451,-1926 1514.3,-1926 1566.6,-1926"/>
<polygon fill="#000000" stroke="#000000" points="1566.9,-1929.5001 1576.9,-1926 1566.9,-1922.5001 1566.9,-1929.5001"/>
</g>
<!-- zcash/zcash#4709 -->
<g id="node52" class="node">
<title>zcash/zcash#4709</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/4709" xlink:title="zcash/zcash#4709&#10;[Orchard] Specify&#10;RedPallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740.5,-1842.5 1590.5,-1842.5 1590.5,-1789.5 1740.5,-1789.5 1740.5,-1842.5"/>
<text text-anchor="middle" x="1665.5" y="-1827.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4709</text>
<text text-anchor="middle" x="1665.5" y="-1812.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-1797.3" font-family="Times,serif" font-size="14.00" fill="#000000">RedPallas</text>
</a>
</g>
</g>
<!-- zcash/zcash#4709&#45;&gt;zcash/zcash#4707 -->
<g id="edge62" class="edge">
<title>zcash/zcash#4709&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1740.8,-1803.9C1791.2,-1795.7 1857.9,-1785 1911.9,-1776.3"/>
<polygon fill="#000000" stroke="#000000" points="1912.4865,-1779.7507 1921.8,-1774.7 1911.3697,-1772.8404 1912.4865,-1779.7507"/>
</g>
<!-- zcash/zips#454 -->
<g id="node53" class="node">
<title>zcash/zips#454</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zips/issues/454" xlink:title="zcash/zips#454&#10;Poseidon: copy parameter&#10;generation script to&#10;zcash/pasta and settle on&#10;parameters" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="744,-1205.5 541,-1205.5 541,-1122.5 744,-1122.5 744,-1205.5"/>
<text text-anchor="middle" x="642.5" y="-1190.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#454</text>
<text text-anchor="middle" x="642.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon: copy parameter</text>
<text text-anchor="middle" x="642.5" y="-1160.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation script to</text>
<text text-anchor="middle" x="642.5" y="-1145.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/pasta and settle on</text>
<text text-anchor="middle" x="642.5" y="-1130.3" font-family="Times,serif" font-size="14.00" fill="#000000">parameters</text>
</a>
</g>
</g>
<!-- zcash/zips#454&#45;&gt;zcash/zcash#4708 -->
<g id="edge63" class="edge">
<title>zcash/zips#454&#45;&gt;zcash/zcash#4708</title>
<path fill="none" stroke="#000000" d="M744.35,-1164C793.44,-1164 851.65,-1164 898.35,-1164"/>
<polygon fill="#000000" stroke="#000000" points="898.43,-1167.5001 908.43,-1164 898.43,-1160.5001 898.43,-1167.5001"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node54" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/zcash/issues/5019" xlink:title="zcash/zcash#5019&#10;Add Orchard keys and&#10;addresses to the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2394,-715.5 2211,-715.5 2211,-662.5 2394,-662.5 2394,-715.5"/>
<text text-anchor="middle" x="2302.5" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="2302.5" y="-685.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="2302.5" y="-670.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge65" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2394.2,-703.16C2468.4,-716.75 2574.5,-741.05 2661,-780 2695.1,-795.35 2729.8,-818.63 2756.8,-838.77"/>
<polygon fill="#000000" stroke="#000000" points="2754.8139,-841.6562 2764.9,-844.9 2759.0382,-836.0745 2754.8139,-841.6562"/>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge64" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2391,-715.52C2397.5,-718.17 2403.9,-721 2410,-724 2442.8,-740.23 2476.7,-763.24 2503.2,-782.98"/>
<polygon fill="#000000" stroke="#000000" points="2501.1836,-785.8421 2511.3,-788.99 2505.3547,-780.2205 2501.1836,-785.8421"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node55" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2654.5,-641 2452.5,-641 2452.5,-573 2654.5,-573 2654.5,-641"/>
<text text-anchor="middle" x="2553.5" y="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="2553.5" y="-610.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="2553.5" y="-595.8" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="2553.5" y="-580.8" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge66" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2383.6,-662.49C2402.5,-656.34 2422.8,-649.69 2442.7,-643.2"/>
<polygon fill="#000000" stroke="#000000" points="2443.982,-646.4633 2452.4,-640.03 2441.8075,-639.8096 2443.982,-646.4633"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node56" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2916,-473 2697,-473 2697,-435 2916,-435 2916,-473"/>
<text text-anchor="middle" x="2806.5" y="-457.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="2806.5" y="-442.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge67" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2583.8,-572.87C2610.8,-544.51 2652.8,-505.19 2697,-482 2700.5,-480.15 2704.2,-478.43 2707.9,-476.81"/>
<polygon fill="#000000" stroke="#000000" points="2709.3471,-480.0001 2717.3,-473 2706.7176,-473.5127 2709.3471,-480.0001"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node57" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2900,-630.5 2713,-630.5 2713,-577.5 2900,-577.5 2900,-630.5"/>
<text text-anchor="middle" x="2806.5" y="-615.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="2806.5" y="-600.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-585.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge68" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M2654.6,-605.8C2670.4,-605.61 2686.7,-605.42 2702.6,-605.23"/>
<polygon fill="#000000" stroke="#000000" points="2703.0411,-608.7252 2713,-605.11 2702.9603,-601.7257 2703.0411,-608.7252"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node58" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2901,-559 2712,-559 2712,-491 2901,-491 2901,-559"/>
<text text-anchor="middle" x="2806.5" y="-543.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="2806.5" y="-528.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="2806.5" y="-513.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="2806.5" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">account</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5185 -->
<g id="edge69" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M2654.6,-574.24C2670.2,-569.18 2686.4,-563.94 2702,-558.86"/>
<polygon fill="#000000" stroke="#000000" points="2703.27,-562.1276 2711.7,-555.71 2701.1079,-555.4698 2703.27,-562.1276"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node59" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2900.5,-701.5 2712.5,-701.5 2712.5,-648.5 2900.5,-648.5 2900.5,-701.5"/>
<text text-anchor="middle" x="2806.5" y="-686.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="2806.5" y="-671.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-656.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge70" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M2654.6,-634.17C2670.3,-638.4 2686.6,-642.77 2702.4,-647.02"/>
<polygon fill="#000000" stroke="#000000" points="2701.5333,-650.4113 2712.1,-649.64 2703.3586,-643.6534 2701.5333,-650.4113"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node60" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2900.5,-772.5 2712.5,-772.5 2712.5,-719.5 2900.5,-719.5 2900.5,-772.5"/>
<text text-anchor="middle" x="2806.5" y="-757.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="2806.5" y="-742.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-727.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge71" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M2594,-641.23C2621.6,-663.22 2659.8,-691.11 2697,-710 2700.7,-711.89 2704.5,-713.7 2708.5,-715.45"/>
<polygon fill="#000000" stroke="#000000" points="2707.1303,-718.6708 2717.7,-719.4 2709.892,-712.2386 2707.1303,-718.6708"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node61" class="node">
<title>zcash/orchard#36</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2103.5,-565 1909.5,-565 1909.5,-497 2103.5,-497 2103.5,-565"/>
<text text-anchor="middle" x="2006.5" y="-549.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="2006.5" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="2006.5" y="-519.8" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="2006.5" y="-504.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge72" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2103.5,-544.82C2123.5,-551.19 2143.2,-560.48 2159,-574 2188.3,-599.12 2166.3,-627.18 2195,-653 2197.3,-655.04 2199.6,-656.96 2202.1,-658.77"/>
<polygon fill="#000000" stroke="#000000" points="2200.6182,-661.9837 2210.9,-664.54 2204.4565,-656.1298 2200.6182,-661.9837"/>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge73" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2103.5,-503.77C2122,-498.37 2141.1,-492.63 2159,-487 2171.8,-482.96 2185.3,-478.58 2198.5,-474.16"/>
<polygon fill="#000000" stroke="#000000" points="2199.812,-477.4124 2208.2,-470.94 2197.6065,-470.7688 2199.812,-477.4124"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node63" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2661,-483 2446,-483 2446,-415 2661,-415 2661,-483"/>
<text text-anchor="middle" x="2553.5" y="-467.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="2553.5" y="-452.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2553.5" y="-437.8" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="2553.5" y="-422.8" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge74" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M2396.7,-442.13C2409.3,-442.68 2422.4,-443.25 2435.3,-443.82"/>
<polygon fill="#000000" stroke="#000000" points="2435.5551,-447.3346 2445.7,-444.28 2435.8645,-440.3415 2435.5551,-447.3346"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge75" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2661.2,-451.13C2669.7,-451.3 2678.3,-451.47 2686.9,-451.64"/>
<polygon fill="#000000" stroke="#000000" points="2686.8353,-455.1393 2696.9,-451.83 2686.9683,-448.1406 2686.8353,-455.1393"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge76" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M2587,-483.1C2614.5,-509.41 2655.5,-545.06 2697,-568 2700.3,-569.8 2703.6,-571.53 2707.1,-573.19"/>
<polygon fill="#000000" stroke="#000000" points="2705.7513,-576.422 2716.3,-577.41 2708.6699,-570.0594 2705.7513,-576.422"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge77" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M2661.2,-481.34C2674.7,-485.4 2688.5,-489.56 2702,-493.61"/>
<polygon fill="#000000" stroke="#000000" points="2701.1155,-496.9988 2711.7,-496.53 2703.1334,-490.296 2701.1155,-496.9988"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node64" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2891.5,-416.5 2721.5,-416.5 2721.5,-363.5 2891.5,-363.5 2891.5,-416.5"/>
<text text-anchor="middle" x="2806.5" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="2806.5" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-371.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge78" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M2661.2,-423.89C2677.8,-420.02 2694.8,-416.05 2711.1,-412.25"/>
<polygon fill="#000000" stroke="#000000" points="2712.1605,-415.5965 2721.1,-409.91 2710.5655,-408.7806 2712.1605,-415.5965"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node65" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/zcash/issues/5184" xlink:title="zcash/zcash#5184&#10;Add support for UA&#10;recipients to z_sendmany" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2906.5,-345.5 2706.5,-345.5 2706.5,-292.5 2906.5,-292.5 2906.5,-345.5"/>
<text text-anchor="middle" x="2806.5" y="-330.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="2806.5" y="-315.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="2806.5" y="-300.3" font-family="Times,serif" font-size="14.00" fill="#000000">recipients to z_sendmany</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5184 -->
<g id="edge79" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M2598.1,-414.82C2625.5,-395.03 2662,-370.79 2697,-354 2700.2,-352.47 2703.5,-350.97 2706.8,-349.53"/>
<polygon fill="#000000" stroke="#000000" points="2708.484,-352.6219 2716.4,-345.58 2705.8204,-346.1484 2708.484,-352.6219"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node66" class="node">
<title>zcash/orchard#30</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2092.5,-707.5 1920.5,-707.5 1920.5,-654.5 2092.5,-654.5 2092.5,-707.5"/>
<text text-anchor="middle" x="2006.5" y="-692.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="2006.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="2006.5" y="-662.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge80" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2092.5,-683.32C2126.3,-684.24 2165.4,-685.29 2200.5,-686.24"/>
<polygon fill="#000000" stroke="#000000" points="2200.7085,-689.7469 2210.8,-686.52 2200.8988,-682.7495 2200.7085,-689.7469"/>
</g>
<!-- zcash/zcash#4999 -->
<g id="node67" class="node">
<title>zcash/zcash#4999</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/zcash/pull/4999" xlink:title="zcash/zcash#4999&#10;Bitcoin 0.13 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="205.5,-2798 12.5,-2798 12.5,-2794 8.5,-2794 8.5,-2790 12.5,-2790 12.5,-2768 8.5,-2768 8.5,-2764 12.5,-2764 12.5,-2760 205.5,-2760 205.5,-2798"/>
<polyline fill="none" stroke="#000000" points="12.5,-2794 16.5,-2794 16.5,-2790 12.5,-2790 "/>
<polyline fill="none" stroke="#000000" points="12.5,-2768 16.5,-2768 16.5,-2764 12.5,-2764 "/>
<text text-anchor="middle" x="109" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4999</text>
<text text-anchor="middle" x="109" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.13 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009 -->
<g id="node68" class="node">
<title>zcash/zcash#5009</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/zcash/pull/5009" xlink:title="zcash/zcash#5009&#10;Bitcoin 0.14 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="450.5,-2798 257.5,-2798 257.5,-2794 253.5,-2794 253.5,-2790 257.5,-2790 257.5,-2768 253.5,-2768 253.5,-2764 257.5,-2764 257.5,-2760 450.5,-2760 450.5,-2798"/>
<polyline fill="none" stroke="#000000" points="257.5,-2794 261.5,-2794 261.5,-2790 257.5,-2790 "/>
<polyline fill="none" stroke="#000000" points="257.5,-2768 261.5,-2768 261.5,-2764 257.5,-2764 "/>
<text text-anchor="middle" x="354" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5009</text>
<text text-anchor="middle" x="354" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.14 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4999&#45;&gt;zcash/zcash#5009 -->
<g id="edge81" class="edge">
<title>zcash/zcash#4999&#45;&gt;zcash/zcash#5009</title>
<path fill="none" stroke="#000000" d="M205.83,-2779C219.5,-2779 233.61,-2779 247.45,-2779"/>
<polygon fill="#000000" stroke="#000000" points="247.47,-2782.5001 257.47,-2779 247.47,-2775.5001 247.47,-2782.5001"/>
</g>
<!-- zcash/zcash#5012 -->
<g id="node69" class="node">
<title>zcash/zcash#5012</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/zcash/pull/5012" xlink:title="zcash/zcash#5012&#10;Bitcoin 0.15 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="739,-2798 546,-2798 546,-2794 542,-2794 542,-2790 546,-2790 546,-2768 542,-2768 542,-2764 546,-2764 546,-2760 739,-2760 739,-2798"/>
<polyline fill="none" stroke="#000000" points="546,-2794 550,-2794 550,-2790 546,-2790 "/>
<polyline fill="none" stroke="#000000" points="546,-2768 550,-2768 550,-2764 546,-2764 "/>
<text text-anchor="middle" x="642.5" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5012</text>
<text text-anchor="middle" x="642.5" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.15 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009&#45;&gt;zcash/zcash#5012 -->
<g id="edge82" class="edge">
<title>zcash/zcash#5009&#45;&gt;zcash/zcash#5012</title>
<path fill="none" stroke="#000000" d="M450.87,-2779C478.13,-2779 507.94,-2779 535.74,-2779"/>
<polygon fill="#000000" stroke="#000000" points="535.89,-2782.5001 545.89,-2779 535.89,-2775.5001 535.89,-2782.5001"/>
</g>
<!-- zcash/zcash#5017 -->
<g id="node70" class="node">
<title>zcash/zcash#5017</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/zcash/pull/5017" xlink:title="zcash/zcash#5017&#10;Bitcoin 0.16 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1080,-2798 887,-2798 887,-2794 883,-2794 883,-2790 887,-2790 887,-2768 883,-2768 883,-2764 887,-2764 887,-2760 1080,-2760 1080,-2798"/>
<polyline fill="none" stroke="#000000" points="887,-2794 891,-2794 891,-2790 887,-2790 "/>
<polyline fill="none" stroke="#000000" points="887,-2768 891,-2768 891,-2764 887,-2764 "/>
<text text-anchor="middle" x="983.5" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5017</text>
<text text-anchor="middle" x="983.5" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.16 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5012&#45;&gt;zcash/zcash#5017 -->
<g id="edge83" class="edge">
<title>zcash/zcash#5012&#45;&gt;zcash/zcash#5017</title>
<path fill="none" stroke="#000000" d="M739.3,-2779C782.14,-2779 832.66,-2779 876.61,-2779"/>
<polygon fill="#000000" stroke="#000000" points="876.75,-2782.5001 886.75,-2779 876.75,-2775.5001 876.75,-2782.5001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node71" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1421,-2798 1228,-2798 1228,-2794 1224,-2794 1224,-2790 1228,-2790 1228,-2768 1224,-2768 1224,-2764 1228,-2764 1228,-2760 1421,-2760 1421,-2798"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2794 1232,-2794 1232,-2790 1228,-2790 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2768 1232,-2768 1232,-2764 1228,-2764 "/>
<text text-anchor="middle" x="1324.5" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="1324.5" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5017&#45;&gt;zcash/zcash#5034 -->
<g id="edge84" class="edge">
<title>zcash/zcash#5017&#45;&gt;zcash/zcash#5034</title>
<path fill="none" stroke="#000000" d="M1080.3,-2779C1123.1,-2779 1173.7,-2779 1217.6,-2779"/>
<polygon fill="#000000" stroke="#000000" points="1217.7,-2782.5001 1227.7,-2779 1217.7,-2775.5001 1217.7,-2782.5001"/>
</g>
<!-- zcash/zcash#5050 -->
<g id="node72" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1762,-2798 1569,-2798 1569,-2794 1565,-2794 1565,-2790 1569,-2790 1569,-2768 1565,-2768 1565,-2764 1569,-2764 1569,-2760 1762,-2760 1762,-2798"/>
<polyline fill="none" stroke="#000000" points="1569,-2794 1573,-2794 1573,-2790 1569,-2790 "/>
<polyline fill="none" stroke="#000000" points="1569,-2768 1573,-2768 1573,-2764 1569,-2764 "/>
<text text-anchor="middle" x="1665.5" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="1665.5" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge85" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M1421.3,-2779C1464.1,-2779 1514.7,-2779 1558.6,-2779"/>
<polygon fill="#000000" stroke="#000000" points="1558.7,-2782.5001 1568.7,-2779 1558.7,-2775.5001 1558.7,-2782.5001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node73" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2103,-2798 1910,-2798 1910,-2794 1906,-2794 1906,-2790 1910,-2790 1910,-2768 1906,-2768 1906,-2764 1910,-2764 1910,-2760 2103,-2760 2103,-2798"/>
<polyline fill="none" stroke="#000000" points="1910,-2794 1914,-2794 1914,-2790 1910,-2790 "/>
<polyline fill="none" stroke="#000000" points="1910,-2768 1914,-2768 1914,-2764 1910,-2764 "/>
<text text-anchor="middle" x="2006.5" y="-2782.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="2006.5" y="-2767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge86" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M1762.3,-2779C1805.1,-2779 1855.7,-2779 1899.6,-2779"/>
<polygon fill="#000000" stroke="#000000" points="1899.7,-2782.5001 1909.7,-2779 1899.7,-2775.5001 1899.7,-2782.5001"/>
</g>
<!-- zcash/zcash#4997 -->
<g id="node74" class="node">
<title>zcash/zcash#4997</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/zcash/pull/4997" xlink:title="zcash/zcash#4997&#10;Replace setInventoryKnown&#10;with a rolling bloom&#10;filter" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="218,-2939 0,-2939 0,-2935 -4,-2935 -4,-2931 0,-2931 0,-2879 -4,-2879 -4,-2875 0,-2875 0,-2871 218,-2871 218,-2939"/>
<polyline fill="none" stroke="#000000" points="0,-2935 4,-2935 4,-2931 0,-2931 "/>
<polyline fill="none" stroke="#000000" points="0,-2879 4,-2879 4,-2875 0,-2875 "/>
<text text-anchor="middle" x="109" y="-2923.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4997</text>
<text text-anchor="middle" x="109" y="-2908.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace setInventoryKnown</text>
<text text-anchor="middle" x="109" y="-2893.8" font-family="Times,serif" font-size="14.00" fill="#000000">with a rolling bloom</text>
<text text-anchor="middle" x="109" y="-2878.8" font-family="Times,serif" font-size="14.00" fill="#000000">filter</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534 -->
<g id="node75" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="454,-2931.5 254,-2931.5 254,-2927.5 250,-2927.5 250,-2923.5 254,-2923.5 254,-2886.5 250,-2886.5 250,-2882.5 254,-2882.5 254,-2878.5 454,-2878.5 454,-2931.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2927.5 258,-2927.5 258,-2923.5 254,-2923.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2886.5 258,-2886.5 258,-2882.5 254,-2882.5 "/>
<text text-anchor="middle" x="354" y="-2916.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="354" y="-2901.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="354" y="-2886.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#4997&#45;&gt;zcash/zcash#2534 -->
<g id="edge87" class="edge">
<title>zcash/zcash#4997&#45;&gt;zcash/zcash#2534</title>
<path fill="none" stroke="#000000" d="M218.24,-2905C226.68,-2905 235.2,-2905 243.65,-2905"/>
<polygon fill="#000000" stroke="#000000" points="243.9,-2908.5001 253.9,-2905 243.9,-2901.5001 243.9,-2908.5001"/>
</g>
<!-- zcash/zcash#5003 -->
<g id="node76" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="748.5,-2987.5 536.5,-2987.5 536.5,-2983.5 532.5,-2983.5 532.5,-2979.5 536.5,-2979.5 536.5,-2942.5 532.5,-2942.5 532.5,-2938.5 536.5,-2938.5 536.5,-2934.5 748.5,-2934.5 748.5,-2987.5"/>
<polyline fill="none" stroke="#000000" points="536.5,-2983.5 540.5,-2983.5 540.5,-2979.5 536.5,-2979.5 "/>
<polyline fill="none" stroke="#000000" points="536.5,-2942.5 540.5,-2942.5 540.5,-2938.5 536.5,-2938.5 "/>
<text text-anchor="middle" x="642.5" y="-2972.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="642.5" y="-2957.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="642.5" y="-2942.3" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge88" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M454.09,-2924.4C477.41,-2929 502.43,-2933.8 526.37,-2938.5"/>
<polygon fill="#000000" stroke="#000000" points="525.7175,-2941.9386 536.2,-2940.4 527.046,-2935.0658 525.7175,-2941.9386"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node77" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node77"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1079,-2884 888,-2884 888,-2880 884,-2880 884,-2876 888,-2876 888,-2824 884,-2824 884,-2820 888,-2820 888,-2816 1079,-2816 1079,-2884"/>
<polyline fill="none" stroke="#000000" points="888,-2880 892,-2880 892,-2876 888,-2876 "/>
<polyline fill="none" stroke="#000000" points="888,-2824 892,-2824 892,-2820 888,-2820 "/>
<text text-anchor="middle" x="983.5" y="-2868.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="983.5" y="-2853.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="983.5" y="-2838.8" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="983.5" y="-2823.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge89" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M443.03,-2878.4C458.56,-2874.7 474.66,-2871.3 490,-2869 622.6,-2849.1 777.35,-2846.5 877.71,-2847.4"/>
<polygon fill="#000000" stroke="#000000" points="877.8159,-2850.9011 887.85,-2847.5 877.885,-2843.9015 877.8159,-2850.9011"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node78" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node78"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1070.5,-2985.5 896.5,-2985.5 896.5,-2981.5 892.5,-2981.5 892.5,-2977.5 896.5,-2977.5 896.5,-2910.5 892.5,-2910.5 892.5,-2906.5 896.5,-2906.5 896.5,-2902.5 1070.5,-2902.5 1070.5,-2985.5"/>
<polyline fill="none" stroke="#000000" points="896.5,-2981.5 900.5,-2981.5 900.5,-2977.5 896.5,-2977.5 "/>
<polyline fill="none" stroke="#000000" points="896.5,-2910.5 900.5,-2910.5 900.5,-2906.5 896.5,-2906.5 "/>
<text text-anchor="middle" x="983.5" y="-2970.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="983.5" y="-2955.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="983.5" y="-2940.3" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="983.5" y="-2925.3" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="983.5" y="-2910.3" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge90" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M748.53,-2955.7C792.51,-2953.5 843.2,-2951 886.22,-2948.8"/>
<polygon fill="#000000" stroke="#000000" points="886.5936,-2952.286 896.41,-2948.3 886.2505,-2945.2944 886.5936,-2952.286"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node79" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node79"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1433.5,-2869 1215.5,-2869 1215.5,-2865 1211.5,-2865 1211.5,-2861 1215.5,-2861 1215.5,-2839 1211.5,-2839 1211.5,-2835 1215.5,-2835 1215.5,-2831 1433.5,-2831 1433.5,-2869"/>
<polyline fill="none" stroke="#000000" points="1215.5,-2865 1219.5,-2865 1219.5,-2861 1215.5,-2861 "/>
<polyline fill="none" stroke="#000000" points="1215.5,-2839 1219.5,-2839 1219.5,-2835 1215.5,-2835 "/>
<text text-anchor="middle" x="1324.5" y="-2853.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1324.5" y="-2838.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge91" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1079.4,-2850C1118.4,-2850 1164,-2850 1205.1,-2850"/>
<polygon fill="#000000" stroke="#000000" points="1205.2,-2853.5001 1215.2,-2850 1205.2,-2846.5001 1205.2,-2853.5001"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge92" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1070.9,-2919.9C1124.7,-2905.1 1193.2,-2886.2 1245.5,-2871.8"/>
<polygon fill="#000000" stroke="#000000" points="1246.6733,-2875.1079 1255.4,-2869.1 1244.8314,-2868.3546 1246.6733,-2875.1079"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node80" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node80"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1760,-2884 1571,-2884 1571,-2880 1567,-2880 1567,-2876 1571,-2876 1571,-2824 1567,-2824 1567,-2820 1571,-2820 1571,-2816 1760,-2816 1760,-2884"/>
<polyline fill="none" stroke="#000000" points="1571,-2880 1575,-2880 1575,-2876 1571,-2876 "/>
<polyline fill="none" stroke="#000000" points="1571,-2824 1575,-2824 1575,-2820 1571,-2820 "/>
<text text-anchor="middle" x="1665.5" y="-2868.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1665.5" y="-2853.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1665.5" y="-2838.8" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1665.5" y="-2823.8" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge93" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1433.8,-2850C1474.5,-2850 1520.5,-2850 1560.8,-2850"/>
<polygon fill="#000000" stroke="#000000" points="1560.9,-2853.5001 1570.9,-2850 1560.9,-2846.5001 1560.9,-2853.5001"/>
</g>
<!-- zcash/zcash#4996 -->
<g id="node81" class="node">
<title>zcash/zcash#4996</title>
<g id="a_node81"><a xlink:href="https://github.com/zcash/zcash/pull/4996" xlink:title="zcash/zcash#4996&#10;Add &#45;blocksonly option" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="732.5,-2916 552.5,-2916 552.5,-2912 548.5,-2912 548.5,-2908 552.5,-2908 552.5,-2886 548.5,-2886 548.5,-2882 552.5,-2882 552.5,-2878 732.5,-2878 732.5,-2916"/>
<polyline fill="none" stroke="#000000" points="552.5,-2912 556.5,-2912 556.5,-2908 552.5,-2908 "/>
<polyline fill="none" stroke="#000000" points="552.5,-2886 556.5,-2886 556.5,-2882 552.5,-2882 "/>
<text text-anchor="middle" x="642.5" y="-2900.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4996</text>
<text text-anchor="middle" x="642.5" y="-2885.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add &#45;blocksonly option</text>
</a>
</g>
</g>
<!-- zcash/zcash#4996&#45;&gt;zcash/zcash#5004 -->
<g id="edge94" class="edge">
<title>zcash/zcash#4996&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M732.54,-2909.4C779.88,-2915.9 837.97,-2923.9 886.33,-2930.6"/>
<polygon fill="#000000" stroke="#000000" points="886.1058,-2934.1021 896.49,-2932 887.0614,-2927.1676 886.1058,-2934.1021"/>
</g>
<!-- zcash/zcash#4988 -->
<g id="node82" class="node">
<title>zcash/zcash#4988</title>
<g id="a_node82"><a xlink:href="https://github.com/zcash/zcash/pull/4988" xlink:title="zcash/zcash#4988&#10;Add feature flagging&#10;infrastructure to&#10;consensus parameters." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="200,-68 18,-68 18,-64 14,-64 14,-60 18,-60 18,-8 14,-8 14,-4 18,-4 18,0 200,0 200,-68"/>
<polyline fill="none" stroke="#000000" points="18,-64 22,-64 22,-60 18,-60 "/>
<polyline fill="none" stroke="#000000" points="18,-8 22,-8 22,-4 18,-4 "/>
<text text-anchor="middle" x="109" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4988</text>
<text text-anchor="middle" x="109" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add feature flagging</text>
<text text-anchor="middle" x="109" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">infrastructure to</text>
<text text-anchor="middle" x="109" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters.</text>
</a>
</g>
</g>
<!-- zcash/zcash#4988&#45;&gt;zcash/zcash#4190 -->
<g id="edge95" class="edge">
<title>zcash/zcash#4988&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M200.23,-47.405C216.57,-49.806 233.7,-52.323 250.35,-54.77"/>
<polygon fill="#000000" stroke="#000000" points="250.2475,-58.2924 260.65,-56.283 251.2649,-51.3667 250.2475,-58.2924"/>
</g>
<!-- zcash/zcash#3722 -->
<g id="node83" class="node">
<title>zcash/zcash#3722</title>
<g id="a_node83"><a xlink:href="https://github.com/zcash/zcash/issues/3722" xlink:title="zcash/zcash#3722&#10;Decouple consensus&#10;changes from Network&#10;Upgrades in the zcashd&#10;code" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2395.5,-1740.5 2209.5,-1740.5 2209.5,-1657.5 2395.5,-1657.5 2395.5,-1740.5"/>
<text text-anchor="middle" x="2302.5" y="-1725.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#3722</text>
<text text-anchor="middle" x="2302.5" y="-1710.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decouple consensus</text>
<text text-anchor="middle" x="2302.5" y="-1695.3" font-family="Times,serif" font-size="14.00" fill="#000000">changes from Network</text>
<text text-anchor="middle" x="2302.5" y="-1680.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrades in the zcashd</text>
<text text-anchor="middle" x="2302.5" y="-1665.3" font-family="Times,serif" font-size="14.00" fill="#000000">code</text>
</a>
</g>
</g>
<!-- zcash/zcash#3722&#45;&gt;zcash/zcash#5024 -->
<g id="edge96" class="edge">
<title>zcash/zcash#3722&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2395.6,-1686C2417.9,-1682.9 2441.6,-1679.6 2463.7,-1676.5"/>
<polygon fill="#000000" stroke="#000000" points="2464.2819,-1679.9528 2473.7,-1675.1 2463.3113,-1673.0204 2464.2819,-1679.9528"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node84" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node84"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2396.5,-2086.5 2208.5,-2086.5 2208.5,-2033.5 2396.5,-2033.5 2396.5,-2086.5"/>
<text text-anchor="middle" x="2302.5" y="-2071.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="2302.5" y="-2056.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="2302.5" y="-2041.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge97" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2396.7,-2038.6C2411.9,-2035.2 2427.7,-2031.6 2443.2,-2028"/>
<polygon fill="#000000" stroke="#000000" points="2444.3268,-2031.3331 2453.3,-2025.7 2442.7725,-2024.5078 2444.3268,-2031.3331"/>
</g>
<!-- zcash/zcash#5056 -->
<g id="node85" class="node">
<title>zcash/zcash#5056</title>
<g id="a_node85"><a xlink:href="https://github.com/zcash/zcash/issues/5056" xlink:title="zcash/zcash#5056&#10;Identify necessary RPC&#10;changes to support&#10;Unified Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2099,-794 1914,-794 1914,-726 2099,-726 2099,-794"/>
<text text-anchor="middle" x="2006.5" y="-778.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5056</text>
<text text-anchor="middle" x="2006.5" y="-763.8" font-family="Times,serif" font-size="14.00" fill="#000000">Identify necessary RPC</text>
<text text-anchor="middle" x="2006.5" y="-748.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes to support</text>
<text text-anchor="middle" x="2006.5" y="-733.8" font-family="Times,serif" font-size="14.00" fill="#000000">Unified Addresses</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5019 -->
<g id="edge99" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2099.3,-737.73C2131.5,-730.01 2167.8,-721.31 2200.7,-713.43"/>
<polygon fill="#000000" stroke="#000000" points="2201.8038,-716.764 2210.7,-711.01 2200.1573,-709.9604 2201.8038,-716.764"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node86" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node86"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2393.5,-786.5 2211.5,-786.5 2211.5,-733.5 2393.5,-733.5 2393.5,-786.5"/>
<text text-anchor="middle" x="2302.5" y="-771.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="2302.5" y="-756.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="2302.5" y="-741.3" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5177 -->
<g id="edge100" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5177</title>
<path fill="none" stroke="#000000" d="M2099.3,-760C2131.7,-760 2168.1,-760 2201.1,-760"/>
<polygon fill="#000000" stroke="#000000" points="2201.3,-763.5001 2211.3,-760 2201.3,-756.5001 2201.3,-763.5001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node87" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node87"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2099,-636.5 1914,-636.5 1914,-583.5 2099,-583.5 2099,-636.5"/>
<text text-anchor="middle" x="2006.5" y="-621.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="2006.5" y="-606.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="2006.5" y="-591.3" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge101" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2099.1,-630.13C2118.9,-634.75 2139.7,-639.84 2159,-645 2175.4,-649.39 2192.8,-654.4 2209.5,-659.43"/>
<polygon fill="#000000" stroke="#000000" points="2208.7151,-662.849 2219.3,-662.39 2210.7391,-656.148 2208.7151,-662.849"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node88" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node88"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2403.5,-644 2201.5,-644 2201.5,-576 2403.5,-576 2403.5,-644"/>
<text text-anchor="middle" x="2302.5" y="-628.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="2302.5" y="-613.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="2302.5" y="-598.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="2302.5" y="-583.8" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge102" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M2099.3,-610C2128.4,-610 2160.9,-610 2191.1,-610"/>
<polygon fill="#000000" stroke="#000000" points="2191.3,-613.5001 2201.3,-610 2191.3,-606.5001 2191.3,-613.5001"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge103" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2403.5,-608.79C2416.2,-608.64 2429.2,-608.49 2442.1,-608.33"/>
<polygon fill="#000000" stroke="#000000" points="2442.3419,-611.8275 2452.3,-608.21 2442.2595,-604.828 2442.3419,-611.8275"/>
</g>
<!-- zcash/zips#364 -->
<g id="node89" class="node">
<title>zcash/zips#364</title>
<g id="a_node89"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1768,-629.5 1563,-629.5 1563,-576.5 1768,-576.5 1768,-629.5"/>
<text text-anchor="middle" x="1665.5" y="-614.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="1665.5" y="-599.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="1665.5" y="-584.3" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge104" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M1768.3,-605.11C1811.1,-605.99 1860.8,-607.01 1903.6,-607.89"/>
<polygon fill="#000000" stroke="#000000" points="1903.73,-611.3933 1913.8,-608.1 1903.8742,-604.3948 1903.73,-611.3933"/>
</g>
<!-- zcash/zips#511 -->
<g id="node90" class="node">
<title>zcash/zips#511</title>
<g id="a_node90"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2410,-558 2195,-558 2195,-490 2410,-490 2410,-558"/>
<text text-anchor="middle" x="2302.5" y="-542.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="2302.5" y="-527.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="2302.5" y="-512.8" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="2302.5" y="-497.8" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge105" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2405.7,-558.12C2417.8,-562.14 2430.3,-566.26 2442.6,-570.31"/>
<polygon fill="#000000" stroke="#000000" points="2441.7062,-573.7015 2452.3,-573.55 2443.924,-567.0621 2441.7062,-573.7015"/>
</g>
<!-- zcash/zips#475 -->
<g id="node91" class="node">
<title>zcash/zips#475</title>
<g id="a_node91"><a xlink:href="https://github.com/zcash/zips/issues/475" xlink:title="zcash/zips#475&#10;ZIP 221: Add Orchard&#10;commitment tree roots" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2097.5,-2114.5 1915.5,-2114.5 1915.5,-2061.5 2097.5,-2061.5 2097.5,-2114.5"/>
<text text-anchor="middle" x="2006.5" y="-2099.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#475</text>
<text text-anchor="middle" x="2006.5" y="-2084.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 221: Add Orchard</text>
<text text-anchor="middle" x="2006.5" y="-2069.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree roots</text>
</a>
</g>
</g>
<!-- zcash/zips#475&#45;&gt;zcash/librustzcash#368 -->
<g id="edge106" class="edge">
<title>zcash/zips#475&#45;&gt;zcash/librustzcash#368</title>
<path fill="none" stroke="#000000" d="M2097.7,-2079.4C2129.5,-2076.4 2165.4,-2073 2198.2,-2069.9"/>
<polygon fill="#000000" stroke="#000000" points="2198.6935,-2073.3683 2208.3,-2068.9 2198.0038,-2066.4024 2198.6935,-2073.3683"/>
</g>
<!-- zcash/zips#482 -->
<g id="node92" class="node">
<title>zcash/zips#482</title>
<g id="a_node92"><a xlink:href="https://github.com/zcash/zips/issues/482" xlink:title="zcash/zips#482&#10;[ZIP 316] Unified&#10;Addresses" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2077,-478.5 1936,-478.5 1936,-425.5 2077,-425.5 2077,-478.5"/>
<text text-anchor="middle" x="2006.5" y="-463.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#482</text>
<text text-anchor="middle" x="2006.5" y="-448.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 316] Unified</text>
<text text-anchor="middle" x="2006.5" y="-433.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#482&#45;&gt;zcash/librustzcash#371 -->
<g id="edge107" class="edge">
<title>zcash/zips#482&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2077,-448.66C2113.3,-446.95 2158.2,-444.83 2198.3,-442.93"/>
<polygon fill="#000000" stroke="#000000" points="2198.5775,-446.4209 2208.4,-442.45 2198.2451,-439.4288 2198.5775,-446.4209"/>
</g>
<!-- zcash/librustzcash#300 -->
<g id="node93" class="node">
<title>zcash/librustzcash#300</title>
<g id="a_node93"><a xlink:href="https://github.com/zcash/librustzcash/issues/300" xlink:title="zcash/librustzcash#300&#10;Use feature flags to gate&#10;access to ZIP&#45;222 code." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="206,-195.5 12,-195.5 12,-142.5 206,-142.5 206,-195.5"/>
<text text-anchor="middle" x="109" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#300</text>
<text text-anchor="middle" x="109" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use feature flags to gate</text>
<text text-anchor="middle" x="109" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">access to ZIP&#45;222 code.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226 -->
<g id="edge108" class="edge">
<title>zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M206.18,-169C220.37,-169 235.04,-169 249.37,-169"/>
<polygon fill="#000000" stroke="#000000" points="249.73,-172.5001 259.73,-169 249.73,-165.5001 249.73,-172.5001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node94" class="node">
<title>zcash/halo2#63</title>
<g id="a_node94"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2114.5,-2043.5 1898.5,-2043.5 1898.5,-1990.5 2114.5,-1990.5 2114.5,-2043.5"/>
<text text-anchor="middle" x="2006.5" y="-2028.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="2006.5" y="-2013.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="2006.5" y="-1998.3" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge109" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2114.7,-2005C2130.8,-1999.5 2146.2,-1991.8 2159,-1981 2190.6,-1954.2 2172.1,-1929.5 2195,-1895 2213.9,-1866.5 2240.7,-1839 2262.9,-1818.7"/>
<polygon fill="#000000" stroke="#000000" points="2265.4488,-1821.1133 2270.5,-1811.8 2260.7435,-1815.9306 2265.4488,-1821.1133"/>
</g>
<!-- zcash/librustzcash#349 -->
<g id="node95" class="node">
<title>zcash/librustzcash#349</title>
<g id="a_node95"><a xlink:href="https://github.com/zcash/librustzcash/issues/349" xlink:title="zcash/librustzcash#349&#10;Generalise note&#10;encryption logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1759.5,-1056.5 1571.5,-1056.5 1571.5,-1003.5 1759.5,-1003.5 1759.5,-1056.5"/>
<text text-anchor="middle" x="1665.5" y="-1041.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#349</text>
<text text-anchor="middle" x="1665.5" y="-1026.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalise note</text>
<text text-anchor="middle" x="1665.5" y="-1011.3" font-family="Times,serif" font-size="14.00" fill="#000000">encryption logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#349&#45;&gt;zcash/orchard#32 -->
<g id="edge110" class="edge">
<title>zcash/librustzcash#349&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1759.6,-1030C1800,-1030 1847.7,-1030 1890.3,-1030"/>
<polygon fill="#000000" stroke="#000000" points="1890.4,-1033.5001 1900.4,-1030 1890.4,-1026.5001 1890.4,-1033.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25 -->
<g id="node96" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</title>
<g id="a_node96"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/25" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1818,-349 1513,-349 1513,-311 1818,-311 1818,-349"/>
<text text-anchor="middle" x="1665.5" y="-333.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</text>
<text text-anchor="middle" x="1665.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge111" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1793,-349.06C1809.6,-351.55 1826.8,-354.12 1843.8,-356.67"/>
<polygon fill="#000000" stroke="#000000" points="1843.4943,-360.1629 1853.9,-358.17 1844.5227,-353.2389 1843.4943,-360.1629"/>
</g>
<!-- zcash/librustzcash#378 -->
<g id="node97" class="node">
<title>zcash/librustzcash#378</title>
<g id="a_node97"><a xlink:href="https://github.com/zcash/librustzcash/issues/378" xlink:title="zcash/librustzcash#378&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2100.5,-336 1912.5,-336 1912.5,-298 2100.5,-298 2100.5,-336"/>
<text text-anchor="middle" x="2006.5" y="-320.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#378</text>
<text text-anchor="middle" x="2006.5" y="-305.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378 -->
<g id="edge112" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378</title>
<path fill="none" stroke="#000000" d="M1818,-324.18C1846.5,-323.1 1875.6,-321.99 1902.2,-320.97"/>
<polygon fill="#000000" stroke="#000000" points="1902.4387,-324.4636 1912.3,-320.59 1902.1754,-317.4685 1902.4387,-324.4636"/>
</g>
<!-- zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371 -->
<g id="edge113" class="edge">
<title>zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2100.9,-328.34C2120.5,-332.35 2140.7,-337.74 2159,-345 2191.9,-358.06 2225.2,-379.1 2251.5,-397.87"/>
<polygon fill="#000000" stroke="#000000" points="2249.5629,-400.7895 2259.7,-403.87 2253.6965,-395.1402 2249.5629,-400.7895"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14 -->
<g id="node98" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</title>
<g id="a_node98"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/14" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#10;Implementation of Pallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="795,-452 490,-452 490,-448 486,-448 486,-444 490,-444 490,-422 486,-422 486,-418 490,-418 490,-414 795,-414 795,-452"/>
<polyline fill="none" stroke="#000000" points="490,-448 494,-448 494,-444 490,-444 "/>
<polyline fill="none" stroke="#000000" points="490,-422 494,-422 494,-418 490,-418 "/>
<text text-anchor="middle" x="642.5" y="-436.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</text>
<text text-anchor="middle" x="642.5" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implementation of Pallas</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="node99" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<g id="a_node99"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/17" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#10;Add iso&#45;Pallas, SWU hash&#45;&#10;to&#45;curve, and Sinsemilla" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1136,-459.5 831,-459.5 831,-455.5 827,-455.5 827,-451.5 831,-451.5 831,-414.5 827,-414.5 827,-410.5 831,-410.5 831,-406.5 1136,-406.5 1136,-459.5"/>
<polyline fill="none" stroke="#000000" points="831,-455.5 835,-455.5 835,-451.5 831,-451.5 "/>
<polyline fill="none" stroke="#000000" points="831,-414.5 835,-414.5 835,-410.5 831,-410.5 "/>
<text text-anchor="middle" x="983.5" y="-444.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</text>
<text text-anchor="middle" x="983.5" y="-429.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add iso&#45;Pallas, SWU hash&#45;</text>
<text text-anchor="middle" x="983.5" y="-414.3" font-family="Times,serif" font-size="14.00" fill="#000000">to&#45;curve, and Sinsemilla</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="edge114" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<path fill="none" stroke="#000000" d="M795.05,-433C803.59,-433 812.19,-433 820.76,-433"/>
<polygon fill="#000000" stroke="#000000" points="820.81,-436.5001 830.81,-433 820.81,-429.5001 820.81,-436.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="node100" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<g id="a_node100"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/18" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#10;Add Orchard generators" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-484 1172,-484 1172,-480 1168,-480 1168,-476 1172,-476 1172,-454 1168,-454 1168,-450 1172,-450 1172,-446 1477,-446 1477,-484"/>
<polyline fill="none" stroke="#000000" points="1172,-480 1176,-480 1176,-476 1172,-476 "/>
<polyline fill="none" stroke="#000000" points="1172,-454 1176,-454 1176,-450 1172,-450 "/>
<text text-anchor="middle" x="1324.5" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</text>
<text text-anchor="middle" x="1324.5" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard generators</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="edge115" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<path fill="none" stroke="#000000" d="M1136,-447.32C1144.6,-448.12 1153.2,-448.92 1161.8,-449.73"/>
<polygon fill="#000000" stroke="#000000" points="1161.5163,-453.2187 1171.8,-450.67 1162.1715,-446.2494 1161.5163,-453.2187"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="node101" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<g id="a_node101"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/15" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#10;Implement ZIP 225 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1477,-427.5 1172,-427.5 1172,-374.5 1477,-374.5 1477,-427.5"/>
<text text-anchor="middle" x="1324.5" y="-412.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</text>
<text text-anchor="middle" x="1324.5" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 225 test</text>
<text text-anchor="middle" x="1324.5" y="-382.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="edge116" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<path fill="none" stroke="#000000" d="M1136,-418.68C1144.6,-417.88 1153.2,-417.08 1161.8,-416.27"/>
<polygon fill="#000000" stroke="#000000" points="1162.1715,-419.7506 1171.8,-415.33 1161.5163,-412.7813 1162.1715,-419.7506"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge117" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1425.9,-484.03C1453.6,-489.23 1484.2,-494.97 1514,-500.57"/>
<polygon fill="#000000" stroke="#000000" points="1513.6268,-504.0608 1524.1,-502.46 1514.9144,-497.1803 1513.6268,-504.0608"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="node102" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<g id="a_node102"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/21" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#21&#10;Add Orchard MerkleCRH" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1818,-484 1513,-484 1513,-480 1509,-480 1509,-476 1513,-476 1513,-454 1509,-454 1509,-450 1513,-450 1513,-446 1818,-446 1818,-484"/>
<polyline fill="none" stroke="#000000" points="1513,-480 1517,-480 1517,-476 1513,-476 "/>
<polyline fill="none" stroke="#000000" points="1513,-454 1517,-454 1517,-450 1513,-450 "/>
<text text-anchor="middle" x="1665.5" y="-468.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</text>
<text text-anchor="middle" x="1665.5" y="-453.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard MerkleCRH</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="edge118" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<path fill="none" stroke="#000000" d="M1477,-465C1485.6,-465 1494.2,-465 1502.8,-465"/>
<polygon fill="#000000" stroke="#000000" points="1502.8,-468.5001 1512.8,-465 1502.8,-461.5001 1502.8,-468.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="node103" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<g id="a_node103"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/23" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#10;Implement ZIP 244 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1818,-427.5 1513,-427.5 1513,-374.5 1818,-374.5 1818,-427.5"/>
<text text-anchor="middle" x="1665.5" y="-412.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</text>
<text text-anchor="middle" x="1665.5" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 244 test</text>
<text text-anchor="middle" x="1665.5" y="-382.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="edge119" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<path fill="none" stroke="#000000" d="M1477,-401C1485.6,-401 1494.2,-401 1502.8,-401"/>
<polygon fill="#000000" stroke="#000000" points="1502.8,-404.5001 1512.8,-401 1502.8,-397.5001 1502.8,-404.5001"/>
</g>
<!-- zcash/halo2#39 -->
<g id="node104" class="node">
<title>zcash/halo2#39</title>
<g id="a_node104"><a xlink:href="https://github.com/zcash/halo2/issues/39" xlink:title="zcash/halo2#39&#10;Add support for&#10;coefficient blinding&#10;factors in&#10;poly::commitment" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1402,-2096.5 1247,-2096.5 1247,-2013.5 1402,-2013.5 1402,-2096.5"/>
<text text-anchor="middle" x="1324.5" y="-2081.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#39</text>
<text text-anchor="middle" x="1324.5" y="-2066.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="1324.5" y="-2051.3" font-family="Times,serif" font-size="14.00" fill="#000000">coefficient blinding</text>
<text text-anchor="middle" x="1324.5" y="-2036.3" font-family="Times,serif" font-size="14.00" fill="#000000">factors in</text>
<text text-anchor="middle" x="1324.5" y="-2021.3" font-family="Times,serif" font-size="14.00" fill="#000000">poly::commitment</text>
</a>
</g>
</g>
<!-- zcash/halo2#39&#45;&gt;zcash/halo2#63 -->
<g id="edge120" class="edge">
<title>zcash/halo2#39&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M1402.4,-2079.6C1426.4,-2087.5 1452.9,-2096.4 1477,-2105 1493.2,-2110.8 1496.1,-2115.8 1513,-2119 1646.2,-2144 1701.7,-2188.6 1818,-2119 1847,-2101.7 1827.1,-2072.5 1854,-2052 1864.4,-2044.1 1876.3,-2037.9 1888.8,-2033"/>
<polygon fill="#000000" stroke="#000000" points="1890.1422,-2036.2377 1898.4,-2029.6 1887.8052,-2029.6393 1890.1422,-2036.2377"/>
</g>
<!-- zcash/halo2#65 -->
<g id="node105" class="node">
<title>zcash/halo2#65</title>
<g id="a_node105"><a xlink:href="https://github.com/zcash/halo2/issues/65" xlink:title="zcash/halo2#65&#10;Implement SHA&#45;256 gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1092.5,-1666 874.5,-1666 874.5,-1628 1092.5,-1628 1092.5,-1666"/>
<text text-anchor="middle" x="983.5" y="-1650.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#65</text>
<text text-anchor="middle" x="983.5" y="-1635.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement SHA&#45;256 gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#64 -->
<g id="node106" class="node">
<title>zcash/halo2#64</title>
<g id="a_node106"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1409.5,-1623.5 1239.5,-1623.5 1239.5,-1570.5 1409.5,-1570.5 1409.5,-1623.5"/>
<text text-anchor="middle" x="1324.5" y="-1608.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="1324.5" y="-1593.3" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="1324.5" y="-1578.3" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#65&#45;&gt;zcash/halo2#64 -->
<g id="edge121" class="edge">
<title>zcash/halo2#65&#45;&gt;zcash/halo2#64</title>
<path fill="none" stroke="#000000" d="M1092.8,-1631C1136.7,-1624.5 1186.9,-1617.2 1229.3,-1611"/>
<polygon fill="#000000" stroke="#000000" points="1229.9299,-1614.4448 1239.3,-1609.5 1228.8914,-1607.5222 1229.9299,-1614.4448"/>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#73 -->
<g id="edge122" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1409.7,-1579.3C1458,-1569.2 1518.7,-1556.6 1568.9,-1546.1"/>
<polygon fill="#000000" stroke="#000000" points="1569.6911,-1549.511 1578.8,-1544.1 1568.3049,-1542.6496 1569.6911,-1549.511"/>
</g>
<!-- zcash/halo2#235 -->
<g id="node107" class="node">
<title>zcash/halo2#235</title>
<g id="a_node107"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1753.5,-1623.5 1577.5,-1623.5 1577.5,-1570.5 1753.5,-1570.5 1753.5,-1623.5"/>
<text text-anchor="middle" x="1665.5" y="-1608.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="1665.5" y="-1593.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="1665.5" y="-1578.3" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge123" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M1409.7,-1597C1457.5,-1597 1517.3,-1597 1567.1,-1597"/>
<polygon fill="#000000" stroke="#000000" points="1567.3,-1600.5001 1577.3,-1597 1567.3,-1593.5001 1567.3,-1600.5001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge124" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1753.8,-1578.6C1801.6,-1568.7 1860.7,-1556.3 1909.8,-1546.1"/>
<polygon fill="#000000" stroke="#000000" points="1910.6806,-1549.4933 1919.8,-1544.1 1909.3078,-1542.6292 1910.6806,-1549.4933"/>
</g>
<!-- zcash/halo2#44 -->
<g id="node108" class="node">
<title>zcash/halo2#44</title>
<g id="a_node108"><a xlink:href="https://github.com/zcash/halo2/issues/44" xlink:title="zcash/halo2#44&#10;Implement lookup argument" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="753,-1891 532,-1891 532,-1853 753,-1853 753,-1891"/>
<text text-anchor="middle" x="642.5" y="-1875.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#44</text>
<text text-anchor="middle" x="642.5" y="-1860.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement lookup argument</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#65 -->
<g id="edge125" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#65</title>
<path fill="none" stroke="#000000" d="M671.57,-1852.8C733.36,-1812.1 877.65,-1716.8 946.14,-1671.7"/>
<polygon fill="#000000" stroke="#000000" points="948.1396,-1674.5733 954.5,-1666.1 944.2438,-1668.7575 948.1396,-1674.5733"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node109" class="node">
<title>zcash/halo2#57</title>
<g id="a_node109"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1055,-1953 912,-1953 912,-1885 1055,-1885 1055,-1953"/>
<text text-anchor="middle" x="983.5" y="-1937.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="983.5" y="-1922.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="983.5" y="-1907.8" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="983.5" y="-1892.8" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#57 -->
<g id="edge126" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#57</title>
<path fill="none" stroke="#000000" d="M753.21,-1887.3C801.67,-1893.9 857.5,-1901.6 902.05,-1907.8"/>
<polygon fill="#000000" stroke="#000000" points="901.5897,-1911.2695 911.96,-1909.1 902.5002,-1904.329 901.5897,-1911.2695"/>
</g>
<!-- zcash/halo2#82 -->
<g id="node110" class="node">
<title>zcash/halo2#82</title>
<g id="a_node110"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1080,-1866.5 887,-1866.5 887,-1783.5 1080,-1783.5 1080,-1866.5"/>
<text text-anchor="middle" x="983.5" y="-1851.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="983.5" y="-1836.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="983.5" y="-1821.3" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="983.5" y="-1806.3" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="983.5" y="-1791.3" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#82 -->
<g id="edge127" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#82</title>
<path fill="none" stroke="#000000" d="M753.21,-1856.7C792.84,-1851.3 837.4,-1845.1 876.69,-1839.7"/>
<polygon fill="#000000" stroke="#000000" points="877.3933,-1843.1362 886.82,-1838.3 876.435,-1836.2021 877.3933,-1843.1362"/>
</g>
<!-- zcash/halo2#62 -->
<g id="node111" class="node">
<title>zcash/halo2#62</title>
<g id="a_node111"><a xlink:href="https://github.com/zcash/halo2/issues/62" xlink:title="zcash/halo2#62&#10;Modularise prover and&#10;verifier by introducing&#10;internal APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1073,-2089 894,-2089 894,-2021 1073,-2021 1073,-2089"/>
<text text-anchor="middle" x="983.5" y="-2073.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#62</text>
<text text-anchor="middle" x="983.5" y="-2058.8" font-family="Times,serif" font-size="14.00" fill="#000000">Modularise prover and</text>
<text text-anchor="middle" x="983.5" y="-2043.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier by introducing</text>
<text text-anchor="middle" x="983.5" y="-2028.8" font-family="Times,serif" font-size="14.00" fill="#000000">internal APIs</text>
</a>
</g>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#66 -->
<g id="edge128" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#66</title>
<path fill="none" stroke="#000000" d="M1073,-2079.3C1104.3,-2087.6 1139.7,-2096.9 1172,-2105 1186.3,-2108.6 1201.4,-2112.3 1216.2,-2115.8"/>
<polygon fill="#000000" stroke="#000000" points="1215.4545,-2119.2208 1226,-2118.2 1217.1196,-2112.4217 1215.4545,-2119.2208"/>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#39 -->
<g id="edge129" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#39</title>
<path fill="none" stroke="#000000" d="M1073.1,-2055C1123.6,-2055 1186.4,-2055 1236.6,-2055"/>
<polygon fill="#000000" stroke="#000000" points="1236.8,-2058.5001 1246.8,-2055 1236.8,-2051.5001 1236.8,-2058.5001"/>
</g>
<!-- zcash/halo2#61 -->
<g id="node112" class="node">
<title>zcash/halo2#61</title>
<g id="a_node112"><a xlink:href="https://github.com/zcash/halo2/pull/61" xlink:title="zcash/halo2#61&#10;Migrate to ff traits" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="184.5,-1358 33.5,-1358 33.5,-1354 29.5,-1354 29.5,-1350 33.5,-1350 33.5,-1328 29.5,-1328 29.5,-1324 33.5,-1324 33.5,-1320 184.5,-1320 184.5,-1358"/>
<polyline fill="none" stroke="#000000" points="33.5,-1354 37.5,-1354 37.5,-1350 33.5,-1350 "/>
<polyline fill="none" stroke="#000000" points="33.5,-1328 37.5,-1328 37.5,-1324 33.5,-1324 "/>
<text text-anchor="middle" x="109" y="-1342.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#61</text>
<text text-anchor="middle" x="109" y="-1327.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to ff traits</text>
</a>
</g>
</g>
<!-- zcash/halo2#68 -->
<g id="node113" class="node">
<title>zcash/halo2#68</title>
<g id="a_node113"><a xlink:href="https://github.com/zcash/halo2/issues/68" xlink:title="zcash/halo2#68&#10;Migrate to the Pasta&#10;curves" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="436,-1365.5 272,-1365.5 272,-1312.5 436,-1312.5 436,-1365.5"/>
<text text-anchor="middle" x="354" y="-1350.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#68</text>
<text text-anchor="middle" x="354" y="-1335.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the Pasta</text>
<text text-anchor="middle" x="354" y="-1320.3" font-family="Times,serif" font-size="14.00" fill="#000000">curves</text>
</a>
</g>
</g>
<!-- zcash/halo2#61&#45;&gt;zcash/halo2#68 -->
<g id="edge130" class="edge">
<title>zcash/halo2#61&#45;&gt;zcash/halo2#68</title>
<path fill="none" stroke="#000000" d="M184.51,-1339C208.96,-1339 236.36,-1339 261.88,-1339"/>
<polygon fill="#000000" stroke="#000000" points="261.93,-1342.5001 271.93,-1339 261.93,-1335.5001 261.93,-1342.5001"/>
</g>
<!-- zcash/halo2#68&#45;&gt;zcash/halo2#72 -->
<g id="edge131" class="edge">
<title>zcash/halo2#68&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M436.29,-1352.4C469.03,-1357.7 507.03,-1363.9 541.42,-1369.5"/>
<polygon fill="#000000" stroke="#000000" points="541.0572,-1372.9882 551.5,-1371.2 542.2213,-1366.0856 541.0572,-1372.9882"/>
</g>
<!-- zcash/halo2#70 -->
<g id="node114" class="node">
<title>zcash/halo2#70</title>
<g id="a_node114"><a xlink:href="https://github.com/zcash/halo2/pull/70" xlink:title="zcash/halo2#70&#10;Extract permutation&#10;argument and introduce&#10;typed challenges" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="449.5,-1964 258.5,-1964 258.5,-1960 254.5,-1960 254.5,-1956 258.5,-1956 258.5,-1904 254.5,-1904 254.5,-1900 258.5,-1900 258.5,-1896 449.5,-1896 449.5,-1964"/>
<polyline fill="none" stroke="#000000" points="258.5,-1960 262.5,-1960 262.5,-1956 258.5,-1956 "/>
<polyline fill="none" stroke="#000000" points="258.5,-1904 262.5,-1904 262.5,-1900 258.5,-1900 "/>
<text text-anchor="middle" x="354" y="-1948.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#70</text>
<text text-anchor="middle" x="354" y="-1933.8" font-family="Times,serif" font-size="14.00" fill="#000000">Extract permutation</text>
<text text-anchor="middle" x="354" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument and introduce</text>
<text text-anchor="middle" x="354" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">typed challenges</text>
</a>
</g>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#44 -->
<g id="edge132" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#44</title>
<path fill="none" stroke="#000000" d="M449.67,-1910.8C477.84,-1905.1 508.81,-1898.9 537.53,-1893.1"/>
<polygon fill="#000000" stroke="#000000" points="538.4555,-1896.4845 547.58,-1891.1 537.0892,-1889.6192 538.4555,-1896.4845"/>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#62 -->
<g id="edge133" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#62</title>
<path fill="none" stroke="#000000" d="M449.61,-1949C566.95,-1972.3 764.96,-2011.6 884.03,-2035.2"/>
<polygon fill="#000000" stroke="#000000" points="883.3938,-2038.6422 893.89,-2037.2 884.7854,-2031.7819 883.3938,-2038.6422"/>
</g>
<!-- zcash/halo2#78 -->
<g id="node115" class="node">
<title>zcash/halo2#78</title>
<g id="a_node115"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1426.5,-2254 1222.5,-2254 1222.5,-2186 1426.5,-2186 1426.5,-2254"/>
<text text-anchor="middle" x="1324.5" y="-2238.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="1324.5" y="-2223.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="1324.5" y="-2208.8" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="1324.5" y="-2193.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#75 -->
<g id="edge134" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1426.6,-2244.9C1443.7,-2250.2 1461,-2256.2 1477,-2263 1494.1,-2270.2 1495.2,-2278.8 1513,-2284 1644.9,-2322.5 1805,-2320.7 1906.4,-2313.9"/>
<polygon fill="#000000" stroke="#000000" points="1906.8631,-2317.3765 1916.6,-2313.2 1906.3838,-2310.393 1906.8631,-2317.3765"/>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge135" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1426.6,-2209.3C1446.1,-2202.6 1464.3,-2192.1 1477,-2176 1535,-2102.2 1456.3,-1406.8 1513,-1332 1528.1,-1312.1 1551.3,-1300 1575.1,-1292.7"/>
<polygon fill="#000000" stroke="#000000" points="1576.33,-1295.9895 1585,-1289.9 1574.4249,-1289.2537 1576.33,-1295.9895"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node116" class="node">
<title>zcash/halo2#250</title>
<g id="a_node116"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1762.5,-2461.5 1568.5,-2461.5 1568.5,-2408.5 1762.5,-2408.5 1762.5,-2461.5"/>
<text text-anchor="middle" x="1665.5" y="-2446.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="1665.5" y="-2431.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="1665.5" y="-2416.3" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge136" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.8,-2237.9C1444.6,-2244 1462.1,-2252.1 1477,-2263 1500.6,-2280.3 1493.1,-2296.6 1513,-2318 1543.2,-2350.5 1583.2,-2380.8 1614.6,-2402.5"/>
<polygon fill="#000000" stroke="#000000" points="1612.9523,-2405.6103 1623.2,-2408.3 1616.8663,-2399.8068 1612.9523,-2405.6103"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge137" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1734.5,-2408.5C1790.5,-2387 1869.3,-2356.7 1927.7,-2334.3"/>
<polygon fill="#000000" stroke="#000000" points="1929.2278,-2337.4622 1937.3,-2330.6 1926.7103,-2330.9305 1929.2278,-2337.4622"/>
</g>
<!-- zcash/halo2#77 -->
<g id="node117" class="node">
<title>zcash/halo2#77</title>
<g id="a_node117"><a xlink:href="https://github.com/zcash/halo2/issues/77" xlink:title="zcash/halo2#77&#10;Implement Rescue gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1427,-1424 1222,-1424 1222,-1386 1427,-1386 1427,-1424"/>
<text text-anchor="middle" x="1324.5" y="-1408.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#77</text>
<text text-anchor="middle" x="1324.5" y="-1393.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Rescue gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#77&#45;&gt;zcash/halo2#79 -->
<g id="edge138" class="edge">
<title>zcash/halo2#77&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1427.4,-1395.6C1444.7,-1391.2 1461.9,-1385 1477,-1376 1498.7,-1363.1 1492.2,-1346.3 1513,-1332 1531.5,-1319.3 1553.5,-1309.6 1575,-1302.4"/>
<polygon fill="#000000" stroke="#000000" points="1576.3,-1305.6568 1584.7,-1299.2 1574.1069,-1299.0092 1576.3,-1305.6568"/>
</g>
<!-- zcash/halo2#248 -->
<g id="node118" class="node">
<title>zcash/halo2#248</title>
<g id="a_node118"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1426,-2583.5 1223,-2583.5 1223,-2530.5 1426,-2530.5 1426,-2583.5"/>
<text text-anchor="middle" x="1324.5" y="-2568.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="1324.5" y="-2553.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="1324.5" y="-2538.3" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge139" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.2,-2535.9C1443.3,-2531.6 1460.8,-2526.6 1477,-2521 1521.2,-2505.9 1569.1,-2483.9 1605.6,-2466"/>
<polygon fill="#000000" stroke="#000000" points="1607.221,-2469.1027 1614.6,-2461.5 1604.0905,-2462.8417 1607.221,-2469.1027"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node119" class="node">
<title>zcash/halo2#249</title>
<g id="a_node119"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1417,-2512 1232,-2512 1232,-2444 1417,-2444 1417,-2512"/>
<text text-anchor="middle" x="1324.5" y="-2496.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="1324.5" y="-2481.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="1324.5" y="-2466.8" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="1324.5" y="-2451.8" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge140" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1417.2,-2466.3C1460.8,-2460.8 1512.9,-2454.2 1558.2,-2448.5"/>
<polygon fill="#000000" stroke="#000000" points="1558.7828,-2451.9555 1568.3,-2447.3 1557.9569,-2445.0044 1558.7828,-2451.9555"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node120" class="node">
<title>zcash/halo2#246</title>
<g id="a_node120"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1073,-2418.5 894,-2418.5 894,-2365.5 1073,-2365.5 1073,-2418.5"/>
<text text-anchor="middle" x="983.5" y="-2403.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="983.5" y="-2388.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="983.5" y="-2373.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node121" class="node">
<title>zcash/halo2#247</title>
<g id="a_node121"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1412.5,-2426 1236.5,-2426 1236.5,-2358 1412.5,-2358 1412.5,-2426"/>
<text text-anchor="middle" x="1324.5" y="-2410.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="1324.5" y="-2395.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="1324.5" y="-2380.8" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="1324.5" y="-2365.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge141" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M1073.1,-2392C1120.2,-2392 1177.9,-2392 1226.2,-2392"/>
<polygon fill="#000000" stroke="#000000" points="1226.4,-2395.5001 1236.4,-2392 1226.4,-2388.5001 1226.4,-2395.5001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge142" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1412.8,-2403.1C1457.2,-2408.7 1511.3,-2415.6 1558.1,-2421.5"/>
<polygon fill="#000000" stroke="#000000" points="1557.9595,-2425.0075 1568.3,-2422.7 1558.7775,-2418.0555 1557.9595,-2425.0075"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node122" class="node">
<title>zcash/halo2#245</title>
<g id="a_node122"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1427.5,-2340 1221.5,-2340 1221.5,-2272 1427.5,-2272 1427.5,-2340"/>
<text text-anchor="middle" x="1324.5" y="-2324.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="1324.5" y="-2309.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="1324.5" y="-2294.8" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="1324.5" y="-2279.8" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge143" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1427.7,-2332.8C1444.3,-2337.8 1461.2,-2343.2 1477,-2349 1520.3,-2364.9 1567.5,-2386.4 1603.8,-2403.9"/>
<polygon fill="#000000" stroke="#000000" points="1602.2789,-2407.0522 1612.8,-2408.3 1605.3534,-2400.7635 1602.2789,-2407.0522"/>
</g>
<!-- zcash/halo2#151 -->
<g id="node123" class="node">
<title>zcash/halo2#151</title>
<g id="a_node123"><a xlink:href="https://github.com/zcash/halo2/issues/151" xlink:title="zcash/halo2#151&#10;Add support for full&#45;&#10;field challenge space" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1408,-2741.5 1241,-2741.5 1241,-2688.5 1408,-2688.5 1408,-2741.5"/>
<text text-anchor="middle" x="1324.5" y="-2726.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#151</text>
<text text-anchor="middle" x="1324.5" y="-2711.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for full&#45;</text>
<text text-anchor="middle" x="1324.5" y="-2696.3" font-family="Times,serif" font-size="14.00" fill="#000000">field challenge space</text>
</a>
</g>
</g>
<!-- zcash/halo2#151&#45;&gt;zcash/halo2#250 -->
<g id="edge144" class="edge">
<title>zcash/halo2#151&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1408.1,-2705.9C1431.7,-2700.6 1456.5,-2692.2 1477,-2679 1558.9,-2626.2 1619.7,-2525.1 1647.9,-2471.1"/>
<polygon fill="#000000" stroke="#000000" points="1651.1674,-2472.3975 1652.6,-2461.9 1644.9337,-2469.2129 1651.1674,-2472.3975"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node124" class="node">
<title>zcash/halo2#210</title>
<g id="a_node124"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1433.5,-2670 1215.5,-2670 1215.5,-2602 1433.5,-2602 1433.5,-2670"/>
<text text-anchor="middle" x="1324.5" y="-2654.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="1324.5" y="-2639.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="1324.5" y="-2624.8" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="1324.5" y="-2609.8" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge145" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1433.7,-2610.5C1448.7,-2605.3 1463.5,-2599.2 1477,-2592 1538.5,-2559.4 1598.3,-2504.5 1633.5,-2469"/>
<polygon fill="#000000" stroke="#000000" points="1636.1368,-2471.3089 1640.6,-2461.7 1631.1188,-2466.4283 1636.1368,-2471.3089"/>
</g>
<!-- zcash/orchard#29 -->
<g id="node125" class="node">
<title>zcash/orchard#29</title>
<g id="a_node125"><a xlink:href="https://github.com/zcash/orchard/issues/29" xlink:title="zcash/orchard#29&#10;Implement Orchard key&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1760,-700.5 1571,-700.5 1571,-647.5 1760,-647.5 1760,-700.5"/>
<text text-anchor="middle" x="1665.5" y="-685.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#29</text>
<text text-anchor="middle" x="1665.5" y="-670.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-655.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#35 -->
<g id="edge146" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1760.2,-681.59C1781.1,-687.05 1801.8,-695.88 1818,-710 1851.4,-739.11 1819.1,-775.73 1854,-803 1961.7,-887.05 2032.6,-789.19 2159,-841 2201.5,-858.41 2242.3,-891.83 2269.4,-917.28"/>
<polygon fill="#000000" stroke="#000000" points="2267.044,-919.8696 2276.7,-924.23 2271.8708,-914.7998 2267.044,-919.8696"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#36 -->
<g id="edge147" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#36</title>
<path fill="none" stroke="#000000" d="M1760.4,-664.28C1780.8,-658.87 1801.3,-650.59 1818,-638 1844.1,-618.38 1828.4,-594.18 1854,-574 1867.4,-563.48 1883.2,-555.53 1899.5,-549.53"/>
<polygon fill="#000000" stroke="#000000" points="1900.7932,-552.7862 1909.1,-546.21 1898.5052,-546.1707 1900.7932,-552.7862"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#30 -->
<g id="edge148" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M1760,-675.94C1806.8,-676.9 1863.1,-678.06 1910.1,-679.02"/>
<polygon fill="#000000" stroke="#000000" points="1910.1294,-682.5213 1920.2,-679.23 1910.275,-675.5228 1910.1294,-682.5213"/>
</g>
<!-- zcash/orchard#27 -->
<g id="node126" class="node">
<title>zcash/orchard#27</title>
<g id="a_node126"><a xlink:href="https://github.com/zcash/orchard/pull/27" xlink:title="zcash/orchard#27&#10;Make Bundle a parametric&#10;type over an&#10;Authorization trait" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1769.5,-985 1561.5,-985 1561.5,-981 1557.5,-981 1557.5,-977 1561.5,-977 1561.5,-925 1557.5,-925 1557.5,-921 1561.5,-921 1561.5,-917 1769.5,-917 1769.5,-985"/>
<polyline fill="none" stroke="#000000" points="1561.5,-981 1565.5,-981 1565.5,-977 1561.5,-977 "/>
<polyline fill="none" stroke="#000000" points="1561.5,-925 1565.5,-925 1565.5,-921 1561.5,-921 "/>
<text text-anchor="middle" x="1665.5" y="-969.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#27</text>
<text text-anchor="middle" x="1665.5" y="-954.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make Bundle a parametric</text>
<text text-anchor="middle" x="1665.5" y="-939.8" font-family="Times,serif" font-size="14.00" fill="#000000">type over an</text>
<text text-anchor="middle" x="1665.5" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">Authorization trait</text>
</a>
</g>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#35 -->
<g id="edge149" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1769.6,-951C1891.8,-951 2092.6,-951 2209.7,-951"/>
<polygon fill="#000000" stroke="#000000" points="2209.7,-954.5001 2219.7,-951 2209.7,-947.5001 2209.7,-954.5001"/>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#34 -->
<g id="edge150" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1769.6,-966.73C1787.2,-973.02 1804.2,-981.79 1818,-994 1834.3,-1008.4 1945.9,-1289.8 1989.3,-1400.1"/>
<polygon fill="#000000" stroke="#000000" points="1986.1364,-1401.6151 1993.1,-1409.6 1992.6357,-1399.0153 1986.1364,-1401.6151"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node127" class="node">
<title>zcash/orchard#38</title>
<g id="a_node127"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1761,-1394.5 1570,-1394.5 1570,-1341.5 1761,-1341.5 1761,-1394.5"/>
<text text-anchor="middle" x="1665.5" y="-1379.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="1665.5" y="-1364.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="1665.5" y="-1349.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#4 -->
<g id="edge151" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1761.3,-1376.5C1781.7,-1381.9 1801.9,-1390.6 1818,-1404 1848.8,-1429.8 1823.4,-1460.9 1854,-1487 1869.8,-1500.5 1889.7,-1509.4 1909.8,-1515.3"/>
<polygon fill="#000000" stroke="#000000" points="1909.1389,-1518.745 1919.7,-1517.9 1910.9171,-1511.9746 1909.1389,-1518.745"/>
</g>
<!-- zcash/orchard#55 -->
<g id="node128" class="node">
<title>zcash/orchard#55</title>
<g id="a_node128"><a xlink:href="https://github.com/zcash/orchard/issues/55" xlink:title="zcash/orchard#55&#10;Handle the (negligible&#10;probability of) failure&#10;of SinsemillaShortCommit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1768.5,-2110 1562.5,-2110 1562.5,-2042 1768.5,-2042 1768.5,-2110"/>
<text text-anchor="middle" x="1665.5" y="-2094.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#55</text>
<text text-anchor="middle" x="1665.5" y="-2079.8" font-family="Times,serif" font-size="14.00" fill="#000000">Handle the (negligible</text>
<text text-anchor="middle" x="1665.5" y="-2064.8" font-family="Times,serif" font-size="14.00" fill="#000000">probability of) failure</text>
<text text-anchor="middle" x="1665.5" y="-2049.8" font-family="Times,serif" font-size="14.00" fill="#000000">of SinsemillaShortCommit</text>
</a>
</g>
</g>
<!-- zcash/orchard#55&#45;&gt;zcash/orchard#33 -->
<g id="edge152" class="edge">
<title>zcash/orchard#55&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1768.7,-2056.6C1786.1,-2050.5 1803.3,-2042.5 1818,-2032 1840.6,-2015.9 1831,-1996.5 1854,-1981 1863.2,-1974.8 1873.4,-1969.7 1884,-1965.5"/>
<polygon fill="#000000" stroke="#000000" points="1885.3266,-1968.7413 1893.5,-1962 1882.9066,-1962.1729 1885.3266,-1968.7413"/>
</g>
<!-- zcash/orchard#70 -->
<g id="node129" class="node">
<title>zcash/orchard#70</title>
<g id="a_node129"><a xlink:href="https://github.com/zcash/orchard/pull/70" xlink:title="zcash/orchard#70&#10;Bundle APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1739.5,-757 1591.5,-757 1591.5,-753 1587.5,-753 1587.5,-749 1591.5,-749 1591.5,-727 1587.5,-727 1587.5,-723 1591.5,-723 1591.5,-719 1739.5,-719 1739.5,-757"/>
<polyline fill="none" stroke="#000000" points="1591.5,-753 1595.5,-753 1595.5,-749 1591.5,-749 "/>
<polyline fill="none" stroke="#000000" points="1591.5,-727 1595.5,-727 1595.5,-723 1591.5,-723 "/>
<text text-anchor="middle" x="1665.5" y="-741.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#70</text>
<text text-anchor="middle" x="1665.5" y="-726.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle APIs</text>
</a>
</g>
</g>
<!-- zcash/orchard#49 -->
<g id="node130" class="node">
<title>zcash/orchard#49</title>
<g id="a_node130"><a xlink:href="https://github.com/zcash/orchard/pull/49" xlink:title="zcash/orchard#49&#10;Bundle builder" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2080.5,-888 1932.5,-888 1932.5,-884 1928.5,-884 1928.5,-880 1932.5,-880 1932.5,-858 1928.5,-858 1928.5,-854 1932.5,-854 1932.5,-850 2080.5,-850 2080.5,-888"/>
<polyline fill="none" stroke="#000000" points="1932.5,-884 1936.5,-884 1936.5,-880 1932.5,-880 "/>
<polyline fill="none" stroke="#000000" points="1932.5,-858 1936.5,-858 1936.5,-854 1932.5,-854 "/>
<text text-anchor="middle" x="2006.5" y="-872.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#49</text>
<text text-anchor="middle" x="2006.5" y="-857.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#70&#45;&gt;zcash/orchard#49 -->
<g id="edge153" class="edge">
<title>zcash/orchard#70&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1739.6,-738.29C1766.4,-741.64 1795.6,-749.39 1818,-766 1846.1,-786.86 1826.2,-814.7 1854,-836 1873.6,-851 1898.5,-859.51 1922.5,-864.24"/>
<polygon fill="#000000" stroke="#000000" points="1921.8404,-867.6775 1932.3,-865.99 1923.071,-860.7865 1921.8404,-867.6775"/>
</g>
<!-- zcash/orchard#49&#45;&gt;zcash/orchard#35 -->
<g id="edge154" class="edge">
<title>zcash/orchard#49&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2075.2,-888.02C2115.3,-899.15 2166.6,-913.34 2210.2,-925.44"/>
<polygon fill="#000000" stroke="#000000" points="2209.4295,-928.8581 2220,-928.14 2211.2889,-922.1095 2209.4295,-928.8581"/>
</g>
<!-- zcash/orchard#58 -->
<g id="node131" class="node">
<title>zcash/orchard#58</title>
<g id="a_node131"><a xlink:href="https://github.com/zcash/orchard/pull/58" xlink:title="zcash/orchard#58&#10;Proving and verifying&#10;keys, and placeholder&#10;proof logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1752,-899 1579,-899 1579,-895 1575,-895 1575,-891 1579,-891 1579,-839 1575,-839 1575,-835 1579,-835 1579,-831 1752,-831 1752,-899"/>
<polyline fill="none" stroke="#000000" points="1579,-895 1583,-895 1583,-891 1579,-891 "/>
<polyline fill="none" stroke="#000000" points="1579,-839 1583,-839 1583,-835 1579,-835 "/>
<text text-anchor="middle" x="1665.5" y="-883.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#58</text>
<text text-anchor="middle" x="1665.5" y="-868.8" font-family="Times,serif" font-size="14.00" fill="#000000">Proving and verifying</text>
<text text-anchor="middle" x="1665.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">keys, and placeholder</text>
<text text-anchor="middle" x="1665.5" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof logic</text>
</a>
</g>
</g>
<!-- zcash/orchard#58&#45;&gt;zcash/orchard#49 -->
<g id="edge155" class="edge">
<title>zcash/orchard#58&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1752.4,-866.02C1804.6,-866.63 1870.6,-867.41 1922.3,-868.01"/>
<polygon fill="#000000" stroke="#000000" points="1922.3591,-871.5109 1932.4,-868.13 1922.4423,-864.5113 1922.3591,-871.5109"/>
</g>
<!-- zcash/orchard#60 -->
<g id="node132" class="node">
<title>zcash/orchard#60</title>
<g id="a_node132"><a xlink:href="https://github.com/zcash/orchard/pull/60" xlink:title="zcash/orchard#60&#10;Dummy note generation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1419.5,-884 1229.5,-884 1229.5,-880 1225.5,-880 1225.5,-876 1229.5,-876 1229.5,-854 1225.5,-854 1225.5,-850 1229.5,-850 1229.5,-846 1419.5,-846 1419.5,-884"/>
<polyline fill="none" stroke="#000000" points="1229.5,-880 1233.5,-880 1233.5,-876 1229.5,-876 "/>
<polyline fill="none" stroke="#000000" points="1229.5,-854 1233.5,-854 1233.5,-850 1229.5,-850 "/>
<text text-anchor="middle" x="1324.5" y="-868.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#60</text>
<text text-anchor="middle" x="1324.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">Dummy note generation</text>
</a>
</g>
</g>
<!-- zcash/orchard#60&#45;&gt;zcash/orchard#58 -->
<g id="edge156" class="edge">
<title>zcash/orchard#60&#45;&gt;zcash/orchard#58</title>
<path fill="none" stroke="#000000" d="M1419.9,-865C1466.4,-865 1522.1,-865 1568.7,-865"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-868.5001 1578.8,-865 1568.8,-861.5001 1568.8,-868.5001"/>
</g>
<!-- zcash/orchard#72 -->
<g id="node133" class="node">
<title>zcash/orchard#72</title>
<g id="a_node133"><a xlink:href="https://github.com/zcash/orchard/pull/72" xlink:title="zcash/orchard#72&#10;Builder preparations" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1748,-813 1583,-813 1583,-809 1579,-809 1579,-805 1583,-805 1583,-783 1579,-783 1579,-779 1583,-779 1583,-775 1748,-775 1748,-813"/>
<polyline fill="none" stroke="#000000" points="1583,-809 1587,-809 1587,-805 1583,-805 "/>
<polyline fill="none" stroke="#000000" points="1583,-783 1587,-783 1587,-779 1583,-779 "/>
<text text-anchor="middle" x="1665.5" y="-797.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#72</text>
<text text-anchor="middle" x="1665.5" y="-782.8" font-family="Times,serif" font-size="14.00" fill="#000000">Builder preparations</text>
</a>
</g>
</g>
<!-- zcash/orchard#72&#45;&gt;zcash/orchard#49 -->
<g id="edge157" class="edge">
<title>zcash/orchard#72&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1748.1,-806.22C1770.9,-810.39 1795.6,-815.65 1818,-822 1834.5,-826.68 1837.6,-831.06 1854,-836 1875.9,-842.59 1900,-848.42 1922.4,-853.28"/>
<polygon fill="#000000" stroke="#000000" points="1921.6886,-856.7069 1932.2,-855.38 1923.1554,-849.8623 1921.6886,-856.7069"/>
</g>
</g>
</svg>