developers/zcash-core-dag.svg

2531 lines
182 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="3181pt" height="2544pt"
viewBox="0.00 0.00 3181.00 2544.00" 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 2540)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2540 3177,-2540 3177,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,-284.5 24,-284.5 24,-216.5 194,-216.5 194,-284.5"/>
<text text-anchor="middle" x="109" y="-269.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4506</text>
<text text-anchor="middle" x="109" y="-254.3" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: Add transaction</text>
<text text-anchor="middle" x="109" y="-239.3" font-family="Times,serif" font-size="14.00" fill="#000000">builder support to</text>
<text text-anchor="middle" x="109" y="-224.3" 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,-190.5 260,-190.5 260,-152.5 448,-152.5 448,-190.5"/>
<text text-anchor="middle" x="354" y="-175.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="354" y="-160.3" 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,-223.09C223.8,-213.48 256.87,-202.82 285.17,-193.69"/>
<polygon fill="#000000" stroke="#000000" points="286.5267,-196.9301 294.97,-190.53 284.3784,-190.2679 286.5267,-196.9301"/>
</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="696.5,-198 504.5,-198 504.5,-145 696.5,-145 696.5,-198"/>
<text text-anchor="middle" x="600.5" y="-182.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="600.5" y="-167.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="600.5" y="-152.8" 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.25,-171.5C463.15,-171.5 478.66,-171.5 493.83,-171.5"/>
<polygon fill="#000000" stroke="#000000" points="494.26,-175.0001 504.26,-171.5 494.26,-168.0001 494.26,-175.0001"/>
</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,-126.5 14.5,-126.5 14.5,-88.5 203.5,-88.5 203.5,-126.5"/>
<text text-anchor="middle" x="109" y="-111.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#224</text>
<text text-anchor="middle" x="109" y="-96.3" 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,-126.56C195.04,-129.54 206.85,-132.59 218,-135.5 235.65,-140.1 254.57,-145.08 272.53,-149.83"/>
<polygon fill="#000000" stroke="#000000" points="271.8273,-153.2645 282.39,-152.44 273.6186,-146.4975 271.8273,-153.2645"/>
</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,-99 261,-99 261,-46 447,-46 447,-99"/>
<text text-anchor="middle" x="354" y="-83.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="354" y="-68.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="354" y="-53.8" 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,-93.968C219.08,-91.775 235.05,-89.494 250.59,-87.272"/>
<polygon fill="#000000" stroke="#000000" points="251.335,-90.7012 260.74,-85.823 250.3457,-83.7715 251.335,-90.7012"/>
</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,-356 14,-356 14,-352 10,-352 10,-348 14,-348 14,-311 10,-311 10,-307 14,-307 14,-303 204,-303 204,-356"/>
<polyline fill="none" stroke="#000000" points="14,-352 18,-352 18,-348 14,-348 "/>
<polyline fill="none" stroke="#000000" points="14,-311 18,-311 18,-307 14,-307 "/>
<text text-anchor="middle" x="109" y="-340.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4877</text>
<text text-anchor="middle" x="109" y="-325.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport Boost removal</text>
<text text-anchor="middle" x="109" y="-310.8" 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,-391 265.5,-391 265.5,-338 442.5,-338 442.5,-391"/>
<text text-anchor="middle" x="354" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4821</text>
<text text-anchor="middle" x="354" y="-360.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::variant</text>
<text text-anchor="middle" x="354" y="-345.8" 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,-343.08C220.94,-345.49 238.54,-348.01 255.5,-350.43"/>
<polygon fill="#000000" stroke="#000000" points="255.0064,-353.8949 265.4,-351.84 255.9934,-346.9649 255.0064,-353.8949"/>
</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,-320 262,-320 262,-267 446,-267 446,-320"/>
<text text-anchor="middle" x="354" y="-304.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4822</text>
<text text-anchor="middle" x="354" y="-289.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::optional</text>
<text text-anchor="middle" x="354" y="-274.8" 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,-315.53C219.63,-313.24 235.81,-310.87 251.54,-308.56"/>
<polygon fill="#000000" stroke="#000000" points="252.4162,-311.9688 261.8,-307.05 251.3969,-305.0434 252.4162,-311.9688"/>
</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="699,-391 502,-391 502,-338 699,-338 699,-391"/>
<text text-anchor="middle" x="600.5" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4879</text>
<text text-anchor="middle" x="600.5" y="-360.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor zcashconsensus</text>
<text text-anchor="middle" x="600.5" y="-345.8" 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.64,-364.5C458.53,-364.5 475.25,-364.5 491.63,-364.5"/>
<polygon fill="#000000" stroke="#000000" points="491.78,-368.0001 501.78,-364.5 491.78,-361.0001 491.78,-368.0001"/>
</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="698,-320 503,-320 503,-267 698,-267 698,-320"/>
<text text-anchor="middle" x="600.5" y="-304.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="600.5" y="-289.8" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="600.5" y="-274.8" 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.64,-338.97C460.86,-333.72 480.18,-328.16 498.82,-322.79"/>
<polygon fill="#000000" stroke="#000000" points="499.8522,-326.135 508.49,-320 497.9116,-319.4094 499.8522,-326.135"/>
</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.14,-320.04C463.33,-324.99 481.39,-330.19 498.84,-335.22"/>
<polygon fill="#000000" stroke="#000000" points="497.8921,-338.5892 508.47,-337.99 499.8272,-331.862 497.8921,-338.5892"/>
</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.14,-293.5C461.28,-293.5 477.1,-293.5 492.58,-293.5"/>
<polygon fill="#000000" stroke="#000000" points="492.7,-297.0001 502.7,-293.5 492.7,-290.0001 492.7,-297.0001"/>
</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="992,-391 807,-391 807,-338 992,-338 992,-391"/>
<text text-anchor="middle" x="899.5" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4876</text>
<text text-anchor="middle" x="899.5" y="-360.8" font-family="Times,serif" font-size="14.00" fill="#000000">libzcash_script: Expose</text>
<text text-anchor="middle" x="899.5" y="-345.8" 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="M699.23,-364.5C730.54,-364.5 765.23,-364.5 796.81,-364.5"/>
<polygon fill="#000000" stroke="#000000" points="796.95,-368.0001 806.95,-364.5 796.95,-361.0001 796.95,-368.0001"/>
</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="998,-1745.5 801,-1745.5 801,-1677.5 998,-1677.5 998,-1745.5"/>
<text text-anchor="middle" x="899.5" y="-1730.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4786</text>
<text text-anchor="middle" x="899.5" y="-1715.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Document</text>
<text text-anchor="middle" x="899.5" y="-1700.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla hash function</text>
<text text-anchor="middle" x="899.5" y="-1685.3" 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="1668,-1458 1495,-1458 1495,-1405 1668,-1405 1668,-1458"/>
<text text-anchor="middle" x="1581.5" y="-1442.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#73</text>
<text text-anchor="middle" x="1581.5" y="-1427.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1581.5" y="-1412.8" 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="M998.06,-1705.2C1137.9,-1695.7 1378.7,-1677.7 1393,-1664.5 1458.9,-1604 1367.2,-1531.2 1429,-1466.5 1443.8,-1451 1464,-1441.7 1484.9,-1436.3"/>
<polygon fill="#000000" stroke="#000000" points="1485.8515,-1439.6722 1494.8,-1434 1484.2673,-1432.8538 1485.8515,-1439.6722"/>
</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="2007,-1821 1838,-1821 1838,-1768 2007,-1768 2007,-1821"/>
<text text-anchor="middle" x="1922.5" y="-1805.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="1922.5" y="-1790.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="1922.5" y="-1775.8" 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="M998.27,-1735.7C1016.4,-1741.2 1035,-1747.5 1052,-1754.5 1068.9,-1761.5 1070.3,-1769.7 1088,-1774.5 1224.7,-1811.7 1639.4,-1803.7 1827.7,-1797.9"/>
<polygon fill="#000000" stroke="#000000" points="1827.9084,-1801.3955 1837.8,-1797.6 1827.7005,-1794.3985 1827.9084,-1801.3955"/>
</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="1327,-1766 1154,-1766 1154,-1762 1150,-1762 1150,-1758 1154,-1758 1154,-1721 1150,-1721 1150,-1717 1154,-1717 1154,-1713 1327,-1713 1327,-1766"/>
<polyline fill="none" stroke="#000000" points="1154,-1762 1158,-1762 1158,-1758 1154,-1758 "/>
<polyline fill="none" stroke="#000000" points="1154,-1721 1158,-1721 1158,-1717 1154,-1717 "/>
<text text-anchor="middle" x="1240.5" y="-1750.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#21</text>
<text text-anchor="middle" x="1240.5" y="-1735.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1240.5" y="-1720.8" 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="M998.13,-1719.6C1043.9,-1723.4 1098.2,-1727.8 1143.8,-1731.6"/>
<polygon fill="#000000" stroke="#000000" points="1143.7569,-1735.1073 1154,-1732.4 1144.3043,-1728.1287 1143.7569,-1735.1073"/>
</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="2009,-1435 1836,-1435 1836,-1382 2009,-1382 2009,-1435"/>
<text text-anchor="middle" x="1922.5" y="-1419.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="1922.5" y="-1404.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="1922.5" y="-1389.8" 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="M1668.4,-1425.6C1716.4,-1422.4 1776.2,-1418.4 1825.7,-1415"/>
<polygon fill="#000000" stroke="#000000" points="1825.9276,-1418.4927 1835.7,-1414.4 1825.5083,-1411.5053 1825.9276,-1418.4927"/>
</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="2359.5,-1848 2167.5,-1848 2167.5,-1795 2359.5,-1795 2359.5,-1848"/>
<text text-anchor="middle" x="2263.5" y="-1832.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="2263.5" y="-1817.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard as a</text>
<text text-anchor="middle" x="2263.5" y="-1802.8" 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="M2007.2,-1801.2C2052.6,-1804.8 2109,-1809.3 2157.3,-1813.1"/>
<polygon fill="#000000" stroke="#000000" points="2157.2569,-1816.6073 2167.5,-1813.9 2157.8043,-1809.6287 2157.2569,-1816.6073"/>
</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="2639,-1863 2480,-1863 2480,-1810 2639,-1810 2639,-1863"/>
<text text-anchor="middle" x="2559.5" y="-1847.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="2559.5" y="-1832.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="2559.5" y="-1817.8" 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="M2007.1,-1783.4C2105.9,-1772.6 2274.1,-1761 2416,-1785.5 2440.7,-1789.8 2466.9,-1797.9 2489.9,-1806.4"/>
<polygon fill="#000000" stroke="#000000" points="2488.7072,-1809.6906 2499.3,-1809.9 2491.1498,-1803.1305 2488.7072,-1809.6906"/>
</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="1679,-1766 1484,-1766 1484,-1713 1679,-1713 1679,-1766"/>
<text text-anchor="middle" x="1581.5" y="-1750.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#31</text>
<text text-anchor="middle" x="1581.5" y="-1735.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard note</text>
<text text-anchor="middle" x="1581.5" y="-1720.8" 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="M1327.4,-1739.5C1371.9,-1739.5 1426.5,-1739.5 1473.6,-1739.5"/>
<polygon fill="#000000" stroke="#000000" points="1473.9,-1743.0001 1483.9,-1739.5 1473.9,-1736.0001 1473.9,-1743.0001"/>
</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="M2009.2,-1429.3C2032.4,-1438 2056.3,-1450 2075,-1466.5 2176.5,-1556.1 2232.4,-1713.7 2253.5,-1784.8"/>
<polygon fill="#000000" stroke="#000000" points="2250.2299,-1786.0872 2256.4,-1794.7 2256.9476,-1784.1193 2250.2299,-1786.0872"/>
</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="2346,-1435 2181,-1435 2181,-1382 2346,-1382 2346,-1435"/>
<text text-anchor="middle" x="2263.5" y="-1419.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="2263.5" y="-1404.8" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="2263.5" y="-1389.8" 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="M2009.4,-1408.5C2058.7,-1408.5 2120.4,-1408.5 2170.6,-1408.5"/>
<polygon fill="#000000" stroke="#000000" points="2170.8,-1412.0001 2180.8,-1408.5 2170.8,-1405.0001 2170.8,-1412.0001"/>
</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="2028.5,-1529 1816.5,-1529 1816.5,-1476 2028.5,-1476 2028.5,-1529"/>
<text text-anchor="middle" x="1922.5" y="-1513.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#32</text>
<text text-anchor="middle" x="1922.5" y="-1498.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note encryption</text>
<text text-anchor="middle" x="1922.5" y="-1483.8" 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="M1645.5,-1713C1673.6,-1700.2 1706.4,-1683.7 1734,-1665.5 1792.7,-1626.8 1852.8,-1571.6 1888.9,-1536.4"/>
<polygon fill="#000000" stroke="#000000" points="1891.5381,-1538.7141 1896.2,-1529.2 1886.6226,-1533.7303 1891.5381,-1538.7141"/>
</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="2035.5,-2082 1809.5,-2082 1809.5,-2029 2035.5,-2029 2035.5,-2082"/>
<text text-anchor="middle" x="1922.5" y="-2066.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="1922.5" y="-2051.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="1922.5" y="-2036.8" 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="M1653,-1766.1C1680,-1778.1 1710,-1794.1 1734,-1813.5 1808.6,-1873.9 1871.6,-1969.1 1902.3,-2020.3"/>
<polygon fill="#000000" stroke="#000000" points="1899.3652,-2022.212 1907.5,-2029 1905.3738,-2018.6207 1899.3652,-2022.212"/>
</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="2653.5,-1307 2465.5,-1307 2465.5,-1254 2653.5,-1254 2653.5,-1307"/>
<text text-anchor="middle" x="2559.5" y="-1291.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="2559.5" y="-1276.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="2559.5" y="-1261.8" 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="M2346.2,-1394.3C2369.3,-1388.9 2394.1,-1381.8 2416,-1372.5 2452.3,-1357.1 2489.7,-1332.8 2517.2,-1313.1"/>
<polygon fill="#000000" stroke="#000000" points="2519.3965,-1315.8298 2525.4,-1307.1 2515.2629,-1310.1805 2519.3965,-1315.8298"/>
</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="M2018.8,-1475.9C2066.6,-1462.8 2123.9,-1447 2171.1,-1434"/>
<polygon fill="#000000" stroke="#000000" points="2172.33,-1437.2895 2181,-1431.2 2170.4249,-1430.5537 2172.33,-1437.2895"/>
</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="2906.5,-1359.5 2714.5,-1359.5 2714.5,-1291.5 2906.5,-1291.5 2906.5,-1359.5"/>
<text text-anchor="middle" x="2810.5" y="-1344.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="2810.5" y="-1329.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2810.5" y="-1314.3" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="2810.5" y="-1299.3" 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="M2028.8,-1495.1C2129.3,-1486.8 2284,-1470.9 2416,-1443.5 2515.3,-1422.9 2625.8,-1388.8 2704.5,-1362.6"/>
<polygon fill="#000000" stroke="#000000" points="2706.02,-1365.7827 2714.4,-1359.3 2703.8063,-1359.1419 2706.02,-1365.7827"/>
</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="2349.5,-2097 2177.5,-2097 2177.5,-2014 2349.5,-2014 2349.5,-2097"/>
<text text-anchor="middle" x="2263.5" y="-2081.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="2263.5" y="-2066.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2263.5" y="-2051.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="2263.5" y="-2036.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="2263.5" y="-2021.8" 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="M2035.6,-2055.5C2078.2,-2055.5 2126.2,-2055.5 2167.2,-2055.5"/>
<polygon fill="#000000" stroke="#000000" points="2167.5,-2059.0001 2177.5,-2055.5 2167.5,-2052.0001 2167.5,-2059.0001"/>
</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="2915,-1107.5 2706,-1107.5 2706,-1039.5 2915,-1039.5 2915,-1107.5"/>
<text text-anchor="middle" x="2810.5" y="-1092.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="2810.5" y="-1077.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2810.5" y="-1062.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="2810.5" y="-1047.3" 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="M2651,-1253.9C2656.6,-1251.1 2662,-1247.9 2667,-1244.5 2716.9,-1210.5 2759.2,-1154.6 2784.7,-1116"/>
<polygon fill="#000000" stroke="#000000" points="2787.6365,-1117.9045 2790.1,-1107.6 2781.7482,-1114.1191 2787.6365,-1117.9045"/>
</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,-1807.5 255.5,-1807.5 255.5,-1709.5 452.5,-1709.5 452.5,-1807.5"/>
<text text-anchor="middle" x="354" y="-1792.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4883</text>
<text text-anchor="middle" x="354" y="-1777.3" font-family="Times,serif" font-size="14.00" fill="#000000">Find optimized addition</text>
<text text-anchor="middle" x="354" y="-1762.3" font-family="Times,serif" font-size="14.00" fill="#000000">chains for the Pasta</text>
<text text-anchor="middle" x="354" y="-1747.3" font-family="Times,serif" font-size="14.00" fill="#000000">fields (x^{1/α} used in</text>
<text text-anchor="middle" x="354" y="-1732.3" 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="-1717.3" 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="691.5,-1839.5 509.5,-1839.5 509.5,-1771.5 691.5,-1771.5 691.5,-1839.5"/>
<text text-anchor="middle" x="600.5" y="-1824.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#72</text>
<text text-anchor="middle" x="600.5" y="-1809.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement table&#45;based</text>
<text text-anchor="middle" x="600.5" y="-1794.3" font-family="Times,serif" font-size="14.00" fill="#000000">variant of Sarkar&#39;s</text>
<text text-anchor="middle" x="600.5" y="-1779.3" 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.84,-1777.3C468.11,-1780.3 483.91,-1783.3 499.23,-1786.2"/>
<polygon fill="#000000" stroke="#000000" points="498.7421,-1789.6699 509.22,-1788.1 500.0501,-1782.7931 498.7421,-1789.6699"/>
</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="975,-1847 824,-1847 824,-1764 975,-1764 975,-1847"/>
<text text-anchor="middle" x="899.5" y="-1831.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4710</text>
<text text-anchor="middle" x="899.5" y="-1816.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard]</text>
<text text-anchor="middle" x="899.5" y="-1801.8" font-family="Times,serif" font-size="14.00" fill="#000000">Specify/implement</text>
<text text-anchor="middle" x="899.5" y="-1786.8" font-family="Times,serif" font-size="14.00" fill="#000000">GroupHash into</text>
<text text-anchor="middle" x="899.5" y="-1771.8" 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="M691.83,-1805.5C730.62,-1805.5 775.59,-1805.5 813.74,-1805.5"/>
<polygon fill="#000000" stroke="#000000" points="813.8,-1809.0001 823.8,-1805.5 813.8,-1802.0001 813.8,-1809.0001"/>
</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="M975.34,-1816.8C1002.4,-1824.1 1031.3,-1836.3 1052,-1856.5 1085.5,-1889.2 1049.7,-1928.6 1088,-1955.5 1146.8,-1996.7 1666.6,-1965.2 1734,-1940.5 1797.9,-1917.1 1857.4,-1863.6 1891.9,-1828.3"/>
<polygon fill="#000000" stroke="#000000" points="1894.4744,-1830.6716 1898.8,-1821 1889.3872,-1825.8632 1894.4744,-1830.6716"/>
</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="M975.18,-1790.9C1025,-1781.2 1090.6,-1768.5 1144.1,-1758.2"/>
<polygon fill="#000000" stroke="#000000" points="1144.749,-1761.6394 1153.9,-1756.3 1143.4166,-1754.7674 1144.749,-1761.6394"/>
</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="1339,-1876 1142,-1876 1142,-1823 1339,-1823 1339,-1876"/>
<text text-anchor="middle" x="1240.5" y="-1860.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#66</text>
<text text-anchor="middle" x="1240.5" y="-1845.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor proofs to not</text>
<text text-anchor="middle" x="1240.5" y="-1830.8" 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="1670,-1932 1493,-1932 1493,-1879 1670,-1879 1670,-1932"/>
<text text-anchor="middle" x="1581.5" y="-1916.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4714</text>
<text text-anchor="middle" x="1581.5" y="-1901.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Encoding of</text>
<text text-anchor="middle" x="1581.5" y="-1886.8" 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="M1339.1,-1865.7C1384.3,-1873.1 1437.7,-1881.9 1482.9,-1889.3"/>
<polygon fill="#000000" stroke="#000000" points="1482.5577,-1892.7915 1493,-1891 1483.7197,-1885.8886 1482.5577,-1892.7915"/>
</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="1656,-1860.5 1507,-1860.5 1507,-1822.5 1656,-1822.5 1656,-1860.5"/>
<text text-anchor="middle" x="1581.5" y="-1845.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#67</text>
<text text-anchor="middle" x="1581.5" y="-1830.3" 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="M1339.1,-1847.2C1389.1,-1846 1449.1,-1844.6 1496.9,-1843.5"/>
<polygon fill="#000000" stroke="#000000" points="1497.0095,-1846.9984 1506.9,-1843.2 1496.7995,-1840.0015 1497.0095,-1846.9984"/>
</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="1677,-669 1486,-669 1486,-616 1677,-616 1677,-669"/>
<text text-anchor="middle" x="1581.5" y="-653.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#74</text>
<text text-anchor="middle" x="1581.5" y="-638.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement plumbing for</text>
<text text-anchor="middle" x="1581.5" y="-623.8" 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="M1333.5,-1823C1356.8,-1811.8 1379,-1796.2 1393,-1774.5 1459.1,-1672.1 1351.8,-772.79 1429,-678.5 1441.1,-663.71 1458.1,-654.33 1476.3,-648.5"/>
<polygon fill="#000000" stroke="#000000" points="1477.2446,-651.8702 1485.9,-645.76 1475.3234,-645.139 1477.2446,-651.8702"/>
</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="M1670.4,-1886.8C1691.4,-1881.8 1713.6,-1875.9 1734,-1869.5 1774.1,-1856.9 1817.8,-1839.7 1853,-1825"/>
<polygon fill="#000000" stroke="#000000" points="1854.3591,-1828.2254 1862.2,-1821.1 1851.627,-1821.7806 1854.3591,-1828.2254"/>
</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="2012,-513 1833,-513 1833,-460 2012,-460 2012,-513"/>
<text text-anchor="middle" x="1922.5" y="-497.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="1922.5" y="-482.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="1922.5" y="-467.8" 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="M1677,-625.14C1696.3,-620.21 1716.1,-614.06 1734,-606.5 1787.8,-583.81 1843.4,-546.34 1880.2,-519.31"/>
<polygon fill="#000000" stroke="#000000" points="1882.7435,-521.7819 1888.7,-513.02 1878.5796,-516.155 1882.7435,-521.7819"/>
</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="2368.5,-513 2158.5,-513 2158.5,-460 2368.5,-460 2368.5,-513"/>
<text text-anchor="middle" x="2263.5" y="-497.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="2263.5" y="-482.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="2263.5" y="-467.8" 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="M2012.1,-486.5C2053.7,-486.5 2103.8,-486.5 2148.2,-486.5"/>
<polygon fill="#000000" stroke="#000000" points="2148.5,-490.0001 2158.5,-486.5 2148.5,-483.0001 2148.5,-490.0001"/>
</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="1658.5,-1600 1504.5,-1600 1504.5,-1547 1658.5,-1547 1658.5,-1600"/>
<text text-anchor="middle" x="1581.5" y="-1584.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4711</text>
<text text-anchor="middle" x="1581.5" y="-1569.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Shielded</text>
<text text-anchor="middle" x="1581.5" y="-1554.8" 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="M1658.6,-1583.2C1683.7,-1588.6 1711,-1596.8 1734,-1609.5 1802.9,-1647.5 1864.1,-1717.6 1897,-1759.8"/>
<polygon fill="#000000" stroke="#000000" points="1894.3078,-1762.0398 1903.2,-1767.8 1899.8407,-1757.7518 1894.3078,-1762.0398"/>
</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="M1658.6,-1568.4C1684.7,-1563.5 1712.6,-1554.3 1734,-1537.5 1761.8,-1515.6 1743.7,-1490.2 1770,-1466.5 1786,-1452.1 1805.9,-1441.2 1826.1,-1432.9"/>
<polygon fill="#000000" stroke="#000000" points="1827.6151,-1436.0636 1835.6,-1429.1 1825.0153,-1429.5643 1827.6151,-1436.0636"/>
</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="1686,-1656.5 1477,-1656.5 1477,-1618.5 1686,-1618.5 1686,-1656.5"/>
<text text-anchor="middle" x="1581.5" y="-1641.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4712</text>
<text text-anchor="middle" x="1581.5" y="-1626.3" 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="M1686,-1654.7C1702.4,-1659 1718.9,-1664.2 1734,-1670.5 1789.2,-1693.7 1845.7,-1733.4 1882.3,-1761.7"/>
<polygon fill="#000000" stroke="#000000" points="1880.1725,-1764.4795 1890.2,-1767.9 1884.4942,-1758.9728 1880.1725,-1764.4795"/>
</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="M1686.1,-1622.3C1702.4,-1618.6 1718.8,-1614 1734,-1608.5 1784.9,-1589.9 1838.4,-1558.6 1875.3,-1534.8"/>
<polygon fill="#000000" stroke="#000000" points="1877.4299,-1537.5898 1883.9,-1529.2 1873.6101,-1531.7238 1877.4299,-1537.5898"/>
</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="1674,-2113 1489,-2113 1489,-2060 1674,-2060 1674,-2113"/>
<text text-anchor="middle" x="1581.5" y="-2097.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4713</text>
<text text-anchor="middle" x="1581.5" y="-2082.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Commitment</text>
<text text-anchor="middle" x="1581.5" y="-2067.8" 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="M1674.1,-2075.6C1695,-2070.2 1716.2,-2062.3 1734,-2050.5 1778,-2021.4 1861.3,-1893.1 1900.8,-1829.9"/>
<polygon fill="#000000" stroke="#000000" points="1903.968,-1831.435 1906.3,-1821.1 1898.032,-1827.725 1903.968,-1831.435"/>
</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="M1674.2,-2078.1C1712.8,-2074.6 1758,-2070.5 1799.3,-2066.7"/>
<polygon fill="#000000" stroke="#000000" points="1799.7501,-2070.1738 1809.4,-2065.8 1799.1288,-2063.2015 1799.7501,-2070.1738"/>
</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="M2332.3,-2013.9C2359,-1997.1 2389.4,-1977.1 2416,-1957.5 2453.6,-1929.7 2494.2,-1895.1 2522.5,-1870"/>
<polygon fill="#000000" stroke="#000000" points="2525.0213,-1872.4429 2530.2,-1863.2 2520.3876,-1867.196 2525.0213,-1872.4429"/>
</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="2659.5,-2153 2459.5,-2153 2459.5,-2100 2659.5,-2100 2659.5,-2153"/>
<text text-anchor="middle" x="2559.5" y="-2137.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="2559.5" y="-2122.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="2559.5" y="-2107.8" 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="M2349.5,-2076.1C2380.7,-2083.6 2416.3,-2092.2 2449.3,-2100.1"/>
<polygon fill="#000000" stroke="#000000" points="2448.8617,-2103.5932 2459.4,-2102.5 2450.4801,-2096.7829 2448.8617,-2103.5932"/>
</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="1672.5,-1315.5 1490.5,-1315.5 1490.5,-1247.5 1672.5,-1247.5 1672.5,-1315.5"/>
<text text-anchor="middle" x="1581.5" y="-1300.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4716</text>
<text text-anchor="middle" x="1581.5" y="-1285.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1581.5" y="-1270.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format and</text>
<text text-anchor="middle" x="1581.5" y="-1255.3" 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="M1672.6,-1289.8C1695.5,-1296.1 1718.1,-1306.8 1734,-1324.5 1798.1,-1395.9 1736.9,-1447.4 1770,-1537.5 1801.3,-1623 1861.4,-1712 1896,-1759.6"/>
<polygon fill="#000000" stroke="#000000" points="1893.2352,-1761.7477 1902,-1767.7 1898.8601,-1757.5811 1893.2352,-1761.7477"/>
</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="2017,-1309.5 1828,-1309.5 1828,-1241.5 2017,-1241.5 2017,-1309.5"/>
<text text-anchor="middle" x="1922.5" y="-1294.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#34</text>
<text text-anchor="middle" x="1922.5" y="-1279.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add parsing and</text>
<text text-anchor="middle" x="1922.5" y="-1264.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization support for</text>
<text text-anchor="middle" x="1922.5" y="-1249.3" 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="M1672.9,-1279.9C1717.5,-1279.1 1771.5,-1278.2 1817.8,-1277.3"/>
<polygon fill="#000000" stroke="#000000" points="1817.9352,-1280.7989 1827.9,-1277.2 1817.8658,-1273.7993 1817.9352,-1280.7989"/>
</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" points="2341,-1262.5 2186,-1262.5 2186,-1194.5 2341,-1194.5 2341,-1262.5"/>
<text text-anchor="middle" x="2263.5" y="-1247.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5022</text>
<text text-anchor="middle" x="2263.5" y="-1232.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2263.5" y="-1217.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format</text>
<text text-anchor="middle" x="2263.5" y="-1202.3" 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="M2017,-1262.5C2066.6,-1255.6 2127,-1247.3 2175.6,-1240.6"/>
<polygon fill="#000000" stroke="#000000" points="2176.3688,-1244.0274 2185.8,-1239.2 2175.4169,-1237.0924 2176.3688,-1244.0274"/>
</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" points="2357.5,-1364 2169.5,-1364 2169.5,-1281 2357.5,-1281 2357.5,-1364"/>
<text text-anchor="middle" x="2263.5" y="-1348.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#350</text>
<text text-anchor="middle" x="2263.5" y="-1333.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2263.5" y="-1318.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format &amp;</text>
<text text-anchor="middle" x="2263.5" y="-1303.8" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes in</text>
<text text-anchor="middle" x="2263.5" y="-1288.8" 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="M2017,-1288.5C2061.2,-1294.6 2113.9,-1301.9 2159.2,-1308.1"/>
<polygon fill="#000000" stroke="#000000" points="2159.0169,-1311.6076 2169.4,-1309.5 2159.9688,-1304.6726 2159.0169,-1311.6076"/>
</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="M2341,-1234.6C2368,-1240.4 2396.3,-1251.3 2416,-1271.5 2491,-1348.5 2540.3,-1686.7 2555,-1799.6"/>
<polygon fill="#000000" stroke="#000000" points="2551.5637,-1800.3228 2556.3,-1809.8 2558.5075,-1799.4377 2551.5637,-1800.3228"/>
</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="M2341.3,-1242.2C2376.2,-1248.3 2417.9,-1255.6 2455.4,-1262.2"/>
<polygon fill="#000000" stroke="#000000" points="2454.9381,-1265.673 2465.4,-1264 2456.1782,-1258.7837 2454.9381,-1265.673"/>
</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="974.5,-1109 824.5,-1109 824.5,-1056 974.5,-1056 974.5,-1109"/>
<text text-anchor="middle" x="899.5" y="-1093.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4708</text>
<text text-anchor="middle" x="899.5" y="-1078.8" font-family="Times,serif" font-size="14.00" fill="#000000">Specify Poseidon</text>
<text text-anchor="middle" x="899.5" y="-1063.8" 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="M922.65,-1109.1C956.24,-1149.2 1018.2,-1228.6 1052,-1306.5 1081,-1373.4 1041.1,-1410.7 1088,-1466.5 1182.5,-1578.9 1285.6,-1493.3 1393,-1593.5 1419.2,-1617.9 1399.8,-1644.8 1429,-1665.5 1540.5,-1744.4 1603,-1664.8 1734,-1703.5 1781.7,-1717.6 1832.3,-1742.6 1869,-1762.9"/>
<polygon fill="#000000" stroke="#000000" points="1867.6504,-1766.1519 1878.1,-1767.9 1871.0212,-1760.017 1867.6504,-1766.1519"/>
</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="1322,-1656 1159,-1656 1159,-1603 1322,-1603 1322,-1656"/>
<text text-anchor="middle" x="1240.5" y="-1640.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#37</text>
<text text-anchor="middle" x="1240.5" y="-1625.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon</text>
<text text-anchor="middle" x="1240.5" y="-1610.8" 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="M923.9,-1109.1C958.78,-1148.7 1022,-1227.3 1052,-1306.5 1074.4,-1365.6 1046.5,-1540.9 1088,-1588.5 1103.6,-1606.4 1126.1,-1616.9 1149.1,-1622.9"/>
<polygon fill="#000000" stroke="#000000" points="1148.3648,-1626.3225 1158.9,-1625.2 1149.9643,-1619.5077 1148.3648,-1626.3225"/>
</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="1349,-915.5 1132,-915.5 1132,-877.5 1349,-877.5 1349,-915.5"/>
<text text-anchor="middle" x="1240.5" y="-900.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#45</text>
<text text-anchor="middle" x="1240.5" y="-885.3" 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="M922.73,-1055.8C955.68,-1019.9 1019.6,-956.67 1088,-924.5 1098.7,-919.49 1110.1,-915.37 1121.8,-911.99"/>
<polygon fill="#000000" stroke="#000000" points="1122.9564,-915.3033 1131.7,-909.32 1121.1336,-908.5447 1122.9564,-915.3033"/>
</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="1393,-987 1088,-987 1088,-934 1393,-934 1393,-987"/>
<text text-anchor="middle" x="1240.5" y="-971.8" 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="1240.5" y="-956.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon test</text>
<text text-anchor="middle" x="1240.5" y="-941.8" 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="M950.39,-1056C987.71,-1037.4 1040,-1012.9 1088,-996.5 1094.7,-994.2 1101.7,-991.99 1108.7,-989.88"/>
<polygon fill="#000000" stroke="#000000" points="1109.7688,-993.2144 1118.4,-987.07 1107.821,-986.4908 1109.7688,-993.2144"/>
</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="M1308.5,-1656C1344.1,-1669.5 1388.6,-1685.7 1429,-1698.5 1443.5,-1703.1 1458.8,-1707.6 1474,-1711.9"/>
<polygon fill="#000000" stroke="#000000" points="1473.3314,-1715.3454 1483.9,-1714.6 1475.1733,-1708.5921 1473.3314,-1715.3454"/>
</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="M1349.1,-899.61C1365.5,-904.54 1381,-912.37 1393,-924.5 1457.9,-989.83 1362.3,-1065.1 1429,-1128.5 1528,-1222.6 1634.5,-1072.9 1734,-1166.5 1797.5,-1226.3 1712.3,-1294 1770,-1359.5 1784.7,-1376.1 1805,-1387.2 1826,-1394.5"/>
<polygon fill="#000000" stroke="#000000" points="1825.21,-1397.921 1835.8,-1397.6 1827.3213,-1391.2469 1825.21,-1397.921"/>
</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="1662,-598 1501,-598 1501,-515 1662,-515 1662,-598"/>
<text text-anchor="middle" x="1581.5" y="-582.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="1581.5" y="-567.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="1581.5" y="-552.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="1581.5" y="-537.8" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="1581.5" y="-522.8" 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="M1306.8,-877.46C1337.6,-865.24 1372.1,-846.15 1393,-817.5 1449.1,-740.68 1366.9,-678.55 1429,-606.5 1445,-587.95 1468,-576.25 1491.3,-568.87"/>
<polygon fill="#000000" stroke="#000000" points="1492.2859,-572.2283 1500.9,-566.06 1490.3194,-565.5102 1492.2859,-572.2283"/>
</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="2075,-733 1770,-733 1770,-680 2075,-680 2075,-733"/>
<text text-anchor="middle" x="1922.5" y="-717.8" 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="1922.5" y="-702.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1922.5" y="-687.8" 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="M1381.9,-933.98C1385.8,-931.11 1389.5,-927.96 1393,-924.5 1442.1,-875.43 1377.3,-818.85 1429,-772.5 1479.8,-726.9 1666.3,-743.74 1734,-734.5 1742.5,-733.35 1751.1,-732.14 1759.9,-730.9"/>
<polygon fill="#000000" stroke="#000000" points="1760.3886,-734.3658 1769.8,-729.5 1759.4084,-727.4348 1760.3886,-734.3658"/>
</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="2416,-733 2111,-733 2111,-680 2416,-680 2416,-733"/>
<text text-anchor="middle" x="2263.5" y="-717.8" 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="2263.5" y="-702.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2263.5" y="-687.8" 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="M2075,-706.5C2083.6,-706.5 2092.2,-706.5 2100.8,-706.5"/>
<polygon fill="#000000" stroke="#000000" points="2100.8,-710.0001 2110.8,-706.5 2100.8,-703.0001 2100.8,-710.0001"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node62" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2653.5,-850.5 2465.5,-850.5 2465.5,-782.5 2653.5,-782.5 2653.5,-850.5"/>
<text text-anchor="middle" x="2559.5" y="-835.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="2559.5" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="2559.5" y="-805.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="2559.5" y="-790.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge98" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2387.4,-733.04C2397.2,-735.95 2406.8,-739.11 2416,-742.5 2441.8,-752.02 2468.8,-765.09 2492.4,-777.6"/>
<polygon fill="#000000" stroke="#000000" points="2490.8313,-780.7301 2501.3,-782.36 2494.1326,-774.5575 2490.8313,-780.7301"/>
</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="1318,-1947 1163,-1947 1163,-1894 1318,-1894 1318,-1947"/>
<text text-anchor="middle" x="1240.5" y="-1931.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#144</text>
<text text-anchor="middle" x="1240.5" y="-1916.8" font-family="Times,serif" font-size="14.00" fill="#000000">book: Specify proof</text>
<text text-anchor="middle" x="1240.5" y="-1901.8" 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="M1318.3,-1917.1C1367,-1914.9 1430.3,-1912.2 1482.6,-1909.9"/>
<polygon fill="#000000" stroke="#000000" points="1483.0815,-1913.3808 1492.9,-1909.4 1482.742,-1906.3891 1483.0815,-1913.3808"/>
</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="1656.5,-2042 1506.5,-2042 1506.5,-1989 1656.5,-1989 1656.5,-2042"/>
<text text-anchor="middle" x="1581.5" y="-2026.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4709</text>
<text text-anchor="middle" x="1581.5" y="-2011.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1581.5" y="-1996.8" 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="M1656.5,-2003.2C1682.2,-1997 1710.3,-1987.8 1734,-1974.5 1801.1,-1936.7 1862.3,-1869.7 1895.8,-1828.9"/>
<polygon fill="#000000" stroke="#000000" points="1898.5394,-1831.0786 1902.1,-1821.1 1893.0938,-1826.6802 1898.5394,-1831.0786"/>
</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="702,-1124 499,-1124 499,-1041 702,-1041 702,-1124"/>
<text text-anchor="middle" x="600.5" y="-1108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#454</text>
<text text-anchor="middle" x="600.5" y="-1093.8" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon: copy parameter</text>
<text text-anchor="middle" x="600.5" y="-1078.8" font-family="Times,serif" font-size="14.00" fill="#000000">generation script to</text>
<text text-anchor="middle" x="600.5" y="-1063.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/pasta and settle on</text>
<text text-anchor="middle" x="600.5" y="-1048.8" 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="M702.14,-1082.5C738.51,-1082.5 779.1,-1082.5 813.96,-1082.5"/>
<polygon fill="#000000" stroke="#000000" points="814.11,-1086.0001 824.11,-1082.5 814.11,-1079.0001 814.11,-1086.0001"/>
</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="2651,-1094 2468,-1094 2468,-1041 2651,-1041 2651,-1094"/>
<text text-anchor="middle" x="2559.5" y="-1078.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="2559.5" y="-1063.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="2559.5" y="-1048.8" 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="M2651.2,-1069.7C2665.6,-1070 2680.7,-1070.4 2695.6,-1070.8"/>
<polygon fill="#000000" stroke="#000000" points="2695.8339,-1074.3051 2705.9,-1071 2695.9699,-1067.3064 2695.8339,-1074.3051"/>
</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="M2651.2,-1092.3C2656.8,-1095.3 2662.1,-1098.7 2667,-1102.5 2728.5,-1149.9 2771.2,-1231.6 2793.2,-1281.9"/>
<polygon fill="#000000" stroke="#000000" points="2790.0336,-1283.3966 2797.2,-1291.2 2796.464,-1280.6307 2790.0336,-1283.3966"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node55" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2911.5,-1016.5 2709.5,-1016.5 2709.5,-948.5 2911.5,-948.5 2911.5,-1016.5"/>
<text text-anchor="middle" x="2810.5" y="-1001.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="2810.5" y="-986.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="2810.5" y="-971.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="2810.5" y="-956.3" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge66" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2639.1,-1040.9C2648.5,-1037.7 2658,-1034.6 2667,-1031.5 2678.1,-1027.7 2689.7,-1023.8 2701.2,-1019.9"/>
<polygon fill="#000000" stroke="#000000" points="2702.5602,-1023.1343 2710.9,-1016.6 2700.3056,-1016.5073 2702.5602,-1023.1343"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node56" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3173,-995.5 2954,-995.5 2954,-957.5 3173,-957.5 3173,-995.5"/>
<text text-anchor="middle" x="3063.5" y="-980.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="3063.5" y="-965.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge67" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2911.6,-980.1C2922.1,-979.85 2932.9,-979.6 2943.6,-979.34"/>
<polygon fill="#000000" stroke="#000000" points="2943.9843,-982.8321 2953.9,-979.1 2943.8211,-975.834 2943.9843,-982.8321"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node57" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3157,-939 2970,-939 2970,-886 3157,-886 3157,-939"/>
<text text-anchor="middle" x="3063.5" y="-923.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="3063.5" y="-908.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="3063.5" y="-893.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge68" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M2911.6,-954.53C2927.5,-950.12 2944.1,-945.55 2960.1,-941.12"/>
<polygon fill="#000000" stroke="#000000" points="2961.2959,-944.4207 2970,-938.38 2959.4287,-937.6743 2961.2959,-944.4207"/>
</g>
<!-- zcash/zcash#5185 -->
<g id="node58" class="node">
<title>zcash/zcash#5185</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/zcash/issues/5185" xlink:title="zcash/zcash#5185&#10;Add support for funding&#10;z_sendmany from a UA&#10;account" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3158,-867.5 2969,-867.5 2969,-799.5 3158,-799.5 3158,-867.5"/>
<text text-anchor="middle" x="3063.5" y="-852.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5185</text>
<text text-anchor="middle" x="3063.5" y="-837.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for funding</text>
<text text-anchor="middle" x="3063.5" y="-822.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_sendmany from a UA</text>
<text text-anchor="middle" x="3063.5" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">account</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5185 -->
<g id="edge69" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M2850.6,-948.39C2878.4,-925.95 2916.9,-897.04 2954,-876.5 2956.7,-874.99 2959.5,-873.51 2962.4,-872.06"/>
<polygon fill="#000000" stroke="#000000" points="2964.1813,-875.084 2971.6,-867.52 2961.0836,-868.8067 2964.1813,-875.084"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node59" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3157.5,-1138 2969.5,-1138 2969.5,-1085 3157.5,-1085 3157.5,-1138"/>
<text text-anchor="middle" x="3063.5" y="-1122.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="3063.5" y="-1107.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="3063.5" y="-1092.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge70" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M2896.9,-1016.5C2904.3,-1020.8 2911.5,-1025.4 2918,-1030.5 2938.3,-1046.2 2933,-1060.9 2954,-1075.5 2956.2,-1077 2958.4,-1078.4 2960.7,-1079.8"/>
<polygon fill="#000000" stroke="#000000" points="2959.2742,-1083.0149 2969.7,-1084.9 2962.7253,-1076.9247 2959.2742,-1083.0149"/>
</g>
<!-- zcash/zcash#5183 -->
<g id="node60" class="node">
<title>zcash/zcash#5183</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/zcash/issues/5183" xlink:title="zcash/zcash#5183&#10;New RPC:&#10;z_getbalanceforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3157.5,-1067 2969.5,-1067 2969.5,-1014 3157.5,-1014 3157.5,-1067"/>
<text text-anchor="middle" x="3063.5" y="-1051.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5183</text>
<text text-anchor="middle" x="3063.5" y="-1036.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="3063.5" y="-1021.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5183 -->
<g id="edge71" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5183</title>
<path fill="none" stroke="#000000" d="M2911.6,-1005.7C2927.3,-1009.3 2943.6,-1013 2959.4,-1016.6"/>
<polygon fill="#000000" stroke="#000000" points="2958.5623,-1019.9983 2969.1,-1018.9 2960.1773,-1013.1872 2958.5623,-1019.9983"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node61" class="node">
<title>zcash/orchard#36</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2360.5,-947.5 2166.5,-947.5 2166.5,-879.5 2360.5,-879.5 2360.5,-947.5"/>
<text text-anchor="middle" x="2263.5" y="-932.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="2263.5" y="-917.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="2263.5" y="-902.3" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="2263.5" y="-887.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge72" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2360.7,-927.68C2380.6,-934.04 2400.2,-943.22 2416,-956.5 2444.3,-980.29 2424.3,-1007 2452,-1031.5 2454.3,-1033.5 2456.7,-1035.4 2459.2,-1037.2"/>
<polygon fill="#000000" stroke="#000000" points="2457.7041,-1040.4011 2468,-1042.9 2461.5096,-1034.5259 2457.7041,-1040.4011"/>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge73" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2360.6,-886.62C2379.1,-881.19 2398.2,-875.35 2416,-869.5 2430.5,-864.74 2445.7,-859.45 2460.6,-854.11"/>
<polygon fill="#000000" stroke="#000000" points="2462.0937,-857.2913 2470.3,-850.59 2459.7059,-850.7112 2462.0937,-857.2913"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node63" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2918,-861.5 2703,-861.5 2703,-793.5 2918,-793.5 2918,-861.5"/>
<text text-anchor="middle" x="2810.5" y="-846.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="2810.5" y="-831.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2810.5" y="-816.3" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="2810.5" y="-801.3" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge74" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M2653.7,-820.63C2666.3,-821.18 2679.4,-821.75 2692.3,-822.32"/>
<polygon fill="#000000" stroke="#000000" points="2692.5551,-825.8346 2702.7,-822.78 2692.8645,-818.8415 2692.5551,-825.8346"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge75" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2842.8,-861.75C2870,-888.75 2911.3,-925.4 2954,-947.5 2958.3,-949.73 2962.8,-951.8 2967.4,-953.71"/>
<polygon fill="#000000" stroke="#000000" points="2966.4113,-957.0807 2977,-957.44 2968.9465,-950.5559 2966.4113,-957.0807"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5182 -->
<g id="edge76" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M2909.6,-861.52C2924.5,-866.57 2939.6,-871.69 2954,-876.5 2960,-878.52 2966.3,-880.6 2972.5,-882.69"/>
<polygon fill="#000000" stroke="#000000" points="2971.8068,-886.147 2982.4,-885.96 2974.0023,-879.5002 2971.8068,-886.147"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5185 -->
<g id="edge77" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5185</title>
<path fill="none" stroke="#000000" d="M2918.2,-830.05C2931.6,-830.37 2945.2,-830.7 2958.6,-831.01"/>
<polygon fill="#000000" stroke="#000000" points="2958.6196,-834.5114 2968.7,-831.25 2958.786,-827.5133 2958.6196,-834.5114"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node64" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3148.5,-710 2978.5,-710 2978.5,-657 3148.5,-657 3148.5,-710"/>
<text text-anchor="middle" x="3063.5" y="-694.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="3063.5" y="-679.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="3063.5" y="-664.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge78" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M2848,-793.34C2875.6,-769.63 2915,-738.78 2954,-718.5 2958.8,-716 2963.8,-713.63 2969,-711.4"/>
<polygon fill="#000000" stroke="#000000" points="2970.4122,-714.6034 2978.3,-707.53 2967.7228,-708.1406 2970.4122,-714.6034"/>
</g>
<!-- zcash/zcash#5184 -->
<g id="node65" class="node">
<title>zcash/zcash#5184</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/zcash/issues/5184" xlink:title="zcash/zcash#5184&#10;Add support for UA&#10;recipients to z_sendmany" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="3163.5,-781 2963.5,-781 2963.5,-728 3163.5,-728 3163.5,-781"/>
<text text-anchor="middle" x="3063.5" y="-765.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5184</text>
<text text-anchor="middle" x="3063.5" y="-750.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for UA</text>
<text text-anchor="middle" x="3063.5" y="-735.8" font-family="Times,serif" font-size="14.00" fill="#000000">recipients to z_sendmany</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5184 -->
<g id="edge79" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5184</title>
<path fill="none" stroke="#000000" d="M2918.2,-796.44C2932.6,-792.27 2947.3,-788.02 2961.7,-783.88"/>
<polygon fill="#000000" stroke="#000000" points="2962.8636,-787.1871 2971.5,-781.05 2960.9215,-780.4619 2962.8636,-787.1871"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node66" class="node">
<title>zcash/orchard#30</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2349.5,-1090 2177.5,-1090 2177.5,-1037 2349.5,-1037 2349.5,-1090"/>
<text text-anchor="middle" x="2263.5" y="-1074.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="2263.5" y="-1059.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="2263.5" y="-1044.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge80" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2349.5,-1064.7C2383.3,-1065.1 2422.4,-1065.6 2457.5,-1066.1"/>
<polygon fill="#000000" stroke="#000000" points="2457.7339,-1069.6051 2467.8,-1066.3 2457.8699,-1062.6064 2457.7339,-1069.6051"/>
</g>
<!-- zcash/zcash#4999 -->
<g id="node67" class="node">
<title>zcash/zcash#4999</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/zcash/pull/4999" xlink:title="zcash/zcash#4999&#10;Bitcoin 0.13 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="205.5,-2323.5 12.5,-2323.5 12.5,-2319.5 8.5,-2319.5 8.5,-2315.5 12.5,-2315.5 12.5,-2293.5 8.5,-2293.5 8.5,-2289.5 12.5,-2289.5 12.5,-2285.5 205.5,-2285.5 205.5,-2323.5"/>
<polyline fill="none" stroke="#000000" points="12.5,-2319.5 16.5,-2319.5 16.5,-2315.5 12.5,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="12.5,-2293.5 16.5,-2293.5 16.5,-2289.5 12.5,-2289.5 "/>
<text text-anchor="middle" x="109" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4999</text>
<text text-anchor="middle" x="109" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.13 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009 -->
<g id="node68" class="node">
<title>zcash/zcash#5009</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/zcash/pull/5009" xlink:title="zcash/zcash#5009&#10;Bitcoin 0.14 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="450.5,-2323.5 257.5,-2323.5 257.5,-2319.5 253.5,-2319.5 253.5,-2315.5 257.5,-2315.5 257.5,-2293.5 253.5,-2293.5 253.5,-2289.5 257.5,-2289.5 257.5,-2285.5 450.5,-2285.5 450.5,-2323.5"/>
<polyline fill="none" stroke="#000000" points="257.5,-2319.5 261.5,-2319.5 261.5,-2315.5 257.5,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="257.5,-2293.5 261.5,-2293.5 261.5,-2289.5 257.5,-2289.5 "/>
<text text-anchor="middle" x="354" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5009</text>
<text text-anchor="middle" x="354" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.14 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4999&#45;&gt;zcash/zcash#5009 -->
<g id="edge81" class="edge">
<title>zcash/zcash#4999&#45;&gt;zcash/zcash#5009</title>
<path fill="none" stroke="#000000" d="M205.83,-2304.5C219.5,-2304.5 233.61,-2304.5 247.45,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="247.47,-2308.0001 257.47,-2304.5 247.47,-2301.0001 247.47,-2308.0001"/>
</g>
<!-- zcash/zcash#5012 -->
<g id="node69" class="node">
<title>zcash/zcash#5012</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/zcash/pull/5012" xlink:title="zcash/zcash#5012&#10;Bitcoin 0.15 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="697,-2323.5 504,-2323.5 504,-2319.5 500,-2319.5 500,-2315.5 504,-2315.5 504,-2293.5 500,-2293.5 500,-2289.5 504,-2289.5 504,-2285.5 697,-2285.5 697,-2323.5"/>
<polyline fill="none" stroke="#000000" points="504,-2319.5 508,-2319.5 508,-2315.5 504,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="504,-2293.5 508,-2293.5 508,-2289.5 504,-2289.5 "/>
<text text-anchor="middle" x="600.5" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5012</text>
<text text-anchor="middle" x="600.5" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.15 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009&#45;&gt;zcash/zcash#5012 -->
<g id="edge82" class="edge">
<title>zcash/zcash#5009&#45;&gt;zcash/zcash#5012</title>
<path fill="none" stroke="#000000" d="M450.72,-2304.5C464.72,-2304.5 479.2,-2304.5 493.39,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="493.66,-2308.0001 503.66,-2304.5 493.66,-2301.0001 493.66,-2308.0001"/>
</g>
<!-- zcash/zcash#5017 -->
<g id="node70" class="node">
<title>zcash/zcash#5017</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/zcash/pull/5017" xlink:title="zcash/zcash#5017&#10;Bitcoin 0.16 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="996,-2323.5 803,-2323.5 803,-2319.5 799,-2319.5 799,-2315.5 803,-2315.5 803,-2293.5 799,-2293.5 799,-2289.5 803,-2289.5 803,-2285.5 996,-2285.5 996,-2323.5"/>
<polyline fill="none" stroke="#000000" points="803,-2319.5 807,-2319.5 807,-2315.5 803,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="803,-2293.5 807,-2293.5 807,-2289.5 803,-2289.5 "/>
<text text-anchor="middle" x="899.5" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5017</text>
<text text-anchor="middle" x="899.5" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.16 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5012&#45;&gt;zcash/zcash#5017 -->
<g id="edge83" class="edge">
<title>zcash/zcash#5012&#45;&gt;zcash/zcash#5017</title>
<path fill="none" stroke="#000000" d="M697.16,-2304.5C727.72,-2304.5 761.67,-2304.5 792.88,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="792.91,-2308.0001 802.91,-2304.5 792.91,-2301.0001 792.91,-2308.0001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node71" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1337,-2323.5 1144,-2323.5 1144,-2319.5 1140,-2319.5 1140,-2315.5 1144,-2315.5 1144,-2293.5 1140,-2293.5 1140,-2289.5 1144,-2289.5 1144,-2285.5 1337,-2285.5 1337,-2323.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1144,-2319.5 1148,-2319.5 1148,-2315.5 1144,-2315.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1144,-2293.5 1148,-2293.5 1148,-2289.5 1144,-2289.5 "/>
<text text-anchor="middle" x="1240.5" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="1240.5" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5017&#45;&gt;zcash/zcash#5034 -->
<g id="edge84" class="edge">
<title>zcash/zcash#5017&#45;&gt;zcash/zcash#5034</title>
<path fill="none" stroke="#000000" d="M996.3,-2304.5C1039.1,-2304.5 1089.7,-2304.5 1133.6,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="1133.7,-2308.0001 1143.7,-2304.5 1133.7,-2301.0001 1133.7,-2308.0001"/>
</g>
<!-- zcash/zcash#5050 -->
<g id="node72" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1678,-2323.5 1485,-2323.5 1485,-2319.5 1481,-2319.5 1481,-2315.5 1485,-2315.5 1485,-2293.5 1481,-2293.5 1481,-2289.5 1485,-2289.5 1485,-2285.5 1678,-2285.5 1678,-2323.5"/>
<polyline fill="none" stroke="#000000" points="1485,-2319.5 1489,-2319.5 1489,-2315.5 1485,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="1485,-2293.5 1489,-2293.5 1489,-2289.5 1485,-2289.5 "/>
<text text-anchor="middle" x="1581.5" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="1581.5" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge85" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M1337.3,-2304.5C1380.1,-2304.5 1430.7,-2304.5 1474.6,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="1474.7,-2308.0001 1484.7,-2304.5 1474.7,-2301.0001 1474.7,-2308.0001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node73" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2019,-2323.5 1826,-2323.5 1826,-2319.5 1822,-2319.5 1822,-2315.5 1826,-2315.5 1826,-2293.5 1822,-2293.5 1822,-2289.5 1826,-2289.5 1826,-2285.5 2019,-2285.5 2019,-2323.5"/>
<polyline fill="none" stroke="#000000" points="1826,-2319.5 1830,-2319.5 1830,-2315.5 1826,-2315.5 "/>
<polyline fill="none" stroke="#000000" points="1826,-2293.5 1830,-2293.5 1830,-2289.5 1826,-2289.5 "/>
<text text-anchor="middle" x="1922.5" y="-2308.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="1922.5" y="-2293.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge86" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M1678.3,-2304.5C1721.1,-2304.5 1771.7,-2304.5 1815.6,-2304.5"/>
<polygon fill="#000000" stroke="#000000" points="1815.7,-2308.0001 1825.7,-2304.5 1815.7,-2301.0001 1815.7,-2308.0001"/>
</g>
<!-- zcash/zcash#4997 -->
<g id="node74" class="node">
<title>zcash/zcash#4997</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/zcash/pull/4997" xlink:title="zcash/zcash#4997&#10;Replace setInventoryKnown&#10;with a rolling bloom&#10;filter" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="218,-2487.5 0,-2487.5 0,-2483.5 -4,-2483.5 -4,-2479.5 0,-2479.5 0,-2427.5 -4,-2427.5 -4,-2423.5 0,-2423.5 0,-2419.5 218,-2419.5 218,-2487.5"/>
<polyline fill="none" stroke="#000000" points="0,-2483.5 4,-2483.5 4,-2479.5 0,-2479.5 "/>
<polyline fill="none" stroke="#000000" points="0,-2427.5 4,-2427.5 4,-2423.5 0,-2423.5 "/>
<text text-anchor="middle" x="109" y="-2472.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4997</text>
<text text-anchor="middle" x="109" y="-2457.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace setInventoryKnown</text>
<text text-anchor="middle" x="109" y="-2442.3" font-family="Times,serif" font-size="14.00" fill="#000000">with a rolling bloom</text>
<text text-anchor="middle" x="109" y="-2427.3" font-family="Times,serif" font-size="14.00" fill="#000000">filter</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534 -->
<g id="node75" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="454,-2480 254,-2480 254,-2476 250,-2476 250,-2472 254,-2472 254,-2435 250,-2435 250,-2431 254,-2431 254,-2427 454,-2427 454,-2480"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2476 258,-2476 258,-2472 254,-2472 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2435 258,-2435 258,-2431 254,-2431 "/>
<text text-anchor="middle" x="354" y="-2464.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="354" y="-2449.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="354" y="-2434.8" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#4997&#45;&gt;zcash/zcash#2534 -->
<g id="edge87" class="edge">
<title>zcash/zcash#4997&#45;&gt;zcash/zcash#2534</title>
<path fill="none" stroke="#000000" d="M218.24,-2453.5C226.68,-2453.5 235.2,-2453.5 243.65,-2453.5"/>
<polygon fill="#000000" stroke="#000000" points="243.9,-2457.0001 253.9,-2453.5 243.9,-2450.0001 243.9,-2457.0001"/>
</g>
<!-- zcash/zcash#5003 -->
<g id="node76" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="706.5,-2536 494.5,-2536 494.5,-2532 490.5,-2532 490.5,-2528 494.5,-2528 494.5,-2491 490.5,-2491 490.5,-2487 494.5,-2487 494.5,-2483 706.5,-2483 706.5,-2536"/>
<polyline fill="none" stroke="#000000" points="494.5,-2532 498.5,-2532 498.5,-2528 494.5,-2528 "/>
<polyline fill="none" stroke="#000000" points="494.5,-2491 498.5,-2491 498.5,-2487 494.5,-2487 "/>
<text text-anchor="middle" x="600.5" y="-2520.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="600.5" y="-2505.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="600.5" y="-2490.8" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge88" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M454.26,-2476.3C464.16,-2478.5 474.26,-2480.8 484.3,-2483.1"/>
<polygon fill="#000000" stroke="#000000" points="483.7802,-2486.5717 494.31,-2485.4 485.3478,-2479.7495 483.7802,-2486.5717"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node77" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node77"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="995,-2432.5 804,-2432.5 804,-2428.5 800,-2428.5 800,-2424.5 804,-2424.5 804,-2372.5 800,-2372.5 800,-2368.5 804,-2368.5 804,-2364.5 995,-2364.5 995,-2432.5"/>
<polyline fill="none" stroke="#000000" points="804,-2428.5 808,-2428.5 808,-2424.5 804,-2424.5 "/>
<polyline fill="none" stroke="#000000" points="804,-2372.5 808,-2372.5 808,-2368.5 804,-2368.5 "/>
<text text-anchor="middle" x="899.5" y="-2417.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="899.5" y="-2402.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="899.5" y="-2387.3" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="899.5" y="-2372.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge89" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M443.41,-2427C458.83,-2423.2 474.79,-2419.8 490,-2417.5 592.3,-2401.8 710.53,-2397.8 793.57,-2397.3"/>
<polygon fill="#000000" stroke="#000000" points="793.8148,-2400.7979 803.78,-2397.2 793.7462,-2393.7982 793.8148,-2400.7979"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node78" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node78"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="986.5,-2534 812.5,-2534 812.5,-2530 808.5,-2530 808.5,-2526 812.5,-2526 812.5,-2459 808.5,-2459 808.5,-2455 812.5,-2455 812.5,-2451 986.5,-2451 986.5,-2534"/>
<polyline fill="none" stroke="#000000" points="812.5,-2530 816.5,-2530 816.5,-2526 812.5,-2526 "/>
<polyline fill="none" stroke="#000000" points="812.5,-2459 816.5,-2459 816.5,-2455 812.5,-2455 "/>
<text text-anchor="middle" x="899.5" y="-2518.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="899.5" y="-2503.8" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="899.5" y="-2488.8" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="899.5" y="-2473.8" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="899.5" y="-2458.8" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge90" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M706.76,-2503.5C737.82,-2501.7 771.62,-2499.8 802.1,-2498"/>
<polygon fill="#000000" stroke="#000000" points="802.4932,-2501.485 812.31,-2497.5 802.1507,-2494.4934 802.4932,-2501.485"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node79" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node79"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1349.5,-2441.5 1131.5,-2441.5 1131.5,-2437.5 1127.5,-2437.5 1127.5,-2433.5 1131.5,-2433.5 1131.5,-2411.5 1127.5,-2411.5 1127.5,-2407.5 1131.5,-2407.5 1131.5,-2403.5 1349.5,-2403.5 1349.5,-2441.5"/>
<polyline fill="none" stroke="#000000" points="1131.5,-2437.5 1135.5,-2437.5 1135.5,-2433.5 1131.5,-2433.5 "/>
<polyline fill="none" stroke="#000000" points="1131.5,-2411.5 1135.5,-2411.5 1135.5,-2407.5 1131.5,-2407.5 "/>
<text text-anchor="middle" x="1240.5" y="-2426.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1240.5" y="-2411.3" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge91" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M995.39,-2405.2C1034.4,-2408 1080,-2411.2 1121.1,-2414.1"/>
<polygon fill="#000000" stroke="#000000" points="1120.9819,-2417.6001 1131.2,-2414.8 1121.466,-2410.6169 1120.9819,-2417.6001"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge92" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M986.87,-2474.6C1032.9,-2465.1 1089.7,-2453.5 1137.9,-2443.6"/>
<polygon fill="#000000" stroke="#000000" points="1138.6018,-2447.029 1147.7,-2441.6 1137.2021,-2440.1704 1138.6018,-2447.029"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node80" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node80"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1676,-2456.5 1487,-2456.5 1487,-2452.5 1483,-2452.5 1483,-2448.5 1487,-2448.5 1487,-2396.5 1483,-2396.5 1483,-2392.5 1487,-2392.5 1487,-2388.5 1676,-2388.5 1676,-2456.5"/>
<polyline fill="none" stroke="#000000" points="1487,-2452.5 1491,-2452.5 1491,-2448.5 1487,-2448.5 "/>
<polyline fill="none" stroke="#000000" points="1487,-2396.5 1491,-2396.5 1491,-2392.5 1487,-2392.5 "/>
<text text-anchor="middle" x="1581.5" y="-2441.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1581.5" y="-2426.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1581.5" y="-2411.3" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1581.5" y="-2396.3" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge93" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1349.8,-2422.5C1390.5,-2422.5 1436.5,-2422.5 1476.8,-2422.5"/>
<polygon fill="#000000" stroke="#000000" points="1476.9,-2426.0001 1486.9,-2422.5 1476.9,-2419.0001 1476.9,-2426.0001"/>
</g>
<!-- zcash/zcash#4996 -->
<g id="node81" class="node">
<title>zcash/zcash#4996</title>
<g id="a_node81"><a xlink:href="https://github.com/zcash/zcash/pull/4996" xlink:title="zcash/zcash#4996&#10;Add &#45;blocksonly option" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="690.5,-2464.5 510.5,-2464.5 510.5,-2460.5 506.5,-2460.5 506.5,-2456.5 510.5,-2456.5 510.5,-2434.5 506.5,-2434.5 506.5,-2430.5 510.5,-2430.5 510.5,-2426.5 690.5,-2426.5 690.5,-2464.5"/>
<polyline fill="none" stroke="#000000" points="510.5,-2460.5 514.5,-2460.5 514.5,-2456.5 510.5,-2456.5 "/>
<polyline fill="none" stroke="#000000" points="510.5,-2434.5 514.5,-2434.5 514.5,-2430.5 510.5,-2430.5 "/>
<text text-anchor="middle" x="600.5" y="-2449.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4996</text>
<text text-anchor="middle" x="600.5" y="-2434.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add &#45;blocksonly option</text>
</a>
</g>
</g>
<!-- zcash/zcash#4996&#45;&gt;zcash/zcash#5004 -->
<g id="edge94" class="edge">
<title>zcash/zcash#4996&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M690.62,-2459.7C725.9,-2465.2 766.46,-2471.6 802.39,-2477.2"/>
<polygon fill="#000000" stroke="#000000" points="801.9626,-2480.6761 812.39,-2478.8 803.0686,-2473.764 801.9626,-2480.6761"/>
</g>
<!-- zcash/zcash#4988 -->
<g id="node82" class="node">
<title>zcash/zcash#4988</title>
<g id="a_node82"><a xlink:href="https://github.com/zcash/zcash/pull/4988" xlink:title="zcash/zcash#4988&#10;Add feature flagging&#10;infrastructure to&#10;consensus parameters." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="200,-70.5 18,-70.5 18,-66.5 14,-66.5 14,-62.5 18,-62.5 18,-10.5 14,-10.5 14,-6.5 18,-6.5 18,-2.5 200,-2.5 200,-70.5"/>
<polyline fill="none" stroke="#000000" points="18,-66.5 22,-66.5 22,-62.5 18,-62.5 "/>
<polyline fill="none" stroke="#000000" points="18,-10.5 22,-10.5 22,-6.5 18,-6.5 "/>
<text text-anchor="middle" x="109" y="-55.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4988</text>
<text text-anchor="middle" x="109" y="-40.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add feature flagging</text>
<text text-anchor="middle" x="109" y="-25.3" font-family="Times,serif" font-size="14.00" fill="#000000">infrastructure to</text>
<text text-anchor="middle" x="109" y="-10.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters.</text>
</a>
</g>
</g>
<!-- zcash/zcash#4988&#45;&gt;zcash/zcash#4190 -->
<g id="edge95" class="edge">
<title>zcash/zcash#4988&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M200.23,-49.905C216.57,-52.306 233.7,-54.823 250.35,-57.27"/>
<polygon fill="#000000" stroke="#000000" points="250.2475,-60.7924 260.65,-58.783 251.2649,-53.8667 250.2475,-60.7924"/>
</g>
<!-- zcash/zcash#3722 -->
<g id="node83" class="node">
<title>zcash/zcash#3722</title>
<g id="a_node83"><a xlink:href="https://github.com/zcash/zcash/issues/3722" xlink:title="zcash/zcash#3722&#10;Decouple consensus&#10;changes from Network&#10;Upgrades in the zcashd&#10;code" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2356.5,-1949 2170.5,-1949 2170.5,-1866 2356.5,-1866 2356.5,-1949"/>
<text text-anchor="middle" x="2263.5" y="-1933.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#3722</text>
<text text-anchor="middle" x="2263.5" y="-1918.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decouple consensus</text>
<text text-anchor="middle" x="2263.5" y="-1903.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes from Network</text>
<text text-anchor="middle" x="2263.5" y="-1888.8" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrades in the zcashd</text>
<text text-anchor="middle" x="2263.5" y="-1873.8" font-family="Times,serif" font-size="14.00" fill="#000000">code</text>
</a>
</g>
</g>
<!-- zcash/zcash#3722&#45;&gt;zcash/zcash#5024 -->
<g id="edge96" class="edge">
<title>zcash/zcash#3722&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2356.7,-1885.1C2392.8,-1876.5 2434,-1866.6 2469.7,-1858"/>
<polygon fill="#000000" stroke="#000000" points="2470.793,-1861.3372 2479.7,-1855.6 2469.1593,-1854.5304 2470.793,-1861.3372"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node84" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node84"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2357.5,-2196 2169.5,-2196 2169.5,-2143 2357.5,-2143 2357.5,-2196"/>
<text text-anchor="middle" x="2263.5" y="-2180.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="2263.5" y="-2165.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="2263.5" y="-2150.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge97" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2357.6,-2155.8C2386.7,-2151.6 2419,-2146.9 2449.2,-2142.5"/>
<polygon fill="#000000" stroke="#000000" points="2449.8753,-2145.9399 2459.3,-2141.1 2448.9141,-2139.0062 2449.8753,-2145.9399"/>
</g>
<!-- zcash/zcash#5056 -->
<g id="node85" class="node">
<title>zcash/zcash#5056</title>
<g id="a_node85"><a xlink:href="https://github.com/zcash/zcash/issues/5056" xlink:title="zcash/zcash#5056&#10;Identify necessary RPC&#10;changes to support&#10;Unified Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2356,-1176.5 2171,-1176.5 2171,-1108.5 2356,-1108.5 2356,-1176.5"/>
<text text-anchor="middle" x="2263.5" y="-1161.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5056</text>
<text text-anchor="middle" x="2263.5" y="-1146.3" font-family="Times,serif" font-size="14.00" fill="#000000">Identify necessary RPC</text>
<text text-anchor="middle" x="2263.5" y="-1131.3" font-family="Times,serif" font-size="14.00" fill="#000000">changes to support</text>
<text text-anchor="middle" x="2263.5" y="-1116.3" font-family="Times,serif" font-size="14.00" fill="#000000">Unified Addresses</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5019 -->
<g id="edge99" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2356.3,-1119C2388.5,-1110.8 2424.8,-1101.6 2457.7,-1093.3"/>
<polygon fill="#000000" stroke="#000000" points="2458.9025,-1096.6038 2467.7,-1090.7 2457.141,-1089.829 2458.9025,-1096.6038"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node86" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node86"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2650.5,-1236 2468.5,-1236 2468.5,-1183 2650.5,-1183 2650.5,-1236"/>
<text text-anchor="middle" x="2559.5" y="-1220.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="2559.5" y="-1205.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="2559.5" y="-1190.8" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5177 -->
<g id="edge100" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5177</title>
<path fill="none" stroke="#000000" d="M2356.3,-1163.5C2388.7,-1170.8 2425.1,-1179.1 2458.1,-1186.6"/>
<polygon fill="#000000" stroke="#000000" points="2457.7868,-1190.1129 2468.3,-1188.8 2459.2627,-1183.2702 2457.7868,-1190.1129"/>
</g>
<!-- zcash/zcash#5186 -->
<g id="node87" class="node">
<title>zcash/zcash#5186</title>
<g id="a_node87"><a xlink:href="https://github.com/zcash/zcash/issues/5186" xlink:title="zcash/zcash#5186&#10;z_viewtransaction: Figure&#10;out how to render UAs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2661,-1165 2458,-1165 2458,-1112 2661,-1112 2661,-1165"/>
<text text-anchor="middle" x="2559.5" y="-1149.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5186</text>
<text text-anchor="middle" x="2559.5" y="-1134.8" font-family="Times,serif" font-size="14.00" fill="#000000">z_viewtransaction: Figure</text>
<text text-anchor="middle" x="2559.5" y="-1119.8" font-family="Times,serif" font-size="14.00" fill="#000000">out how to render UAs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5186 -->
<g id="edge101" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5186</title>
<path fill="none" stroke="#000000" d="M2356.3,-1141.2C2385.4,-1140.9 2417.7,-1140.4 2447.9,-1140"/>
<polygon fill="#000000" stroke="#000000" points="2448.0352,-1143.4989 2458,-1139.9 2447.9658,-1136.4993 2448.0352,-1143.4989"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node88" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node88"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2356,-1019 2171,-1019 2171,-966 2356,-966 2356,-1019"/>
<text text-anchor="middle" x="2263.5" y="-1003.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="2263.5" y="-988.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="2263.5" y="-973.8" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#5019 -->
<g id="edge102" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2356,-1013C2375.8,-1017.6 2396.6,-1022.6 2416,-1027.5 2429.6,-1031 2444,-1034.8 2458.1,-1038.6"/>
<polygon fill="#000000" stroke="#000000" points="2457.2277,-1041.9902 2467.8,-1041.3 2459.1048,-1035.2466 2457.2277,-1041.9902"/>
</g>
<!-- zcash/zcash#2673 -->
<g id="node89" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node89"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2660.5,-936.5 2458.5,-936.5 2458.5,-868.5 2660.5,-868.5 2660.5,-936.5"/>
<text text-anchor="middle" x="2559.5" y="-921.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="2559.5" y="-906.3" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="2559.5" y="-891.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="2559.5" y="-876.3" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge103" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M2356.3,-972.59C2376.2,-967.78 2396.9,-962.33 2416,-956.5 2432,-951.63 2448.7,-945.91 2464.9,-940.05"/>
<polygon fill="#000000" stroke="#000000" points="2466.2078,-943.2985 2474.4,-936.58 2463.8061,-936.7234 2466.2078,-943.2985"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge104" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2660.5,-934.69C2673.3,-938.78 2686.5,-942.97 2699.4,-947.1"/>
<polygon fill="#000000" stroke="#000000" points="2698.7098,-950.5529 2709.3,-950.24 2700.8261,-943.8804 2698.7098,-950.5529"/>
</g>
<!-- zcash/zips#364 -->
<g id="node90" class="node">
<title>zcash/zips#364</title>
<g id="a_node90"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2025,-1019 1820,-1019 1820,-966 2025,-966 2025,-1019"/>
<text text-anchor="middle" x="1922.5" y="-1003.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="1922.5" y="-988.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="1922.5" y="-973.8" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge105" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M2025.3,-992.5C2068.1,-992.5 2117.8,-992.5 2160.6,-992.5"/>
<polygon fill="#000000" stroke="#000000" points="2160.8,-996.0001 2170.8,-992.5 2160.8,-989.0001 2160.8,-996.0001"/>
</g>
<!-- zcash/zips#511 -->
<g id="node91" class="node">
<title>zcash/zips#511</title>
<g id="a_node91"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2667,-1022.5 2452,-1022.5 2452,-954.5 2667,-954.5 2667,-1022.5"/>
<text text-anchor="middle" x="2559.5" y="-1007.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="2559.5" y="-992.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="2559.5" y="-977.3" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="2559.5" y="-962.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge106" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2667,-985.93C2677.6,-985.68 2688.4,-985.42 2699,-985.17"/>
<polygon fill="#000000" stroke="#000000" points="2699.1897,-988.6665 2709.1,-984.92 2699.0164,-981.6686 2699.1897,-988.6665"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="node92" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<g id="a_node92"><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="2075,-1161 1770,-1161 1770,-1108 2075,-1108 2075,-1161"/>
<text text-anchor="middle" x="1922.5" y="-1145.8" 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="1922.5" y="-1130.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 244 test</text>
<text text-anchor="middle" x="1922.5" y="-1115.8" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#45;&gt;zcash/zcash#5022 -->
<g id="edge107" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#45;&gt;zcash/zcash#5022</title>
<path fill="none" stroke="#000000" d="M2043.3,-1161.1C2054.1,-1164 2064.8,-1167.2 2075,-1170.5 2091.5,-1175.8 2094.6,-1179.8 2111,-1185.5 2131.8,-1192.8 2154.6,-1199.7 2176,-1205.8"/>
<polygon fill="#000000" stroke="#000000" points="2175.2295,-1209.2181 2185.8,-1208.5 2177.0889,-1202.4695 2175.2295,-1209.2181"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#45;&gt;zcash/librustzcash#350 -->
<g id="edge108" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#45;&gt;zcash/librustzcash#350</title>
<path fill="none" stroke="#000000" d="M2062.7,-1161.1C2067,-1163.9 2071.1,-1167.1 2075,-1170.5 2110.5,-1202.3 2077,-1238.1 2111,-1271.5 2124.7,-1284.9 2141.9,-1294.8 2159.9,-1302.1"/>
<polygon fill="#000000" stroke="#000000" points="2158.8066,-1305.4271 2169.4,-1305.6 2161.2266,-1298.8587 2158.8066,-1305.4271"/>
</g>
<!-- zcash/zips#475 -->
<g id="node93" class="node">
<title>zcash/zips#475</title>
<g id="a_node93"><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="2013.5,-2224 1831.5,-2224 1831.5,-2171 2013.5,-2171 2013.5,-2224"/>
<text text-anchor="middle" x="1922.5" y="-2208.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#475</text>
<text text-anchor="middle" x="1922.5" y="-2193.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 221: Add Orchard</text>
<text text-anchor="middle" x="1922.5" y="-2178.8" 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="edge109" class="edge">
<title>zcash/zips#475&#45;&gt;zcash/librustzcash#368</title>
<path fill="none" stroke="#000000" d="M2013.9,-2190C2058.7,-2186.3 2113,-2181.9 2159.4,-2178"/>
<polygon fill="#000000" stroke="#000000" points="2159.8076,-2181.4788 2169.5,-2177.2 2159.2548,-2174.5006 2159.8076,-2181.4788"/>
</g>
<!-- zcash/zips#482 -->
<g id="node94" class="node">
<title>zcash/zips#482</title>
<g id="a_node94"><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="2334,-861 2193,-861 2193,-808 2334,-808 2334,-861"/>
<text text-anchor="middle" x="2263.5" y="-845.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#482</text>
<text text-anchor="middle" x="2263.5" y="-830.8" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 316] Unified</text>
<text text-anchor="middle" x="2263.5" y="-815.8" 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="edge110" class="edge">
<title>zcash/zips#482&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2334,-830.21C2370.3,-828.01 2415.2,-825.28 2455.3,-822.83"/>
<polygon fill="#000000" stroke="#000000" points="2455.6292,-826.3166 2465.4,-822.22 2455.2072,-819.3293 2455.6292,-826.3166"/>
</g>
<!-- zcash/librustzcash#300 -->
<g id="node95" class="node">
<title>zcash/librustzcash#300</title>
<g id="a_node95"><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,-198 12,-198 12,-145 206,-145 206,-198"/>
<text text-anchor="middle" x="109" y="-182.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#300</text>
<text text-anchor="middle" x="109" y="-167.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use feature flags to gate</text>
<text text-anchor="middle" x="109" y="-152.8" 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="edge111" class="edge">
<title>zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M206.18,-171.5C220.37,-171.5 235.04,-171.5 249.37,-171.5"/>
<polygon fill="#000000" stroke="#000000" points="249.73,-175.0001 259.73,-171.5 249.73,-168.0001 249.73,-175.0001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node96" class="node">
<title>zcash/halo2#63</title>
<g id="a_node96"><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="2030.5,-2153 1814.5,-2153 1814.5,-2100 2030.5,-2100 2030.5,-2153"/>
<text text-anchor="middle" x="1922.5" y="-2137.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="1922.5" y="-2122.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="1922.5" y="-2107.8" 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="edge112" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2030.8,-2117.8C2047.5,-2112.1 2063.1,-2103.4 2075,-2090.5 2146.4,-2013.2 2039.4,-1933.6 2111,-1856.5 2123.5,-1843.1 2140,-1834.3 2157.5,-1828.6"/>
<polygon fill="#000000" stroke="#000000" points="2158.6463,-1831.9126 2167.3,-1825.8 2156.7232,-1825.1819 2158.6463,-1831.9126"/>
</g>
<!-- zcash/librustzcash#349 -->
<g id="node97" class="node">
<title>zcash/librustzcash#349</title>
<g id="a_node97"><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="1675.5,-1529 1487.5,-1529 1487.5,-1476 1675.5,-1476 1675.5,-1529"/>
<text text-anchor="middle" x="1581.5" y="-1513.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#349</text>
<text text-anchor="middle" x="1581.5" y="-1498.8" font-family="Times,serif" font-size="14.00" fill="#000000">Generalise note</text>
<text text-anchor="middle" x="1581.5" y="-1483.8" 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="edge113" class="edge">
<title>zcash/librustzcash#349&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1675.6,-1502.5C1716,-1502.5 1763.7,-1502.5 1806.3,-1502.5"/>
<polygon fill="#000000" stroke="#000000" points="1806.4,-1506.0001 1816.4,-1502.5 1806.4,-1499.0001 1806.4,-1506.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25 -->
<g id="node98" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</title>
<g id="a_node98"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/25" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2075,-789.5 1770,-789.5 1770,-751.5 2075,-751.5 2075,-789.5"/>
<text text-anchor="middle" x="1922.5" y="-774.3" 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="1922.5" y="-759.3" 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="edge114" 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="M2023.9,-751.47C2051.6,-746.27 2082.2,-740.53 2112,-734.93"/>
<polygon fill="#000000" stroke="#000000" points="2112.9144,-738.3197 2122.1,-733.04 2111.6268,-731.4392 2112.9144,-738.3197"/>
</g>
<!-- zcash/librustzcash#378 -->
<g id="node99" class="node">
<title>zcash/librustzcash#378</title>
<g id="a_node99"><a xlink:href="https://github.com/zcash/librustzcash/issues/378" xlink:title="zcash/librustzcash#378&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2357.5,-789.5 2169.5,-789.5 2169.5,-751.5 2357.5,-751.5 2357.5,-789.5"/>
<text text-anchor="middle" x="2263.5" y="-774.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#378</text>
<text text-anchor="middle" x="2263.5" y="-759.3" 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="edge115" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378</title>
<path fill="none" stroke="#000000" d="M2075,-770.5C2103.5,-770.5 2132.6,-770.5 2159.2,-770.5"/>
<polygon fill="#000000" stroke="#000000" points="2159.3,-774.0001 2169.3,-770.5 2159.3,-767.0001 2159.3,-774.0001"/>
</g>
<!-- zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371 -->
<g id="edge116" class="edge">
<title>zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2357.6,-785.12C2388.6,-789.95 2423.4,-795.35 2455.2,-800.29"/>
<polygon fill="#000000" stroke="#000000" points="2454.9802,-803.7979 2465.4,-801.88 2456.0584,-796.8815 2454.9802,-803.7979"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14 -->
<g id="node100" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</title>
<g id="a_node100"><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="1052,-801.5 747,-801.5 747,-797.5 743,-797.5 743,-793.5 747,-793.5 747,-771.5 743,-771.5 743,-767.5 747,-767.5 747,-763.5 1052,-763.5 1052,-801.5"/>
<polyline fill="none" stroke="#000000" points="747,-797.5 751,-797.5 751,-793.5 747,-793.5 "/>
<polyline fill="none" stroke="#000000" points="747,-771.5 751,-771.5 751,-767.5 747,-767.5 "/>
<text text-anchor="middle" x="899.5" y="-786.3" 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="899.5" y="-771.3" 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="node101" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<g id="a_node101"><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="1393,-809 1088,-809 1088,-805 1084,-805 1084,-801 1088,-801 1088,-764 1084,-764 1084,-760 1088,-760 1088,-756 1393,-756 1393,-809"/>
<polyline fill="none" stroke="#000000" points="1088,-805 1092,-805 1092,-801 1088,-801 "/>
<polyline fill="none" stroke="#000000" points="1088,-764 1092,-764 1092,-760 1088,-760 "/>
<text text-anchor="middle" x="1240.5" y="-793.8" 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="1240.5" y="-778.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add iso&#45;Pallas, SWU hash&#45;</text>
<text text-anchor="middle" x="1240.5" y="-763.8" 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="edge117" 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="M1052,-782.5C1060.6,-782.5 1069.2,-782.5 1077.8,-782.5"/>
<polygon fill="#000000" stroke="#000000" points="1077.8,-786.0001 1087.8,-782.5 1077.8,-779.0001 1077.8,-786.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="node102" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<g id="a_node102"><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="1734,-725.5 1429,-725.5 1429,-721.5 1425,-721.5 1425,-717.5 1429,-717.5 1429,-695.5 1425,-695.5 1425,-691.5 1429,-691.5 1429,-687.5 1734,-687.5 1734,-725.5"/>
<polyline fill="none" stroke="#000000" points="1429,-721.5 1433,-721.5 1433,-717.5 1429,-717.5 "/>
<polyline fill="none" stroke="#000000" points="1429,-695.5 1433,-695.5 1433,-691.5 1429,-691.5 "/>
<text text-anchor="middle" x="1581.5" y="-710.3" 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="1581.5" y="-695.3" 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="edge118" 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="M1355.8,-755.97C1380,-750.48 1405.3,-744.76 1429,-739.5 1446.4,-735.63 1464.9,-731.57 1482.9,-727.67"/>
<polygon fill="#000000" stroke="#000000" points="1483.7653,-731.0639 1492.8,-725.53 1482.2862,-724.2219 1483.7653,-731.0639"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="node103" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<g id="a_node103"><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="1734,-835 1429,-835 1429,-782 1734,-782 1734,-835"/>
<text text-anchor="middle" x="1581.5" y="-819.8" 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="1581.5" y="-804.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 225 test</text>
<text text-anchor="middle" x="1581.5" y="-789.8" 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="edge119" 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="M1393,-794.13C1401.6,-794.78 1410.2,-795.44 1418.8,-796.09"/>
<polygon fill="#000000" stroke="#000000" points="1418.5608,-799.5819 1428.8,-796.86 1419.0983,-792.6025 1418.5608,-799.5819"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge120" 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="M1734,-706.5C1742.6,-706.5 1751.2,-706.5 1759.8,-706.5"/>
<polygon fill="#000000" stroke="#000000" points="1759.8,-710.0001 1769.8,-706.5 1759.8,-703.0001 1759.8,-710.0001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="node104" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<g id="a_node104"><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="2075,-661.5 1770,-661.5 1770,-657.5 1766,-657.5 1766,-653.5 1770,-653.5 1770,-631.5 1766,-631.5 1766,-627.5 1770,-627.5 1770,-623.5 2075,-623.5 2075,-661.5"/>
<polyline fill="none" stroke="#000000" points="1770,-657.5 1774,-657.5 1774,-653.5 1770,-653.5 "/>
<polyline fill="none" stroke="#000000" points="1770,-631.5 1774,-631.5 1774,-627.5 1770,-627.5 "/>
<text text-anchor="middle" x="1922.5" y="-646.3" 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="1922.5" y="-631.3" 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="edge121" 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="M1682,-687.45C1699.3,-684.14 1717.2,-680.73 1734,-677.5 1750,-674.42 1754,-673.53 1770,-670.5 1782.2,-668.19 1795,-665.81 1807.7,-663.45"/>
<polygon fill="#000000" stroke="#000000" points="1808.7051,-666.8234 1817.9,-661.56 1807.4297,-659.9406 1808.7051,-666.8234"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="edge122" 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="M1723.9,-835.11C1727.5,-837.96 1730.9,-841.08 1734,-844.5 1810.9,-928.71 1693.1,-1014.3 1770,-1098.5 1770.8,-1099.4 1771.6,-1100.2 1772.4,-1101"/>
<polygon fill="#000000" stroke="#000000" points="1770.3169,-1103.8329 1780.1,-1107.9 1774.9884,-1098.6198 1770.3169,-1103.8329"/>
</g>
<!-- zcash/halo2#39 -->
<g id="node105" class="node">
<title>zcash/halo2#39</title>
<g id="a_node105"><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="1318,-2192 1163,-2192 1163,-2109 1318,-2109 1318,-2192"/>
<text text-anchor="middle" x="1240.5" y="-2176.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#39</text>
<text text-anchor="middle" x="1240.5" y="-2161.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="1240.5" y="-2146.8" font-family="Times,serif" font-size="14.00" fill="#000000">coefficient blinding</text>
<text text-anchor="middle" x="1240.5" y="-2131.8" font-family="Times,serif" font-size="14.00" fill="#000000">factors in</text>
<text text-anchor="middle" x="1240.5" y="-2116.8" 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="edge123" class="edge">
<title>zcash/halo2#39&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M1318.2,-2180.1C1351.7,-2191.4 1391.8,-2202.9 1429,-2208.5 1563,-2228.7 1612.4,-2268.5 1734,-2208.5 1757.6,-2196.9 1747.9,-2175.7 1770,-2161.5 1780.5,-2154.7 1792.2,-2149.2 1804.3,-2144.8"/>
<polygon fill="#000000" stroke="#000000" points="1805.7398,-2148.0083 1814.1,-2141.5 1803.5059,-2141.3743 1805.7398,-2148.0083"/>
</g>
<!-- zcash/halo2#65 -->
<g id="node106" class="node">
<title>zcash/halo2#65</title>
<g id="a_node106"><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="1008.5,-1541.5 790.5,-1541.5 790.5,-1503.5 1008.5,-1503.5 1008.5,-1541.5"/>
<text text-anchor="middle" x="899.5" y="-1526.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#65</text>
<text text-anchor="middle" x="899.5" y="-1511.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement SHA&#45;256 gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#64 -->
<g id="node107" class="node">
<title>zcash/halo2#64</title>
<g id="a_node107"><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="1325.5,-1458 1155.5,-1458 1155.5,-1405 1325.5,-1405 1325.5,-1458"/>
<text text-anchor="middle" x="1240.5" y="-1442.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="1240.5" y="-1427.8" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="1240.5" y="-1412.8" 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="edge124" class="edge">
<title>zcash/halo2#65&#45;&gt;zcash/halo2#64</title>
<path fill="none" stroke="#000000" d="M1008.6,-1503.5C1023.3,-1500.5 1038,-1497.1 1052,-1493.5 1087.1,-1484.4 1125.1,-1472.4 1157.8,-1461.3"/>
<polygon fill="#000000" stroke="#000000" points="1159.0022,-1464.5876 1167.3,-1458 1156.7052,-1457.9752 1159.0022,-1464.5876"/>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#73 -->
<g id="edge125" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1325.7,-1431.5C1373.9,-1431.5 1434.5,-1431.5 1484.6,-1431.5"/>
<polygon fill="#000000" stroke="#000000" points="1484.8,-1435.0001 1494.8,-1431.5 1484.8,-1428.0001 1484.8,-1435.0001"/>
</g>
<!-- zcash/halo2#235 -->
<g id="node108" class="node">
<title>zcash/halo2#235</title>
<g id="a_node108"><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="1669.5,-1387 1493.5,-1387 1493.5,-1334 1669.5,-1334 1669.5,-1387"/>
<text text-anchor="middle" x="1581.5" y="-1371.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="1581.5" y="-1356.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="1581.5" y="-1341.8" 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="edge126" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M1325.7,-1413.8C1373.6,-1403.8 1433.6,-1391.3 1483.4,-1380.9"/>
<polygon fill="#000000" stroke="#000000" points="1484.1911,-1384.311 1493.3,-1378.9 1482.8049,-1377.4496 1484.1911,-1384.311"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge127" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1669.8,-1372.9C1717.6,-1379.7 1776.7,-1388 1825.8,-1394.9"/>
<polygon fill="#000000" stroke="#000000" points="1825.4113,-1398.3796 1835.8,-1396.3 1826.3819,-1391.4472 1825.4113,-1398.3796"/>
</g>
<!-- zcash/halo2#44 -->
<g id="node109" class="node">
<title>zcash/halo2#44</title>
<g id="a_node109"><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="711,-1501.5 490,-1501.5 490,-1463.5 711,-1463.5 711,-1501.5"/>
<text text-anchor="middle" x="600.5" y="-1486.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#44</text>
<text text-anchor="middle" x="600.5" y="-1471.3" 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="edge128" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#65</title>
<path fill="none" stroke="#000000" d="M711.41,-1497.3C733.85,-1500.3 757.54,-1503.5 780.25,-1506.5"/>
<polygon fill="#000000" stroke="#000000" points="779.8716,-1509.9811 790.26,-1507.9 780.8412,-1503.0485 779.8716,-1509.9811"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node110" class="node">
<title>zcash/halo2#57</title>
<g id="a_node110"><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="971,-1383.5 828,-1383.5 828,-1315.5 971,-1315.5 971,-1383.5"/>
<text text-anchor="middle" x="899.5" y="-1368.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="899.5" y="-1353.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="899.5" y="-1338.3" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="899.5" y="-1323.3" 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="edge129" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#57</title>
<path fill="none" stroke="#000000" d="M626.55,-1463.4C654.94,-1443.4 702.3,-1412.1 747,-1392.5 769.38,-1382.7 794.58,-1374.5 817.96,-1368"/>
<polygon fill="#000000" stroke="#000000" points="819.1248,-1371.3102 827.85,-1365.3 817.2812,-1364.5573 819.1248,-1371.3102"/>
</g>
<!-- zcash/halo2#82 -->
<g id="node111" class="node">
<title>zcash/halo2#82</title>
<g id="a_node111"><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="996,-1485 803,-1485 803,-1402 996,-1402 996,-1485"/>
<text text-anchor="middle" x="899.5" y="-1469.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="899.5" y="-1454.8" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="899.5" y="-1439.8" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="899.5" y="-1424.8" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="899.5" y="-1409.8" 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="edge130" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#82</title>
<path fill="none" stroke="#000000" d="M711.41,-1468C737.94,-1464.6 766.2,-1460.9 792.55,-1457.5"/>
<polygon fill="#000000" stroke="#000000" points="793.1225,-1460.9541 802.54,-1456.1 792.151,-1454.0218 793.1225,-1460.9541"/>
</g>
<!-- zcash/halo2#62 -->
<g id="node112" class="node">
<title>zcash/halo2#62</title>
<g id="a_node112"><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="989,-1933.5 810,-1933.5 810,-1865.5 989,-1865.5 989,-1933.5"/>
<text text-anchor="middle" x="899.5" y="-1918.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#62</text>
<text text-anchor="middle" x="899.5" y="-1903.3" font-family="Times,serif" font-size="14.00" fill="#000000">Modularise prover and</text>
<text text-anchor="middle" x="899.5" y="-1888.3" font-family="Times,serif" font-size="14.00" fill="#000000">verifier by introducing</text>
<text text-anchor="middle" x="899.5" y="-1873.3" 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="edge131" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#66</title>
<path fill="none" stroke="#000000" d="M989.09,-1886.4C1032.8,-1879.9 1085.9,-1872.2 1131.9,-1865.4"/>
<polygon fill="#000000" stroke="#000000" points="1132.4819,-1868.8528 1141.9,-1864 1131.5113,-1861.9204 1132.4819,-1868.8528"/>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#39 -->
<g id="edge132" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#39</title>
<path fill="none" stroke="#000000" d="M945.84,-1933.6C1005.2,-1977.3 1108.5,-2053.3 1175.6,-2102.8"/>
<polygon fill="#000000" stroke="#000000" points="1173.8518,-2105.856 1184,-2108.9 1177.9651,-2100.1919 1173.8518,-2105.856"/>
</g>
<!-- zcash/halo2#61 -->
<g id="node113" class="node">
<title>zcash/halo2#61</title>
<g id="a_node113"><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,-1871.5 33.5,-1871.5 33.5,-1867.5 29.5,-1867.5 29.5,-1863.5 33.5,-1863.5 33.5,-1841.5 29.5,-1841.5 29.5,-1837.5 33.5,-1837.5 33.5,-1833.5 184.5,-1833.5 184.5,-1871.5"/>
<polyline fill="none" stroke="#000000" points="33.5,-1867.5 37.5,-1867.5 37.5,-1863.5 33.5,-1863.5 "/>
<polyline fill="none" stroke="#000000" points="33.5,-1841.5 37.5,-1841.5 37.5,-1837.5 33.5,-1837.5 "/>
<text text-anchor="middle" x="109" y="-1856.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#61</text>
<text text-anchor="middle" x="109" y="-1841.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to ff traits</text>
</a>
</g>
</g>
<!-- zcash/halo2#68 -->
<g id="node114" class="node">
<title>zcash/halo2#68</title>
<g id="a_node114"><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,-1879 272,-1879 272,-1826 436,-1826 436,-1879"/>
<text text-anchor="middle" x="354" y="-1863.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#68</text>
<text text-anchor="middle" x="354" y="-1848.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the Pasta</text>
<text text-anchor="middle" x="354" y="-1833.8" 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="edge133" class="edge">
<title>zcash/halo2#61&#45;&gt;zcash/halo2#68</title>
<path fill="none" stroke="#000000" d="M184.51,-1852.5C208.96,-1852.5 236.36,-1852.5 261.88,-1852.5"/>
<polygon fill="#000000" stroke="#000000" points="261.93,-1856.0001 271.93,-1852.5 261.93,-1849.0001 261.93,-1856.0001"/>
</g>
<!-- zcash/halo2#68&#45;&gt;zcash/halo2#72 -->
<g id="edge134" class="edge">
<title>zcash/halo2#68&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M436.08,-1836.8C456.39,-1833 478.39,-1828.8 499.49,-1824.8"/>
<polygon fill="#000000" stroke="#000000" points="500.265,-1828.2153 509.43,-1822.9 498.9507,-1821.3398 500.265,-1828.2153"/>
</g>
<!-- zcash/halo2#70 -->
<g id="node115" class="node">
<title>zcash/halo2#70</title>
<g id="a_node115"><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,-1609.5 258.5,-1609.5 258.5,-1605.5 254.5,-1605.5 254.5,-1601.5 258.5,-1601.5 258.5,-1549.5 254.5,-1549.5 254.5,-1545.5 258.5,-1545.5 258.5,-1541.5 449.5,-1541.5 449.5,-1609.5"/>
<polyline fill="none" stroke="#000000" points="258.5,-1605.5 262.5,-1605.5 262.5,-1601.5 258.5,-1601.5 "/>
<polyline fill="none" stroke="#000000" points="258.5,-1549.5 262.5,-1549.5 262.5,-1545.5 258.5,-1545.5 "/>
<text text-anchor="middle" x="354" y="-1594.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#70</text>
<text text-anchor="middle" x="354" y="-1579.3" font-family="Times,serif" font-size="14.00" fill="#000000">Extract permutation</text>
<text text-anchor="middle" x="354" y="-1564.3" font-family="Times,serif" font-size="14.00" fill="#000000">argument and introduce</text>
<text text-anchor="middle" x="354" y="-1549.3" 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="edge135" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#44</title>
<path fill="none" stroke="#000000" d="M444.39,-1541.4C476.36,-1529.3 511.52,-1516.1 540.36,-1505.2"/>
<polygon fill="#000000" stroke="#000000" points="541.7644,-1508.4109 549.88,-1501.6 539.2884,-1501.8634 541.7644,-1508.4109"/>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#62 -->
<g id="edge136" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#62</title>
<path fill="none" stroke="#000000" d="M449.79,-1604.4C529.45,-1633 640.76,-1683.8 711,-1762.5 740.52,-1795.6 714.3,-1825.6 747,-1855.5 761.87,-1869.1 780.69,-1878.5 799.99,-1885.1"/>
<polygon fill="#000000" stroke="#000000" points="799.2136,-1888.5225 809.8,-1888.1 801.2607,-1881.8285 799.2136,-1888.5225"/>
</g>
<!-- zcash/halo2#78 -->
<g id="node116" class="node">
<title>zcash/halo2#78</title>
<g id="a_node116"><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="1342.5,-555.5 1138.5,-555.5 1138.5,-487.5 1342.5,-487.5 1342.5,-555.5"/>
<text text-anchor="middle" x="1240.5" y="-540.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="1240.5" y="-525.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="1240.5" y="-510.3" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="1240.5" y="-495.3" 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="edge137" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1342.7,-511.96C1370.6,-509.59 1401,-507.23 1429,-505.5 1565.3,-497.1 1723,-491.79 1822.8,-488.99"/>
<polygon fill="#000000" stroke="#000000" points="1822.9019,-492.4886 1832.8,-488.71 1822.7059,-485.4914 1822.9019,-492.4886"/>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge138" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1342.8,-532C1389.9,-536.83 1445.2,-542.51 1490.8,-547.19"/>
<polygon fill="#000000" stroke="#000000" points="1490.5941,-550.6872 1500.9,-548.23 1491.3111,-543.724 1490.5941,-550.6872"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node117" class="node">
<title>zcash/halo2#250</title>
<g id="a_node117"><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="1678.5,-344 1484.5,-344 1484.5,-291 1678.5,-291 1678.5,-344"/>
<text text-anchor="middle" x="1581.5" y="-328.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="1581.5" y="-313.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="1581.5" y="-298.8" 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="edge139" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1342.6,-499.35C1359.9,-493.74 1377.4,-486.86 1393,-478.5 1455.5,-445.07 1515.7,-387.97 1550.6,-351.53"/>
<polygon fill="#000000" stroke="#000000" points="1553.3031,-353.7644 1557.6,-344.08 1548.2017,-348.9711 1553.3031,-353.7644"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge140" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1635.2,-344.09C1696,-374.26 1795.2,-423.4 1859.6,-455.34"/>
<polygon fill="#000000" stroke="#000000" points="1858.3825,-458.6418 1868.9,-459.92 1861.4752,-452.362 1858.3825,-458.6418"/>
</g>
<!-- zcash/halo2#77 -->
<g id="node118" class="node">
<title>zcash/halo2#77</title>
<g id="a_node118"><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="1343,-611.5 1138,-611.5 1138,-573.5 1343,-573.5 1343,-611.5"/>
<text text-anchor="middle" x="1240.5" y="-596.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#77</text>
<text text-anchor="middle" x="1240.5" y="-581.3" 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="edge141" class="edge">
<title>zcash/halo2#77&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1343.3,-581.65C1390.2,-576.69 1445.3,-570.87 1490.7,-566.08"/>
<polygon fill="#000000" stroke="#000000" points="1491.3198,-569.5343 1500.9,-565.01 1490.5894,-562.5725 1491.3198,-569.5343"/>
</g>
<!-- zcash/halo2#248 -->
<g id="node119" class="node">
<title>zcash/halo2#248</title>
<g id="a_node119"><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="1342,-383 1139,-383 1139,-330 1342,-330 1342,-383"/>
<text text-anchor="middle" x="1240.5" y="-367.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="1240.5" y="-352.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="1240.5" y="-337.8" 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="edge142" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1342.3,-344.85C1384,-340.09 1432.1,-334.59 1474.3,-329.77"/>
<polygon fill="#000000" stroke="#000000" points="1474.7654,-333.2396 1484.3,-328.62 1473.9656,-326.2855 1474.7654,-333.2396"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node120" class="node">
<title>zcash/halo2#249</title>
<g id="a_node120"><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="1333,-311.5 1148,-311.5 1148,-243.5 1333,-243.5 1333,-311.5"/>
<text text-anchor="middle" x="1240.5" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="1240.5" y="-281.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="1240.5" y="-266.3" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="1240.5" y="-251.3" 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="edge143" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1333.2,-288.38C1376.8,-293.49 1428.9,-299.6 1474.2,-304.91"/>
<polygon fill="#000000" stroke="#000000" points="1473.9591,-308.4057 1484.3,-306.1 1474.7783,-301.4538 1473.9591,-308.4057"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node121" class="node">
<title>zcash/halo2#246</title>
<g id="a_node121"><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="989,-462 810,-462 810,-409 989,-409 989,-462"/>
<text text-anchor="middle" x="899.5" y="-446.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="899.5" y="-431.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="899.5" y="-416.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node122" class="node">
<title>zcash/halo2#247</title>
<g id="a_node122"><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="1328.5,-469.5 1152.5,-469.5 1152.5,-401.5 1328.5,-401.5 1328.5,-469.5"/>
<text text-anchor="middle" x="1240.5" y="-454.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="1240.5" y="-439.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="1240.5" y="-424.3" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="1240.5" y="-409.3" 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="edge144" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M989.09,-435.5C1036.2,-435.5 1093.9,-435.5 1142.2,-435.5"/>
<polygon fill="#000000" stroke="#000000" points="1142.4,-439.0001 1152.4,-435.5 1142.4,-432.0001 1142.4,-439.0001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge145" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1328.8,-411.53C1350,-405.37 1372.4,-398.5 1393,-391.5 1431.5,-378.42 1473.7,-362.06 1508.3,-348.05"/>
<polygon fill="#000000" stroke="#000000" points="1509.9401,-351.1622 1517.9,-344.17 1507.3171,-344.6723 1509.9401,-351.1622"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node123" class="node">
<title>zcash/halo2#245</title>
<g id="a_node123"><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="1343.5,-139.5 1137.5,-139.5 1137.5,-71.5 1343.5,-71.5 1343.5,-139.5"/>
<text text-anchor="middle" x="1240.5" y="-124.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="1240.5" y="-109.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="1240.5" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="1240.5" y="-79.3" 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="edge146" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1343.5,-127.6C1360.6,-133.19 1377.7,-140.08 1393,-148.5 1457.2,-183.8 1517.7,-244.76 1552.1,-283.01"/>
<polygon fill="#000000" stroke="#000000" points="1549.7527,-285.639 1559,-290.81 1554.9957,-281.001 1549.7527,-285.639"/>
</g>
<!-- zcash/halo2#151 -->
<g id="node124" class="node">
<title>zcash/halo2#151</title>
<g id="a_node124"><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="1324,-53 1157,-53 1157,0 1324,0 1324,-53"/>
<text text-anchor="middle" x="1240.5" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#151</text>
<text text-anchor="middle" x="1240.5" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for full&#45;</text>
<text text-anchor="middle" x="1240.5" y="-7.8" 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="edge147" class="edge">
<title>zcash/halo2#151&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1324.3,-35.366C1347.9,-40.664 1372.7,-49.096 1393,-62.5 1477.5,-118.23 1537.9,-225.44 1565.2,-281.44"/>
<polygon fill="#000000" stroke="#000000" points="1562.1247,-283.1219 1569.6,-290.63 1568.4384,-280.099 1562.1247,-283.1219"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node125" class="node">
<title>zcash/halo2#210</title>
<g id="a_node125"><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="1349.5,-225.5 1131.5,-225.5 1131.5,-157.5 1349.5,-157.5 1349.5,-225.5"/>
<text text-anchor="middle" x="1240.5" y="-210.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="1240.5" y="-195.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="1240.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="1240.5" y="-165.3" 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="edge148" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1349.8,-220.31C1364.4,-224.75 1379.1,-229.53 1393,-234.5 1435.2,-249.64 1481.2,-269.85 1517.2,-286.53"/>
<polygon fill="#000000" stroke="#000000" points="1516.1533,-289.9014 1526.7,-290.91 1519.0842,-283.5446 1516.1533,-289.9014"/>
</g>
<!-- zcash/orchard#29 -->
<g id="node126" class="node">
<title>zcash/orchard#29</title>
<g id="a_node126"><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="2017,-1090 1828,-1090 1828,-1037 2017,-1037 2017,-1090"/>
<text text-anchor="middle" x="1922.5" y="-1074.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#29</text>
<text text-anchor="middle" x="1922.5" y="-1059.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1922.5" y="-1044.8" 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="edge149" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2017.3,-1067.2C2039,-1072.5 2060,-1082 2075,-1098.5 2157.6,-1189.4 2028.7,-1281.4 2111,-1372.5 2126.5,-1389.6 2148.5,-1399.4 2171,-1404.7"/>
<polygon fill="#000000" stroke="#000000" points="2170.4941,-1408.17 2181,-1406.8 2171.9328,-1401.3195 2170.4941,-1408.17"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#36 -->
<g id="edge150" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#36</title>
<path fill="none" stroke="#000000" d="M2017.4,-1054.4C2037.9,-1049 2058.4,-1040.5 2075,-1027.5 2102.8,-1005.6 2083.7,-978.97 2111,-956.5 2124.3,-945.55 2140.3,-937.38 2156.7,-931.29"/>
<polygon fill="#000000" stroke="#000000" points="2158.1697,-934.4865 2166.5,-927.94 2155.9054,-927.8628 2158.1697,-934.4865"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#30 -->
<g id="edge151" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M2017,-1063.5C2063.8,-1063.5 2120.1,-1063.5 2167.1,-1063.5"/>
<polygon fill="#000000" stroke="#000000" points="2167.2,-1067.0001 2177.2,-1063.5 2167.2,-1060.0001 2167.2,-1067.0001"/>
</g>
<!-- zcash/orchard#27 -->
<g id="node127" class="node">
<title>zcash/orchard#27</title>
<g id="a_node127"><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="1685.5,-1119.5 1477.5,-1119.5 1477.5,-1115.5 1473.5,-1115.5 1473.5,-1111.5 1477.5,-1111.5 1477.5,-1059.5 1473.5,-1059.5 1473.5,-1055.5 1477.5,-1055.5 1477.5,-1051.5 1685.5,-1051.5 1685.5,-1119.5"/>
<polyline fill="none" stroke="#000000" points="1477.5,-1115.5 1481.5,-1115.5 1481.5,-1111.5 1477.5,-1111.5 "/>
<polyline fill="none" stroke="#000000" points="1477.5,-1059.5 1481.5,-1059.5 1481.5,-1055.5 1477.5,-1055.5 "/>
<text text-anchor="middle" x="1581.5" y="-1104.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#27</text>
<text text-anchor="middle" x="1581.5" y="-1089.3" font-family="Times,serif" font-size="14.00" fill="#000000">Make Bundle a parametric</text>
<text text-anchor="middle" x="1581.5" y="-1074.3" font-family="Times,serif" font-size="14.00" fill="#000000">type over an</text>
<text text-anchor="middle" x="1581.5" y="-1059.3" 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="edge152" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1685.5,-1101.7C1703.8,-1108.9 1721.1,-1119 1734,-1133.5 1789.8,-1196 1710.3,-1259.8 1770,-1318.5 1819.1,-1366.8 2007.3,-1360 2075,-1372.5 2106.2,-1378.2 2140.3,-1384.7 2170.8,-1390.5"/>
<polygon fill="#000000" stroke="#000000" points="2170.5134,-1394.0104 2181,-1392.5 2171.8603,-1387.1412 2170.5134,-1394.0104"/>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#34 -->
<g id="edge153" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1685.6,-1104.4C1703.3,-1111.3 1720.3,-1120.7 1734,-1133.5 1766.3,-1163.8 1737.8,-1196.1 1770,-1226.5 1783.6,-1239.3 1800.5,-1248.8 1818.1,-1255.7"/>
<polygon fill="#000000" stroke="#000000" points="1817.3083,-1259.1422 1827.9,-1259.4 1819.7808,-1252.5934 1817.3083,-1259.1422"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node128" class="node">
<title>zcash/orchard#38</title>
<g id="a_node128"><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="1677,-1229 1486,-1229 1486,-1176 1677,-1176 1677,-1229"/>
<text text-anchor="middle" x="1581.5" y="-1213.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="1581.5" y="-1198.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="1581.5" y="-1183.8" 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="edge154" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1677.1,-1209.1C1697.9,-1214.6 1718.4,-1223.7 1734,-1238.5 1775.6,-1278 1729.6,-1321.7 1770,-1362.5 1785.2,-1377.9 1805.3,-1388.1 1826,-1395"/>
<polygon fill="#000000" stroke="#000000" points="1825.2135,-1398.4195 1835.8,-1398 1827.2625,-1391.7261 1825.2135,-1398.4195"/>
</g>
<!-- zcash/orchard#55 -->
<g id="node129" class="node">
<title>zcash/orchard#55</title>
<g id="a_node129"><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="1684.5,-2199.5 1478.5,-2199.5 1478.5,-2131.5 1684.5,-2131.5 1684.5,-2199.5"/>
<text text-anchor="middle" x="1581.5" y="-2184.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#55</text>
<text text-anchor="middle" x="1581.5" y="-2169.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle the (negligible</text>
<text text-anchor="middle" x="1581.5" y="-2154.3" font-family="Times,serif" font-size="14.00" fill="#000000">probability of) failure</text>
<text text-anchor="middle" x="1581.5" y="-2139.3" 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="edge155" class="edge">
<title>zcash/orchard#55&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1684.8,-2142.3C1701.7,-2136.6 1718.7,-2129.8 1734,-2121.5 1752.6,-2111.5 1751.2,-2100 1770,-2090.5 1779.3,-2085.8 1789.2,-2081.7 1799.3,-2078.2"/>
<polygon fill="#000000" stroke="#000000" points="1800.6804,-2081.4312 1809.1,-2075 1798.5075,-2074.777 1800.6804,-2081.4312"/>
</g>
<!-- zcash/orchard#70 -->
<g id="node130" class="node">
<title>zcash/orchard#70</title>
<g id="a_node130"><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="1655.5,-891.5 1507.5,-891.5 1507.5,-887.5 1503.5,-887.5 1503.5,-883.5 1507.5,-883.5 1507.5,-861.5 1503.5,-861.5 1503.5,-857.5 1507.5,-857.5 1507.5,-853.5 1655.5,-853.5 1655.5,-891.5"/>
<polyline fill="none" stroke="#000000" points="1507.5,-887.5 1511.5,-887.5 1511.5,-883.5 1507.5,-883.5 "/>
<polyline fill="none" stroke="#000000" points="1507.5,-861.5 1511.5,-861.5 1511.5,-857.5 1507.5,-857.5 "/>
<text text-anchor="middle" x="1581.5" y="-876.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#70</text>
<text text-anchor="middle" x="1581.5" y="-861.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle APIs</text>
</a>
</g>
</g>
<!-- zcash/orchard#49 -->
<g id="node131" class="node">
<title>zcash/orchard#49</title>
<g id="a_node131"><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="1996.5,-1217.5 1848.5,-1217.5 1848.5,-1213.5 1844.5,-1213.5 1844.5,-1209.5 1848.5,-1209.5 1848.5,-1187.5 1844.5,-1187.5 1844.5,-1183.5 1848.5,-1183.5 1848.5,-1179.5 1996.5,-1179.5 1996.5,-1217.5"/>
<polyline fill="none" stroke="#000000" points="1848.5,-1213.5 1852.5,-1213.5 1852.5,-1209.5 1848.5,-1209.5 "/>
<polyline fill="none" stroke="#000000" points="1848.5,-1187.5 1852.5,-1187.5 1852.5,-1183.5 1848.5,-1183.5 "/>
<text text-anchor="middle" x="1922.5" y="-1202.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#49</text>
<text text-anchor="middle" x="1922.5" y="-1187.3" 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="edge156" class="edge">
<title>zcash/orchard#70&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1655.8,-868.68C1684,-871.25 1714,-879.55 1734,-900.5 1817.2,-987.84 1687.1,-1081.9 1770,-1169.5 1787.6,-1188.1 1813.1,-1196.9 1838.2,-1200.6"/>
<polygon fill="#000000" stroke="#000000" points="1837.8542,-1204.0835 1848.2,-1201.8 1838.6883,-1197.1334 1837.8542,-1204.0835"/>
</g>
<!-- zcash/orchard#49&#45;&gt;zcash/orchard#35 -->
<g id="edge157" class="edge">
<title>zcash/orchard#49&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1996.5,-1199.2C2024.4,-1203.1 2054.2,-1212.4 2075,-1232.5 2121.2,-1277.2 2065.1,-1327.5 2111,-1372.5 2127.2,-1388.3 2148.9,-1397.7 2170.9,-1403.1"/>
<polygon fill="#000000" stroke="#000000" points="2170.1886,-1406.5269 2180.7,-1405.2 2171.6554,-1399.6823 2170.1886,-1406.5269"/>
</g>
<!-- zcash/orchard#58 -->
<g id="node132" class="node">
<title>zcash/orchard#58</title>
<g id="a_node132"><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="1668,-1033.5 1495,-1033.5 1495,-1029.5 1491,-1029.5 1491,-1025.5 1495,-1025.5 1495,-973.5 1491,-973.5 1491,-969.5 1495,-969.5 1495,-965.5 1668,-965.5 1668,-1033.5"/>
<polyline fill="none" stroke="#000000" points="1495,-1029.5 1499,-1029.5 1499,-1025.5 1495,-1025.5 "/>
<polyline fill="none" stroke="#000000" points="1495,-973.5 1499,-973.5 1499,-969.5 1495,-969.5 "/>
<text text-anchor="middle" x="1581.5" y="-1018.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#58</text>
<text text-anchor="middle" x="1581.5" y="-1003.3" font-family="Times,serif" font-size="14.00" fill="#000000">Proving and verifying</text>
<text text-anchor="middle" x="1581.5" y="-988.3" font-family="Times,serif" font-size="14.00" fill="#000000">keys, and placeholder</text>
<text text-anchor="middle" x="1581.5" y="-973.3" 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="edge158" class="edge">
<title>zcash/orchard#58&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1668.2,-1008.1C1692.2,-1014.4 1716.4,-1024.9 1734,-1042.5 1775.5,-1084 1726.7,-1129.9 1770,-1169.5 1788.5,-1186.5 1813.8,-1194.9 1838.4,-1198.8"/>
<polygon fill="#000000" stroke="#000000" points="1838.1141,-1202.2938 1848.5,-1200.2 1839.0753,-1195.3601 1838.1141,-1202.2938"/>
</g>
<!-- zcash/orchard#60 -->
<g id="node133" class="node">
<title>zcash/orchard#60</title>
<g id="a_node133"><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="1335.5,-1043.5 1145.5,-1043.5 1145.5,-1039.5 1141.5,-1039.5 1141.5,-1035.5 1145.5,-1035.5 1145.5,-1013.5 1141.5,-1013.5 1141.5,-1009.5 1145.5,-1009.5 1145.5,-1005.5 1335.5,-1005.5 1335.5,-1043.5"/>
<polyline fill="none" stroke="#000000" points="1145.5,-1039.5 1149.5,-1039.5 1149.5,-1035.5 1145.5,-1035.5 "/>
<polyline fill="none" stroke="#000000" points="1145.5,-1013.5 1149.5,-1013.5 1149.5,-1009.5 1145.5,-1009.5 "/>
<text text-anchor="middle" x="1240.5" y="-1028.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#60</text>
<text text-anchor="middle" x="1240.5" y="-1013.3" 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="edge159" class="edge">
<title>zcash/orchard#60&#45;&gt;zcash/orchard#58</title>
<path fill="none" stroke="#000000" d="M1335.9,-1017.5C1382.4,-1014.1 1438.1,-1010 1484.7,-1006.6"/>
<polygon fill="#000000" stroke="#000000" points="1485.066,-1010.0831 1494.8,-1005.9 1484.5819,-1003.0999 1485.066,-1010.0831"/>
</g>
<!-- zcash/orchard#72 -->
<g id="node134" class="node">
<title>zcash/orchard#72</title>
<g id="a_node134"><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="1664,-947.5 1499,-947.5 1499,-943.5 1495,-943.5 1495,-939.5 1499,-939.5 1499,-917.5 1495,-917.5 1495,-913.5 1499,-913.5 1499,-909.5 1664,-909.5 1664,-947.5"/>
<polyline fill="none" stroke="#000000" points="1499,-943.5 1503,-943.5 1503,-939.5 1499,-939.5 "/>
<polyline fill="none" stroke="#000000" points="1499,-917.5 1503,-917.5 1503,-913.5 1499,-913.5 "/>
<text text-anchor="middle" x="1581.5" y="-932.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#72</text>
<text text-anchor="middle" x="1581.5" y="-917.3" 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="edge160" class="edge">
<title>zcash/orchard#72&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1664.1,-926.02C1689.6,-929.47 1715.8,-938 1734,-956.5 1801.4,-1024.9 1702.8,-1100.9 1770,-1169.5 1787.7,-1187.6 1813,-1196.3 1837.9,-1200.1"/>
<polygon fill="#000000" stroke="#000000" points="1837.8404,-1203.6202 1848.2,-1201.4 1838.717,-1196.6753 1837.8404,-1203.6202"/>
</g>
</g>
</svg>