developers/zcash-core-dag.svg

2236 lines
160 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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="2909pt" height="3012pt"
viewBox="0.00 0.00 2909.00 3011.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 3007.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-3007.5 2905,-3007.5 2905,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,-2137 885,-2137 885,-2069 1082,-2069 1082,-2137"/>
<text text-anchor="middle" x="983.5" y="-2121.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4786</text>
<text text-anchor="middle" x="983.5" y="-2106.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Document</text>
<text text-anchor="middle" x="983.5" y="-2091.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla hash function</text>
<text text-anchor="middle" x="983.5" y="-2076.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,-1783.5 1579,-1783.5 1579,-1730.5 1752,-1730.5 1752,-1783.5"/>
<text text-anchor="middle" x="1665.5" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#73</text>
<text text-anchor="middle" x="1665.5" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1665.5" y="-1738.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="M1030.2,-2068.8C1119.5,-2005.1 1322.5,-1867.7 1513,-1792 1530.6,-1785 1550,-1779.2 1568.8,-1774.5"/>
<polygon fill="#000000" stroke="#000000" points="1569.7196,-1777.8783 1578.6,-1772.1 1568.0545,-1771.0792 1569.7196,-1777.8783"/>
</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,-2239.5 1922,-2239.5 1922,-2186.5 2091,-2186.5 2091,-2239.5"/>
<text text-anchor="middle" x="2006.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="2006.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="2006.5" y="-2194.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="M1082.4,-2123.7C1111.2,-2129.1 1142.8,-2134.4 1172,-2138 1457.5,-2173 1532.6,-2141.3 1818,-2177 1848.7,-2180.8 1882,-2186.6 1911.9,-2192.5"/>
<polygon fill="#000000" stroke="#000000" points="1911.4078,-2195.9708 1921.9,-2194.5 1912.7806,-2189.1067 1911.4078,-2195.9708"/>
</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,-2129.5 1238,-2129.5 1238,-2125.5 1234,-2125.5 1234,-2121.5 1238,-2121.5 1238,-2084.5 1234,-2084.5 1234,-2080.5 1238,-2080.5 1238,-2076.5 1411,-2076.5 1411,-2129.5"/>
<polyline fill="none" stroke="#000000" points="1238,-2125.5 1242,-2125.5 1242,-2121.5 1238,-2121.5 "/>
<polyline fill="none" stroke="#000000" points="1238,-2084.5 1242,-2084.5 1242,-2080.5 1238,-2080.5 "/>
<text text-anchor="middle" x="1324.5" y="-2114.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#21</text>
<text text-anchor="middle" x="1324.5" y="-2099.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1324.5" y="-2084.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="M1082.1,-2103C1127.9,-2103 1182.2,-2103 1227.8,-2103"/>
<polygon fill="#000000" stroke="#000000" points="1228,-2106.5001 1238,-2103 1228,-2099.5001 1228,-2106.5001"/>
</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,-1734.5 1920,-1734.5 1920,-1681.5 2093,-1681.5 2093,-1734.5"/>
<text text-anchor="middle" x="2006.5" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="2006.5" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="2006.5" y="-1689.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,-1744.5C1800.4,-1737.6 1860.2,-1729 1909.7,-1721.9"/>
<polygon fill="#000000" stroke="#000000" points="1910.2819,-1725.3528 1919.7,-1720.5 1909.3113,-1718.4204 1910.2819,-1725.3528"/>
</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="2396,-2146.5 2204,-2146.5 2204,-2093.5 2396,-2093.5 2396,-2146.5"/>
<text text-anchor="middle" x="2300" y="-2131.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="2300" y="-2116.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard as a</text>
<text text-anchor="middle" x="2300" y="-2101.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="M2090.2,-2186.5C2126.5,-2175 2169,-2161.5 2206.3,-2149.7"/>
<polygon fill="#000000" stroke="#000000" points="2207.7028,-2152.9284 2216.2,-2146.6 2205.611,-2146.2482 2207.7028,-2152.9284"/>
</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="2628,-2404.5 2469,-2404.5 2469,-2351.5 2628,-2351.5 2628,-2404.5"/>
<text text-anchor="middle" x="2548.5" y="-2389.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="2548.5" y="-2374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="2548.5" y="-2359.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="M2080.6,-2239.5C2115.1,-2251.2 2156.8,-2264.4 2195,-2274 2287,-2297.1 2314.5,-2283.5 2405,-2312 2433.8,-2321.1 2464.3,-2334.5 2489.8,-2346.9"/>
<polygon fill="#000000" stroke="#000000" points="2488.3846,-2350.1046 2498.9,-2351.4 2491.4876,-2343.8299 2488.3846,-2350.1046"/>
</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,-2091.5 1568,-2091.5 1568,-2038.5 1763,-2038.5 1763,-2091.5"/>
<text text-anchor="middle" x="1665.5" y="-2076.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#31</text>
<text text-anchor="middle" x="1665.5" y="-2061.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard note</text>
<text text-anchor="middle" x="1665.5" y="-2046.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="M1411.4,-2093.3C1456,-2088.3 1510.7,-2082.2 1557.9,-2077"/>
<polygon fill="#000000" stroke="#000000" points="1558.3427,-2080.4725 1567.9,-2075.9 1557.5772,-2073.5145 1558.3427,-2080.4725"/>
</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="M2076.5,-1734.6C2105.1,-1748.2 2136.6,-1767.3 2159,-1792 2238.3,-1879.4 2277.6,-2018.1 2292.6,-2083.6"/>
<polygon fill="#000000" stroke="#000000" points="2289.1945,-2084.4095 2294.8,-2093.4 2296.0245,-2082.8762 2289.1945,-2084.4095"/>
</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="2382.5,-1734.5 2217.5,-1734.5 2217.5,-1681.5 2382.5,-1681.5 2382.5,-1734.5"/>
<text text-anchor="middle" x="2300" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="2300" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="2300" y="-1689.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.4,-1708C2129.2,-1708 2170.8,-1708 2207.3,-1708"/>
<polygon fill="#000000" stroke="#000000" points="2207.4,-1711.5001 2217.4,-1708 2207.4,-1704.5001 2207.4,-1711.5001"/>
</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,-1854.5 1900.5,-1854.5 1900.5,-1801.5 2112.5,-1801.5 2112.5,-1854.5"/>
<text text-anchor="middle" x="2006.5" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#32</text>
<text text-anchor="middle" x="2006.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note encryption</text>
<text text-anchor="middle" x="2006.5" y="-1809.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="M1729.5,-2038.5C1757.6,-2025.7 1790.4,-2009.2 1818,-1991 1876.7,-1952.3 1936.8,-1897.1 1972.9,-1861.9"/>
<polygon fill="#000000" stroke="#000000" points="1975.5381,-1864.2141 1980.2,-1854.7 1970.6226,-1859.2303 1975.5381,-1864.2141"/>
</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,-2620.5 1893.5,-2620.5 1893.5,-2567.5 2119.5,-2567.5 2119.5,-2620.5"/>
<text text-anchor="middle" x="2006.5" y="-2605.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="2006.5" y="-2590.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="2006.5" y="-2575.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="M1721.2,-2091.7C1754.7,-2110.7 1795.2,-2139.5 1818,-2177 1871.6,-2265 1812.1,-2311.9 1854,-2406 1881.3,-2467.3 1933.8,-2525.3 1969.5,-2560.2"/>
<polygon fill="#000000" stroke="#000000" points="1967.261,-2562.9022 1976.9,-2567.3 1972.1073,-2557.8511 1967.261,-2562.9022"/>
</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="2642.5,-1734.5 2454.5,-1734.5 2454.5,-1681.5 2642.5,-1681.5 2642.5,-1734.5"/>
<text text-anchor="middle" x="2548.5" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="2548.5" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="2548.5" y="-1689.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="M2382.7,-1708C2402.3,-1708 2423.4,-1708 2443.8,-1708"/>
<polygon fill="#000000" stroke="#000000" points="2444.1,-1711.5001 2454.1,-1708 2444.1,-1704.5001 2444.1,-1711.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="M2071.6,-1801.4C2117.2,-1782.7 2178.2,-1757.8 2225.7,-1738.4"/>
<polygon fill="#000000" stroke="#000000" points="2227.0668,-1741.6225 2235,-1734.6 2224.4191,-1735.1425 2227.0668,-1741.6225"/>
</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="2644.5,-1627 2452.5,-1627 2452.5,-1559 2644.5,-1559 2644.5,-1627"/>
<text text-anchor="middle" x="2548.5" y="-1611.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="2548.5" y="-1596.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2548.5" y="-1581.8" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="2548.5" y="-1566.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.5,-1829.6C2199.4,-1825.6 2321.2,-1807.5 2405,-1743 2433,-1721.4 2418.1,-1699 2441,-1672 2453.1,-1657.7 2468.3,-1644.5 2483.5,-1633.2"/>
<polygon fill="#000000" stroke="#000000" points="2485.8651,-1635.8081 2491.9,-1627.1 2481.7518,-1630.144 2485.8651,-1635.8081"/>
</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="2386,-2627.5 2214,-2627.5 2214,-2544.5 2386,-2544.5 2386,-2627.5"/>
<text text-anchor="middle" x="2300" y="-2612.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="2300" y="-2597.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2300" y="-2582.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="2300" y="-2567.3" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="2300" y="-2552.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.6,-2590.9C2147.3,-2590.2 2176.8,-2589.4 2203.7,-2588.6"/>
<polygon fill="#000000" stroke="#000000" points="2204.0073,-2592.0926 2213.9,-2588.3 2203.8014,-2585.0956 2204.0073,-2592.0926"/>
</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="2901,-1631 2692,-1631 2692,-1563 2901,-1563 2901,-1631"/>
<text text-anchor="middle" x="2796.5" y="-1615.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="2796.5" y="-1600.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2796.5" y="-1585.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="2796.5" y="-1570.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="M2607.9,-1681.4C2638.7,-1667.6 2676.8,-1650.6 2710.7,-1635.4"/>
<polygon fill="#000000" stroke="#000000" points="2712.4692,-1638.4447 2720.2,-1631.2 2709.6387,-1632.0425 2712.4692,-1638.4447"/>
</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,-2498 255.5,-2498 255.5,-2400 452.5,-2400 452.5,-2498"/>
<text text-anchor="middle" x="354" y="-2482.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4883</text>
<text text-anchor="middle" x="354" y="-2467.8" font-family="Times,serif" font-size="14.00" fill="#000000">Find optimized addition</text>
<text text-anchor="middle" x="354" y="-2452.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains for the Pasta</text>
<text text-anchor="middle" x="354" y="-2437.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (x^{1/α} used in</text>
<text text-anchor="middle" x="354" y="-2422.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="-2407.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,-2436 551.5,-2436 551.5,-2368 733.5,-2368 733.5,-2436"/>
<text text-anchor="middle" x="642.5" y="-2420.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#72</text>
<text text-anchor="middle" x="642.5" y="-2405.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement table&#45;based</text>
<text text-anchor="middle" x="642.5" y="-2390.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="-2375.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,-2432.9C481.33,-2428.3 512.41,-2423.2 541.02,-2418.5"/>
<polygon fill="#000000" stroke="#000000" points="541.6986,-2421.936 551.02,-2416.9 540.5926,-2415.0239 541.6986,-2421.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,-2443.5 908,-2443.5 908,-2360.5 1059,-2360.5 1059,-2443.5"/>
<text text-anchor="middle" x="983.5" y="-2428.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4710</text>
<text text-anchor="middle" x="983.5" y="-2413.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard]</text>
<text text-anchor="middle" x="983.5" y="-2398.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify/implement</text>
<text text-anchor="middle" x="983.5" y="-2383.3" font-family="Times,serif" font-size="14.00" fill="#000000">GroupHash into</text>
<text text-anchor="middle" x="983.5" y="-2368.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,-2402C784.82,-2402 847.87,-2402 897.86,-2402"/>
<polygon fill="#000000" stroke="#000000" points="897.99,-2405.5001 907.99,-2402 897.99,-2398.5001 897.99,-2405.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,-2413.1C1253.4,-2440.9 1758.9,-2508 1818,-2462 1869.4,-2422 1817,-2373.6 1854,-2320 1875.9,-2288.3 1910.5,-2262.9 1941.2,-2244.8"/>
<polygon fill="#000000" stroke="#000000" points="1943.1637,-2247.7087 1950.1,-2239.7 1939.6834,-2241.6352 1943.1637,-2247.7087"/>
</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="M1045.3,-2360.2C1076,-2336.9 1111.6,-2305.7 1136,-2271 1161.8,-2234.4 1141.8,-2210 1172,-2177 1188.6,-2158.9 1210.6,-2144.7 1232.7,-2133.9"/>
<polygon fill="#000000" stroke="#000000" points="1234.3207,-2137.0041 1241.8,-2129.5 1231.2736,-2130.7021 1234.3207,-2137.0041"/>
</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,-2340.5 1226,-2340.5 1226,-2287.5 1423,-2287.5 1423,-2340.5"/>
<text text-anchor="middle" x="1324.5" y="-2325.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#66</text>
<text text-anchor="middle" x="1324.5" y="-2310.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor proofs to not</text>
<text text-anchor="middle" x="1324.5" y="-2295.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,-2239.5 1577,-2239.5 1577,-2186.5 1754,-2186.5 1754,-2239.5"/>
<text text-anchor="middle" x="1665.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4714</text>
<text text-anchor="middle" x="1665.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Encoding of</text>
<text text-anchor="middle" x="1665.5" y="-2194.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.3,-2297.8C1441.7,-2292.8 1460.3,-2286.3 1477,-2278 1495.6,-2268.7 1494.3,-2257.2 1513,-2248 1529.7,-2239.7 1548.4,-2233.4 1566.9,-2228.5"/>
<polygon fill="#000000" stroke="#000000" points="1567.9613,-2231.8419 1576.8,-2226 1566.2474,-2225.055 1567.9613,-2231.8419"/>
</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,-2453 1591,-2453 1591,-2415 1740,-2415 1740,-2453"/>
<text text-anchor="middle" x="1665.5" y="-2437.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#67</text>
<text text-anchor="middle" x="1665.5" y="-2422.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.3,-2324.8C1442.3,-2330.1 1461.2,-2337.8 1477,-2349 1501.4,-2366.3 1488.2,-2389.2 1513,-2406 1532.8,-2419.4 1557.2,-2426.9 1580.7,-2430.9"/>
<polygon fill="#000000" stroke="#000000" points="1580.1885,-2434.3624 1590.6,-2432.4 1581.2372,-2427.4414 1580.1885,-2434.3624"/>
</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,-1205.5 1570,-1205.5 1570,-1152.5 1761,-1152.5 1761,-1205.5"/>
<text text-anchor="middle" x="1665.5" y="-1190.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#74</text>
<text text-anchor="middle" x="1665.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement plumbing for</text>
<text text-anchor="middle" x="1665.5" y="-1160.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.3,-2309.9C1443.9,-2304.3 1463.5,-2294.5 1477,-2278 1551.9,-2186.6 1438.1,-1306.4 1513,-1215 1525.1,-1200.2 1542.1,-1190.8 1560.3,-1185"/>
<polygon fill="#000000" stroke="#000000" points="1561.2211,-1188.3768 1569.9,-1182.3 1559.3259,-1181.6382 1561.2211,-1188.3768"/>
</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.2,-2213C1802.6,-2213 1862.5,-2213 1911.7,-2213"/>
<polygon fill="#000000" stroke="#000000" points="1911.8,-2216.5001 1921.8,-2213 1911.8,-2209.5001 1911.8,-2216.5001"/>
</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,-850.5 1917,-850.5 1917,-797.5 2096,-797.5 2096,-850.5"/>
<text text-anchor="middle" x="2006.5" y="-835.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="2006.5" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2006.5" y="-805.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.2,-1169.7C1781.4,-1164.3 1801.6,-1155.9 1818,-1143 1845.8,-1121.1 1836.7,-1102.9 1854,-1072 1897.3,-994.56 1953,-906.69 1983.6,-859.12"/>
<polygon fill="#000000" stroke="#000000" points="1986.5503,-861.0035 1989.1,-850.72 1980.6939,-857.1689 1986.5503,-861.0035"/>
</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="2405,-850.5 2195,-850.5 2195,-797.5 2405,-797.5 2405,-850.5"/>
<text text-anchor="middle" x="2300" y="-835.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="2300" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="2300" y="-805.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.2,-824C2124.1,-824 2155.2,-824 2184.6,-824"/>
<polygon fill="#000000" stroke="#000000" points="2184.9,-827.5001 2194.9,-824 2184.9,-820.5001 2184.9,-827.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,-1925.5 1588.5,-1925.5 1588.5,-1872.5 1742.5,-1872.5 1742.5,-1925.5"/>
<text text-anchor="middle" x="1665.5" y="-1910.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4711</text>
<text text-anchor="middle" x="1665.5" y="-1895.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Shielded</text>
<text text-anchor="middle" x="1665.5" y="-1880.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.5,-1900.1C1769.9,-1904.5 1798.7,-1914.3 1818,-1935 1885.6,-2007.5 1791.3,-2078.3 1854,-2155 1868.9,-2173.2 1890.2,-2185.7 1912.2,-2194.3"/>
<polygon fill="#000000" stroke="#000000" points="1911.0072,-2197.5906 1921.6,-2197.8 1913.4498,-2191.0305 1911.0072,-2197.5906"/>
</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.6,-1893.9C1768.7,-1889 1796.6,-1879.8 1818,-1863 1845.8,-1841.1 1829.4,-1817.4 1854,-1792 1875.1,-1770.1 1903.2,-1752.5 1929.5,-1739.1"/>
<polygon fill="#000000" stroke="#000000" points="1931.321,-1742.1027 1938.7,-1734.5 1928.1905,-1735.8417 1931.321,-1742.1027"/>
</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,-1982 1561,-1982 1561,-1944 1770,-1944 1770,-1982"/>
<text text-anchor="middle" x="1665.5" y="-1966.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4712</text>
<text text-anchor="middle" x="1665.5" y="-1951.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,-1969.3C1788,-1974.6 1804.9,-1983 1818,-1996 1869.5,-2047 1806.5,-2100.3 1854,-2155 1869.3,-2172.6 1890.5,-2184.9 1912.3,-2193.4"/>
<polygon fill="#000000" stroke="#000000" points="1911.407,-2196.8018 1922,-2197 1913.8427,-2190.2392 1911.407,-2196.8018"/>
</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="M1770.1,-1947.8C1786.4,-1944.1 1802.8,-1939.5 1818,-1934 1868.9,-1915.4 1922.4,-1884.1 1959.3,-1860.3"/>
<polygon fill="#000000" stroke="#000000" points="1961.4299,-1863.0898 1967.9,-1854.7 1957.6101,-1857.2238 1961.4299,-1863.0898"/>
</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,-2648.5 1573,-2648.5 1573,-2595.5 1758,-2595.5 1758,-2648.5"/>
<text text-anchor="middle" x="1665.5" y="-2633.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4713</text>
<text text-anchor="middle" x="1665.5" y="-2618.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Commitment</text>
<text text-anchor="middle" x="1665.5" y="-2603.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,-2618.1C1780.7,-2612.7 1802.6,-2603 1818,-2586 1898.2,-2497.6 1792,-2421.9 1854,-2320 1873.7,-2287.6 1907.5,-2262.4 1938.2,-2244.6"/>
<polygon fill="#000000" stroke="#000000" points="1940.1582,-2247.516 1947.2,-2239.6 1936.7586,-2241.3969 1940.1582,-2247.516"/>
</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,-2614.4C1796.8,-2611.2 1842,-2607.5 1883.3,-2604.1"/>
<polygon fill="#000000" stroke="#000000" points="1883.7076,-2607.5788 1893.4,-2603.3 1883.1548,-2600.6006 1883.7076,-2607.5788"/>
</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="M2364.2,-2544.4C2377.9,-2534.8 2392.2,-2524.4 2405,-2514 2445.1,-2481.6 2487.5,-2440.5 2515.7,-2411.9"/>
<polygon fill="#000000" stroke="#000000" points="2518.3697,-2414.1774 2522.9,-2404.6 2513.3859,-2409.2619 2518.3697,-2414.1774"/>
</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="2648.5,-2655.5 2448.5,-2655.5 2448.5,-2602.5 2648.5,-2602.5 2648.5,-2655.5"/>
<text text-anchor="middle" x="2548.5" y="-2640.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="2548.5" y="-2625.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="2548.5" y="-2610.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="M2386.2,-2600.9C2403,-2603.8 2420.8,-2606.9 2438.2,-2609.9"/>
<polygon fill="#000000" stroke="#000000" points="2437.9439,-2613.4088 2448.4,-2611.7 2439.1604,-2606.5153 2437.9439,-2613.4088"/>
</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,-2577 1574.5,-2577 1574.5,-2509 1756.5,-2509 1756.5,-2577"/>
<text text-anchor="middle" x="1665.5" y="-2561.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4716</text>
<text text-anchor="middle" x="1665.5" y="-2546.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-2531.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format and</text>
<text text-anchor="middle" x="1665.5" y="-2516.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.8,-2531.1C1779.5,-2523.9 1802,-2512.7 1818,-2495 1871.2,-2436.1 1810.4,-2386.4 1854,-2320 1875,-2288 1909.2,-2262.7 1939.8,-2244.8"/>
<polygon fill="#000000" stroke="#000000" points="1941.8253,-2247.6753 1948.8,-2239.7 1938.3742,-2241.5851 1941.8253,-2247.6753"/>
</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,-2397 1912,-2397 1912,-2329 2101,-2329 2101,-2397"/>
<text text-anchor="middle" x="2006.5" y="-2381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#34</text>
<text text-anchor="middle" x="2006.5" y="-2366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add parsing and</text>
<text text-anchor="middle" x="2006.5" y="-2351.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization support for</text>
<text text-anchor="middle" x="2006.5" y="-2336.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.8,-2519.3C1777.4,-2512.6 1798.8,-2504.4 1818,-2495 1868.8,-2470 1921.2,-2432.2 1957.8,-2403.4"/>
<polygon fill="#000000" stroke="#000000" points="1960.109,-2406.0367 1965.8,-2397.1 1955.7782,-2400.5372 1960.109,-2406.0367"/>
</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="2377.5,-2265 2222.5,-2265 2222.5,-2197 2377.5,-2197 2377.5,-2265"/>
<text text-anchor="middle" x="2300" y="-2249.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5022</text>
<text text-anchor="middle" x="2300" y="-2234.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2300" y="-2219.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format</text>
<text text-anchor="middle" x="2300" y="-2204.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="M2089.9,-2328.9C2112.5,-2319.5 2136.7,-2309 2159,-2299 2179.5,-2289.8 2201.5,-2279.4 2221.9,-2269.6"/>
<polygon fill="#000000" stroke="#000000" points="2223.6549,-2272.638 2231.1,-2265.1 2220.5791,-2266.3499 2223.6549,-2272.638"/>
</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="2394,-2404.5 2206,-2404.5 2206,-2321.5 2394,-2321.5 2394,-2404.5"/>
<text text-anchor="middle" x="2300" y="-2389.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#350</text>
<text text-anchor="middle" x="2300" y="-2374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2300" y="-2359.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format &amp;</text>
<text text-anchor="middle" x="2300" y="-2344.3" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes in</text>
<text text-anchor="middle" x="2300" y="-2329.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,-2363C2131.5,-2363 2164.9,-2363 2195.6,-2363"/>
<polygon fill="#000000" stroke="#000000" points="2195.9,-2366.5001 2205.9,-2363 2195.9,-2359.5001 2195.9,-2366.5001"/>
</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="M2377.6,-2264.6C2387,-2269.2 2396.3,-2274.1 2405,-2279 2440.1,-2298.9 2477.5,-2324.9 2505.3,-2345.3"/>
<polygon fill="#000000" stroke="#000000" points="2503.5518,-2348.356 2513.7,-2351.4 2507.6651,-2342.6919 2503.5518,-2348.356"/>
</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="M2360.7,-2196.9C2377,-2185.3 2393.2,-2171.2 2405,-2155 2500.4,-2023.5 2534.2,-1825.8 2544.5,-1744.7"/>
<polygon fill="#000000" stroke="#000000" points="2548.0075,-1744.8623 2545.8,-1734.5 2541.0637,-1743.9772 2548.0075,-1744.8623"/>
</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,-1641.5 908.5,-1641.5 908.5,-1588.5 1058.5,-1588.5 1058.5,-1641.5"/>
<text text-anchor="middle" x="983.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4708</text>
<text text-anchor="middle" x="983.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify Poseidon</text>
<text text-anchor="middle" x="983.5" y="-1596.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="M1047.5,-1641.7C1077.6,-1656.9 1112.1,-1678.4 1136,-1706 1163.2,-1737.3 1144.7,-1760.8 1172,-1792 1287.6,-1924 1346.8,-1934.8 1513,-1991 1577.7,-2012.9 1766.1,-1984.6 1818,-2029 1862.2,-2066.9 1814.6,-2112.1 1854,-2155 1869.6,-2172 1890.7,-2184 1912.3,-2192.6"/>
<polygon fill="#000000" stroke="#000000" points="1911.2066,-2195.9271 1921.8,-2196.1 1913.6266,-2189.3587 1911.2066,-2195.9271"/>
</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,-2058.5 1243,-2058.5 1243,-2005.5 1406,-2005.5 1406,-2058.5"/>
<text text-anchor="middle" x="1324.5" y="-2043.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#37</text>
<text text-anchor="middle" x="1324.5" y="-2028.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon</text>
<text text-anchor="middle" x="1324.5" y="-2013.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="M1056,-1641.6C1085.5,-1656.1 1117.1,-1677.1 1136,-1706 1205.9,-1812.8 1088.1,-1894.8 1172,-1991 1187.6,-2008.9 1210.1,-2019.4 1233.1,-2025.4"/>
<polygon fill="#000000" stroke="#000000" points="1232.3648,-2028.8225 1242.9,-2027.7 1233.9643,-2022.0077 1232.3648,-2028.8225"/>
</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,-1579 1216,-1579 1216,-1541 1433,-1541 1433,-1579"/>
<text text-anchor="middle" x="1324.5" y="-1563.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#45</text>
<text text-anchor="middle" x="1324.5" y="-1548.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,-1602.9C1101.9,-1595.9 1157,-1587 1205.8,-1579.1"/>
<polygon fill="#000000" stroke="#000000" points="1206.4786,-1582.536 1215.8,-1577.5 1205.3726,-1575.6239 1206.4786,-1582.536"/>
</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,-1241.5 1172,-1241.5 1172,-1188.5 1477,-1188.5 1477,-1241.5"/>
<text text-anchor="middle" x="1324.5" y="-1226.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="-1211.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon test</text>
<text text-anchor="middle" x="1324.5" y="-1196.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="M1000.7,-1588.3C1032.2,-1540.1 1102.3,-1436.7 1172,-1358 1207.6,-1317.8 1253,-1276.3 1285,-1248.4"/>
<polygon fill="#000000" stroke="#000000" points="1287.4949,-1250.871 1292.8,-1241.7 1282.9337,-1245.561 1287.4949,-1250.871"/>
</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,-2039.9C1451.6,-2044.3 1508.7,-2049.8 1557.8,-2054.6"/>
<polygon fill="#000000" stroke="#000000" points="1557.5265,-2058.0894 1567.8,-2055.5 1558.154,-2051.1176 1557.5265,-2058.0894"/>
</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="M1433,-1556.1C1556.7,-1553.1 1750.3,-1553 1818,-1579 1837.4,-1586.5 1837.2,-1596.6 1854,-1609 1886.3,-1632.8 1924,-1657.3 1953.9,-1676"/>
<polygon fill="#000000" stroke="#000000" points="1952.1699,-1679.0464 1962.5,-1681.4 1955.8923,-1673.1182 1952.1699,-1679.0464"/>
</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,-1006.5 1585,-1006.5 1585,-923.5 1746,-923.5 1746,-1006.5"/>
<text text-anchor="middle" x="1665.5" y="-991.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="1665.5" y="-976.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="1665.5" y="-961.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="1665.5" y="-946.3" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="1665.5" y="-931.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="M1355.1,-1540.9C1391.2,-1516.4 1449.9,-1470.3 1477,-1414 1515.5,-1334 1457.9,-1085.7 1513,-1016 1528.4,-996.56 1551.4,-984.47 1575,-976.97"/>
<polygon fill="#000000" stroke="#000000" points="1576.0864,-980.2989 1584.7,-974.13 1574.1194,-973.581 1576.0864,-980.2989"/>
</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,-1134.5 1513,-1134.5 1513,-1081.5 1818,-1081.5 1818,-1134.5"/>
<text text-anchor="middle" x="1665.5" y="-1119.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="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-1089.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="M1387.4,-1188.4C1423.7,-1173.8 1470.4,-1155.9 1513,-1143 1519.5,-1141 1526.1,-1139.1 1532.8,-1137.3"/>
<polygon fill="#000000" stroke="#000000" points="1533.9733,-1140.6079 1542.7,-1134.6 1532.1314,-1133.8546 1533.9733,-1140.6079"/>
</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,-1134.5 1854,-1134.5 1854,-1081.5 2159,-1081.5 2159,-1134.5"/>
<text text-anchor="middle" x="2006.5" y="-1119.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="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2006.5" y="-1089.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="M1818,-1108C1826.6,-1108 1835.2,-1108 1843.8,-1108"/>
<polygon fill="#000000" stroke="#000000" points="1843.8,-1111.5001 1853.8,-1108 1843.8,-1104.5001 1843.8,-1111.5001"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node56" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node56"><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="2394,-1245 2206,-1245 2206,-1177 2394,-1177 2394,-1245"/>
<text text-anchor="middle" x="2300" y="-1229.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="2300" y="-1214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="2300" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="2300" y="-1184.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="edge86" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2132.4,-1134.5C2141.5,-1137.2 2150.4,-1140 2159,-1143 2182,-1151.1 2206.2,-1161.8 2227.9,-1172.4"/>
<polygon fill="#000000" stroke="#000000" points="2226.5791,-1175.6501 2237.1,-1176.9 2229.6549,-1169.362 2226.5791,-1175.6501"/>
</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,-2411.5 1247,-2411.5 1247,-2358.5 1402,-2358.5 1402,-2411.5"/>
<text text-anchor="middle" x="1324.5" y="-2396.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#144</text>
<text text-anchor="middle" x="1324.5" y="-2381.3" font-family="Times,serif" font-size="14.00" fill="#000000">book: Specify proof</text>
<text text-anchor="middle" x="1324.5" y="-2366.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,-2381.5C1428.5,-2376.8 1456.5,-2367.3 1477,-2349 1512.5,-2317.2 1477.4,-2279.7 1513,-2248 1528.2,-2234.5 1547.5,-2225.9 1567.2,-2220.5"/>
<polygon fill="#000000" stroke="#000000" points="1568.1196,-2223.8783 1577,-2218.1 1566.4545,-2217.0792 1568.1196,-2223.8783"/>
</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,-2310.5 1590.5,-2310.5 1590.5,-2257.5 1740.5,-2257.5 1740.5,-2310.5"/>
<text text-anchor="middle" x="1665.5" y="-2295.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4709</text>
<text text-anchor="middle" x="1665.5" y="-2280.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-2265.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,-2268.3C1791.2,-2257.8 1857.9,-2243.9 1911.9,-2232.7"/>
<polygon fill="#000000" stroke="#000000" points="1912.7439,-2236.0989 1921.8,-2230.6 1911.2914,-2229.2513 1912.7439,-2236.0989"/>
</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,-1656.5 541,-1656.5 541,-1573.5 744,-1573.5 744,-1656.5"/>
<text text-anchor="middle" x="642.5" y="-1641.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#454</text>
<text text-anchor="middle" x="642.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon: copy parameter</text>
<text text-anchor="middle" x="642.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation script to</text>
<text text-anchor="middle" x="642.5" y="-1596.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="-1581.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,-1615C793.44,-1615 851.65,-1615 898.35,-1615"/>
<polygon fill="#000000" stroke="#000000" points="898.43,-1618.5001 908.43,-1615 898.43,-1611.5001 898.43,-1618.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="2391.5,-1498.5 2208.5,-1498.5 2208.5,-1445.5 2391.5,-1445.5 2391.5,-1498.5"/>
<text text-anchor="middle" x="2300" y="-1483.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="2300" y="-1468.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="2300" y="-1453.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="M2391.7,-1489.3C2464,-1503.6 2567.1,-1525.5 2656,-1550 2666.8,-1553 2678.1,-1556.3 2689.2,-1559.8"/>
<polygon fill="#000000" stroke="#000000" points="2688.41,-1563.221 2699,-1562.9 2690.5213,-1556.5469 2688.41,-1563.221"/>
</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="M2354.5,-1498.6C2388.1,-1514.9 2431.8,-1536.2 2469.1,-1554.4"/>
<polygon fill="#000000" stroke="#000000" points="2467.969,-1557.7389 2478.5,-1558.9 2470.9916,-1551.4251 2467.969,-1557.7389"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node55" class="node">
<title>zcash/orchard#36</title>
<g id="a_node55"><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,-1348 1909.5,-1348 1909.5,-1280 2103.5,-1280 2103.5,-1348"/>
<text text-anchor="middle" x="2006.5" y="-1332.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="2006.5" y="-1317.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="2006.5" y="-1302.8" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="2006.5" y="-1287.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="edge66" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2103.6,-1334.9C2122.5,-1340.8 2141.8,-1348.1 2159,-1357 2200,-1378.3 2240.2,-1412.8 2267.1,-1438.5"/>
<polygon fill="#000000" stroke="#000000" points="2264.6902,-1441.0387 2274.3,-1445.5 2269.5698,-1436.0197 2264.6902,-1441.0387"/>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge67" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2103.9,-1288.5C2122.3,-1283.2 2141.4,-1277.2 2159,-1271 2177.6,-1264.5 2197.2,-1256.7 2215.7,-1248.9"/>
<polygon fill="#000000" stroke="#000000" points="2217.1316,-1252.095 2225,-1245 2214.4245,-1245.6396 2217.1316,-1252.095"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node57" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node57"><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="2656,-1245 2441,-1245 2441,-1177 2656,-1177 2656,-1245"/>
<text text-anchor="middle" x="2548.5" y="-1229.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="2548.5" y="-1214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2548.5" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="2548.5" y="-1184.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="edge68" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M2394.3,-1211C2406.2,-1211 2418.5,-1211 2430.7,-1211"/>
<polygon fill="#000000" stroke="#000000" points="2430.9,-1214.5001 2440.9,-1211 2430.9,-1207.5001 2430.9,-1214.5001"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node58" class="node">
<title>zcash/orchard#30</title>
<g id="a_node58"><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,-1419.5 1920.5,-1419.5 1920.5,-1366.5 2092.5,-1366.5 2092.5,-1419.5"/>
<text text-anchor="middle" x="2006.5" y="-1404.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="2006.5" y="-1389.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="2006.5" y="-1374.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="edge69" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2092.6,-1412.3C2114.4,-1417.5 2137.6,-1423.2 2159,-1429 2174.3,-1433.1 2190.5,-1437.8 2206.3,-1442.5"/>
<polygon fill="#000000" stroke="#000000" points="2205.4164,-1445.8889 2216,-1445.4 2207.4216,-1439.1822 2205.4164,-1445.8889"/>
</g>
<!-- zcash/zcash#4999 -->
<g id="node59" class="node">
<title>zcash/zcash#4999</title>
<g id="a_node59"><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,-2791 12.5,-2791 12.5,-2787 8.5,-2787 8.5,-2783 12.5,-2783 12.5,-2761 8.5,-2761 8.5,-2757 12.5,-2757 12.5,-2753 205.5,-2753 205.5,-2791"/>
<polyline fill="none" stroke="#000000" points="12.5,-2787 16.5,-2787 16.5,-2783 12.5,-2783 "/>
<polyline fill="none" stroke="#000000" points="12.5,-2761 16.5,-2761 16.5,-2757 12.5,-2757 "/>
<text text-anchor="middle" x="109" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4999</text>
<text text-anchor="middle" x="109" y="-2760.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="node60" class="node">
<title>zcash/zcash#5009</title>
<g id="a_node60"><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,-2791 257.5,-2791 257.5,-2787 253.5,-2787 253.5,-2783 257.5,-2783 257.5,-2761 253.5,-2761 253.5,-2757 257.5,-2757 257.5,-2753 450.5,-2753 450.5,-2791"/>
<polyline fill="none" stroke="#000000" points="257.5,-2787 261.5,-2787 261.5,-2783 257.5,-2783 "/>
<polyline fill="none" stroke="#000000" points="257.5,-2761 261.5,-2761 261.5,-2757 257.5,-2757 "/>
<text text-anchor="middle" x="354" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5009</text>
<text text-anchor="middle" x="354" y="-2760.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="edge70" class="edge">
<title>zcash/zcash#4999&#45;&gt;zcash/zcash#5009</title>
<path fill="none" stroke="#000000" d="M205.83,-2772C219.5,-2772 233.61,-2772 247.45,-2772"/>
<polygon fill="#000000" stroke="#000000" points="247.47,-2775.5001 257.47,-2772 247.47,-2768.5001 247.47,-2775.5001"/>
</g>
<!-- zcash/zcash#5012 -->
<g id="node61" class="node">
<title>zcash/zcash#5012</title>
<g id="a_node61"><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,-2791 546,-2791 546,-2787 542,-2787 542,-2783 546,-2783 546,-2761 542,-2761 542,-2757 546,-2757 546,-2753 739,-2753 739,-2791"/>
<polyline fill="none" stroke="#000000" points="546,-2787 550,-2787 550,-2783 546,-2783 "/>
<polyline fill="none" stroke="#000000" points="546,-2761 550,-2761 550,-2757 546,-2757 "/>
<text text-anchor="middle" x="642.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5012</text>
<text text-anchor="middle" x="642.5" y="-2760.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="edge71" class="edge">
<title>zcash/zcash#5009&#45;&gt;zcash/zcash#5012</title>
<path fill="none" stroke="#000000" d="M450.87,-2772C478.13,-2772 507.94,-2772 535.74,-2772"/>
<polygon fill="#000000" stroke="#000000" points="535.89,-2775.5001 545.89,-2772 535.89,-2768.5001 535.89,-2775.5001"/>
</g>
<!-- zcash/zcash#5017 -->
<g id="node62" class="node">
<title>zcash/zcash#5017</title>
<g id="a_node62"><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,-2791 887,-2791 887,-2787 883,-2787 883,-2783 887,-2783 887,-2761 883,-2761 883,-2757 887,-2757 887,-2753 1080,-2753 1080,-2791"/>
<polyline fill="none" stroke="#000000" points="887,-2787 891,-2787 891,-2783 887,-2783 "/>
<polyline fill="none" stroke="#000000" points="887,-2761 891,-2761 891,-2757 887,-2757 "/>
<text text-anchor="middle" x="983.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5017</text>
<text text-anchor="middle" x="983.5" y="-2760.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="edge72" class="edge">
<title>zcash/zcash#5012&#45;&gt;zcash/zcash#5017</title>
<path fill="none" stroke="#000000" d="M739.3,-2772C782.14,-2772 832.66,-2772 876.61,-2772"/>
<polygon fill="#000000" stroke="#000000" points="876.75,-2775.5001 886.75,-2772 876.75,-2768.5001 876.75,-2775.5001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node63" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node63"><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,-2791 1228,-2791 1228,-2787 1224,-2787 1224,-2783 1228,-2783 1228,-2761 1224,-2761 1224,-2757 1228,-2757 1228,-2753 1421,-2753 1421,-2791"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2787 1232,-2787 1232,-2783 1228,-2783 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2761 1232,-2761 1232,-2757 1228,-2757 "/>
<text text-anchor="middle" x="1324.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="1324.5" y="-2760.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="edge73" class="edge">
<title>zcash/zcash#5017&#45;&gt;zcash/zcash#5034</title>
<path fill="none" stroke="#000000" d="M1080.3,-2772C1123.1,-2772 1173.7,-2772 1217.6,-2772"/>
<polygon fill="#000000" stroke="#000000" points="1217.7,-2775.5001 1227.7,-2772 1217.7,-2768.5001 1217.7,-2775.5001"/>
</g>
<!-- zcash/zcash#5050 -->
<g id="node64" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node64"><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,-2791 1569,-2791 1569,-2787 1565,-2787 1565,-2783 1569,-2783 1569,-2761 1565,-2761 1565,-2757 1569,-2757 1569,-2753 1762,-2753 1762,-2791"/>
<polyline fill="none" stroke="#000000" points="1569,-2787 1573,-2787 1573,-2783 1569,-2783 "/>
<polyline fill="none" stroke="#000000" points="1569,-2761 1573,-2761 1573,-2757 1569,-2757 "/>
<text text-anchor="middle" x="1665.5" y="-2775.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="1665.5" y="-2760.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="edge74" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M1421.3,-2772C1464.1,-2772 1514.7,-2772 1558.6,-2772"/>
<polygon fill="#000000" stroke="#000000" points="1558.7,-2775.5001 1568.7,-2772 1558.7,-2768.5001 1558.7,-2775.5001"/>
</g>
<!-- zcash/zcash#4997 -->
<g id="node65" class="node">
<title>zcash/zcash#4997</title>
<g id="a_node65"><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,-2955 0,-2955 0,-2951 -4,-2951 -4,-2947 0,-2947 0,-2895 -4,-2895 -4,-2891 0,-2891 0,-2887 218,-2887 218,-2955"/>
<polyline fill="none" stroke="#000000" points="0,-2951 4,-2951 4,-2947 0,-2947 "/>
<polyline fill="none" stroke="#000000" points="0,-2895 4,-2895 4,-2891 0,-2891 "/>
<text text-anchor="middle" x="109" y="-2939.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4997</text>
<text text-anchor="middle" x="109" y="-2924.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace setInventoryKnown</text>
<text text-anchor="middle" x="109" y="-2909.8" font-family="Times,serif" font-size="14.00" fill="#000000">with a rolling bloom</text>
<text text-anchor="middle" x="109" y="-2894.8" font-family="Times,serif" font-size="14.00" fill="#000000">filter</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534 -->
<g id="node66" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node66"><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,-2947.5 254,-2947.5 254,-2943.5 250,-2943.5 250,-2939.5 254,-2939.5 254,-2902.5 250,-2902.5 250,-2898.5 254,-2898.5 254,-2894.5 454,-2894.5 454,-2947.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2943.5 258,-2943.5 258,-2939.5 254,-2939.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2902.5 258,-2902.5 258,-2898.5 254,-2898.5 "/>
<text text-anchor="middle" x="354" y="-2932.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="354" y="-2917.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="-2902.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="edge75" class="edge">
<title>zcash/zcash#4997&#45;&gt;zcash/zcash#2534</title>
<path fill="none" stroke="#000000" d="M218.24,-2921C226.68,-2921 235.2,-2921 243.65,-2921"/>
<polygon fill="#000000" stroke="#000000" points="243.9,-2924.5001 253.9,-2921 243.9,-2917.5001 243.9,-2924.5001"/>
</g>
<!-- zcash/zcash#5003 -->
<g id="node67" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node67"><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,-3003.5 536.5,-3003.5 536.5,-2999.5 532.5,-2999.5 532.5,-2995.5 536.5,-2995.5 536.5,-2958.5 532.5,-2958.5 532.5,-2954.5 536.5,-2954.5 536.5,-2950.5 748.5,-2950.5 748.5,-3003.5"/>
<polyline fill="none" stroke="#000000" points="536.5,-2999.5 540.5,-2999.5 540.5,-2995.5 536.5,-2995.5 "/>
<polyline fill="none" stroke="#000000" points="536.5,-2958.5 540.5,-2958.5 540.5,-2954.5 536.5,-2954.5 "/>
<text text-anchor="middle" x="642.5" y="-2988.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="642.5" y="-2973.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="642.5" y="-2958.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="edge76" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M454.09,-2940.4C477.41,-2945 502.43,-2949.8 526.37,-2954.5"/>
<polygon fill="#000000" stroke="#000000" points="525.7175,-2957.9386 536.2,-2956.4 527.046,-2951.0658 525.7175,-2957.9386"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node68" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node68"><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,-2900 888,-2900 888,-2896 884,-2896 884,-2892 888,-2892 888,-2840 884,-2840 884,-2836 888,-2836 888,-2832 1079,-2832 1079,-2900"/>
<polyline fill="none" stroke="#000000" points="888,-2896 892,-2896 892,-2892 888,-2892 "/>
<polyline fill="none" stroke="#000000" points="888,-2840 892,-2840 892,-2836 888,-2836 "/>
<text text-anchor="middle" x="983.5" y="-2884.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="983.5" y="-2869.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="983.5" y="-2854.8" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="983.5" y="-2839.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="edge77" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M443.03,-2894.4C458.56,-2890.7 474.66,-2887.3 490,-2885 622.6,-2865.1 777.35,-2862.5 877.71,-2863.4"/>
<polygon fill="#000000" stroke="#000000" points="877.8159,-2866.9011 887.85,-2863.5 877.885,-2859.9015 877.8159,-2866.9011"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node69" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node69"><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,-3001.5 896.5,-3001.5 896.5,-2997.5 892.5,-2997.5 892.5,-2993.5 896.5,-2993.5 896.5,-2926.5 892.5,-2926.5 892.5,-2922.5 896.5,-2922.5 896.5,-2918.5 1070.5,-2918.5 1070.5,-3001.5"/>
<polyline fill="none" stroke="#000000" points="896.5,-2997.5 900.5,-2997.5 900.5,-2993.5 896.5,-2993.5 "/>
<polyline fill="none" stroke="#000000" points="896.5,-2926.5 900.5,-2926.5 900.5,-2922.5 896.5,-2922.5 "/>
<text text-anchor="middle" x="983.5" y="-2986.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="983.5" y="-2971.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="983.5" y="-2956.3" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="983.5" y="-2941.3" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="983.5" y="-2926.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="edge78" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M748.53,-2971.7C792.51,-2969.5 843.2,-2967 886.22,-2964.8"/>
<polygon fill="#000000" stroke="#000000" points="886.5936,-2968.286 896.41,-2964.3 886.2505,-2961.2944 886.5936,-2968.286"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node70" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node70"><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,-2909 1215.5,-2909 1215.5,-2905 1211.5,-2905 1211.5,-2901 1215.5,-2901 1215.5,-2879 1211.5,-2879 1211.5,-2875 1215.5,-2875 1215.5,-2871 1433.5,-2871 1433.5,-2909"/>
<polyline fill="none" stroke="#000000" points="1215.5,-2905 1219.5,-2905 1219.5,-2901 1215.5,-2901 "/>
<polyline fill="none" stroke="#000000" points="1215.5,-2879 1219.5,-2879 1219.5,-2875 1215.5,-2875 "/>
<text text-anchor="middle" x="1324.5" y="-2893.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1324.5" y="-2878.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="edge79" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1079.4,-2872.7C1118.4,-2875.5 1164,-2878.7 1205.1,-2881.6"/>
<polygon fill="#000000" stroke="#000000" points="1204.9819,-2885.1001 1215.2,-2882.3 1205.466,-2878.1169 1204.9819,-2885.1001"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge80" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1070.9,-2942.1C1116.9,-2932.6 1173.7,-2921 1221.9,-2911.1"/>
<polygon fill="#000000" stroke="#000000" points="1222.6018,-2914.529 1231.7,-2909.1 1221.2021,-2907.6704 1222.6018,-2914.529"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node71" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node71"><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,-2924 1571,-2924 1571,-2920 1567,-2920 1567,-2916 1571,-2916 1571,-2864 1567,-2864 1567,-2860 1571,-2860 1571,-2856 1760,-2856 1760,-2924"/>
<polyline fill="none" stroke="#000000" points="1571,-2920 1575,-2920 1575,-2916 1571,-2916 "/>
<polyline fill="none" stroke="#000000" points="1571,-2864 1575,-2864 1575,-2860 1571,-2860 "/>
<text text-anchor="middle" x="1665.5" y="-2908.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1665.5" y="-2893.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1665.5" y="-2878.8" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1665.5" y="-2863.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="edge81" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1433.8,-2890C1474.5,-2890 1520.5,-2890 1560.8,-2890"/>
<polygon fill="#000000" stroke="#000000" points="1560.9,-2893.5001 1570.9,-2890 1560.9,-2886.5001 1560.9,-2893.5001"/>
</g>
<!-- zcash/zcash#4996 -->
<g id="node72" class="node">
<title>zcash/zcash#4996</title>
<g id="a_node72"><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,-2932 552.5,-2932 552.5,-2928 548.5,-2928 548.5,-2924 552.5,-2924 552.5,-2902 548.5,-2902 548.5,-2898 552.5,-2898 552.5,-2894 732.5,-2894 732.5,-2932"/>
<polyline fill="none" stroke="#000000" points="552.5,-2928 556.5,-2928 556.5,-2924 552.5,-2924 "/>
<polyline fill="none" stroke="#000000" points="552.5,-2902 556.5,-2902 556.5,-2898 552.5,-2898 "/>
<text text-anchor="middle" x="642.5" y="-2916.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4996</text>
<text text-anchor="middle" x="642.5" y="-2901.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="edge82" class="edge">
<title>zcash/zcash#4996&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M732.54,-2925.4C779.88,-2931.9 837.97,-2939.9 886.33,-2946.6"/>
<polygon fill="#000000" stroke="#000000" points="886.1058,-2950.1021 896.49,-2948 887.0614,-2943.1676 886.1058,-2950.1021"/>
</g>
<!-- zcash/zcash#4988 -->
<g id="node73" class="node">
<title>zcash/zcash#4988</title>
<g id="a_node73"><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="edge83" 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="node74" class="node">
<title>zcash/zcash#3722</title>
<g id="a_node74"><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="2393,-2505.5 2207,-2505.5 2207,-2422.5 2393,-2422.5 2393,-2505.5"/>
<text text-anchor="middle" x="2300" y="-2490.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#3722</text>
<text text-anchor="middle" x="2300" y="-2475.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decouple consensus</text>
<text text-anchor="middle" x="2300" y="-2460.3" font-family="Times,serif" font-size="14.00" fill="#000000">changes from Network</text>
<text text-anchor="middle" x="2300" y="-2445.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrades in the zcashd</text>
<text text-anchor="middle" x="2300" y="-2430.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="edge84" class="edge">
<title>zcash/zcash#3722&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2393.2,-2431.7C2415.8,-2423.9 2439.8,-2415.6 2462,-2407.9"/>
<polygon fill="#000000" stroke="#000000" points="2463.4398,-2411.1083 2471.8,-2404.6 2461.2059,-2404.4743 2463.4398,-2411.1083"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node75" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node75"><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="2394,-2698.5 2206,-2698.5 2206,-2645.5 2394,-2645.5 2394,-2698.5"/>
<text text-anchor="middle" x="2300" y="-2683.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="2300" y="-2668.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="2300" y="-2653.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="edge85" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2394.3,-2655.7C2408.7,-2653.2 2423.7,-2650.6 2438.3,-2648.1"/>
<polygon fill="#000000" stroke="#000000" points="2439.2604,-2651.4847 2448.5,-2646.3 2438.0439,-2644.5912 2439.2604,-2651.4847"/>
</g>
<!-- zcash/zcash#5056 -->
<g id="node76" class="node">
<title>zcash/zcash#5056</title>
<g id="a_node76"><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,-1506 1914,-1506 1914,-1438 2099,-1438 2099,-1506"/>
<text text-anchor="middle" x="2006.5" y="-1490.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5056</text>
<text text-anchor="middle" x="2006.5" y="-1475.8" font-family="Times,serif" font-size="14.00" fill="#000000">Identify necessary RPC</text>
<text text-anchor="middle" x="2006.5" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes to support</text>
<text text-anchor="middle" x="2006.5" y="-1445.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="edge87" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2099.4,-1472C2130.8,-1472 2166.1,-1472 2198.2,-1472"/>
<polygon fill="#000000" stroke="#000000" points="2198.5,-1475.5001 2208.5,-1472 2198.5,-1468.5001 2198.5,-1475.5001"/>
</g>
<!-- zcash/zips#475 -->
<g id="node77" class="node">
<title>zcash/zips#475</title>
<g id="a_node77"><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,-2698.5 1915.5,-2698.5 1915.5,-2645.5 2097.5,-2645.5 2097.5,-2698.5"/>
<text text-anchor="middle" x="2006.5" y="-2683.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#475</text>
<text text-anchor="middle" x="2006.5" y="-2668.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 221: Add Orchard</text>
<text text-anchor="middle" x="2006.5" y="-2653.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="edge88" class="edge">
<title>zcash/zips#475&#45;&gt;zcash/librustzcash#368</title>
<path fill="none" stroke="#000000" d="M2097.8,-2672C2128.7,-2672 2163.6,-2672 2195.5,-2672"/>
<polygon fill="#000000" stroke="#000000" points="2195.8,-2675.5001 2205.8,-2672 2195.8,-2668.5001 2195.8,-2675.5001"/>
</g>
<!-- zcash/zips#482 -->
<g id="node78" class="node">
<title>zcash/zips#482</title>
<g id="a_node78"><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,-1205.5 1936,-1205.5 1936,-1152.5 2077,-1152.5 2077,-1205.5"/>
<text text-anchor="middle" x="2006.5" y="-1190.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#482</text>
<text text-anchor="middle" x="2006.5" y="-1175.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 316] Unified</text>
<text text-anchor="middle" x="2006.5" y="-1160.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="edge89" class="edge">
<title>zcash/zips#482&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2077.2,-1186.7C2112.7,-1190.6 2156.4,-1195.3 2195.7,-1199.6"/>
<polygon fill="#000000" stroke="#000000" points="2195.4798,-1203.0966 2205.8,-1200.7 2196.2378,-1196.1378 2195.4798,-1203.0966"/>
</g>
<!-- zcash/librustzcash#300 -->
<g id="node79" class="node">
<title>zcash/librustzcash#300</title>
<g id="a_node79"><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="edge90" 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="node80" class="node">
<title>zcash/halo2#63</title>
<g id="a_node80"><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,-2146.5 1898.5,-2146.5 1898.5,-2093.5 2114.5,-2093.5 2114.5,-2146.5"/>
<text text-anchor="middle" x="2006.5" y="-2131.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="2006.5" y="-2116.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="-2101.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="edge91" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2114.5,-2120C2140.4,-2120 2167.9,-2120 2193.7,-2120"/>
<polygon fill="#000000" stroke="#000000" points="2193.8,-2123.5001 2203.8,-2120 2193.8,-2116.5001 2193.8,-2123.5001"/>
</g>
<!-- zcash/librustzcash#349 -->
<g id="node81" class="node">
<title>zcash/librustzcash#349</title>
<g id="a_node81"><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,-1854.5 1571.5,-1854.5 1571.5,-1801.5 1759.5,-1801.5 1759.5,-1854.5"/>
<text text-anchor="middle" x="1665.5" y="-1839.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#349</text>
<text text-anchor="middle" x="1665.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalise note</text>
<text text-anchor="middle" x="1665.5" y="-1809.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="edge92" class="edge">
<title>zcash/librustzcash#349&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1759.6,-1828C1800,-1828 1847.7,-1828 1890.3,-1828"/>
<polygon fill="#000000" stroke="#000000" points="1890.4,-1831.5001 1900.4,-1828 1890.4,-1824.5001 1890.4,-1831.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25 -->
<g id="node82" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</title>
<g id="a_node82"><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="#c2e0c6" stroke="#000000" stroke-width="2" points="1818,-1262 1513,-1262 1513,-1224 1818,-1224 1818,-1262"/>
<text text-anchor="middle" x="1665.5" y="-1246.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="-1231.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="edge93" 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="M1802.2,-1223.9C1807.8,-1221 1813,-1217.7 1818,-1214 1846.3,-1192.7 1826.1,-1164.8 1854,-1143 1855.2,-1142.1 1856.4,-1141.1 1857.7,-1140.2"/>
<polygon fill="#000000" stroke="#000000" points="1859.6511,-1143.1061 1866.1,-1134.7 1855.8165,-1137.2497 1859.6511,-1143.1061"/>
</g>
<!-- zcash/librustzcash#378 -->
<g id="node83" class="node">
<title>zcash/librustzcash#378</title>
<g id="a_node83"><a xlink:href="https://github.com/zcash/librustzcash/issues/378" xlink:title="zcash/librustzcash#378&#10;Implement F4Jumble" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2100.5,-1262 1912.5,-1262 1912.5,-1224 2100.5,-1224 2100.5,-1262"/>
<text text-anchor="middle" x="2006.5" y="-1246.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#378</text>
<text text-anchor="middle" x="2006.5" y="-1231.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="edge94" 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,-1243C1846.5,-1243 1875.6,-1243 1902.2,-1243"/>
<polygon fill="#000000" stroke="#000000" points="1902.3,-1246.5001 1912.3,-1243 1902.3,-1239.5001 1902.3,-1246.5001"/>
</g>
<!-- zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371 -->
<g id="edge95" class="edge">
<title>zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2100.6,-1232.7C2131,-1229.4 2164.9,-1225.7 2196,-1222.3"/>
<polygon fill="#000000" stroke="#000000" points="2196.3979,-1225.7778 2206,-1221.3 2195.7013,-1218.8125 2196.3979,-1225.7778"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14 -->
<g id="node84" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</title>
<g id="a_node84"><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,-998 490,-998 490,-994 486,-994 486,-990 490,-990 490,-968 486,-968 486,-964 490,-964 490,-960 795,-960 795,-998"/>
<polyline fill="none" stroke="#000000" points="490,-994 494,-994 494,-990 490,-990 "/>
<polyline fill="none" stroke="#000000" points="490,-968 494,-968 494,-964 490,-964 "/>
<text text-anchor="middle" x="642.5" y="-982.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="-967.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="node85" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<g id="a_node85"><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,-1005.5 831,-1005.5 831,-1001.5 827,-1001.5 827,-997.5 831,-997.5 831,-960.5 827,-960.5 827,-956.5 831,-956.5 831,-952.5 1136,-952.5 1136,-1005.5"/>
<polyline fill="none" stroke="#000000" points="831,-1001.5 835,-1001.5 835,-997.5 831,-997.5 "/>
<polyline fill="none" stroke="#000000" points="831,-960.5 835,-960.5 835,-956.5 831,-956.5 "/>
<text text-anchor="middle" x="983.5" y="-990.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="-975.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="-960.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="edge96" 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,-979C803.59,-979 812.19,-979 820.76,-979"/>
<polygon fill="#000000" stroke="#000000" points="820.81,-982.5001 830.81,-979 820.81,-975.5001 820.81,-982.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="node86" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<g id="a_node86"><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,-1063 1172,-1063 1172,-1059 1168,-1059 1168,-1055 1172,-1055 1172,-1033 1168,-1033 1168,-1029 1172,-1029 1172,-1025 1477,-1025 1477,-1063"/>
<polyline fill="none" stroke="#000000" points="1172,-1059 1176,-1059 1176,-1055 1172,-1055 "/>
<polyline fill="none" stroke="#000000" points="1172,-1033 1176,-1033 1176,-1029 1172,-1029 "/>
<text text-anchor="middle" x="1324.5" y="-1047.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="-1032.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="edge97" 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="M1122.7,-1005.5C1153.4,-1011.4 1185.5,-1017.5 1214.8,-1023.1"/>
<polygon fill="#000000" stroke="#000000" points="1214.1166,-1026.5326 1224.6,-1025 1215.449,-1019.6606 1214.1166,-1026.5326"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="node87" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<g id="a_node87"><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,-940.5 1172,-940.5 1172,-887.5 1477,-887.5 1477,-940.5"/>
<text text-anchor="middle" x="1324.5" y="-925.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="-910.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 225 test</text>
<text text-anchor="middle" x="1324.5" y="-895.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="edge98" 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="M1122.7,-952.47C1139.9,-949.18 1157.6,-945.81 1175,-942.5"/>
<polygon fill="#000000" stroke="#000000" points="1176.0351,-945.8656 1185.2,-940.55 1174.7206,-938.9901 1176.0351,-945.8656"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge99" 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,-1063C1453.6,-1068.2 1484.2,-1074 1514,-1079.6"/>
<polygon fill="#000000" stroke="#000000" points="1513.6253,-1083.0908 1524.1,-1081.5 1514.9195,-1076.2115 1513.6253,-1083.0908"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="node88" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<g id="a_node88"><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,-1063 1513,-1063 1513,-1059 1509,-1059 1509,-1055 1513,-1055 1513,-1033 1509,-1033 1509,-1029 1513,-1029 1513,-1025 1818,-1025 1818,-1063"/>
<polyline fill="none" stroke="#000000" points="1513,-1059 1517,-1059 1517,-1055 1513,-1055 "/>
<polyline fill="none" stroke="#000000" points="1513,-1033 1517,-1033 1517,-1029 1513,-1029 "/>
<text text-anchor="middle" x="1665.5" y="-1047.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="-1032.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="edge100" 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,-1044C1485.6,-1044 1494.2,-1044 1502.8,-1044"/>
<polygon fill="#000000" stroke="#000000" points="1502.8,-1047.5001 1512.8,-1044 1502.8,-1040.5001 1502.8,-1047.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="node89" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<g id="a_node89"><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,-905.5 1513,-905.5 1513,-852.5 1818,-852.5 1818,-905.5"/>
<text text-anchor="middle" x="1665.5" y="-890.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="-875.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 244 test</text>
<text text-anchor="middle" x="1665.5" y="-860.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="edge101" 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,-898.34C1485.6,-897.47 1494.2,-896.58 1502.8,-895.7"/>
<polygon fill="#000000" stroke="#000000" points="1503.2113,-899.1762 1512.8,-894.67 1502.494,-892.2131 1503.2113,-899.1762"/>
</g>
<!-- zcash/halo2#39 -->
<g id="node90" class="node">
<title>zcash/halo2#39</title>
<g id="a_node90"><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,-2269.5 1247,-2269.5 1247,-2186.5 1402,-2186.5 1402,-2269.5"/>
<text text-anchor="middle" x="1324.5" y="-2254.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#39</text>
<text text-anchor="middle" x="1324.5" y="-2239.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="1324.5" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">coefficient blinding</text>
<text text-anchor="middle" x="1324.5" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">factors in</text>
<text text-anchor="middle" x="1324.5" y="-2194.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="edge102" class="edge">
<title>zcash/halo2#39&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M1402.3,-2204.1C1436.1,-2194.5 1476.2,-2184.1 1513,-2177 1640.1,-2152.6 1787.8,-2137.2 1888.3,-2128.7"/>
<polygon fill="#000000" stroke="#000000" points="1888.8464,-2132.1655 1898.5,-2127.8 1888.231,-2125.1926 1888.8464,-2132.1655"/>
</g>
<!-- zcash/halo2#65 -->
<g id="node91" class="node">
<title>zcash/halo2#65</title>
<g id="a_node91"><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,-1941 874.5,-1941 874.5,-1903 1092.5,-1903 1092.5,-1941"/>
<text text-anchor="middle" x="983.5" y="-1925.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#65</text>
<text text-anchor="middle" x="983.5" y="-1910.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="node92" class="node">
<title>zcash/halo2#64</title>
<g id="a_node92"><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,-1783.5 1239.5,-1783.5 1239.5,-1730.5 1409.5,-1730.5 1409.5,-1783.5"/>
<text text-anchor="middle" x="1324.5" y="-1768.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="1324.5" y="-1753.3" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="1324.5" y="-1738.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="edge103" class="edge">
<title>zcash/halo2#65&#45;&gt;zcash/halo2#64</title>
<path fill="none" stroke="#000000" d="M1092.8,-1908.5C1107.7,-1904.5 1122.5,-1899.5 1136,-1893 1155,-1883.8 1155.3,-1874.9 1172,-1862 1205.2,-1836.4 1244.3,-1809.6 1274.5,-1789.4"/>
<polygon fill="#000000" stroke="#000000" points="1276.7535,-1792.1079 1283.2,-1783.7 1272.9173,-1786.2527 1276.7535,-1792.1079"/>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#73 -->
<g id="edge104" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1409.7,-1757C1457.9,-1757 1518.5,-1757 1568.6,-1757"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1760.5001 1578.8,-1757 1568.8,-1753.5001 1568.8,-1760.5001"/>
</g>
<!-- zcash/halo2#235 -->
<g id="node93" class="node">
<title>zcash/halo2#235</title>
<g id="a_node93"><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,-1712.5 1577.5,-1712.5 1577.5,-1659.5 1753.5,-1659.5 1753.5,-1712.5"/>
<text text-anchor="middle" x="1665.5" y="-1697.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="1665.5" y="-1682.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="1665.5" y="-1667.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="edge105" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M1409.7,-1739.3C1457.6,-1729.3 1517.6,-1716.8 1567.4,-1706.4"/>
<polygon fill="#000000" stroke="#000000" points="1568.1911,-1709.811 1577.3,-1704.4 1566.8049,-1702.9496 1568.1911,-1709.811"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge106" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1753.8,-1691.7C1801.6,-1694.8 1860.7,-1698.6 1909.8,-1701.8"/>
<polygon fill="#000000" stroke="#000000" points="1909.6083,-1705.2947 1919.8,-1702.4 1910.0276,-1698.3073 1909.6083,-1705.2947"/>
</g>
<!-- zcash/halo2#44 -->
<g id="node94" class="node">
<title>zcash/halo2#44</title>
<g id="a_node94"><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,-1901 532,-1901 532,-1863 753,-1863 753,-1901"/>
<text text-anchor="middle" x="642.5" y="-1885.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#44</text>
<text text-anchor="middle" x="642.5" y="-1870.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="edge107" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#65</title>
<path fill="none" stroke="#000000" d="M753.21,-1895C788.68,-1899.1 828.09,-1903.8 864.14,-1908"/>
<polygon fill="#000000" stroke="#000000" points="863.8763,-1911.4932 874.22,-1909.2 864.7039,-1904.5423 863.8763,-1911.4932"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node95" class="node">
<title>zcash/halo2#57</title>
<g id="a_node95"><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,-1783 912,-1783 912,-1715 1055,-1715 1055,-1783"/>
<text text-anchor="middle" x="983.5" y="-1767.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="983.5" y="-1752.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="983.5" y="-1737.8" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="983.5" y="-1722.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="edge108" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#57</title>
<path fill="none" stroke="#000000" d="M677.84,-1862.9C715.14,-1843.2 776.02,-1812.7 831,-1792 853.64,-1783.5 878.72,-1775.7 901.89,-1769.2"/>
<polygon fill="#000000" stroke="#000000" points="902.9789,-1772.5305 911.69,-1766.5 901.1195,-1765.7819 902.9789,-1772.5305"/>
</g>
<!-- zcash/halo2#82 -->
<g id="node96" class="node">
<title>zcash/halo2#82</title>
<g id="a_node96"><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,-1884.5 887,-1884.5 887,-1801.5 1080,-1801.5 1080,-1884.5"/>
<text text-anchor="middle" x="983.5" y="-1869.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="983.5" y="-1854.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="983.5" y="-1839.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="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="983.5" y="-1809.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="edge109" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#82</title>
<path fill="none" stroke="#000000" d="M753.21,-1869.3C792.84,-1864.8 837.4,-1859.7 876.69,-1855.2"/>
<polygon fill="#000000" stroke="#000000" points="877.2563,-1858.6592 886.82,-1854.1 876.5006,-1851.7001 877.2563,-1858.6592"/>
</g>
<!-- zcash/halo2#62 -->
<g id="node97" class="node">
<title>zcash/halo2#62</title>
<g id="a_node97"><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,-2262 894,-2262 894,-2194 1073,-2194 1073,-2262"/>
<text text-anchor="middle" x="983.5" y="-2246.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#62</text>
<text text-anchor="middle" x="983.5" y="-2231.8" font-family="Times,serif" font-size="14.00" fill="#000000">Modularise prover and</text>
<text text-anchor="middle" x="983.5" y="-2216.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier by introducing</text>
<text text-anchor="middle" x="983.5" y="-2201.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="edge110" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#66</title>
<path fill="none" stroke="#000000" d="M1073,-2252.3C1104.3,-2260.6 1139.7,-2269.9 1172,-2278 1186.3,-2281.6 1201.4,-2285.3 1216.2,-2288.8"/>
<polygon fill="#000000" stroke="#000000" points="1215.4545,-2292.2208 1226,-2291.2 1217.1196,-2285.4217 1215.4545,-2292.2208"/>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#39 -->
<g id="edge111" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#39</title>
<path fill="none" stroke="#000000" d="M1073.1,-2228C1123.6,-2228 1186.4,-2228 1236.6,-2228"/>
<polygon fill="#000000" stroke="#000000" points="1236.8,-2231.5001 1246.8,-2228 1236.8,-2224.5001 1236.8,-2231.5001"/>
</g>
<!-- zcash/halo2#61 -->
<g id="node98" class="node">
<title>zcash/halo2#61</title>
<g id="a_node98"><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,-2374 33.5,-2374 33.5,-2370 29.5,-2370 29.5,-2366 33.5,-2366 33.5,-2344 29.5,-2344 29.5,-2340 33.5,-2340 33.5,-2336 184.5,-2336 184.5,-2374"/>
<polyline fill="none" stroke="#000000" points="33.5,-2370 37.5,-2370 37.5,-2366 33.5,-2366 "/>
<polyline fill="none" stroke="#000000" points="33.5,-2344 37.5,-2344 37.5,-2340 33.5,-2340 "/>
<text text-anchor="middle" x="109" y="-2358.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#61</text>
<text text-anchor="middle" x="109" y="-2343.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to ff traits</text>
</a>
</g>
</g>
<!-- zcash/halo2#68 -->
<g id="node99" class="node">
<title>zcash/halo2#68</title>
<g id="a_node99"><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,-2381.5 272,-2381.5 272,-2328.5 436,-2328.5 436,-2381.5"/>
<text text-anchor="middle" x="354" y="-2366.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#68</text>
<text text-anchor="middle" x="354" y="-2351.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the Pasta</text>
<text text-anchor="middle" x="354" y="-2336.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="edge112" class="edge">
<title>zcash/halo2#61&#45;&gt;zcash/halo2#68</title>
<path fill="none" stroke="#000000" d="M184.51,-2355C208.96,-2355 236.36,-2355 261.88,-2355"/>
<polygon fill="#000000" stroke="#000000" points="261.93,-2358.5001 271.93,-2355 261.93,-2351.5001 261.93,-2358.5001"/>
</g>
<!-- zcash/halo2#68&#45;&gt;zcash/halo2#72 -->
<g id="edge113" class="edge">
<title>zcash/halo2#68&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M436.29,-2368.4C469.03,-2373.7 507.03,-2379.9 541.42,-2385.5"/>
<polygon fill="#000000" stroke="#000000" points="541.0572,-2388.9882 551.5,-2387.2 542.2213,-2382.0856 541.0572,-2388.9882"/>
</g>
<!-- zcash/halo2#70 -->
<g id="node100" class="node">
<title>zcash/halo2#70</title>
<g id="a_node100"><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,-2001 258.5,-2001 258.5,-1997 254.5,-1997 254.5,-1993 258.5,-1993 258.5,-1941 254.5,-1941 254.5,-1937 258.5,-1937 258.5,-1933 449.5,-1933 449.5,-2001"/>
<polyline fill="none" stroke="#000000" points="258.5,-1997 262.5,-1997 262.5,-1993 258.5,-1993 "/>
<polyline fill="none" stroke="#000000" points="258.5,-1941 262.5,-1941 262.5,-1937 258.5,-1937 "/>
<text text-anchor="middle" x="354" y="-1985.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#70</text>
<text text-anchor="middle" x="354" y="-1970.8" font-family="Times,serif" font-size="14.00" fill="#000000">Extract permutation</text>
<text text-anchor="middle" x="354" y="-1955.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument and introduce</text>
<text text-anchor="middle" x="354" y="-1940.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="edge114" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#44</title>
<path fill="none" stroke="#000000" d="M449.67,-1938.8C488.05,-1927.5 531.62,-1914.7 567.63,-1904.1"/>
<polygon fill="#000000" stroke="#000000" points="569.0161,-1907.3378 577.58,-1901.1 566.9953,-1900.6358 569.0161,-1907.3378"/>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#62 -->
<g id="edge115" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#62</title>
<path fill="none" stroke="#000000" d="M436.3,-2001.1C553.88,-2049.9 769.24,-2139.2 891.8,-2190"/>
<polygon fill="#000000" stroke="#000000" points="890.6026,-2193.2926 901.18,-2193.9 893.29,-2186.829 890.6026,-2193.2926"/>
</g>
<!-- zcash/halo2#78 -->
<g id="node101" class="node">
<title>zcash/halo2#78</title>
<g id="a_node101"><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,-869 1222.5,-869 1222.5,-801 1426.5,-801 1426.5,-869"/>
<text text-anchor="middle" x="1324.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="1324.5" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="1324.5" y="-823.8" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="1324.5" y="-808.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="edge116" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1426.6,-833.35C1556.1,-831.26 1778.1,-827.68 1906.5,-825.61"/>
<polygon fill="#000000" stroke="#000000" points="1906.8556,-829.105 1916.8,-825.45 1906.7468,-822.1058 1906.8556,-829.105"/>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge117" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1426.7,-855.99C1444.1,-861.74 1461.6,-868.96 1477,-878 1496.5,-889.44 1493.8,-902.09 1513,-914 1531.9,-925.72 1553.9,-935.09 1575.1,-942.43"/>
<polygon fill="#000000" stroke="#000000" points="1574.2064,-945.8213 1584.8,-945.66 1576.418,-939.1799 1574.2064,-945.8213"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node102" class="node">
<title>zcash/halo2#250</title>
<g id="a_node102"><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,-657.5 1568.5,-657.5 1568.5,-604.5 1762.5,-604.5 1762.5,-657.5"/>
<text text-anchor="middle" x="1665.5" y="-642.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="1665.5" y="-627.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="1665.5" y="-612.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="edge118" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.6,-812.85C1443.9,-807.24 1461.4,-800.36 1477,-792 1539.5,-758.57 1599.7,-701.47 1634.6,-665.03"/>
<polygon fill="#000000" stroke="#000000" points="1637.3031,-667.2644 1641.6,-657.58 1632.2017,-662.4711 1637.3031,-667.2644"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge119" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1712.6,-657.63C1774.8,-692.84 1884.2,-754.8 1950.6,-792.35"/>
<polygon fill="#000000" stroke="#000000" points="1949.2716,-795.6194 1959.7,-797.49 1952.7143,-789.5244 1949.2716,-795.6194"/>
</g>
<!-- zcash/halo2#77 -->
<g id="node103" class="node">
<title>zcash/halo2#77</title>
<g id="a_node103"><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,-997 1222,-997 1222,-959 1427,-959 1427,-997"/>
<text text-anchor="middle" x="1324.5" y="-981.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#77</text>
<text text-anchor="middle" x="1324.5" y="-966.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="edge120" class="edge">
<title>zcash/halo2#77&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1427.3,-974.08C1474.2,-972.29 1529.3,-970.19 1574.7,-968.46"/>
<polygon fill="#000000" stroke="#000000" points="1575.0411,-971.9496 1584.9,-968.07 1574.7735,-964.9547 1575.0411,-971.9496"/>
</g>
<!-- zcash/halo2#248 -->
<g id="node104" class="node">
<title>zcash/halo2#248</title>
<g id="a_node104"><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,-538.5 1223,-538.5 1223,-485.5 1426,-485.5 1426,-538.5"/>
<text text-anchor="middle" x="1324.5" y="-523.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="1324.5" y="-508.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="1324.5" y="-493.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="edge121" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.1,-533.25C1443.3,-537.61 1460.7,-542.56 1477,-548 1520,-562.39 1566.6,-582.86 1602.7,-599.87"/>
<polygon fill="#000000" stroke="#000000" points="1601.567,-603.2071 1612.1,-604.35 1604.5786,-596.8881 1601.567,-603.2071"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node105" class="node">
<title>zcash/halo2#249</title>
<g id="a_node105"><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,-381 1232,-381 1232,-313 1417,-313 1417,-381"/>
<text text-anchor="middle" x="1324.5" y="-365.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="1324.5" y="-350.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="1324.5" y="-335.8" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="1324.5" y="-320.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="edge122" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1417.3,-363.12C1438.1,-369.38 1459.2,-378.05 1477,-390 1557.1,-443.74 1618.4,-542.51 1647.3,-595.38"/>
<polygon fill="#000000" stroke="#000000" points="1644.3091,-597.2099 1652.1,-604.39 1650.4871,-593.9186 1644.3091,-597.2099"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node106" class="node">
<title>zcash/halo2#246</title>
<g id="a_node106"><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,-459.5 894,-459.5 894,-406.5 1073,-406.5 1073,-459.5"/>
<text text-anchor="middle" x="983.5" y="-444.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="983.5" y="-429.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="983.5" y="-414.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node107" class="node">
<title>zcash/halo2#247</title>
<g id="a_node107"><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,-467 1236.5,-467 1236.5,-399 1412.5,-399 1412.5,-467"/>
<text text-anchor="middle" x="1324.5" y="-451.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="1324.5" y="-436.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="1324.5" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="1324.5" y="-406.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="edge123" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M1073.1,-433C1120.2,-433 1177.9,-433 1226.2,-433"/>
<polygon fill="#000000" stroke="#000000" points="1226.4,-436.5001 1236.4,-433 1226.4,-429.5001 1226.4,-436.5001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge124" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1412.8,-451.23C1434.5,-457.49 1457.1,-465.62 1477,-476 1538.2,-507.97 1597.8,-562.02 1633.1,-597.1"/>
<polygon fill="#000000" stroke="#000000" points="1630.7476,-599.6971 1640.3,-604.28 1635.6905,-594.7404 1630.7476,-599.6971"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node108" class="node">
<title>zcash/halo2#245</title>
<g id="a_node108"><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,-783 1221.5,-783 1221.5,-715 1427.5,-715 1427.5,-783"/>
<text text-anchor="middle" x="1324.5" y="-767.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="1324.5" y="-752.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="1324.5" y="-737.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="-722.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="edge125" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1427.9,-720.59C1444.4,-715.65 1461.2,-710.36 1477,-705 1515.5,-691.92 1557.7,-675.56 1592.3,-661.55"/>
<polygon fill="#000000" stroke="#000000" points="1593.9401,-664.6622 1601.9,-657.67 1591.3171,-658.1723 1593.9401,-664.6622"/>
</g>
<!-- zcash/halo2#151 -->
<g id="node109" class="node">
<title>zcash/halo2#151</title>
<g id="a_node109"><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,-696.5 1241,-696.5 1241,-643.5 1408,-643.5 1408,-696.5"/>
<text text-anchor="middle" x="1324.5" y="-681.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#151</text>
<text text-anchor="middle" x="1324.5" y="-666.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="-651.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="edge126" class="edge">
<title>zcash/halo2#151&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1408.4,-660.41C1453.6,-655.24 1509.8,-648.81 1558.2,-643.27"/>
<polygon fill="#000000" stroke="#000000" points="1558.8596,-646.7176 1568.4,-642.11 1558.0685,-639.7625 1558.8596,-646.7176"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node110" class="node">
<title>zcash/halo2#210</title>
<g id="a_node110"><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,-625 1215.5,-625 1215.5,-557 1433.5,-557 1433.5,-625"/>
<text text-anchor="middle" x="1324.5" y="-609.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="1324.5" y="-594.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="1324.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="1324.5" y="-564.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="edge127" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1433.8,-603.82C1473.7,-608.5 1518.7,-613.78 1558.4,-618.43"/>
<polygon fill="#000000" stroke="#000000" points="1557.9583,-621.9021 1568.3,-619.6 1558.7799,-614.9504 1557.9583,-621.9021"/>
</g>
<!-- zcash/orchard#29 -->
<g id="node111" class="node">
<title>zcash/orchard#29</title>
<g id="a_node111"><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,-1333.5 1571,-1333.5 1571,-1280.5 1760,-1280.5 1760,-1333.5"/>
<text text-anchor="middle" x="1665.5" y="-1318.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#29</text>
<text text-anchor="middle" x="1665.5" y="-1303.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-1288.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="edge128" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1760.3,-1312.3C1781.7,-1317.8 1802.6,-1327.2 1818,-1343 1872.5,-1398.9 1796.5,-1462.1 1854,-1515 1954.5,-1607.5 2037.7,-1490.1 2159,-1553 2211.9,-1580.4 2254.9,-1636.3 2278.9,-1672.9"/>
<polygon fill="#000000" stroke="#000000" points="2275.9482,-1674.7809 2284.3,-1681.3 2281.8365,-1670.9955 2275.9482,-1674.7809"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#36 -->
<g id="edge129" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#36</title>
<path fill="none" stroke="#000000" d="M1760,-1308.9C1803.3,-1309.8 1854.7,-1310.9 1899.4,-1311.8"/>
<polygon fill="#000000" stroke="#000000" points="1899.332,-1315.2992 1909.4,-1312 1899.472,-1308.3006 1899.332,-1315.2992"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#30 -->
<g id="edge130" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M1760,-1327.1C1779.3,-1331.9 1799.4,-1337.2 1818,-1343 1834.4,-1348.1 1837.6,-1351.9 1854,-1357 1872.1,-1362.6 1891.7,-1367.9 1910.6,-1372.5"/>
<polygon fill="#000000" stroke="#000000" points="1909.8545,-1375.9208 1920.4,-1374.9 1911.5196,-1369.1217 1909.8545,-1375.9208"/>
</g>
<!-- zcash/orchard#27 -->
<g id="node112" class="node">
<title>zcash/orchard#27</title>
<g id="a_node112"><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,-2397 1561.5,-2397 1561.5,-2393 1557.5,-2393 1557.5,-2389 1561.5,-2389 1561.5,-2337 1557.5,-2337 1557.5,-2333 1561.5,-2333 1561.5,-2329 1769.5,-2329 1769.5,-2397"/>
<polyline fill="none" stroke="#000000" points="1561.5,-2393 1565.5,-2393 1565.5,-2389 1561.5,-2389 "/>
<polyline fill="none" stroke="#000000" points="1561.5,-2337 1565.5,-2337 1565.5,-2333 1561.5,-2333 "/>
<text text-anchor="middle" x="1665.5" y="-2381.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#27</text>
<text text-anchor="middle" x="1665.5" y="-2366.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make Bundle a parametric</text>
<text text-anchor="middle" x="1665.5" y="-2351.8" font-family="Times,serif" font-size="14.00" fill="#000000">type over an</text>
<text text-anchor="middle" x="1665.5" y="-2336.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="edge131" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1769.7,-2339.1C1914,-2305.9 2157.3,-2249.8 2159,-2248 2211.4,-2194.9 2177,-2156.4 2195,-2084 2226.3,-1958.6 2269.2,-1811.4 2289.1,-1744.4"/>
<polygon fill="#000000" stroke="#000000" points="2292.4586,-1745.3849 2292,-1734.8 2285.7577,-1743.3606 2292.4586,-1745.3849"/>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#34 -->
<g id="edge132" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1769.7,-2363C1811.6,-2363 1859.8,-2363 1901.7,-2363"/>
<polygon fill="#000000" stroke="#000000" points="1902,-2366.5001 1912,-2363 1902,-2359.5001 1902,-2366.5001"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node113" class="node">
<title>zcash/orchard#38</title>
<g id="a_node113"><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,-1641.5 1570,-1641.5 1570,-1588.5 1761,-1588.5 1761,-1641.5"/>
<text text-anchor="middle" x="1665.5" y="-1626.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="1665.5" y="-1611.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="1665.5" y="-1596.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="edge133" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1761.4,-1635.9C1780.2,-1640.3 1799.8,-1645.1 1818,-1650 1849.8,-1658.5 1884.3,-1668.8 1914.9,-1678.4"/>
<polygon fill="#000000" stroke="#000000" points="1914.2147,-1681.8494 1924.8,-1681.4 1916.2448,-1675.1503 1914.2147,-1681.8494"/>
</g>
<!-- zcash/orchard#55 -->
<g id="node114" class="node">
<title>zcash/orchard#55</title>
<g id="a_node114"><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,-2735 1562.5,-2735 1562.5,-2667 1768.5,-2667 1768.5,-2735"/>
<text text-anchor="middle" x="1665.5" y="-2719.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#55</text>
<text text-anchor="middle" x="1665.5" y="-2704.8" font-family="Times,serif" font-size="14.00" fill="#000000">Handle the (negligible</text>
<text text-anchor="middle" x="1665.5" y="-2689.8" font-family="Times,serif" font-size="14.00" fill="#000000">probability of) failure</text>
<text text-anchor="middle" x="1665.5" y="-2674.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="edge134" class="edge">
<title>zcash/orchard#55&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1768.8,-2674.9C1785.5,-2669.7 1802.4,-2663.7 1818,-2657 1835,-2649.7 1836.9,-2643.2 1854,-2636 1864.6,-2631.5 1875.8,-2627.4 1887.1,-2623.7"/>
<polygon fill="#000000" stroke="#000000" points="1888.1791,-2627.0296 1896.6,-2620.6 1886.0076,-2620.3749 1888.1791,-2627.0296"/>
</g>
<!-- zcash/orchard#70 -->
<g id="node115" class="node">
<title>zcash/orchard#70</title>
<g id="a_node115"><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,-1532 1591.5,-1532 1591.5,-1528 1587.5,-1528 1587.5,-1524 1591.5,-1524 1591.5,-1502 1587.5,-1502 1587.5,-1498 1591.5,-1498 1591.5,-1494 1739.5,-1494 1739.5,-1532"/>
<polyline fill="none" stroke="#000000" points="1591.5,-1528 1595.5,-1528 1595.5,-1524 1591.5,-1524 "/>
<polyline fill="none" stroke="#000000" points="1591.5,-1502 1595.5,-1502 1595.5,-1498 1591.5,-1498 "/>
<text text-anchor="middle" x="1665.5" y="-1516.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#70</text>
<text text-anchor="middle" x="1665.5" y="-1501.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle APIs</text>
</a>
</g>
</g>
<!-- zcash/orchard#49 -->
<g id="node116" class="node">
<title>zcash/orchard#49</title>
<g id="a_node116"><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,-1600 1932.5,-1600 1932.5,-1596 1928.5,-1596 1928.5,-1592 1932.5,-1592 1932.5,-1570 1928.5,-1570 1928.5,-1566 1932.5,-1566 1932.5,-1562 2080.5,-1562 2080.5,-1600"/>
<polyline fill="none" stroke="#000000" points="1932.5,-1596 1936.5,-1596 1936.5,-1592 1932.5,-1592 "/>
<polyline fill="none" stroke="#000000" points="1932.5,-1570 1936.5,-1570 1936.5,-1566 1932.5,-1566 "/>
<text text-anchor="middle" x="2006.5" y="-1584.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#49</text>
<text text-anchor="middle" x="2006.5" y="-1569.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="edge135" class="edge">
<title>zcash/orchard#70&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1739.9,-1527.8C1793.7,-1538.6 1866.5,-1553.1 1922.4,-1564.2"/>
<polygon fill="#000000" stroke="#000000" points="1921.7021,-1567.6296 1932.2,-1566.2 1923.1018,-1560.771 1921.7021,-1567.6296"/>
</g>
<!-- zcash/orchard#49&#45;&gt;zcash/orchard#35 -->
<g id="edge136" class="edge">
<title>zcash/orchard#49&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2050.4,-1600C2097.7,-1620.5 2173.5,-1653.3 2229.2,-1677.4"/>
<polygon fill="#000000" stroke="#000000" points="2228.028,-1680.7049 2238.6,-1681.4 2230.7689,-1674.2638 2228.028,-1680.7049"/>
</g>
<!-- zcash/orchard#58 -->
<g id="node117" class="node">
<title>zcash/orchard#58</title>
<g id="a_node117"><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,-1420 1579,-1420 1579,-1416 1575,-1416 1575,-1412 1579,-1412 1579,-1360 1575,-1360 1575,-1356 1579,-1356 1579,-1352 1752,-1352 1752,-1420"/>
<polyline fill="none" stroke="#000000" points="1579,-1416 1583,-1416 1583,-1412 1579,-1412 "/>
<polyline fill="none" stroke="#000000" points="1579,-1360 1583,-1360 1583,-1356 1579,-1356 "/>
<text text-anchor="middle" x="1665.5" y="-1404.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#58</text>
<text text-anchor="middle" x="1665.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Proving and verifying</text>
<text text-anchor="middle" x="1665.5" y="-1374.8" font-family="Times,serif" font-size="14.00" fill="#000000">keys, and placeholder</text>
<text text-anchor="middle" x="1665.5" y="-1359.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="edge137" class="edge">
<title>zcash/orchard#58&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1752,-1394.8C1776,-1401.1 1800.2,-1411.6 1818,-1429 1857.4,-1467.7 1813.4,-1510.5 1854,-1548 1872.5,-1565 1897.6,-1574.1 1922.1,-1578.6"/>
<polygon fill="#000000" stroke="#000000" points="1921.6548,-1582.0745 1932.1,-1580.3 1922.8281,-1575.1735 1921.6548,-1582.0745"/>
</g>
<!-- zcash/orchard#60 -->
<g id="node118" class="node">
<title>zcash/orchard#60</title>
<g id="a_node118"><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,-1405 1229.5,-1405 1229.5,-1401 1225.5,-1401 1225.5,-1397 1229.5,-1397 1229.5,-1375 1225.5,-1375 1225.5,-1371 1229.5,-1371 1229.5,-1367 1419.5,-1367 1419.5,-1405"/>
<polyline fill="none" stroke="#000000" points="1229.5,-1401 1233.5,-1401 1233.5,-1397 1229.5,-1397 "/>
<polyline fill="none" stroke="#000000" points="1229.5,-1375 1233.5,-1375 1233.5,-1371 1229.5,-1371 "/>
<text text-anchor="middle" x="1324.5" y="-1389.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#60</text>
<text text-anchor="middle" x="1324.5" y="-1374.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="edge138" class="edge">
<title>zcash/orchard#60&#45;&gt;zcash/orchard#58</title>
<path fill="none" stroke="#000000" d="M1419.9,-1386C1466.4,-1386 1522.1,-1386 1568.7,-1386"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1389.5001 1578.8,-1386 1568.8,-1382.5001 1568.8,-1389.5001"/>
</g>
<!-- zcash/orchard#72 -->
<g id="node119" class="node">
<title>zcash/orchard#72</title>
<g id="a_node119"><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,-1476 1583,-1476 1583,-1472 1579,-1472 1579,-1468 1583,-1468 1583,-1446 1579,-1446 1579,-1442 1583,-1442 1583,-1438 1748,-1438 1748,-1476"/>
<polyline fill="none" stroke="#000000" points="1583,-1472 1587,-1472 1587,-1468 1583,-1468 "/>
<polyline fill="none" stroke="#000000" points="1583,-1446 1587,-1446 1587,-1442 1583,-1442 "/>
<text text-anchor="middle" x="1665.5" y="-1460.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#72</text>
<text text-anchor="middle" x="1665.5" y="-1445.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="edge139" class="edge">
<title>zcash/orchard#72&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1748.2,-1459.1C1772.4,-1463 1797.8,-1470.7 1818,-1485 1844.3,-1503.6 1828,-1528.9 1854,-1548 1873.7,-1562.4 1898.4,-1570.8 1922.2,-1575.6"/>
<polygon fill="#000000" stroke="#000000" points="1921.841,-1579.0911 1932.3,-1577.4 1923.0692,-1572.1997 1921.841,-1579.0911"/>
</g>
</g>
</svg>