developers/zcash-zf-dag.html

1060 lines
81 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="832pt" height="6228pt"
viewBox="0.00 0.00 832.00 6228.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 6224)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-6224 828,-6224 828,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_4</title>
<polygon fill="none" stroke="#0000ff" points="20,-2979 20,-3861 556,-3861 556,-2979 20,-2979"/>
<text text-anchor="middle" x="288" y="-3845.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Breaking Changes before the Stable Release</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_5</title>
<polygon fill="none" stroke="#0000ff" points="20,-3869 20,-3962 556,-3962 556,-3869 20,-3869"/>
<text text-anchor="middle" x="288" y="-3946.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Stable Release Candidate</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="308,-674 308,-2971 824,-2971 824,-674 308,-674"/>
<text text-anchor="middle" x="566" y="-2955.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Tech Debt</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="20,-4273 20,-5600 556,-5600 556,-4273 20,-4273"/>
<text text-anchor="middle" x="288" y="-5584.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Zebra as a Full&#45;Node Wallet</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="20,-3970 20,-4265 268,-4265 268,-3970 20,-3970"/>
<text text-anchor="middle" x="144" y="-4249.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_6</title>
<polygon fill="none" stroke="#0000ff" points="0,-5608 0,-6016 288,-6016 288,-5608 0,-5608"/>
<text text-anchor="middle" x="144" y="-6000.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<g id="clust7" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="20,0 20,-666 556,-666 556,0 20,0"/>
<text text-anchor="middle" x="288" y="-650.8" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Documentation</text>
</g>
<!-- ZcashFoundation/zebra#1894 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#1894</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1894" xlink:title="ZcashFoundation/zebra#1894&#10;Zebra should follow OS&#10;directory conventions&#10;better" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3830 28,-3830 28,-3762 260,-3762 260,-3830"/>
<text text-anchor="middle" x="144" y="-3814.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1894</text>
<text text-anchor="middle" x="144" y="-3799.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should follow OS</text>
<text text-anchor="middle" x="144" y="-3784.8" font-family="Times,serif" font-size="14.00" fill="#000000">directory conventions</text>
<text text-anchor="middle" x="144" y="-3769.8" font-family="Times,serif" font-size="14.00" fill="#000000">better</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3432 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#3432</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3432" xlink:title="ZcashFoundation/zebra#3432&#10;Use the Filesystem&#10;Hierarchy Standard (FHS)&#10;for deployments and&#10;artifacts" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="548,-3829.5 316,-3829.5 316,-3746.5 548,-3746.5 548,-3829.5"/>
<text text-anchor="middle" x="432" y="-3814.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3432</text>
<text text-anchor="middle" x="432" y="-3799.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use the Filesystem</text>
<text text-anchor="middle" x="432" y="-3784.3" font-family="Times,serif" font-size="14.00" fill="#000000">Hierarchy Standard (FHS)</text>
<text text-anchor="middle" x="432" y="-3769.3" font-family="Times,serif" font-size="14.00" fill="#000000">for deployments and</text>
<text text-anchor="middle" x="432" y="-3754.3" font-family="Times,serif" font-size="14.00" fill="#000000">artifacts</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#1894&#45;&gt;ZcashFoundation/zebra#3432</title>
<path fill="none" stroke="#000000" d="M260.31,-3792.8C275.15,-3792.4 290.4,-3791.9 305.39,-3791.5"/>
<polygon fill="#000000" stroke="#000000" points="305.8259,-3794.9889 315.72,-3791.2 305.6226,-3787.9919 305.8259,-3794.9889"/>
</g>
<!-- ZcashFoundation/zebra#2631 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#2631</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2631" xlink:title="ZcashFoundation/zebra#2631&#10;Send committed spent&#10;OutPoints &amp; nullifiers to&#10;the mempool for rejection" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3744 28,-3744 28,-3676 260,-3676 260,-3744"/>
<text text-anchor="middle" x="144" y="-3728.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2631</text>
<text text-anchor="middle" x="144" y="-3713.8" font-family="Times,serif" font-size="14.00" fill="#000000">Send committed spent</text>
<text text-anchor="middle" x="144" y="-3698.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutPoints &amp; nullifiers to</text>
<text text-anchor="middle" x="144" y="-3683.8" font-family="Times,serif" font-size="14.00" fill="#000000">the mempool for rejection</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#950 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#950</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/950" xlink:title="ZcashFoundation/zebra#950&#10;Demo: compare zcashd vs&#10;zebrad ludicrous speed on&#10;syncing" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-3658 32.5,-3658 32.5,-3590 255.5,-3590 255.5,-3658"/>
<text text-anchor="middle" x="144" y="-3642.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#950</text>
<text text-anchor="middle" x="144" y="-3627.8" font-family="Times,serif" font-size="14.00" fill="#000000">Demo: compare zcashd vs</text>
<text text-anchor="middle" x="144" y="-3612.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad ludicrous speed on</text>
<text text-anchor="middle" x="144" y="-3597.8" font-family="Times,serif" font-size="14.00" fill="#000000">syncing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#1904</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1904" xlink:title="ZcashFoundation/zebra#1904&#10;Some DNS seeders and&#10;block explorers don&#39;t&#10;show Zebra nodes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3572 28,-3572 28,-3504 260,-3504 260,-3572"/>
<text text-anchor="middle" x="144" y="-3556.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1904</text>
<text text-anchor="middle" x="144" y="-3541.8" font-family="Times,serif" font-size="14.00" fill="#000000">Some DNS seeders and</text>
<text text-anchor="middle" x="144" y="-3526.8" font-family="Times,serif" font-size="14.00" fill="#000000">block explorers don&#39;t</text>
<text text-anchor="middle" x="144" y="-3511.8" font-family="Times,serif" font-size="14.00" fill="#000000">show Zebra nodes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1791 -->
<g id="node18" class="node closed">
<title>ZcashFoundation/zebra#1791</title>
<g id="a_node18"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1791" xlink:title="ZcashFoundation/zebra#1791&#10;Re&#45;enable `sync_large_che&#10;ckpoints_testnet` test" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="548,-2625.5 316,-2625.5 316,-2572.5 548,-2572.5 548,-2625.5"/>
<text text-anchor="middle" x="432" y="-2610.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1791</text>
<text text-anchor="middle" x="432" y="-2595.3" font-family="Times,serif" font-size="14.00" fill="#000000">Re&#45;enable `sync_large_che</text>
<text text-anchor="middle" x="432" y="-2580.3" font-family="Times,serif" font-size="14.00" fill="#000000">ckpoints_testnet` test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791 -->
<g id="edge8" class="edge">
<title>ZcashFoundation/zebra#1904&#45;&gt;ZcashFoundation/zebra#1791</title>
<path fill="none" stroke="#000000" d="M260,-3518.5C270.79,-3512.5 280.48,-3504.9 288,-3495 345.99,-3419 249.72,-2710.8 308,-2635 308.49,-2634.4 308.98,-2633.7 309.49,-2633.1"/>
<polygon fill="#000000" stroke="#000000" points="312.1398,-2635.3963 316.63,-2625.8 307.1355,-2630.5017 312.1398,-2635.3963"/>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra stable download&#10;should be linked from&#10;ZFND website" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3486 28,-3486 28,-3418 260,-3418 260,-3486"/>
<text text-anchor="middle" x="144" y="-3470.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="144" y="-3455.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra stable download</text>
<text text-anchor="middle" x="144" y="-3440.8" font-family="Times,serif" font-size="14.00" fill="#000000">should be linked from</text>
<text text-anchor="middle" x="144" y="-3425.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1213 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#1213</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1213" xlink:title="ZcashFoundation/zebra#1213&#10;Detect when an older&#10;state version is present,&#10;and delete it" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3400 28,-3400 28,-3332 260,-3332 260,-3400"/>
<text text-anchor="middle" x="144" y="-3384.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1213</text>
<text text-anchor="middle" x="144" y="-3369.8" font-family="Times,serif" font-size="14.00" fill="#000000">Detect when an older</text>
<text text-anchor="middle" x="144" y="-3354.8" font-family="Times,serif" font-size="14.00" fill="#000000">state version is present,</text>
<text text-anchor="middle" x="144" y="-3339.8" font-family="Times,serif" font-size="14.00" fill="#000000">and delete it</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1621 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#1621</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1621" xlink:title="ZcashFoundation/zebra#1621&#10;Run `zebrad start` by&#10;default, and add `start`&#10;to `zebrad help`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3314 28,-3314 28,-3246 260,-3246 260,-3314"/>
<text text-anchor="middle" x="144" y="-3298.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1621</text>
<text text-anchor="middle" x="144" y="-3283.8" font-family="Times,serif" font-size="14.00" fill="#000000">Run `zebrad start` by</text>
<text text-anchor="middle" x="144" y="-3268.8" font-family="Times,serif" font-size="14.00" fill="#000000">default, and add `start`</text>
<text text-anchor="middle" x="144" y="-3253.8" font-family="Times,serif" font-size="14.00" fill="#000000">to `zebrad help`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1617 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#1617</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1617" xlink:title="ZcashFoundation/zebra#1617&#10;Restructure and clean up&#10;README to make it easier&#10;for new users to get&#10;started with Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3227.5 28,-3227.5 28,-3144.5 260,-3144.5 260,-3227.5"/>
<text text-anchor="middle" x="144" y="-3212.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1617</text>
<text text-anchor="middle" x="144" y="-3197.3" font-family="Times,serif" font-size="14.00" fill="#000000">Restructure and clean up</text>
<text text-anchor="middle" x="144" y="-3182.3" font-family="Times,serif" font-size="14.00" fill="#000000">README to make it easier</text>
<text text-anchor="middle" x="144" y="-3167.3" font-family="Times,serif" font-size="14.00" fill="#000000">for new users to get</text>
<text text-anchor="middle" x="144" y="-3152.3" font-family="Times,serif" font-size="14.00" fill="#000000">started with Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1638" xlink:title="ZcashFoundation/zebra#1638&#10;Create PGP keys amongst&#10;security@zfnd.org" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3126.5 28,-3126.5 28,-3073.5 260,-3073.5 260,-3126.5"/>
<text text-anchor="middle" x="144" y="-3111.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="144" y="-3096.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="144" y="-3081.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1870 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#1870</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1870" xlink:title="ZcashFoundation/zebra#1870&#10;Decide if old Zebra&#10;versions should&#10;eventually refuse to run" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3055 28,-3055 28,-2987 260,-2987 260,-3055"/>
<text text-anchor="middle" x="144" y="-3039.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1870</text>
<text text-anchor="middle" x="144" y="-3024.8" font-family="Times,serif" font-size="14.00" fill="#000000">Decide if old Zebra</text>
<text text-anchor="middle" x="144" y="-3009.8" font-family="Times,serif" font-size="14.00" fill="#000000">versions should</text>
<text text-anchor="middle" x="144" y="-2994.8" font-family="Times,serif" font-size="14.00" fill="#000000">eventually refuse to run</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="548,-3930.5 316,-3930.5 316,-3877.5 548,-3877.5 548,-3930.5"/>
<text text-anchor="middle" x="432" y="-3915.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="432" y="-3900.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="432" y="-3885.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4448 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#4448</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4448" xlink:title="ZcashFoundation/zebra#4448&#10;Decide on supported&#10;platforms and test in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-3930.5 28,-3930.5 28,-3877.5 260,-3877.5 260,-3930.5"/>
<text text-anchor="middle" x="144" y="-3915.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4448</text>
<text text-anchor="middle" x="144" y="-3900.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decide on supported</text>
<text text-anchor="middle" x="144" y="-3885.3" font-family="Times,serif" font-size="14.00" fill="#000000">platforms and test in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4448&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#4448&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M260.31,-3904C275.15,-3904 290.4,-3904 305.39,-3904"/>
<polygon fill="#000000" stroke="#000000" points="305.72,-3907.5001 315.72,-3904 305.72,-3900.5001 305.72,-3907.5001"/>
</g>
<!-- ZcashFoundation/zebra#2573 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#2573</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2573" xlink:title="ZcashFoundation/zebra#2573&#10;Remove redundant watch&#10;values once our Tokio&#10;dependency is updated" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2940 316,-2940 316,-2872 548,-2872 548,-2940"/>
<text text-anchor="middle" x="432" y="-2924.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2573</text>
<text text-anchor="middle" x="432" y="-2909.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove redundant watch</text>
<text text-anchor="middle" x="432" y="-2894.8" font-family="Times,serif" font-size="14.00" fill="#000000">values once our Tokio</text>
<text text-anchor="middle" x="432" y="-2879.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependency is updated</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2214 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#2214</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2214" xlink:title="ZcashFoundation/zebra#2214&#10;Limit fanouts to the&#10;number of active peers,&#10;Credit: Equilibrium" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2854 316,-2854 316,-2786 548,-2786 548,-2854"/>
<text text-anchor="middle" x="432" y="-2838.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2214</text>
<text text-anchor="middle" x="432" y="-2823.8" font-family="Times,serif" font-size="14.00" fill="#000000">Limit fanouts to the</text>
<text text-anchor="middle" x="432" y="-2808.8" font-family="Times,serif" font-size="14.00" fill="#000000">number of active peers,</text>
<text text-anchor="middle" x="432" y="-2793.8" font-family="Times,serif" font-size="14.00" fill="#000000">Credit: Equilibrium</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3383 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#3383</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3383" xlink:title="ZcashFoundation/zebra#3383&#10;Document `zebrad&#10;download` command." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2767.5 316,-2767.5 316,-2714.5 548,-2714.5 548,-2767.5"/>
<text text-anchor="middle" x="432" y="-2752.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3383</text>
<text text-anchor="middle" x="432" y="-2737.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document `zebrad</text>
<text text-anchor="middle" x="432" y="-2722.3" font-family="Times,serif" font-size="14.00" fill="#000000">download` command.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2560 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#2560</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2560" xlink:title="ZcashFoundation/zebra#2560&#10;Test History Tree&#10;serialization" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2696.5 316,-2696.5 316,-2643.5 548,-2643.5 548,-2696.5"/>
<text text-anchor="middle" x="432" y="-2681.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2560</text>
<text text-anchor="middle" x="432" y="-2666.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree</text>
<text text-anchor="middle" x="432" y="-2651.3" font-family="Times,serif" font-size="14.00" fill="#000000">serialization</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1875 -->
<g id="node19" class="node open">
<title>ZcashFoundation/zebra#1875</title>
<g id="a_node19"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1875" xlink:title="ZcashFoundation/zebra#1875&#10;Zebra attempts new peer&#10;connections in a fixed,&#10;predictable order" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2554 316,-2554 316,-2486 548,-2486 548,-2554"/>
<text text-anchor="middle" x="432" y="-2538.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1875</text>
<text text-anchor="middle" x="432" y="-2523.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra attempts new peer</text>
<text text-anchor="middle" x="432" y="-2508.8" font-family="Times,serif" font-size="14.00" fill="#000000">connections in a fixed,</text>
<text text-anchor="middle" x="432" y="-2493.8" font-family="Times,serif" font-size="14.00" fill="#000000">predictable order</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1956 -->
<g id="node20" class="node open">
<title>ZcashFoundation/zebra#1956</title>
<g id="a_node20"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1956" xlink:title="ZcashFoundation/zebra#1956&#10;Zebra should store a&#10;persistent list of recent&#10;successful peers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2468 316,-2468 316,-2400 548,-2400 548,-2468"/>
<text text-anchor="middle" x="432" y="-2452.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1956</text>
<text text-anchor="middle" x="432" y="-2437.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should store a</text>
<text text-anchor="middle" x="432" y="-2422.8" font-family="Times,serif" font-size="14.00" fill="#000000">persistent list of recent</text>
<text text-anchor="middle" x="432" y="-2407.8" font-family="Times,serif" font-size="14.00" fill="#000000">successful peers</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2112 -->
<g id="node21" class="node open">
<title>ZcashFoundation/zebra#2112</title>
<g id="a_node21"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2112" xlink:title="ZcashFoundation/zebra#2112&#10;Integrate tokio&#45;console" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2382 316,-2382 316,-2344 548,-2344 548,-2382"/>
<text text-anchor="middle" x="432" y="-2366.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2112</text>
<text text-anchor="middle" x="432" y="-2351.8" font-family="Times,serif" font-size="14.00" fill="#000000">Integrate tokio&#45;console</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2193 -->
<g id="node22" class="node closed">
<title>ZcashFoundation/zebra#2193</title>
<g id="a_node22"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2193" xlink:title="ZcashFoundation/zebra#2193&#10;Redesign zebra&#45;network so&#10;it&#39;s less sensitive to&#10;message order, timing,&#10;buffer size" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="816,-2404.5 584,-2404.5 584,-2321.5 816,-2321.5 816,-2404.5"/>
<text text-anchor="middle" x="700" y="-2389.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2193</text>
<text text-anchor="middle" x="700" y="-2374.3" font-family="Times,serif" font-size="14.00" fill="#000000">Redesign zebra&#45;network so</text>
<text text-anchor="middle" x="700" y="-2359.3" font-family="Times,serif" font-size="14.00" fill="#000000">it&#39;s less sensitive to</text>
<text text-anchor="middle" x="700" y="-2344.3" font-family="Times,serif" font-size="14.00" fill="#000000">message order, timing,</text>
<text text-anchor="middle" x="700" y="-2329.3" font-family="Times,serif" font-size="14.00" fill="#000000">buffer size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#2112&#45;&gt;ZcashFoundation/zebra#2193</title>
<path fill="none" stroke="#000000" d="M548.38,-2363C556.71,-2363 565.14,-2363 573.53,-2363"/>
<polygon fill="#000000" stroke="#000000" points="573.74,-2366.5001 583.74,-2363 573.74,-2359.5001 573.74,-2366.5001"/>
</g>
<!-- ZcashFoundation/zebra#2042 -->
<g id="node23" class="node open">
<title>ZcashFoundation/zebra#2042</title>
<g id="a_node23"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2042" xlink:title="ZcashFoundation/zebra#2042&#10;zebra&#45;chain: Port array&#45;&#10;wrapper types to const&#10;generics" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2326 316,-2326 316,-2258 548,-2258 548,-2326"/>
<text text-anchor="middle" x="432" y="-2310.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2042</text>
<text text-anchor="middle" x="432" y="-2295.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebra&#45;chain: Port array&#45;</text>
<text text-anchor="middle" x="432" y="-2280.8" font-family="Times,serif" font-size="14.00" fill="#000000">wrapper types to const</text>
<text text-anchor="middle" x="432" y="-2265.8" font-family="Times,serif" font-size="14.00" fill="#000000">generics</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#483 -->
<g id="node24" class="node open">
<title>ZcashFoundation/zebra#483</title>
<g id="a_node24"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/483" xlink:title="ZcashFoundation/zebra#483&#10;Limit generated block and&#10;transaction size" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="543.5,-2239.5 320.5,-2239.5 320.5,-2186.5 543.5,-2186.5 543.5,-2239.5"/>
<text text-anchor="middle" x="432" y="-2224.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#483</text>
<text text-anchor="middle" x="432" y="-2209.3" font-family="Times,serif" font-size="14.00" fill="#000000">Limit generated block and</text>
<text text-anchor="middle" x="432" y="-2194.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction size</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3372 -->
<g id="node25" class="node open">
<title>ZcashFoundation/zebra#3372</title>
<g id="a_node25"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3372" xlink:title="ZcashFoundation/zebra#3372&#10;Use clap v3 instead of&#10;structopt" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2168.5 316,-2168.5 316,-2115.5 548,-2115.5 548,-2168.5"/>
<text text-anchor="middle" x="432" y="-2153.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3372</text>
<text text-anchor="middle" x="432" y="-2138.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use clap v3 instead of</text>
<text text-anchor="middle" x="432" y="-2123.3" font-family="Times,serif" font-size="14.00" fill="#000000">structopt</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3436 -->
<g id="node26" class="node open">
<title>ZcashFoundation/zebra#3436</title>
<g id="a_node26"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3436" xlink:title="ZcashFoundation/zebra#3436&#10;Create wrapper for&#10;`precomputed` in&#10;`CachedFfiTransaction`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2097 316,-2097 316,-2029 548,-2029 548,-2097"/>
<text text-anchor="middle" x="432" y="-2081.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3436</text>
<text text-anchor="middle" x="432" y="-2066.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create wrapper for</text>
<text text-anchor="middle" x="432" y="-2051.8" font-family="Times,serif" font-size="14.00" fill="#000000">`precomputed` in</text>
<text text-anchor="middle" x="432" y="-2036.8" font-family="Times,serif" font-size="14.00" fill="#000000">`CachedFfiTransaction`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2908 -->
<g id="node27" class="node open">
<title>ZcashFoundation/zebra#2908</title>
<g id="a_node27"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2908" xlink:title="ZcashFoundation/zebra#2908&#10;Improve&#10;VerifyBlockError::Commit&#10;typing" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-2011 316,-2011 316,-1943 548,-1943 548,-2011"/>
<text text-anchor="middle" x="432" y="-1995.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2908</text>
<text text-anchor="middle" x="432" y="-1980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve</text>
<text text-anchor="middle" x="432" y="-1965.8" font-family="Times,serif" font-size="14.00" fill="#000000">VerifyBlockError::Commit</text>
<text text-anchor="middle" x="432" y="-1950.8" font-family="Times,serif" font-size="14.00" fill="#000000">typing</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2090 -->
<g id="node28" class="node open">
<title>ZcashFoundation/zebra#2090</title>
<g id="a_node28"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2090" xlink:title="ZcashFoundation/zebra#2090&#10;Auto&#45;delete old Google&#10;Cloud instance templates" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1924.5 316,-1924.5 316,-1871.5 548,-1871.5 548,-1924.5"/>
<text text-anchor="middle" x="432" y="-1909.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2090</text>
<text text-anchor="middle" x="432" y="-1894.3" font-family="Times,serif" font-size="14.00" fill="#000000">Auto&#45;delete old Google</text>
<text text-anchor="middle" x="432" y="-1879.3" font-family="Times,serif" font-size="14.00" fill="#000000">Cloud instance templates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2869 -->
<g id="node29" class="node open">
<title>ZcashFoundation/zebra#2869</title>
<g id="a_node29"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2869" xlink:title="ZcashFoundation/zebra#2869&#10;Add mempool metrics&#10;related to memory usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1853.5 316,-1853.5 316,-1800.5 548,-1800.5 548,-1853.5"/>
<text text-anchor="middle" x="432" y="-1838.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2869</text>
<text text-anchor="middle" x="432" y="-1823.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add mempool metrics</text>
<text text-anchor="middle" x="432" y="-1808.3" font-family="Times,serif" font-size="14.00" fill="#000000">related to memory usage</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2632 -->
<g id="node30" class="node open">
<title>ZcashFoundation/zebra#2632</title>
<g id="a_node30"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2632" xlink:title="ZcashFoundation/zebra#2632&#10;Improve performance of&#10;authorizing data&#10;commitment" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1782 316,-1782 316,-1714 548,-1714 548,-1782"/>
<text text-anchor="middle" x="432" y="-1766.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2632</text>
<text text-anchor="middle" x="432" y="-1751.8" font-family="Times,serif" font-size="14.00" fill="#000000">Improve performance of</text>
<text text-anchor="middle" x="432" y="-1736.8" font-family="Times,serif" font-size="14.00" fill="#000000">authorizing data</text>
<text text-anchor="middle" x="432" y="-1721.8" font-family="Times,serif" font-size="14.00" fill="#000000">commitment</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2297 -->
<g id="node31" class="node open">
<title>ZcashFoundation/zebra#2297</title>
<g id="a_node31"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2297" xlink:title="ZcashFoundation/zebra#2297&#10;Enforce unwrap&#45;pertinent&#10;Clippy lints" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1695.5 316,-1695.5 316,-1642.5 548,-1642.5 548,-1695.5"/>
<text text-anchor="middle" x="432" y="-1680.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2297</text>
<text text-anchor="middle" x="432" y="-1665.3" font-family="Times,serif" font-size="14.00" fill="#000000">Enforce unwrap&#45;pertinent</text>
<text text-anchor="middle" x="432" y="-1650.3" font-family="Times,serif" font-size="14.00" fill="#000000">Clippy lints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1186 -->
<g id="node32" class="node open">
<title>ZcashFoundation/zebra#1186</title>
<g id="a_node32"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1186" xlink:title="ZcashFoundation/zebra#1186&#10;Dedupe Verification error&#10;types (Block, Chain)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1624.5 316,-1624.5 316,-1571.5 548,-1571.5 548,-1624.5"/>
<text text-anchor="middle" x="432" y="-1609.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1186</text>
<text text-anchor="middle" x="432" y="-1594.3" font-family="Times,serif" font-size="14.00" fill="#000000">Dedupe Verification error</text>
<text text-anchor="middle" x="432" y="-1579.3" font-family="Times,serif" font-size="14.00" fill="#000000">types (Block, Chain)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3831 -->
<g id="node33" class="node open">
<title>ZcashFoundation/zebra#3831</title>
<g id="a_node33"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3831" xlink:title="ZcashFoundation/zebra#3831&#10;Remove duplicated&#10;zcash_proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1553.5 316,-1553.5 316,-1500.5 548,-1500.5 548,-1553.5"/>
<text text-anchor="middle" x="432" y="-1538.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3831</text>
<text text-anchor="middle" x="432" y="-1523.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove duplicated</text>
<text text-anchor="middle" x="432" y="-1508.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_proofs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1890 -->
<g id="node34" class="node open">
<title>ZcashFoundation/zebra#1890</title>
<g id="a_node34"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1890" xlink:title="ZcashFoundation/zebra#1890&#10;Zebra should support&#10;separate local bind and&#10;external advertise&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1482.5 316,-1482.5 316,-1399.5 548,-1399.5 548,-1482.5"/>
<text text-anchor="middle" x="432" y="-1467.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1890</text>
<text text-anchor="middle" x="432" y="-1452.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra should support</text>
<text text-anchor="middle" x="432" y="-1437.3" font-family="Times,serif" font-size="14.00" fill="#000000">separate local bind and</text>
<text text-anchor="middle" x="432" y="-1422.3" font-family="Times,serif" font-size="14.00" fill="#000000">external advertise</text>
<text text-anchor="middle" x="432" y="-1407.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1364 -->
<g id="node35" class="node open">
<title>ZcashFoundation/zebra#1364</title>
<g id="a_node35"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1364" xlink:title="ZcashFoundation/zebra#1364&#10;Add a CI job which&#10;compiles each Zebra crate&#10;individually" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1381 316,-1381 316,-1313 548,-1313 548,-1381"/>
<text text-anchor="middle" x="432" y="-1365.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1364</text>
<text text-anchor="middle" x="432" y="-1350.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add a CI job which</text>
<text text-anchor="middle" x="432" y="-1335.8" font-family="Times,serif" font-size="14.00" fill="#000000">compiles each Zebra crate</text>
<text text-anchor="middle" x="432" y="-1320.8" font-family="Times,serif" font-size="14.00" fill="#000000">individually</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3179 -->
<g id="node36" class="node open">
<title>ZcashFoundation/zebra#3179</title>
<g id="a_node36"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3179" xlink:title="ZcashFoundation/zebra#3179&#10;Use a `bellman::Proof`&#10;instead of a byte array&#10;in `Groth16Proof`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1295 316,-1295 316,-1227 548,-1227 548,-1295"/>
<text text-anchor="middle" x="432" y="-1279.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3179</text>
<text text-anchor="middle" x="432" y="-1264.8" font-family="Times,serif" font-size="14.00" fill="#000000">Use a `bellman::Proof`</text>
<text text-anchor="middle" x="432" y="-1249.8" font-family="Times,serif" font-size="14.00" fill="#000000">instead of a byte array</text>
<text text-anchor="middle" x="432" y="-1234.8" font-family="Times,serif" font-size="14.00" fill="#000000">in `Groth16Proof`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2587 -->
<g id="node37" class="node open">
<title>ZcashFoundation/zebra#2587</title>
<g id="a_node37"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2587" xlink:title="ZcashFoundation/zebra#2587&#10;Clean up History Tree&#10;fields (network,&#10;network_upgrade)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1209 316,-1209 316,-1141 548,-1141 548,-1209"/>
<text text-anchor="middle" x="432" y="-1193.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2587</text>
<text text-anchor="middle" x="432" y="-1178.8" font-family="Times,serif" font-size="14.00" fill="#000000">Clean up History Tree</text>
<text text-anchor="middle" x="432" y="-1163.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (network,</text>
<text text-anchor="middle" x="432" y="-1148.8" font-family="Times,serif" font-size="14.00" fill="#000000">network_upgrade)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3117 -->
<g id="node38" class="node open">
<title>ZcashFoundation/zebra#3117</title>
<g id="a_node38"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3117" xlink:title="ZcashFoundation/zebra#3117&#10;Stop using private IP&#10;addresses by default" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1122.5 316,-1122.5 316,-1069.5 548,-1069.5 548,-1122.5"/>
<text text-anchor="middle" x="432" y="-1107.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3117</text>
<text text-anchor="middle" x="432" y="-1092.3" font-family="Times,serif" font-size="14.00" fill="#000000">Stop using private IP</text>
<text text-anchor="middle" x="432" y="-1077.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses by default</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2909 -->
<g id="node39" class="node open">
<title>ZcashFoundation/zebra#2909</title>
<g id="a_node39"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2909" xlink:title="ZcashFoundation/zebra#2909&#10;Test if the block&#10;downloader and verifier&#10;error checking is correct" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-1051 316,-1051 316,-983 548,-983 548,-1051"/>
<text text-anchor="middle" x="432" y="-1035.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2909</text>
<text text-anchor="middle" x="432" y="-1020.8" font-family="Times,serif" font-size="14.00" fill="#000000">Test if the block</text>
<text text-anchor="middle" x="432" y="-1005.8" font-family="Times,serif" font-size="14.00" fill="#000000">downloader and verifier</text>
<text text-anchor="middle" x="432" y="-990.8" font-family="Times,serif" font-size="14.00" fill="#000000">error checking is correct</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2436 -->
<g id="node40" class="node open">
<title>ZcashFoundation/zebra#2436</title>
<g id="a_node40"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2436" xlink:title="ZcashFoundation/zebra#2436&#10;Slim down `zebra&#45;consensu&#10;s/src/transaction.rs`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-964.5 316,-964.5 316,-911.5 548,-911.5 548,-964.5"/>
<text text-anchor="middle" x="432" y="-949.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2436</text>
<text text-anchor="middle" x="432" y="-934.3" font-family="Times,serif" font-size="14.00" fill="#000000">Slim down `zebra&#45;consensu</text>
<text text-anchor="middle" x="432" y="-919.3" font-family="Times,serif" font-size="14.00" fill="#000000">s/src/transaction.rs`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1432 -->
<g id="node41" class="node open">
<title>ZcashFoundation/zebra#1432</title>
<g id="a_node41"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1432" xlink:title="ZcashFoundation/zebra#1432&#10;Remove `zebra_state::Requ&#10;est::FindBlockHeaders`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-893.5 316,-893.5 316,-840.5 548,-840.5 548,-893.5"/>
<text text-anchor="middle" x="432" y="-878.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1432</text>
<text text-anchor="middle" x="432" y="-863.3" font-family="Times,serif" font-size="14.00" fill="#000000">Remove `zebra_state::Requ</text>
<text text-anchor="middle" x="432" y="-848.3" font-family="Times,serif" font-size="14.00" fill="#000000">est::FindBlockHeaders`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2847 -->
<g id="node42" class="node open">
<title>ZcashFoundation/zebra#2847</title>
<g id="a_node42"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2847" xlink:title="ZcashFoundation/zebra#2847&#10;Make config `Duration`&#10;easier to write in the&#10;toml file" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-822 316,-822 316,-754 548,-754 548,-822"/>
<text text-anchor="middle" x="432" y="-806.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2847</text>
<text text-anchor="middle" x="432" y="-791.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make config `Duration`</text>
<text text-anchor="middle" x="432" y="-776.8" font-family="Times,serif" font-size="14.00" fill="#000000">easier to write in the</text>
<text text-anchor="middle" x="432" y="-761.8" font-family="Times,serif" font-size="14.00" fill="#000000">toml file</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2559 -->
<g id="node43" class="node open">
<title>ZcashFoundation/zebra#2559</title>
<g id="a_node43"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2559" xlink:title="ZcashFoundation/zebra#2559&#10;Test History Tree errors&#10;in finalized state" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="548,-735.5 316,-735.5 316,-682.5 548,-682.5 548,-735.5"/>
<text text-anchor="middle" x="432" y="-720.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2559</text>
<text text-anchor="middle" x="432" y="-705.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test History Tree errors</text>
<text text-anchor="middle" x="432" y="-690.3" font-family="Times,serif" font-size="14.00" fill="#000000">in finalized state</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271 -->
<g id="node44" class="node open">
<title>ZcashFoundation/zebra#271</title>
<g id="a_node44"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/271" xlink:title="ZcashFoundation/zebra#271&#10;Sapling/Orchard Key&#10;Agreement and KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5568.5 32.5,-5568.5 32.5,-5515.5 255.5,-5515.5 255.5,-5568.5"/>
<text text-anchor="middle" x="144" y="-5553.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#271</text>
<text text-anchor="middle" x="144" y="-5538.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard Key</text>
<text text-anchor="middle" x="144" y="-5523.3" font-family="Times,serif" font-size="14.00" fill="#000000">Agreement and KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#269 -->
<g id="node45" class="node open">
<title>ZcashFoundation/zebra#269</title>
<g id="a_node45"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/269" xlink:title="ZcashFoundation/zebra#269&#10;Sapling/Orchard note&#10;encryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="543.5,-5497 320.5,-5497 320.5,-5429 543.5,-5429 543.5,-5497"/>
<text text-anchor="middle" x="432" y="-5481.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#269</text>
<text text-anchor="middle" x="432" y="-5466.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling/Orchard note</text>
<text text-anchor="middle" x="432" y="-5451.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption</text>
<text text-anchor="middle" x="432" y="-5436.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#269</title>
<path fill="none" stroke="#000000" d="M252.25,-5515.5C264.33,-5512.4 276.44,-5509.2 288,-5506 295.34,-5504 302.88,-5501.9 310.48,-5499.7"/>
<polygon fill="#000000" stroke="#000000" points="311.4932,-5503.0505 320.12,-5496.9 309.5406,-5496.3283 311.4932,-5503.0505"/>
</g>
<!-- ZcashFoundation/zebra#3002 -->
<g id="node46" class="node open">
<title>ZcashFoundation/zebra#3002</title>
<g id="a_node46"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3002" xlink:title="ZcashFoundation/zebra#3002&#10;Sapling note decryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="548,-5568.5 316,-5568.5 316,-5515.5 548,-5515.5 548,-5568.5"/>
<text text-anchor="middle" x="432" y="-5553.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3002</text>
<text text-anchor="middle" x="432" y="-5538.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling note decryption</text>
<text text-anchor="middle" x="432" y="-5523.3" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#271&#45;&gt;ZcashFoundation/zebra#3002</title>
<path fill="none" stroke="#000000" d="M255.76,-5542C272,-5542 288.81,-5542 305.31,-5542"/>
<polygon fill="#000000" stroke="#000000" points="305.54,-5545.5001 315.54,-5542 305.54,-5538.5001 305.54,-5545.5001"/>
</g>
<!-- ZcashFoundation/zebra#325 -->
<g id="node47" class="node open">
<title>ZcashFoundation/zebra#325</title>
<g id="a_node47"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/325" xlink:title="ZcashFoundation/zebra#325&#10;Block Chain Scanning" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5497 32.5,-5497 32.5,-5459 255.5,-5459 255.5,-5497"/>
<text text-anchor="middle" x="144" y="-5481.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#325</text>
<text text-anchor="middle" x="144" y="-5466.8" font-family="Times,serif" font-size="14.00" fill="#000000">Block Chain Scanning</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#267 -->
<g id="node48" class="node open">
<title>ZcashFoundation/zebra#267</title>
<g id="a_node48"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/267" xlink:title="ZcashFoundation/zebra#267&#10;Implement ZIP&#45;32 Sapling&#10;and Orchard key&#10;derivation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5441 32.5,-5441 32.5,-5373 255.5,-5373 255.5,-5441"/>
<text text-anchor="middle" x="144" y="-5425.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#267</text>
<text text-anchor="middle" x="144" y="-5410.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;32 Sapling</text>
<text text-anchor="middle" x="144" y="-5395.8" font-family="Times,serif" font-size="14.00" fill="#000000">and Orchard key</text>
<text text-anchor="middle" x="144" y="-5380.8" font-family="Times,serif" font-size="14.00" fill="#000000">derivation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2064 -->
<g id="node49" class="node open">
<title>ZcashFoundation/zebra#2064</title>
<g id="a_node49"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2064" xlink:title="ZcashFoundation/zebra#2064&#10;Import Poseidon hash into&#10;Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5354.5 28,-5354.5 28,-5301.5 260,-5301.5 260,-5354.5"/>
<text text-anchor="middle" x="144" y="-5339.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2064</text>
<text text-anchor="middle" x="144" y="-5324.3" font-family="Times,serif" font-size="14.00" fill="#000000">Import Poseidon hash into</text>
<text text-anchor="middle" x="144" y="-5309.3" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2192 -->
<g id="node50" class="node open">
<title>ZcashFoundation/zebra#2192</title>
<g id="a_node50"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2192" xlink:title="ZcashFoundation/zebra#2192&#10;Implement&#10;`EphemeralPrivateKey`&#39;s&#10;for Orchard, Sapling,&#10;Sprout" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5283.5 28,-5283.5 28,-5200.5 260,-5200.5 260,-5283.5"/>
<text text-anchor="middle" x="144" y="-5268.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2192</text>
<text text-anchor="middle" x="144" y="-5253.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement</text>
<text text-anchor="middle" x="144" y="-5238.3" font-family="Times,serif" font-size="14.00" fill="#000000">`EphemeralPrivateKey`&#39;s</text>
<text text-anchor="middle" x="144" y="-5223.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard, Sapling,</text>
<text text-anchor="middle" x="144" y="-5208.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#181 -->
<g id="node51" class="node open">
<title>ZcashFoundation/zebra#181</title>
<g id="a_node51"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/181" xlink:title="ZcashFoundation/zebra#181&#10;Sprout note&#10;encryption/decryption&#10;implementation." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5182 32.5,-5182 32.5,-5114 255.5,-5114 255.5,-5182"/>
<text text-anchor="middle" x="144" y="-5166.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#181</text>
<text text-anchor="middle" x="144" y="-5151.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout note</text>
<text text-anchor="middle" x="144" y="-5136.8" font-family="Times,serif" font-size="14.00" fill="#000000">encryption/decryption</text>
<text text-anchor="middle" x="144" y="-5121.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#321 -->
<g id="node52" class="node open">
<title>ZcashFoundation/zebra#321</title>
<g id="a_node52"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/321" xlink:title="ZcashFoundation/zebra#321&#10;Create Output Proof" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5096 32.5,-5096 32.5,-5058 255.5,-5058 255.5,-5096"/>
<text text-anchor="middle" x="144" y="-5080.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#321</text>
<text text-anchor="middle" x="144" y="-5065.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create Output Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#272 -->
<g id="node53" class="node open">
<title>ZcashFoundation/zebra#272</title>
<g id="a_node53"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/272" xlink:title="ZcashFoundation/zebra#272&#10;Sprout Key Agreement and&#10;KDF" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-5039.5 32.5,-5039.5 32.5,-4986.5 255.5,-4986.5 255.5,-5039.5"/>
<text text-anchor="middle" x="144" y="-5024.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#272</text>
<text text-anchor="middle" x="144" y="-5009.3" font-family="Times,serif" font-size="14.00" fill="#000000">Sprout Key Agreement and</text>
<text text-anchor="middle" x="144" y="-4994.3" font-family="Times,serif" font-size="14.00" fill="#000000">KDF</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2496 -->
<g id="node54" class="node open">
<title>ZcashFoundation/zebra#2496</title>
<g id="a_node54"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2496" xlink:title="ZcashFoundation/zebra#2496&#10;Handle a ivk == ⊥&#10;(KA^Orchard private key)&#10;when generating an&#10;Orchard Spending Key" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4968.5 28,-4968.5 28,-4885.5 260,-4885.5 260,-4968.5"/>
<text text-anchor="middle" x="144" y="-4953.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2496</text>
<text text-anchor="middle" x="144" y="-4938.3" font-family="Times,serif" font-size="14.00" fill="#000000">Handle a ivk == ⊥</text>
<text text-anchor="middle" x="144" y="-4923.3" font-family="Times,serif" font-size="14.00" fill="#000000">(KA^Orchard private key)</text>
<text text-anchor="middle" x="144" y="-4908.3" font-family="Times,serif" font-size="14.00" fill="#000000">when generating an</text>
<text text-anchor="middle" x="144" y="-4893.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard Spending Key</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3869 -->
<g id="node55" class="node open">
<title>ZcashFoundation/zebra#3869</title>
<g id="a_node55"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3869" xlink:title="ZcashFoundation/zebra#3869&#10;Orchard: ensure that ivk&#10;= 0 is rejected if that&#10;negligible case occurs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4867 28,-4867 28,-4799 260,-4799 260,-4867"/>
<text text-anchor="middle" x="144" y="-4851.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3869</text>
<text text-anchor="middle" x="144" y="-4836.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: ensure that ivk</text>
<text text-anchor="middle" x="144" y="-4821.8" font-family="Times,serif" font-size="14.00" fill="#000000">= 0 is rejected if that</text>
<text text-anchor="middle" x="144" y="-4806.8" font-family="Times,serif" font-size="14.00" fill="#000000">negligible case occurs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#278 -->
<g id="node56" class="node open">
<title>ZcashFoundation/zebra#278</title>
<g id="a_node56"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/278" xlink:title="ZcashFoundation/zebra#278&#10;Sapling Note Builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-4781 32.5,-4781 32.5,-4743 255.5,-4743 255.5,-4781"/>
<text text-anchor="middle" x="144" y="-4765.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#278</text>
<text text-anchor="middle" x="144" y="-4750.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling Note Builder</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2447 -->
<g id="node57" class="node open">
<title>ZcashFoundation/zebra#2447</title>
<g id="a_node57"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2447" xlink:title="ZcashFoundation/zebra#2447&#10;Define a new `Amount`&#10;`Constraint` for Note&#10;values w/ [0..2^64) as&#10;`valid_range()`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4724.5 28,-4724.5 28,-4641.5 260,-4641.5 260,-4724.5"/>
<text text-anchor="middle" x="144" y="-4709.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2447</text>
<text text-anchor="middle" x="144" y="-4694.3" font-family="Times,serif" font-size="14.00" fill="#000000">Define a new `Amount`</text>
<text text-anchor="middle" x="144" y="-4679.3" font-family="Times,serif" font-size="14.00" fill="#000000">`Constraint` for Note</text>
<text text-anchor="middle" x="144" y="-4664.3" font-family="Times,serif" font-size="14.00" fill="#000000">values w/ [0..2^64) as</text>
<text text-anchor="middle" x="144" y="-4649.3" font-family="Times,serif" font-size="14.00" fill="#000000">`valid_range()`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2041 -->
<g id="node58" class="node open">
<title>ZcashFoundation/zebra#2041</title>
<g id="a_node58"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2041" xlink:title="ZcashFoundation/zebra#2041&#10;Orchard: derive&#10;OutgoingCipherKey (&#10;Sapling and Orchard)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4623 28,-4623 28,-4555 260,-4555 260,-4623"/>
<text text-anchor="middle" x="144" y="-4607.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2041</text>
<text text-anchor="middle" x="144" y="-4592.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: derive</text>
<text text-anchor="middle" x="144" y="-4577.8" font-family="Times,serif" font-size="14.00" fill="#000000">OutgoingCipherKey (</text>
<text text-anchor="middle" x="144" y="-4562.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sapling and Orchard)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#320 -->
<g id="node59" class="node open">
<title>ZcashFoundation/zebra#320</title>
<g id="a_node59"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/320" xlink:title="ZcashFoundation/zebra#320&#10;Create a Spend Proof" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="255.5,-4537 32.5,-4537 32.5,-4499 255.5,-4499 255.5,-4537"/>
<text text-anchor="middle" x="144" y="-4521.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#320</text>
<text text-anchor="middle" x="144" y="-4506.8" font-family="Times,serif" font-size="14.00" fill="#000000">Create a Spend Proof</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2080 -->
<g id="node60" class="node open">
<title>ZcashFoundation/zebra#2080</title>
<g id="a_node60"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2080" xlink:title="ZcashFoundation/zebra#2080&#10;[blocked on frost]&#10;replace`redpallas` module&#10;with `reddsa`/`redpallas`&#10;crate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4480.5 28,-4480.5 28,-4397.5 260,-4397.5 260,-4480.5"/>
<text text-anchor="middle" x="144" y="-4465.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2080</text>
<text text-anchor="middle" x="144" y="-4450.3" font-family="Times,serif" font-size="14.00" fill="#000000">[blocked on frost]</text>
<text text-anchor="middle" x="144" y="-4435.3" font-family="Times,serif" font-size="14.00" fill="#000000">replace`redpallas` module</text>
<text text-anchor="middle" x="144" y="-4420.3" font-family="Times,serif" font-size="14.00" fill="#000000">with `reddsa`/`redpallas`</text>
<text text-anchor="middle" x="144" y="-4405.3" font-family="Times,serif" font-size="14.00" fill="#000000">crate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2095 -->
<g id="node61" class="node open">
<title>ZcashFoundation/zebra#2095</title>
<g id="a_node61"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2095" xlink:title="ZcashFoundation/zebra#2095&#10;Orchard: update&#10;note/action generation to&#10;include input note&#10;nullifier in the&#10;PRF^expand invocations" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4379 28,-4379 28,-4281 260,-4281 260,-4379"/>
<text text-anchor="middle" x="144" y="-4363.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2095</text>
<text text-anchor="middle" x="144" y="-4348.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard: update</text>
<text text-anchor="middle" x="144" y="-4333.8" font-family="Times,serif" font-size="14.00" fill="#000000">note/action generation to</text>
<text text-anchor="middle" x="144" y="-4318.8" font-family="Times,serif" font-size="14.00" fill="#000000">include input note</text>
<text text-anchor="middle" x="144" y="-4303.8" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier in the</text>
<text text-anchor="middle" x="144" y="-4288.8" font-family="Times,serif" font-size="14.00" fill="#000000">PRF^expand invocations</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4117 -->
<g id="node62" class="node open">
<title>ZcashFoundation/zebra#4117</title>
<g id="a_node62"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4117" xlink:title="ZcashFoundation/zebra#4117&#10;Set the minimum network&#10;protocol version to&#10;`170_100` after NU5&#10;mainnet activation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4233.5 28,-4233.5 28,-4150.5 260,-4150.5 260,-4233.5"/>
<text text-anchor="middle" x="144" y="-4218.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4117</text>
<text text-anchor="middle" x="144" y="-4203.3" font-family="Times,serif" font-size="14.00" fill="#000000">Set the minimum network</text>
<text text-anchor="middle" x="144" y="-4188.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol version to</text>
<text text-anchor="middle" x="144" y="-4173.3" font-family="Times,serif" font-size="14.00" fill="#000000">`170_100` after NU5</text>
<text text-anchor="middle" x="144" y="-4158.3" font-family="Times,serif" font-size="14.00" fill="#000000">mainnet activation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge7" class="edge">
<title>ZcashFoundation/zebra#4117&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M260.26,-4159.9C270.14,-4154.7 279.57,-4148.8 288,-4142 355.53,-4087.3 399.26,-3992 419.3,-3940.1"/>
<polygon fill="#000000" stroke="#000000" points="422.6285,-3941.1921 422.87,-3930.6 416.0759,-3938.7296 422.6285,-3941.1921"/>
</g>
<!-- ZcashFoundation/zebra#4507 -->
<g id="node63" class="node open">
<title>ZcashFoundation/zebra#4507</title>
<g id="a_node63"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4507" xlink:title="ZcashFoundation/zebra#4507&#10;NU5: Monitor estimated&#10;activation time based on&#10;current and activation&#10;block height" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4132.5 28,-4132.5 28,-4049.5 260,-4049.5 260,-4132.5"/>
<text text-anchor="middle" x="144" y="-4117.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4507</text>
<text text-anchor="middle" x="144" y="-4102.3" font-family="Times,serif" font-size="14.00" fill="#000000">NU5: Monitor estimated</text>
<text text-anchor="middle" x="144" y="-4087.3" font-family="Times,serif" font-size="14.00" fill="#000000">activation time based on</text>
<text text-anchor="middle" x="144" y="-4072.3" font-family="Times,serif" font-size="14.00" fill="#000000">current and activation</text>
<text text-anchor="middle" x="144" y="-4057.3" font-family="Times,serif" font-size="14.00" fill="#000000">block height</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4509 -->
<g id="node64" class="node open">
<title>ZcashFoundation/zebra#4509</title>
<g id="a_node64"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4509" xlink:title="ZcashFoundation/zebra#4509&#10;NU5: Test the activation&#10;by keeping Zebra running" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-4031.5 28,-4031.5 28,-3978.5 260,-3978.5 260,-4031.5"/>
<text text-anchor="middle" x="144" y="-4016.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4509</text>
<text text-anchor="middle" x="144" y="-4001.3" font-family="Times,serif" font-size="14.00" fill="#000000">NU5: Test the activation</text>
<text text-anchor="middle" x="144" y="-3986.3" font-family="Times,serif" font-size="14.00" fill="#000000">by keeping Zebra running</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4450 -->
<g id="node65" class="node open">
<title>ZcashFoundation/zebra#4450</title>
<g id="a_node65"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4450" xlink:title="ZcashFoundation/zebra#4450&#10;Test ZecWallet Lite with&#10;lightwalletd + Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5984.5 28,-5984.5 28,-5931.5 260,-5931.5 260,-5984.5"/>
<text text-anchor="middle" x="144" y="-5969.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4450</text>
<text text-anchor="middle" x="144" y="-5954.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test ZecWallet Lite with</text>
<text text-anchor="middle" x="144" y="-5939.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd + Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4456 -->
<g id="node66" class="node open">
<title>ZcashFoundation/zebra#4456</title>
<g id="a_node66"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4456" xlink:title="ZcashFoundation/zebra#4456&#10;Full sync test takes&#10;slightly longer than CI&#10;timeout" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5913 28,-5913 28,-5845 260,-5845 260,-5913"/>
<text text-anchor="middle" x="144" y="-5897.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4456</text>
<text text-anchor="middle" x="144" y="-5882.8" font-family="Times,serif" font-size="14.00" fill="#000000">Full sync test takes</text>
<text text-anchor="middle" x="144" y="-5867.8" font-family="Times,serif" font-size="14.00" fill="#000000">slightly longer than CI</text>
<text text-anchor="middle" x="144" y="-5852.8" font-family="Times,serif" font-size="14.00" fill="#000000">timeout</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4451 -->
<g id="node67" class="node open">
<title>ZcashFoundation/zebra#4451</title>
<g id="a_node67"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4451" xlink:title="ZcashFoundation/zebra#4451&#10;Test another wallet with&#10;lightwalletd + Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5826.5 28,-5826.5 28,-5773.5 260,-5773.5 260,-5826.5"/>
<text text-anchor="middle" x="144" y="-5811.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4451</text>
<text text-anchor="middle" x="144" y="-5796.3" font-family="Times,serif" font-size="14.00" fill="#000000">Test another wallet with</text>
<text text-anchor="middle" x="144" y="-5781.3" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd + Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4350 -->
<g id="node68" class="node open">
<title>ZcashFoundation/zebra#4350</title>
<g id="a_node68"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4350" xlink:title="ZcashFoundation/zebra#4350&#10;Add GetMempoolTx gRPC&#10;test" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5755.5 28,-5755.5 28,-5702.5 260,-5702.5 260,-5755.5"/>
<text text-anchor="middle" x="144" y="-5740.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4350</text>
<text text-anchor="middle" x="144" y="-5725.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add GetMempoolTx gRPC</text>
<text text-anchor="middle" x="144" y="-5710.3" font-family="Times,serif" font-size="14.00" fill="#000000">test</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4060 -->
<g id="node69" class="node open">
<title>ZcashFoundation/zebra#4060</title>
<g id="a_node69"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4060" xlink:title="ZcashFoundation/zebra#4060&#10;Report better&#10;transactions errors to&#10;lightwalletd" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-5684 28,-5684 28,-5616 260,-5616 260,-5684"/>
<text text-anchor="middle" x="144" y="-5668.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4060</text>
<text text-anchor="middle" x="144" y="-5653.8" font-family="Times,serif" font-size="14.00" fill="#000000">Report better</text>
<text text-anchor="middle" x="144" y="-5638.8" font-family="Times,serif" font-size="14.00" fill="#000000">transactions errors to</text>
<text text-anchor="middle" x="144" y="-5623.8" font-family="Times,serif" font-size="14.00" fill="#000000">lightwalletd</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2971 -->
<g id="node70" class="node open">
<title>ZcashFoundation/zebra#2971</title>
<g id="a_node70"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2971" xlink:title="ZcashFoundation/zebra#2971&#10;Fix crawler.rs doctest" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-635 28,-635 28,-597 260,-597 260,-635"/>
<text text-anchor="middle" x="144" y="-619.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2971</text>
<text text-anchor="middle" x="144" y="-604.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fix crawler.rs doctest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2892 -->
<g id="node71" class="node open">
<title>ZcashFoundation/zebra#2892</title>
<g id="a_node71"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2892" xlink:title="ZcashFoundation/zebra#2892&#10;Go over all `cargo doc`&#10;warnings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-578.5 28,-578.5 28,-525.5 260,-525.5 260,-578.5"/>
<text text-anchor="middle" x="144" y="-563.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2892</text>
<text text-anchor="middle" x="144" y="-548.3" font-family="Times,serif" font-size="14.00" fill="#000000">Go over all `cargo doc`</text>
<text text-anchor="middle" x="144" y="-533.3" font-family="Times,serif" font-size="14.00" fill="#000000">warnings</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4524 -->
<g id="node72" class="node open">
<title>ZcashFoundation/zebra#4524</title>
<g id="a_node72"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4524" xlink:title="ZcashFoundation/zebra#4524&#10;Add `cargo doc`&#10;warnings/errors to CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="548,-578.5 316,-578.5 316,-525.5 548,-525.5 548,-578.5"/>
<text text-anchor="middle" x="432" y="-563.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4524</text>
<text text-anchor="middle" x="432" y="-548.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add `cargo doc`</text>
<text text-anchor="middle" x="432" y="-533.3" font-family="Times,serif" font-size="14.00" fill="#000000">warnings/errors to CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2892&#45;&gt;ZcashFoundation/zebra#4524 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#2892&#45;&gt;ZcashFoundation/zebra#4524</title>
<path fill="none" stroke="#000000" d="M260.31,-552C275.15,-552 290.4,-552 305.39,-552"/>
<polygon fill="#000000" stroke="#000000" points="305.72,-555.5001 315.72,-552 305.72,-548.5001 305.72,-555.5001"/>
</g>
<!-- ZcashFoundation/zebra#1963 -->
<g id="node73" class="node open">
<title>ZcashFoundation/zebra#1963</title>
<g id="a_node73"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1963" xlink:title="ZcashFoundation/zebra#1963&#10;Revise Release Process&#10;RFC Draft" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-507.5 28,-507.5 28,-454.5 260,-454.5 260,-507.5"/>
<text text-anchor="middle" x="144" y="-492.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1963</text>
<text text-anchor="middle" x="144" y="-477.3" font-family="Times,serif" font-size="14.00" fill="#000000">Revise Release Process</text>
<text text-anchor="middle" x="144" y="-462.3" font-family="Times,serif" font-size="14.00" fill="#000000">RFC Draft</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2972 -->
<g id="node74" class="node open">
<title>ZcashFoundation/zebra#2972</title>
<g id="a_node74"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2972" xlink:title="ZcashFoundation/zebra#2972&#10;Make it easy for users to&#10;discover how to configure&#10;Zebra" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-436 28,-436 28,-368 260,-368 260,-436"/>
<text text-anchor="middle" x="144" y="-420.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2972</text>
<text text-anchor="middle" x="144" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make it easy for users to</text>
<text text-anchor="middle" x="144" y="-390.8" font-family="Times,serif" font-size="14.00" fill="#000000">discover how to configure</text>
<text text-anchor="middle" x="144" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2191 -->
<g id="node75" class="node open">
<title>ZcashFoundation/zebra#2191</title>
<g id="a_node75"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2191" xlink:title="ZcashFoundation/zebra#2191&#10;Update user and dev&#10;instructions in the Zebra&#10;Book to deduplicate" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-350 28,-350 28,-282 260,-282 260,-350"/>
<text text-anchor="middle" x="144" y="-334.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2191</text>
<text text-anchor="middle" x="144" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update user and dev</text>
<text text-anchor="middle" x="144" y="-304.8" font-family="Times,serif" font-size="14.00" fill="#000000">instructions in the Zebra</text>
<text text-anchor="middle" x="144" y="-289.8" font-family="Times,serif" font-size="14.00" fill="#000000">Book to deduplicate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2740 -->
<g id="node76" class="node open">
<title>ZcashFoundation/zebra#2740</title>
<g id="a_node76"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2740" xlink:title="ZcashFoundation/zebra#2740&#10;Documentation: adapt&#10;Zebra architecture blog&#10;posts into zebrad&#10;overview for devs in the&#10;book" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-264 28,-264 28,-166 260,-166 260,-264"/>
<text text-anchor="middle" x="144" y="-248.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2740</text>
<text text-anchor="middle" x="144" y="-233.8" font-family="Times,serif" font-size="14.00" fill="#000000">Documentation: adapt</text>
<text text-anchor="middle" x="144" y="-218.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra architecture blog</text>
<text text-anchor="middle" x="144" y="-203.8" font-family="Times,serif" font-size="14.00" fill="#000000">posts into zebrad</text>
<text text-anchor="middle" x="144" y="-188.8" font-family="Times,serif" font-size="14.00" fill="#000000">overview for devs in the</text>
<text text-anchor="middle" x="144" y="-173.8" font-family="Times,serif" font-size="14.00" fill="#000000">book</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#2001 -->
<g id="node77" class="node open">
<title>ZcashFoundation/zebra#2001</title>
<g id="a_node77"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/2001" xlink:title="ZcashFoundation/zebra#2001&#10;Write a draft security&#10;triage RFC" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-147.5 28,-147.5 28,-94.5 260,-94.5 260,-147.5"/>
<text text-anchor="middle" x="144" y="-132.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#2001</text>
<text text-anchor="middle" x="144" y="-117.3" font-family="Times,serif" font-size="14.00" fill="#000000">Write a draft security</text>
<text text-anchor="middle" x="144" y="-102.3" font-family="Times,serif" font-size="14.00" fill="#000000">triage RFC</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1772 -->
<g id="node78" class="node open">
<title>ZcashFoundation/zebra#1772</title>
<g id="a_node78"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1772" xlink:title="ZcashFoundation/zebra#1772&#10;Add comments on how to&#10;configure metric and&#10;tracing endpoints" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-76 28,-76 28,-8 260,-8 260,-76"/>
<text text-anchor="middle" x="144" y="-60.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1772</text>
<text text-anchor="middle" x="144" y="-45.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add comments on how to</text>
<text text-anchor="middle" x="144" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">configure metric and</text>
<text text-anchor="middle" x="144" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">tracing endpoints</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3247 -->
<g id="node79" class="node open">
<title>ZcashFoundation/zebra#3247</title>
<g id="a_node79"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3247" xlink:title="ZcashFoundation/zebra#3247&#10;Tracking: Questions for&#10;Network Audit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-6077.5 28,-6077.5 28,-6024.5 260,-6024.5 260,-6077.5"/>
<text text-anchor="middle" x="144" y="-6062.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3247</text>
<text text-anchor="middle" x="144" y="-6047.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tracking: Questions for</text>
<text text-anchor="middle" x="144" y="-6032.3" font-family="Times,serif" font-size="14.00" fill="#000000">Network Audit</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1841 -->
<g id="node80" class="node open">
<title>ZcashFoundation/zebra#1841</title>
<g id="a_node80"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1841" xlink:title="ZcashFoundation/zebra#1841&#10;NU5 Tracking Epic" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-6134 28,-6134 28,-6096 260,-6096 260,-6134"/>
<text text-anchor="middle" x="144" y="-6118.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1841</text>
<text text-anchor="middle" x="144" y="-6103.8" font-family="Times,serif" font-size="14.00" fill="#000000">NU5 Tracking Epic</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4150 -->
<g id="node81" class="node open">
<title>ZcashFoundation/zebra#4150</title>
<g id="a_node81"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4150" xlink:title="ZcashFoundation/zebra#4150&#10;Update column family&#10;names to match Zebra&#39;s&#10;database design" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="260,-6220 28,-6220 28,-6152 260,-6152 260,-6220"/>
<text text-anchor="middle" x="144" y="-6204.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4150</text>
<text text-anchor="middle" x="144" y="-6189.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update column family</text>
<text text-anchor="middle" x="144" y="-6174.8" font-family="Times,serif" font-size="14.00" fill="#000000">names to match Zebra&#39;s</text>
<text text-anchor="middle" x="144" y="-6159.8" font-family="Times,serif" font-size="14.00" fill="#000000">database design</text>
</a>
</g>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>