{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import showast"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"338pt\" viewBox=\"0.00 0.00 374.00 338.00\" width=\"374pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 334)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-334 370,-334 370,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"132\" y=\"-309.3\">Expr</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"146\" y=\"-242.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"146\" y=\"-227.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M146,-293.9551C146,-283.0619 146,-269.1927 146,-258.1128\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-153.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>1--2</title>\n",
       "<path d=\"M149,-220C149,-220 134.5249,-200.0967 122.9901,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"220\" y=\"-168.8\">BinOp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"220\" y=\"-153.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>1--5</title>\n",
       "<path d=\"M149,-220C149,-220 174.6933,-200.0967 195.1676,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"32\" y=\"-87.3\">&quot;print&quot;</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M101,-146C101,-146 74.7165,-125.0494 54.5932,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"109\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>2--4</title>\n",
       "<path d=\"M101,-146C101,-146 103.895,-126.0967 106.202,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"183\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"183\" y=\"-79.8\">[left]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M227,-146C227,-146 211.0774,-126.0967 198.3891,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"257\" y=\"-94.8\">Add</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"257\" y=\"-79.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>5--8</title>\n",
       "<path d=\"M227,-146C227,-146 237.8563,-126.0967 246.5075,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"334\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"334\" y=\"-79.8\">[right]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>5--9</title>\n",
       "<path d=\"M227,-146C227,-146 270.379,-123.7024 301.8965,-107.5018\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"183\" y=\"-14.3\">1</text>\n",
       "</g>\n",
       "<!-- 6&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>6--7</title>\n",
       "<path d=\"M183,-71.8201C183,-60.8368 183,-47.1296 183,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"334\" y=\"-14.3\">2</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M334,-71.8201C334,-60.8368 334,-47.1296 334,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "print(1 + 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"340pt\" viewBox=\"0.00 0.00 823.00 340.00\" width=\"823pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 336)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-336 819,-336 819,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"361.5\" y=\"-311.3\">Module</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"184\" y=\"-244.8\">Assign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"184\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M382,-296C382,-296 267.7057,-264.2516 212.7909,-248.9975\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"382\" y=\"-244.8\">Assign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"382\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>0--7</title>\n",
       "<path d=\"M382,-296C382,-296 382,-276.0967 382,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"665\" y=\"-244.8\">AugAssign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"665\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>0--18</title>\n",
       "<path d=\"M382,-296C382,-296 548.7369,-263.5953 626.2434,-248.5322\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"95\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"95\" y=\"-155.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>1--2</title>\n",
       "<path d=\"M175,-222C175,-222 146.0498,-202.0967 122.9801,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"184\" y=\"-170.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"184\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>1--5</title>\n",
       "<path d=\"M175,-222C175,-222 178.2569,-202.0967 180.8522,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"27\" y=\"-89.3\">&quot;a&quot;</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M88,-148C88,-148 64.7639,-127.0494 46.9737,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-96.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>2--4</title>\n",
       "<path d=\"M88,-148C88,-148 91.9807,-128.0967 95.1527,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"179\" y=\"-89.3\">1</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M182.7124,-147.9432C181.9485,-136.6377 180.9854,-122.3833 180.2315,-111.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323\" y=\"-155.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M382,-222C382,-222 360.6492,-202.0967 343.6353,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"441\" y=\"-170.8\">BinOp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"441\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>7--11</title>\n",
       "<path d=\"M382,-222C382,-222 403.3508,-202.0967 420.3647,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"251\" y=\"-89.3\">&quot;b&quot;</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M315,-148C315,-148 290.6211,-127.0494 271.956,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323\" y=\"-96.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>8--10</title>\n",
       "<path d=\"M315,-148C315,-148 317.895,-128.0967 320.202,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"397\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"397\" y=\"-81.8\">[left]</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>11--12</title>\n",
       "<path d=\"M447,-148C447,-148 428.9061,-128.0967 414.4876,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"471\" y=\"-96.8\">Add</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"471\" y=\"-81.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>11--15</title>\n",
       "<path d=\"M447,-148C447,-148 455.6851,-128.0967 462.606,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"548\" y=\"-96.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"548\" y=\"-81.8\">[right]</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>11--16</title>\n",
       "<path d=\"M447,-148C447,-148 486.2069,-126.6497 515.7653,-110.5536\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"361\" y=\"-15.3\">&quot;a&quot;</text>\n",
       "</g>\n",
       "<!-- 12&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>12--13</title>\n",
       "<path d=\"M397,-74C397,-74 383.2869,-53.0494 372.7877,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"433\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"433\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 12&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>12--14</title>\n",
       "<path d=\"M397,-74C397,-74 410.0276,-54.0967 420.4089,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"548\" y=\"-15.3\">2</text>\n",
       "</g>\n",
       "<!-- 16&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>16--17</title>\n",
       "<path d=\"M548,-73.9432C548,-62.6377 548,-48.3833 548,-37.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g class=\"node\" id=\"node20\">\n",
       "<title>19</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"625\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"625\" y=\"-155.8\">[target]</text>\n",
       "</g>\n",
       "<!-- 18&#45;&#45;19 -->\n",
       "<g class=\"edge\" id=\"edge19\">\n",
       "<title>18--19</title>\n",
       "<path d=\"M672,-222C672,-222 654.9918,-202.0967 641.4383,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 22 -->\n",
       "<g class=\"node\" id=\"node23\">\n",
       "<title>22</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"706\" y=\"-170.8\">Div</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"706\" y=\"-155.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 18&#45;&#45;22 -->\n",
       "<g class=\"edge\" id=\"edge22\">\n",
       "<title>18--22</title>\n",
       "<path d=\"M672,-222C672,-222 684.3038,-202.0967 694.1084,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 23 -->\n",
       "<g class=\"node\" id=\"node24\">\n",
       "<title>23</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"783\" y=\"-170.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"783\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 18&#45;&#45;23 -->\n",
       "<g class=\"edge\" id=\"edge23\">\n",
       "<title>18--23</title>\n",
       "<path d=\"M672,-222C672,-222 718.1117,-199.1519 750.8942,-182.9083\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 20 -->\n",
       "<g class=\"node\" id=\"node21\">\n",
       "<title>20</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"625\" y=\"-89.3\">&quot;b&quot;</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;20 -->\n",
       "<g class=\"edge\" id=\"edge20\">\n",
       "<title>19--20</title>\n",
       "<path d=\"M633,-148C633,-148 629.9526,-127.0494 627.6195,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 21 -->\n",
       "<g class=\"node\" id=\"node22\">\n",
       "<title>21</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"697\" y=\"-96.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"697\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;21 -->\n",
       "<g class=\"edge\" id=\"edge21\">\n",
       "<title>19--21</title>\n",
       "<path d=\"M633,-148C633,-148 656.1602,-128.0967 674.6159,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 24 -->\n",
       "<g class=\"node\" id=\"node25\">\n",
       "<title>24</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"783\" y=\"-89.3\">2.0</text>\n",
       "</g>\n",
       "<!-- 23&#45;&#45;24 -->\n",
       "<g class=\"edge\" id=\"edge24\">\n",
       "<title>23--24</title>\n",
       "<path d=\"M783,-147.9432C783,-136.6377 783,-122.3833 783,-111.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "a = 1\n",
    "b = a + 2\n",
    "b /= 2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"488pt\" viewBox=\"0.00 0.00 408.00 488.00\" width=\"408pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 484)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-484 404,-484 404,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"287\" y=\"-459.3\">Expr</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"301\" y=\"-392.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"301\" y=\"-377.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M301,-443.9551C301,-433.0619 301,-419.1927 301,-408.1128\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"224\" y=\"-318.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"224\" y=\"-303.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>1--2</title>\n",
       "<path d=\"M301,-370C301,-370 273.1354,-350.0967 250.9309,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"301\" y=\"-311.3\">&quot;t&quot;</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>1--12</title>\n",
       "<path d=\"M301,-370C301,-370 301,-349.0494 301,-333.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"373\" y=\"-318.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"373\" y=\"-303.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>1--13</title>\n",
       "<path d=\"M301,-370C301,-370 327.0552,-350.0967 347.8179,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"224\" y=\"-244.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"224\" y=\"-229.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M224,-295.9432C224,-284.9803 224,-271.2445 224,-260.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"140\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"140\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M224,-222C224,-222 193.6023,-202.0967 169.3791,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"224\" y=\"-163.3\">&quot;z&quot;</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>3--10</title>\n",
       "<path d=\"M224,-222C224,-222 224,-201.0494 224,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"296\" y=\"-170.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"296\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>3--11</title>\n",
       "<path d=\"M224,-222C224,-222 250.0552,-202.0967 270.8179,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"63\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"63\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>4--5</title>\n",
       "<path d=\"M140,-148C140,-148 112.1354,-128.0967 89.9309,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"140\" y=\"-89.3\">&quot;y&quot;</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>4--8</title>\n",
       "<path d=\"M140,-148C140,-148 140,-127.0494 140,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"212\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"212\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>4--9</title>\n",
       "<path d=\"M140,-148C140,-148 166.0552,-128.0967 186.8179,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"27\" y=\"-15.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M63,-74C63,-74 49.2869,-53.0494 38.7877,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>5--7</title>\n",
       "<path d=\"M63,-74C63,-74 76.0276,-54.0967 86.4089,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "x.y.z().t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"414pt\" viewBox=\"0.00 0.00 396.00 414.00\" width=\"396pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 410)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-410 392,-410 392,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"116.5\" y=\"-385.3\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"28\" y=\"-311.3\">&quot;abc&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M154,-370C154,-370 103.1042,-352.0793 64,-334 61.1776,-332.6951 58.2618,-331.2775 55.3683,-329.8244\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"112\" y=\"-318.8\">arguments</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"112\" y=\"-303.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M154,-370C154,-370 138.8011,-350.0967 126.6896,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"197\" y=\"-318.8\">For</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"197\" y=\"-303.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>0--3</title>\n",
       "<path d=\"M154,-370C154,-370 169.5607,-350.0967 181.9607,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311\" y=\"-318.8\">Return</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311\" y=\"-303.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>0--17</title>\n",
       "<path d=\"M154,-370C154,-370 236.8792,-340.9659 282.2038,-325.0878\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"95\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"95\" y=\"-229.8\">[target]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M193,-296C193,-296 157.3054,-275.9673 129.0006,-260.082\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"177\" y=\"-244.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"177\" y=\"-229.8\">[iter]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>3--7</title>\n",
       "<path d=\"M193,-296C193,-296 187.21,-276.0967 182.596,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"252\" y=\"-244.8\">Expr</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"252\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>3--9</title>\n",
       "<path d=\"M193,-296C193,-296 214.3508,-276.0967 231.3647,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"27\" y=\"-163.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>4--5</title>\n",
       "<path d=\"M88,-222C88,-222 64.7639,-201.0494 46.9737,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-170.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>4--6</title>\n",
       "<path d=\"M88,-222C88,-222 91.9807,-202.0967 95.1527,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"176\" y=\"-163.3\">&quot;abc&quot;</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M176.7425,-221.9432C176.5897,-210.6377 176.3971,-196.3833 176.2463,-185.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"253\" y=\"-170.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"253\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M252.2575,-221.9432C252.4057,-210.9803 252.5913,-197.2445 252.7399,-186.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"215\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"215\" y=\"-81.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>10--11</title>\n",
       "<path d=\"M253,-148C253,-148 239.2487,-128.0967 228.2906,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"290\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"290\" y=\"-81.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>10--14</title>\n",
       "<path d=\"M253,-148C253,-148 266.3895,-128.0967 277.0592,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"139\" y=\"-15.3\">&quot;print&quot;</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>11--12</title>\n",
       "<path d=\"M207,-74C207,-74 181.0974,-53.0494 161.2657,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"216\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>11--13</title>\n",
       "<path d=\"M207,-74C207,-74 210.2569,-54.0967 212.8522,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"289\" y=\"-15.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>14--15</title>\n",
       "<path d=\"M298,-74C298,-74 294.5717,-53.0494 291.9469,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"361\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"361\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>14--16</title>\n",
       "<path d=\"M298,-74C298,-74 320.7983,-54.0967 338.9657,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"331\" y=\"-244.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"331\" y=\"-229.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>17--18</title>\n",
       "<path d=\"M316.1505,-295.9432C319.1134,-284.9803 322.8258,-271.2445 325.7974,-260.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g class=\"node\" id=\"node20\">\n",
       "<title>19</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"331\" y=\"-163.3\">0</text>\n",
       "</g>\n",
       "<!-- 18&#45;&#45;19 -->\n",
       "<g class=\"edge\" id=\"edge19\">\n",
       "<title>18--19</title>\n",
       "<path d=\"M331,-221.9432C331,-210.6377 331,-196.3833 331,-185.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "def abc():\n",
    "    for x in 'abc':\n",
    "        print(x)\n",
    "    return 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"414pt\" viewBox=\"0.00 0.00 859.00 414.00\" width=\"859pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 410)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-410 855,-410 855,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"271.5\" y=\"-385.3\">Assign</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"246\" y=\"-318.8\">Tuple</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"246\" y=\"-303.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M294,-370C294,-370 276.6299,-350.0967 262.7881,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"365\" y=\"-318.8\">ListComp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"365\" y=\"-303.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>0--9</title>\n",
       "<path d=\"M294,-370C294,-370 319.6933,-350.0967 340.1676,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-229.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>1--2</title>\n",
       "<path d=\"M236,-296C236,-296 167.8925,-268.6576 127.7197,-252.5298\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"196\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"196\" y=\"-229.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>1--5</title>\n",
       "<path d=\"M236,-296C236,-296 221.5249,-276.0967 209.9901,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"270\" y=\"-244.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"270\" y=\"-229.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>1--8</title>\n",
       "<path d=\"M236,-296C236,-296 248.3038,-276.0967 258.1084,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"27\" y=\"-163.3\">&quot;a&quot;</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M91,-222C91,-222 66.6211,-201.0494 47.956,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-170.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"99\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>2--4</title>\n",
       "<path d=\"M91,-222C91,-222 93.895,-202.0967 96.202,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"171\" y=\"-163.3\">&quot;b&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M198,-222C198,-222 187.7151,-201.0494 179.8408,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"243\" y=\"-170.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"243\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>5--7</title>\n",
       "<path d=\"M198,-222C198,-222 214.2845,-202.0967 227.2612,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"365\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"365\" y=\"-229.8\">[elt]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M379,-296C379,-296 373.9337,-276.0967 369.8965,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"577\" y=\"-244.8\">comprehension</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"577\" y=\"-229.8\">[generators]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>9--13</title>\n",
       "<path d=\"M379,-296C379,-296 466.3138,-271.7462 524.9778,-255.4506\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"315\" y=\"-163.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>10--11</title>\n",
       "<path d=\"M362,-222C362,-222 344.0967,-201.0494 330.3896,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"387\" y=\"-170.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"387\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>10--12</title>\n",
       "<path d=\"M362,-222C362,-222 371.0469,-202.0967 378.2562,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"468\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"468\" y=\"-155.8\">[target]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>13--14</title>\n",
       "<path d=\"M584,-222C584,-222 537.8339,-200.1109 503.7503,-183.9506\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"577\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"577\" y=\"-155.8\">[iter]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>13--17</title>\n",
       "<path d=\"M584,-222C584,-222 581.4669,-202.0967 579.4483,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 20 -->\n",
       "<g class=\"node\" id=\"node21\">\n",
       "<title>20</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"675\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"675\" y=\"-155.8\">[ifs]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;20 -->\n",
       "<g class=\"edge\" id=\"edge20\">\n",
       "<title>13--20</title>\n",
       "<path d=\"M584,-222C584,-222 617.145,-201.9673 643.428,-186.082\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 26 -->\n",
       "<g class=\"node\" id=\"node27\">\n",
       "<title>26</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"759\" y=\"-163.3\">0</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;26 -->\n",
       "<g class=\"edge\" id=\"edge26\">\n",
       "<title>13--26</title>\n",
       "<path d=\"M584,-222C584,-222 663.4915,-209.0485 723,-186 725.8996,-184.8769 728.866,-183.5786 731.7904,-182.1985\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"382\" y=\"-89.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>14--15</title>\n",
       "<path d=\"M457,-148C457,-148 428.431,-127.0494 406.5578,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"454\" y=\"-96.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"454\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>14--16</title>\n",
       "<path d=\"M457,-148C457,-148 455.9144,-128.0967 455.0493,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"526\" y=\"-89.3\">&quot;y&quot;</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>17--18</title>\n",
       "<path d=\"M574,-148C574,-148 555.7158,-127.0494 541.717,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g class=\"node\" id=\"node20\">\n",
       "<title>19</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"598\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"598\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;19 -->\n",
       "<g class=\"edge\" id=\"edge19\">\n",
       "<title>17--19</title>\n",
       "<path d=\"M574,-148C574,-148 582.6851,-128.0967 589.606,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 21 -->\n",
       "<g class=\"node\" id=\"node22\">\n",
       "<title>21</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"675\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"675\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;21 -->\n",
       "<g class=\"edge\" id=\"edge21\">\n",
       "<title>20--21</title>\n",
       "<path d=\"M690,-148C690,-148 684.5718,-128.0967 680.2463,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 24 -->\n",
       "<g class=\"node\" id=\"node25\">\n",
       "<title>24</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"752\" y=\"-89.3\">&quot;z&quot;</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;24 -->\n",
       "<g class=\"edge\" id=\"edge24\">\n",
       "<title>20--24</title>\n",
       "<path d=\"M690,-148C690,-148 713.6171,-127.0494 731.6989,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 25 -->\n",
       "<g class=\"node\" id=\"node26\">\n",
       "<title>25</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"824\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"824\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;25 -->\n",
       "<g class=\"edge\" id=\"edge25\">\n",
       "<title>20--25</title>\n",
       "<path d=\"M690,-148C690,-148 745.6094,-130.8712 788,-112 790.8407,-110.7354 793.7684,-109.3442 796.6693,-107.9073\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 22 -->\n",
       "<g class=\"node\" id=\"node23\">\n",
       "<title>22</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"639\" y=\"-15.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 21&#45;&#45;22 -->\n",
       "<g class=\"edge\" id=\"edge22\">\n",
       "<title>21--22</title>\n",
       "<path d=\"M675,-74C675,-74 661.2869,-53.0494 650.7877,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 23 -->\n",
       "<g class=\"node\" id=\"node24\">\n",
       "<title>23</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"711\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"711\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 21&#45;&#45;23 -->\n",
       "<g class=\"edge\" id=\"edge23\">\n",
       "<title>21--23</title>\n",
       "<path d=\"M675,-74C675,-74 688.0276,-54.0967 698.4089,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "a, b = [x for x in y if x.z]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"488pt\" viewBox=\"0.00 0.00 538.50 488.00\" width=\"539pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 484)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-484 534.5,-484 534.5,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"195\" y=\"-459.3\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"45.5\" y=\"-385.3\">&quot;decorated&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M232.5,-444C232.5,-444 157.979,-426.1751 99.5,-408 96.7477,-407.1446 93.9261,-406.2392 91.086,-405.3061\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147.5\" y=\"-392.8\">arguments</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147.5\" y=\"-377.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M232.5,-444C232.5,-444 201.7404,-424.0967 177.2289,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232.5\" y=\"-392.8\">Import</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232.5\" y=\"-377.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>0--3</title>\n",
       "<path d=\"M232.5,-444C232.5,-444 232.5,-424.0967 232.5,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"307.5\" y=\"-392.8\">Expr</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"307.5\" y=\"-377.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>0--6</title>\n",
       "<path d=\"M232.5,-444C232.5,-444 259.6408,-424.0967 281.2686,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"416.5\" y=\"-392.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"416.5\" y=\"-377.8\">[decorator_list]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>0--15</title>\n",
       "<path d=\"M232.5,-444C232.5,-444 300.6074,-423.6418 353.9492,-407.6972\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"229.5\" y=\"-318.8\">alias</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"229.5\" y=\"-303.8\">[names]</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M231.7274,-369.9432C231.283,-358.9803 230.7261,-345.2445 230.2804,-334.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"229.5\" y=\"-237.3\">&quot;time&quot;</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>4--5</title>\n",
       "<path d=\"M229.5,-295.9432C229.5,-284.6377 229.5,-270.3833 229.5,-259.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-318.8\">Yield</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-303.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 6&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>6--7</title>\n",
       "<path d=\"M308.5301,-369.9432C309.1227,-358.9803 309.8652,-345.2445 310.4595,-334.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-244.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-229.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M311.5,-295.9432C311.5,-284.9803 311.5,-271.2445 311.5,-260.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-155.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M311.5,-221.9432C311.5,-210.9803 311.5,-197.2445 311.5,-186.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"232.5\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M311.5,-148C311.5,-148 282.9117,-128.0967 260.1304,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"311.5\" y=\"-89.3\">&quot;time&quot;</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>9--13</title>\n",
       "<path d=\"M311.5,-148C311.5,-148 311.5,-127.0494 311.5,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"385.5\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"385.5\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>9--14</title>\n",
       "<path d=\"M311.5,-148C311.5,-148 338.2789,-128.0967 359.6184,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195.5\" y=\"-15.3\">&quot;time&quot;</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>10--11</title>\n",
       "<path d=\"M232.5,-74C232.5,-74 218.4059,-53.0494 207.6152,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"269.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"269.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>10--12</title>\n",
       "<path d=\"M232.5,-74C232.5,-74 245.8895,-54.0967 256.5592,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"416.5\" y=\"-318.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"416.5\" y=\"-303.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 15&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>15--16</title>\n",
       "<path d=\"M416.5,-369.9432C416.5,-358.9803 416.5,-345.2445 416.5,-334.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"412.5\" y=\"-237.3\">&quot;decorator&quot;</text>\n",
       "</g>\n",
       "<!-- 16&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>16--17</title>\n",
       "<path d=\"M424.5,-296C424.5,-296 419.929,-275.0494 416.4292,-259.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"503.5\" y=\"-244.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"503.5\" y=\"-229.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 16&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>16--18</title>\n",
       "<path d=\"M424.5,-296C424.5,-296 453.4608,-275.8374 476.3127,-259.9279\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "@decorator()\n",
    "def decorated():\n",
    "    import time\n",
    "    yield time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"708pt\" viewBox=\"0.00 0.00 2948.00 708.00\" width=\"2948pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 704)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-704 2944,-704 2944,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"185.5\" y=\"-679.3\">Module</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"87\" y=\"-612.8\">Import</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"87\" y=\"-597.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M207,-664C207,-664 162.3889,-644.3653 127,-628 123.3714,-626.322 119.5666,-624.5417 115.8067,-622.77\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-612.8\">Import</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"165\" y=\"-597.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>0--4</title>\n",
       "<path d=\"M207,-664C207,-664 191.8011,-644.0967 179.6896,-628.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"244\" y=\"-612.8\">Expr</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"244\" y=\"-597.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>0--7</title>\n",
       "<path d=\"M207,-664C207,-664 220.3895,-644.0967 231.0592,-628.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"786\" y=\"-612.8\">FunctionDef</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"786\" y=\"-597.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>0--17</title>\n",
       "<path d=\"M207,-664C207,-664 603.1371,-626.3704 740.0829,-613.3617\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"62\" y=\"-538.8\">alias</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"62\" y=\"-523.8\">[names]</text>\n",
       "</g>\n",
       "<!-- 1&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>1--2</title>\n",
       "<path d=\"M80.5619,-589.9432C76.8582,-578.9803 72.2177,-565.2445 68.5032,-554.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"49\" y=\"-457.3\">&quot;webbrowser&quot;</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M58.6522,-515.9432C56.6661,-504.6377 54.1619,-490.3833 52.202,-479.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"162\" y=\"-538.8\">alias</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"162\" y=\"-523.8\">[names]</text>\n",
       "</g>\n",
       "<!-- 4&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>4--5</title>\n",
       "<path d=\"M164.2274,-589.9432C163.783,-578.9803 163.2261,-565.2445 162.7804,-554.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"155\" y=\"-457.3\">&quot;hashlib&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M160.1973,-515.9432C159.1279,-504.6377 157.7795,-490.3833 156.7242,-479.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-538.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-523.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M245.5451,-589.9432C246.434,-578.9803 247.5477,-565.2445 248.4392,-554.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-464.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-449.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M260,-516C260,-516 256.3812,-496.0967 253.4975,-480.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"358\" y=\"-464.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"358\" y=\"-449.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>8--15</title>\n",
       "<path d=\"M260,-516C260,-516 300.4649,-493.2901 329.3909,-477.0561\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"97\" y=\"-390.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"97\" y=\"-375.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M236,-442C236,-442 180.8639,-423.7699 138,-406 135.1011,-404.7982 132.1072,-403.5082 129.1187,-402.1867\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"176\" y=\"-383.3\">&quot;open&quot;</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>9--13</title>\n",
       "<path d=\"M236,-442C236,-442 213.1448,-421.0494 195.6462,-405.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-390.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"250\" y=\"-375.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>9--14</title>\n",
       "<path d=\"M236,-442C236,-442 241.0663,-422.0967 245.1035,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"50\" y=\"-309.3\">&quot;webbrowser&quot;</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>10--11</title>\n",
       "<path d=\"M97,-368C97,-368 79.0967,-347.0494 65.3896,-331.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-316.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144\" y=\"-301.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>10--12</title>\n",
       "<path d=\"M97,-368C97,-368 114.0082,-348.0967 127.5617,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"381\" y=\"-383.3\">&quot;https://xkcd.com/353/&quot;</text>\n",
       "</g>\n",
       "<!-- 15&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>15--16</title>\n",
       "<path d=\"M363.9231,-441.9432C367.4369,-430.6377 371.8673,-416.3833 375.3349,-405.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"640\" y=\"-531.3\">&quot;geohash&quot;</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>17--18</title>\n",
       "<path d=\"M795,-590C795,-590 734.4774,-571.49 687,-554 684.2746,-552.996 681.4709,-551.9351 678.6543,-550.8487\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g class=\"node\" id=\"node20\">\n",
       "<title>19</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"735\" y=\"-538.8\">arguments</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"735\" y=\"-523.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;19 -->\n",
       "<g class=\"edge\" id=\"edge19\">\n",
       "<title>17--19</title>\n",
       "<path d=\"M795,-590C795,-590 773.2874,-570.0967 755.9851,-554.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 26 -->\n",
       "<g class=\"node\" id=\"node27\">\n",
       "<title>26</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"837\" y=\"-538.8\">Assign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"837\" y=\"-523.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;26 -->\n",
       "<g class=\"edge\" id=\"edge26\">\n",
       "<title>17--26</title>\n",
       "<path d=\"M795,-590C795,-590 810.1989,-570.0967 822.3104,-554.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 44 -->\n",
       "<g class=\"node\" id=\"node45\">\n",
       "<title>44</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-538.8\">Assign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-523.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;44 -->\n",
       "<g class=\"edge\" id=\"edge44\">\n",
       "<title>17--44</title>\n",
       "<path d=\"M795,-590C795,-590 1073.119,-551.5665 1164.3768,-538.9555\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 97 -->\n",
       "<g class=\"node\" id=\"node98\">\n",
       "<title>97</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1610\" y=\"-538.8\">Expr</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1610\" y=\"-523.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 17&#45;&#45;97 -->\n",
       "<g class=\"edge\" id=\"edge97\">\n",
       "<title>17--97</title>\n",
       "<path d=\"M795,-590C795,-590 1437.2224,-546.6598 1581.4716,-536.9252\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 20 -->\n",
       "<g class=\"node\" id=\"node21\">\n",
       "<title>20</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"543\" y=\"-464.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"543\" y=\"-449.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;20 -->\n",
       "<g class=\"edge\" id=\"edge20\">\n",
       "<title>19--20</title>\n",
       "<path d=\"M719,-516C719,-516 621.5408,-485.544 571.6691,-469.9591\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 22 -->\n",
       "<g class=\"node\" id=\"node23\">\n",
       "<title>22</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"647\" y=\"-464.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"647\" y=\"-449.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;22 -->\n",
       "<g class=\"edge\" id=\"edge22\">\n",
       "<title>19--22</title>\n",
       "<path d=\"M719,-516C719,-516 692.9448,-496.0967 672.1821,-480.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 24 -->\n",
       "<g class=\"node\" id=\"node25\">\n",
       "<title>24</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"735\" y=\"-464.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"735\" y=\"-449.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;24 -->\n",
       "<g class=\"edge\" id=\"edge24\">\n",
       "<title>19--24</title>\n",
       "<path d=\"M719,-516C719,-516 724.79,-496.0967 729.404,-480.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 21 -->\n",
       "<g class=\"node\" id=\"node22\">\n",
       "<title>21</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"527\" y=\"-383.3\">&quot;latitude&quot;</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;21 -->\n",
       "<g class=\"edge\" id=\"edge21\">\n",
       "<title>20--21</title>\n",
       "<path d=\"M538.8796,-441.9432C536.4352,-430.6377 533.3532,-416.3833 530.9409,-405.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 23 -->\n",
       "<g class=\"node\" id=\"node24\">\n",
       "<title>23</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"633\" y=\"-383.3\">&quot;longitude&quot;</text>\n",
       "</g>\n",
       "<!-- 22&#45;&#45;23 -->\n",
       "<g class=\"edge\" id=\"edge23\">\n",
       "<title>22--23</title>\n",
       "<path d=\"M643.3947,-441.9432C641.2558,-430.6377 638.559,-416.3833 636.4483,-405.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 25 -->\n",
       "<g class=\"node\" id=\"node26\">\n",
       "<title>25</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"735\" y=\"-383.3\">&quot;datedow&quot;</text>\n",
       "</g>\n",
       "<!-- 24&#45;&#45;25 -->\n",
       "<g class=\"edge\" id=\"edge25\">\n",
       "<title>24--25</title>\n",
       "<path d=\"M735,-441.9432C735,-430.6377 735,-416.3833 735,-405.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 27 -->\n",
       "<g class=\"node\" id=\"node28\">\n",
       "<title>27</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"837\" y=\"-464.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"837\" y=\"-449.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 26&#45;&#45;27 -->\n",
       "<g class=\"edge\" id=\"edge27\">\n",
       "<title>26--27</title>\n",
       "<path d=\"M847,-516C847,-516 843.3812,-496.0967 840.4975,-480.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 30 -->\n",
       "<g class=\"node\" id=\"node31\">\n",
       "<title>30</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"942\" y=\"-464.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"942\" y=\"-449.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 26&#45;&#45;30 -->\n",
       "<g class=\"edge\" id=\"edge30\">\n",
       "<title>26--30</title>\n",
       "<path d=\"M847,-516C847,-516 882.2771,-495.5764 909.8373,-479.6205\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 28 -->\n",
       "<g class=\"node\" id=\"node29\">\n",
       "<title>28</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"819\" y=\"-383.3\">&quot;h&quot;</text>\n",
       "</g>\n",
       "<!-- 27&#45;&#45;28 -->\n",
       "<g class=\"edge\" id=\"edge28\">\n",
       "<title>27--28</title>\n",
       "<path d=\"M841,-442C841,-442 832.6198,-421.0494 826.2036,-405.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 29 -->\n",
       "<g class=\"node\" id=\"node30\">\n",
       "<title>29</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"891\" y=\"-390.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"891\" y=\"-375.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 27&#45;&#45;29 -->\n",
       "<g class=\"edge\" id=\"edge29\">\n",
       "<title>27--29</title>\n",
       "<path d=\"M841,-442C841,-442 859.0939,-422.0967 873.5124,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 31 -->\n",
       "<g class=\"node\" id=\"node32\">\n",
       "<title>31</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"975\" y=\"-390.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"975\" y=\"-375.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 30&#45;&#45;31 -->\n",
       "<g class=\"edge\" id=\"edge31\">\n",
       "<title>30--31</title>\n",
       "<path d=\"M950.4983,-441.9432C955.3872,-430.9803 961.5126,-417.2445 966.4158,-406.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 32 -->\n",
       "<g class=\"node\" id=\"node33\">\n",
       "<title>32</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"788\" y=\"-316.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"788\" y=\"-301.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 31&#45;&#45;32 -->\n",
       "<g class=\"edge\" id=\"edge32\">\n",
       "<title>31--32</title>\n",
       "<path d=\"M959,-368C959,-368 885.2752,-352.6731 829,-332 826.0544,-330.9179 823.0283,-329.7101 820.0188,-328.4423\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 42 -->\n",
       "<g class=\"node\" id=\"node43\">\n",
       "<title>42</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"884\" y=\"-309.3\">&quot;hexdigest&quot;</text>\n",
       "</g>\n",
       "<!-- 31&#45;&#45;42 -->\n",
       "<g class=\"edge\" id=\"edge42\">\n",
       "<title>31--42</title>\n",
       "<path d=\"M959,-368C959,-368 930.431,-347.0494 908.5578,-331.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 43 -->\n",
       "<g class=\"node\" id=\"node44\">\n",
       "<title>43</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"975\" y=\"-316.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"975\" y=\"-301.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 31&#45;&#45;43 -->\n",
       "<g class=\"edge\" id=\"edge43\">\n",
       "<title>31--43</title>\n",
       "<path d=\"M959,-368C959,-368 964.79,-348.0967 969.404,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 33 -->\n",
       "<g class=\"node\" id=\"node34\">\n",
       "<title>33</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"728\" y=\"-242.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"728\" y=\"-227.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 32&#45;&#45;33 -->\n",
       "<g class=\"edge\" id=\"edge33\">\n",
       "<title>32--33</title>\n",
       "<path d=\"M788,-294C788,-294 766.2874,-274.0967 748.9851,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 39 -->\n",
       "<g class=\"node\" id=\"node40\">\n",
       "<title>39</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"849\" y=\"-242.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"849\" y=\"-227.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 32&#45;&#45;39 -->\n",
       "<g class=\"edge\" id=\"edge39\">\n",
       "<title>32--39</title>\n",
       "<path d=\"M788,-294C788,-294 810.0745,-274.0967 827.6652,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 34 -->\n",
       "<g class=\"node\" id=\"node35\">\n",
       "<title>34</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"616\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"616\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 33&#45;&#45;34 -->\n",
       "<g class=\"edge\" id=\"edge34\">\n",
       "<title>33--34</title>\n",
       "<path d=\"M721,-220C721,-220 678.9526,-197.9752 648.074,-181.8007\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 37 -->\n",
       "<g class=\"node\" id=\"node38\">\n",
       "<title>37</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"693\" y=\"-161.3\">&quot;md5&quot;</text>\n",
       "</g>\n",
       "<!-- 33&#45;&#45;37 -->\n",
       "<g class=\"edge\" id=\"edge37\">\n",
       "<title>33--37</title>\n",
       "<path d=\"M721,-220C721,-220 710.3342,-199.0494 702.1682,-183.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 38 -->\n",
       "<g class=\"node\" id=\"node39\">\n",
       "<title>38</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"765\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"765\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 33&#45;&#45;38 -->\n",
       "<g class=\"edge\" id=\"edge38\">\n",
       "<title>33--38</title>\n",
       "<path d=\"M721,-220C721,-220 736.9226,-200.0967 749.6109,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 35 -->\n",
       "<g class=\"node\" id=\"node36\">\n",
       "<title>35</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"574\" y=\"-87.3\">&quot;hashlib&quot;</text>\n",
       "</g>\n",
       "<!-- 34&#45;&#45;35 -->\n",
       "<g class=\"edge\" id=\"edge35\">\n",
       "<title>34--35</title>\n",
       "<path d=\"M616,-146C616,-146 600.0013,-125.0494 587.7524,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 36 -->\n",
       "<g class=\"node\" id=\"node37\">\n",
       "<title>36</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"658\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"658\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 34&#45;&#45;36 -->\n",
       "<g class=\"edge\" id=\"edge36\">\n",
       "<title>34--36</title>\n",
       "<path d=\"M616,-146C616,-146 631.1989,-126.0967 643.3104,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 40 -->\n",
       "<g class=\"node\" id=\"node41\">\n",
       "<title>40</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"849\" y=\"-161.3\">&quot;datedow&quot;</text>\n",
       "</g>\n",
       "<!-- 39&#45;&#45;40 -->\n",
       "<g class=\"edge\" id=\"edge40\">\n",
       "<title>39--40</title>\n",
       "<path d=\"M858,-220C858,-220 854.5717,-199.0494 851.9469,-183.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 41 -->\n",
       "<g class=\"node\" id=\"node42\">\n",
       "<title>41</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"933\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"933\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 39&#45;&#45;41 -->\n",
       "<g class=\"edge\" id=\"edge41\">\n",
       "<title>39--41</title>\n",
       "<path d=\"M858,-220C858,-220 885.1408,-200.0967 906.7686,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 45 -->\n",
       "<g class=\"node\" id=\"node46\">\n",
       "<title>45</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-464.8\">Tuple</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-449.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 44&#45;&#45;45 -->\n",
       "<g class=\"edge\" id=\"edge45\">\n",
       "<title>44--45</title>\n",
       "<path d=\"M1207,-516C1207,-516 1201.9337,-496.0967 1197.8965,-480.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 53 -->\n",
       "<g class=\"node\" id=\"node54\">\n",
       "<title>53</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-464.8\">ListComp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-449.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 44&#45;&#45;53 -->\n",
       "<g class=\"edge\" id=\"edge53\">\n",
       "<title>44--53</title>\n",
       "<path d=\"M1207,-516C1207,-516 1317.0186,-486.3381 1375.4659,-470.5803\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 46 -->\n",
       "<g class=\"node\" id=\"node47\">\n",
       "<title>46</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1118\" y=\"-390.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1118\" y=\"-375.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 45&#45;&#45;46 -->\n",
       "<g class=\"edge\" id=\"edge46\">\n",
       "<title>45--46</title>\n",
       "<path d=\"M1193,-442C1193,-442 1165.8592,-422.0967 1144.2314,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 49 -->\n",
       "<g class=\"node\" id=\"node50\">\n",
       "<title>49</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-390.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1193\" y=\"-375.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 45&#45;&#45;49 -->\n",
       "<g class=\"edge\" id=\"edge49\">\n",
       "<title>45--49</title>\n",
       "<path d=\"M1193,-442C1193,-442 1193,-422.0967 1193,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 52 -->\n",
       "<g class=\"node\" id=\"node53\">\n",
       "<title>52</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1267\" y=\"-390.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1267\" y=\"-375.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 45&#45;&#45;52 -->\n",
       "<g class=\"edge\" id=\"edge52\">\n",
       "<title>45--52</title>\n",
       "<path d=\"M1193,-442C1193,-442 1219.7789,-422.0967 1241.1184,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 47 -->\n",
       "<g class=\"node\" id=\"node48\">\n",
       "<title>47</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1047\" y=\"-309.3\">&quot;p&quot;</text>\n",
       "</g>\n",
       "<!-- 46&#45;&#45;47 -->\n",
       "<g class=\"edge\" id=\"edge47\">\n",
       "<title>46--47</title>\n",
       "<path d=\"M1110,-368C1110,-368 1086.002,-347.0494 1067.6286,-331.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 48 -->\n",
       "<g class=\"node\" id=\"node49\">\n",
       "<title>48</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1119\" y=\"-316.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1119\" y=\"-301.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 46&#45;&#45;48 -->\n",
       "<g class=\"edge\" id=\"edge48\">\n",
       "<title>46--48</title>\n",
       "<path d=\"M1110,-368C1110,-368 1113.2569,-348.0967 1115.8522,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 50 -->\n",
       "<g class=\"node\" id=\"node51\">\n",
       "<title>50</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1191\" y=\"-309.3\">&quot;q&quot;</text>\n",
       "</g>\n",
       "<!-- 49&#45;&#45;50 -->\n",
       "<g class=\"edge\" id=\"edge50\">\n",
       "<title>49--50</title>\n",
       "<path d=\"M1200,-368C1200,-368 1196.5717,-347.0494 1193.9469,-331.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 51 -->\n",
       "<g class=\"node\" id=\"node52\">\n",
       "<title>51</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1263\" y=\"-316.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1263\" y=\"-301.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 49&#45;&#45;51 -->\n",
       "<g class=\"edge\" id=\"edge51\">\n",
       "<title>49--51</title>\n",
       "<path d=\"M1200,-368C1200,-368 1222.7983,-348.0967 1240.9657,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 54 -->\n",
       "<g class=\"node\" id=\"node55\">\n",
       "<title>54</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-390.8\">BinOp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-375.8\">[elt]</text>\n",
       "</g>\n",
       "<!-- 53&#45;&#45;54 -->\n",
       "<g class=\"edge\" id=\"edge54\">\n",
       "<title>53--54</title>\n",
       "<path d=\"M1427,-442C1427,-442 1421.21,-422.0967 1416.596,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 72 -->\n",
       "<g class=\"node\" id=\"node73\">\n",
       "<title>72</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1745\" y=\"-390.8\">comprehension</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1745\" y=\"-375.8\">[generators]</text>\n",
       "</g>\n",
       "<!-- 53&#45;&#45;72 -->\n",
       "<g class=\"edge\" id=\"edge72\">\n",
       "<title>53--72</title>\n",
       "<path d=\"M1427,-442C1427,-442 1602.6291,-411.6239 1692.8449,-396.0205\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 55 -->\n",
       "<g class=\"node\" id=\"node56\">\n",
       "<title>55</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1337\" y=\"-316.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1337\" y=\"-301.8\">[left]</text>\n",
       "</g>\n",
       "<!-- 54&#45;&#45;55 -->\n",
       "<g class=\"edge\" id=\"edge55\">\n",
       "<title>54--55</title>\n",
       "<path d=\"M1411,-368C1411,-368 1384.2211,-348.0967 1362.8816,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 57 -->\n",
       "<g class=\"node\" id=\"node58\">\n",
       "<title>57</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-316.8\">Mod</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1411\" y=\"-301.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 54&#45;&#45;57 -->\n",
       "<g class=\"edge\" id=\"edge57\">\n",
       "<title>54--57</title>\n",
       "<path d=\"M1411,-368C1411,-368 1411,-348.0967 1411,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 58 -->\n",
       "<g class=\"node\" id=\"node59\">\n",
       "<title>58</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-316.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-301.8\">[right]</text>\n",
       "</g>\n",
       "<!-- 54&#45;&#45;58 -->\n",
       "<g class=\"edge\" id=\"edge58\">\n",
       "<title>54--58</title>\n",
       "<path d=\"M1411,-368C1411,-368 1438.8646,-348.0967 1461.0691,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 56 -->\n",
       "<g class=\"node\" id=\"node57\">\n",
       "<title>56</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1256\" y=\"-235.3\">&quot;%f&quot;</text>\n",
       "</g>\n",
       "<!-- 55&#45;&#45;56 -->\n",
       "<g class=\"edge\" id=\"edge56\">\n",
       "<title>55--56</title>\n",
       "<path d=\"M1316.1405,-293.9432C1303.7656,-282.6377 1288.1628,-268.3833 1275.951,-257.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 59 -->\n",
       "<g class=\"node\" id=\"node60\">\n",
       "<title>59</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1340\" y=\"-242.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1340\" y=\"-227.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 58&#45;&#45;59 -->\n",
       "<g class=\"edge\" id=\"edge59\">\n",
       "<title>58--59</title>\n",
       "<path d=\"M1476,-294C1476,-294 1418.8159,-270.8741 1378.6084,-254.6137\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 65 -->\n",
       "<g class=\"node\" id=\"node66\">\n",
       "<title>65</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-242.8\">BinOp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-227.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 58&#45;&#45;65 -->\n",
       "<g class=\"edge\" id=\"edge65\">\n",
       "<title>58--65</title>\n",
       "<path d=\"M1476,-294C1476,-294 1480.3425,-274.0967 1483.803,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 60 -->\n",
       "<g class=\"node\" id=\"node61\">\n",
       "<title>60</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1167\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1167\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 59&#45;&#45;60 -->\n",
       "<g class=\"edge\" id=\"edge60\">\n",
       "<title>59--60</title>\n",
       "<path d=\"M1324,-220C1324,-220 1258.3781,-203.3914 1208,-184 1205.0714,-182.8727 1202.057,-181.6338 1199.0551,-180.3458\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 63 -->\n",
       "<g class=\"node\" id=\"node64\">\n",
       "<title>63</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1256\" y=\"-161.3\">&quot;fromhex&quot;</text>\n",
       "</g>\n",
       "<!-- 59&#45;&#45;63 -->\n",
       "<g class=\"edge\" id=\"edge63\">\n",
       "<title>59--63</title>\n",
       "<path d=\"M1324,-220C1324,-220 1298.0974,-199.0494 1278.2657,-183.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 64 -->\n",
       "<g class=\"node\" id=\"node65\">\n",
       "<title>64</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1340\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1340\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 59&#45;&#45;64 -->\n",
       "<g class=\"edge\" id=\"edge64\">\n",
       "<title>59--64</title>\n",
       "<path d=\"M1324,-220C1324,-220 1329.79,-200.0967 1334.404,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 61 -->\n",
       "<g class=\"node\" id=\"node62\">\n",
       "<title>61</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1128\" y=\"-87.3\">&quot;float&quot;</text>\n",
       "</g>\n",
       "<!-- 60&#45;&#45;61 -->\n",
       "<g class=\"edge\" id=\"edge61\">\n",
       "<title>60--61</title>\n",
       "<path d=\"M1167,-146C1167,-146 1152.1441,-125.0494 1140.7701,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 62 -->\n",
       "<g class=\"node\" id=\"node63\">\n",
       "<title>62</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1205\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1205\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 60&#45;&#45;62 -->\n",
       "<g class=\"edge\" id=\"edge62\">\n",
       "<title>60--62</title>\n",
       "<path d=\"M1167,-146C1167,-146 1180.7513,-126.0967 1191.7094,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 66 -->\n",
       "<g class=\"node\" id=\"node67\">\n",
       "<title>66</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1414\" y=\"-168.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1414\" y=\"-153.8\">[left]</text>\n",
       "</g>\n",
       "<!-- 65&#45;&#45;66 -->\n",
       "<g class=\"edge\" id=\"edge66\">\n",
       "<title>65--66</title>\n",
       "<path d=\"M1488,-220C1488,-220 1461.2211,-200.0967 1439.8816,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 68 -->\n",
       "<g class=\"node\" id=\"node69\">\n",
       "<title>68</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-168.8\">Add</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1488\" y=\"-153.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 65&#45;&#45;68 -->\n",
       "<g class=\"edge\" id=\"edge68\">\n",
       "<title>65--68</title>\n",
       "<path d=\"M1488,-220C1488,-220 1488,-200.0967 1488,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 69 -->\n",
       "<g class=\"node\" id=\"node70\">\n",
       "<title>69</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1565\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1565\" y=\"-153.8\">[right]</text>\n",
       "</g>\n",
       "<!-- 65&#45;&#45;69 -->\n",
       "<g class=\"edge\" id=\"edge69\">\n",
       "<title>65--69</title>\n",
       "<path d=\"M1488,-220C1488,-220 1515.8646,-200.0967 1538.0691,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 67 -->\n",
       "<g class=\"node\" id=\"node68\">\n",
       "<title>67</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1414\" y=\"-87.3\">&quot;0.&quot;</text>\n",
       "</g>\n",
       "<!-- 66&#45;&#45;67 -->\n",
       "<g class=\"edge\" id=\"edge67\">\n",
       "<title>66--67</title>\n",
       "<path d=\"M1414,-145.9432C1414,-134.6377 1414,-120.3833 1414,-109.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 70 -->\n",
       "<g class=\"node\" id=\"node71\">\n",
       "<title>70</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1489\" y=\"-87.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 69&#45;&#45;70 -->\n",
       "<g class=\"edge\" id=\"edge70\">\n",
       "<title>69--70</title>\n",
       "<path d=\"M1556,-146C1556,-146 1530.4783,-125.0494 1510.9383,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 71 -->\n",
       "<g class=\"node\" id=\"node72\">\n",
       "<title>71</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1561\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1561\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 69&#45;&#45;71 -->\n",
       "<g class=\"edge\" id=\"edge71\">\n",
       "<title>69--71</title>\n",
       "<path d=\"M1556,-146C1556,-146 1557.8094,-126.0967 1559.2512,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 73 -->\n",
       "<g class=\"node\" id=\"node74\">\n",
       "<title>73</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1703\" y=\"-316.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1703\" y=\"-301.8\">[target]</text>\n",
       "</g>\n",
       "<!-- 72&#45;&#45;73 -->\n",
       "<g class=\"edge\" id=\"edge73\">\n",
       "<title>72--73</title>\n",
       "<path d=\"M1752,-368C1752,-368 1734.268,-348.0967 1720.1378,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 76 -->\n",
       "<g class=\"node\" id=\"node77\">\n",
       "<title>76</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1787\" y=\"-316.8\">Tuple</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1787\" y=\"-301.8\">[iter]</text>\n",
       "</g>\n",
       "<!-- 72&#45;&#45;76 -->\n",
       "<g class=\"edge\" id=\"edge76\">\n",
       "<title>72--76</title>\n",
       "<path d=\"M1752,-368C1752,-368 1764.6657,-348.0967 1774.7587,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 96 -->\n",
       "<g class=\"node\" id=\"node97\">\n",
       "<title>96</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1861\" y=\"-309.3\">0</text>\n",
       "</g>\n",
       "<!-- 72&#45;&#45;96 -->\n",
       "<g class=\"edge\" id=\"edge96\">\n",
       "<title>72--96</title>\n",
       "<path d=\"M1752,-368C1752,-368 1792.0865,-348.1718 1824,-332 1827.2206,-330.368 1830.5946,-328.6487 1833.9392,-326.9384\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 74 -->\n",
       "<g class=\"node\" id=\"node75\">\n",
       "<title>74</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1631\" y=\"-235.3\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 73&#45;&#45;74 -->\n",
       "<g class=\"edge\" id=\"edge74\">\n",
       "<title>73--74</title>\n",
       "<path d=\"M1695,-294C1695,-294 1670.6211,-273.0494 1651.956,-257.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 75 -->\n",
       "<g class=\"node\" id=\"node76\">\n",
       "<title>75</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1703\" y=\"-242.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1703\" y=\"-227.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 73&#45;&#45;75 -->\n",
       "<g class=\"edge\" id=\"edge75\">\n",
       "<title>73--75</title>\n",
       "<path d=\"M1695,-294C1695,-294 1697.895,-274.0967 1700.202,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 77 -->\n",
       "<g class=\"node\" id=\"node78\">\n",
       "<title>77</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1787\" y=\"-242.8\">Subscript</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1787\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 76&#45;&#45;77 -->\n",
       "<g class=\"edge\" id=\"edge77\">\n",
       "<title>76--77</title>\n",
       "<path d=\"M1807,-294C1807,-294 1799.7625,-274.0967 1793.995,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 85 -->\n",
       "<g class=\"node\" id=\"node86\">\n",
       "<title>85</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1926\" y=\"-242.8\">Subscript</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1926\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 76&#45;&#45;85 -->\n",
       "<g class=\"edge\" id=\"edge85\">\n",
       "<title>76--85</title>\n",
       "<path d=\"M1807,-294C1807,-294 1852.6169,-272.9166 1887.3641,-256.8569\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 95 -->\n",
       "<g class=\"node\" id=\"node96\">\n",
       "<title>95</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2010\" y=\"-242.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2010\" y=\"-227.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 76&#45;&#45;95 -->\n",
       "<g class=\"edge\" id=\"edge95\">\n",
       "<title>76--95</title>\n",
       "<path d=\"M1807,-294C1807,-294 1901.9296,-283.4589 1973,-258 1976.2631,-256.8311 1979.6033,-255.4326 1982.8769,-253.9316\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 78 -->\n",
       "<g class=\"node\" id=\"node79\">\n",
       "<title>78</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1690\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1690\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 77&#45;&#45;78 -->\n",
       "<g class=\"edge\" id=\"edge78\">\n",
       "<title>77--78</title>\n",
       "<path d=\"M1784,-220C1784,-220 1749.3176,-199.7071 1722.0866,-183.7741\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 81 -->\n",
       "<g class=\"node\" id=\"node82\">\n",
       "<title>81</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1772\" y=\"-168.8\">Slice</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1772\" y=\"-153.8\">[slice]</text>\n",
       "</g>\n",
       "<!-- 77&#45;&#45;81 -->\n",
       "<g class=\"edge\" id=\"edge81\">\n",
       "<title>77--81</title>\n",
       "<path d=\"M1784,-220C1784,-220 1779.6575,-200.0967 1776.197,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 84 -->\n",
       "<g class=\"node\" id=\"node85\">\n",
       "<title>84</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1849\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1849\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 77&#45;&#45;84 -->\n",
       "<g class=\"edge\" id=\"edge84\">\n",
       "<title>77--84</title>\n",
       "<path d=\"M1784,-220C1784,-220 1807.522,-200.0967 1826.2662,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 79 -->\n",
       "<g class=\"node\" id=\"node80\">\n",
       "<title>79</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1633\" y=\"-87.3\">&quot;h&quot;</text>\n",
       "</g>\n",
       "<!-- 78&#45;&#45;79 -->\n",
       "<g class=\"edge\" id=\"edge79\">\n",
       "<title>78--79</title>\n",
       "<path d=\"M1686,-146C1686,-146 1665.8112,-125.0494 1650.3542,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 80 -->\n",
       "<g class=\"node\" id=\"node81\">\n",
       "<title>80</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1705\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1705\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 78&#45;&#45;80 -->\n",
       "<g class=\"edge\" id=\"edge80\">\n",
       "<title>78--80</title>\n",
       "<path d=\"M1686,-146C1686,-146 1692.8757,-126.0967 1698.3547,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 82 -->\n",
       "<g class=\"node\" id=\"node83\">\n",
       "<title>82</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1782\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1782\" y=\"-79.8\">[upper]</text>\n",
       "</g>\n",
       "<!-- 81&#45;&#45;82 -->\n",
       "<g class=\"edge\" id=\"edge82\">\n",
       "<title>81--82</title>\n",
       "<path d=\"M1774.5752,-145.9432C1776.0567,-134.9803 1777.9129,-121.2445 1779.3987,-110.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 83 -->\n",
       "<g class=\"node\" id=\"node84\">\n",
       "<title>83</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1782\" y=\"-14.3\">16</text>\n",
       "</g>\n",
       "<!-- 82&#45;&#45;83 -->\n",
       "<g class=\"edge\" id=\"edge83\">\n",
       "<title>82--83</title>\n",
       "<path d=\"M1782,-71.8201C1782,-60.8368 1782,-47.1296 1782,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 86 -->\n",
       "<g class=\"node\" id=\"node87\">\n",
       "<title>86</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1926\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1926\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 85&#45;&#45;86 -->\n",
       "<g class=\"edge\" id=\"edge86\">\n",
       "<title>85--86</title>\n",
       "<path d=\"M1941,-220C1941,-220 1935.5718,-200.0967 1931.2463,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 89 -->\n",
       "<g class=\"node\" id=\"node90\">\n",
       "<title>89</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2008\" y=\"-168.8\">Slice</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2008\" y=\"-153.8\">[slice]</text>\n",
       "</g>\n",
       "<!-- 85&#45;&#45;89 -->\n",
       "<g class=\"edge\" id=\"edge89\">\n",
       "<title>85--89</title>\n",
       "<path d=\"M1941,-220C1941,-220 1965.2458,-200.0967 1984.5667,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 94 -->\n",
       "<g class=\"node\" id=\"node95\">\n",
       "<title>94</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2085\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2085\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 85&#45;&#45;94 -->\n",
       "<g class=\"edge\" id=\"edge94\">\n",
       "<title>85--94</title>\n",
       "<path d=\"M1941,-220C1941,-220 2002.4705,-203.8748 2049,-184 2051.8596,-182.7786 2054.7996,-181.4157 2057.708,-179.9961\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 87 -->\n",
       "<g class=\"node\" id=\"node88\">\n",
       "<title>87</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1859\" y=\"-87.3\">&quot;h&quot;</text>\n",
       "</g>\n",
       "<!-- 86&#45;&#45;87 -->\n",
       "<g class=\"edge\" id=\"edge87\">\n",
       "<title>86--87</title>\n",
       "<path d=\"M1919,-146C1919,-146 1896.1448,-125.0494 1878.6462,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 88 -->\n",
       "<g class=\"node\" id=\"node89\">\n",
       "<title>88</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1931\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1931\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 86&#45;&#45;88 -->\n",
       "<g class=\"edge\" id=\"edge88\">\n",
       "<title>86--88</title>\n",
       "<path d=\"M1919,-146C1919,-146 1923.3425,-126.0967 1926.803,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 90 -->\n",
       "<g class=\"node\" id=\"node91\">\n",
       "<title>90</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2008\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2008\" y=\"-79.8\">[lower]</text>\n",
       "</g>\n",
       "<!-- 89&#45;&#45;90 -->\n",
       "<g class=\"edge\" id=\"edge90\">\n",
       "<title>89--90</title>\n",
       "<path d=\"M2016,-146C2016,-146 2013.105,-126.0967 2010.798,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 92 -->\n",
       "<g class=\"node\" id=\"node93\">\n",
       "<title>92</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2090\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2090\" y=\"-79.8\">[upper]</text>\n",
       "</g>\n",
       "<!-- 89&#45;&#45;92 -->\n",
       "<g class=\"edge\" id=\"edge92\">\n",
       "<title>89--92</title>\n",
       "<path d=\"M2016,-146C2016,-146 2042.7789,-126.0967 2064.1184,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 91 -->\n",
       "<g class=\"node\" id=\"node92\">\n",
       "<title>91</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2008\" y=\"-14.3\">16</text>\n",
       "</g>\n",
       "<!-- 90&#45;&#45;91 -->\n",
       "<g class=\"edge\" id=\"edge91\">\n",
       "<title>90--91</title>\n",
       "<path d=\"M2008,-71.8201C2008,-60.8368 2008,-47.1296 2008,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 93 -->\n",
       "<g class=\"node\" id=\"node94\">\n",
       "<title>93</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2090\" y=\"-14.3\">32</text>\n",
       "</g>\n",
       "<!-- 92&#45;&#45;93 -->\n",
       "<g class=\"edge\" id=\"edge93\">\n",
       "<title>92--93</title>\n",
       "<path d=\"M2090,-71.8201C2090,-60.8368 2090,-47.1296 2090,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 98 -->\n",
       "<g class=\"node\" id=\"node99\">\n",
       "<title>98</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2006\" y=\"-464.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2006\" y=\"-449.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 97&#45;&#45;98 -->\n",
       "<g class=\"edge\" id=\"edge98\">\n",
       "<title>97--98</title>\n",
       "<path d=\"M1638.7983,-529.6185C1710.7917,-516.1652 1898.2232,-481.1401 1973.756,-467.0254\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 99 -->\n",
       "<g class=\"node\" id=\"node100\">\n",
       "<title>99</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2006\" y=\"-390.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2006\" y=\"-375.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 98&#45;&#45;99 -->\n",
       "<g class=\"edge\" id=\"edge99\">\n",
       "<title>98--99</title>\n",
       "<path d=\"M2019,-442C2019,-442 2014.2956,-422.0967 2010.5468,-406.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 102 -->\n",
       "<g class=\"node\" id=\"node103\">\n",
       "<title>102</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2171\" y=\"-390.8\">BinOp</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2171\" y=\"-375.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 98&#45;&#45;102 -->\n",
       "<g class=\"edge\" id=\"edge102\">\n",
       "<title>98--102</title>\n",
       "<path d=\"M2019,-442C2019,-442 2098.3793,-413.2772 2142.41,-397.3451\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 100 -->\n",
       "<g class=\"node\" id=\"node101\">\n",
       "<title>100</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"1968\" y=\"-309.3\">&quot;print&quot;</text>\n",
       "</g>\n",
       "<!-- 99&#45;&#45;100 -->\n",
       "<g class=\"edge\" id=\"edge100\">\n",
       "<title>99--100</title>\n",
       "<path d=\"M2006,-368C2006,-368 1991.525,-347.0494 1980.4426,-331.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 101 -->\n",
       "<g class=\"node\" id=\"node102\">\n",
       "<title>101</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2045\" y=\"-316.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2045\" y=\"-301.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 99&#45;&#45;101 -->\n",
       "<g class=\"edge\" id=\"edge101\">\n",
       "<title>99--101</title>\n",
       "<path d=\"M2006,-368C2006,-368 2020.1132,-348.0967 2031.3597,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 103 -->\n",
       "<g class=\"node\" id=\"node104\">\n",
       "<title>103</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2134\" y=\"-316.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2134\" y=\"-301.8\">[left]</text>\n",
       "</g>\n",
       "<!-- 102&#45;&#45;103 -->\n",
       "<g class=\"edge\" id=\"edge103\">\n",
       "<title>102--103</title>\n",
       "<path d=\"M2180,-368C2180,-368 2163.3536,-348.0967 2150.0886,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 105 -->\n",
       "<g class=\"node\" id=\"node106\">\n",
       "<title>105</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2208\" y=\"-316.8\">Mod</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2208\" y=\"-301.8\">[op]</text>\n",
       "</g>\n",
       "<!-- 102&#45;&#45;105 -->\n",
       "<g class=\"edge\" id=\"edge105\">\n",
       "<title>102--105</title>\n",
       "<path d=\"M2180,-368C2180,-368 2190.1326,-348.0967 2198.207,-332.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 106 -->\n",
       "<g class=\"node\" id=\"node107\">\n",
       "<title>106</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2541\" y=\"-316.8\">Tuple</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2541\" y=\"-301.8\">[right]</text>\n",
       "</g>\n",
       "<!-- 102&#45;&#45;106 -->\n",
       "<g class=\"edge\" id=\"edge106\">\n",
       "<title>102--106</title>\n",
       "<path d=\"M2180,-368C2180,-368 2420.6134,-331.3414 2508.9637,-317.8809\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 104 -->\n",
       "<g class=\"node\" id=\"node105\">\n",
       "<title>104</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2134\" y=\"-235.3\">&quot;%d%s %d%s&quot;</text>\n",
       "</g>\n",
       "<!-- 103&#45;&#45;104 -->\n",
       "<g class=\"edge\" id=\"edge104\">\n",
       "<title>103--104</title>\n",
       "<path d=\"M2134,-293.9432C2134,-282.6377 2134,-268.3833 2134,-257.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 107 -->\n",
       "<g class=\"node\" id=\"node108\">\n",
       "<title>107</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2259\" y=\"-242.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2259\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 106&#45;&#45;107 -->\n",
       "<g class=\"edge\" id=\"edge107\">\n",
       "<title>106--107</title>\n",
       "<path d=\"M2547,-294C2547,-294 2360.5137,-258.3863 2287.6674,-244.4747\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 110 -->\n",
       "<g class=\"node\" id=\"node111\">\n",
       "<title>110</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2457\" y=\"-242.8\">Subscript</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2457\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 106&#45;&#45;110 -->\n",
       "<g class=\"edge\" id=\"edge110\">\n",
       "<title>106--110</title>\n",
       "<path d=\"M2547,-294C2547,-294 2514.2192,-273.9673 2488.2251,-258.082\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 118 -->\n",
       "<g class=\"node\" id=\"node119\">\n",
       "<title>118</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2586\" y=\"-242.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2586\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 106&#45;&#45;118 -->\n",
       "<g class=\"edge\" id=\"edge118\">\n",
       "<title>106--118</title>\n",
       "<path d=\"M2547,-294C2547,-294 2561.1132,-274.0967 2572.3597,-258.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 121 -->\n",
       "<g class=\"node\" id=\"node122\">\n",
       "<title>121</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2754\" y=\"-242.8\">Subscript</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2754\" y=\"-227.8\">[elts]</text>\n",
       "</g>\n",
       "<!-- 106&#45;&#45;121 -->\n",
       "<g class=\"edge\" id=\"edge121\">\n",
       "<title>106--121</title>\n",
       "<path d=\"M2547,-294C2547,-294 2655.102,-265.2772 2715.0649,-249.3451\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 129 -->\n",
       "<g class=\"node\" id=\"node130\">\n",
       "<title>129</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2838\" y=\"-242.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2838\" y=\"-227.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 106&#45;&#45;129 -->\n",
       "<g class=\"edge\" id=\"edge129\">\n",
       "<title>106--129</title>\n",
       "<path d=\"M2547,-294C2547,-294 2692.3344,-292.5209 2801,-258 2804.3034,-256.9506 2807.6688,-255.6267 2810.9569,-254.1682\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 108 -->\n",
       "<g class=\"node\" id=\"node109\">\n",
       "<title>108</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2172\" y=\"-161.3\">&quot;latitude&quot;</text>\n",
       "</g>\n",
       "<!-- 107&#45;&#45;108 -->\n",
       "<g class=\"edge\" id=\"edge108\">\n",
       "<title>107--108</title>\n",
       "<path d=\"M2250,-220C2250,-220 2220.2882,-199.0494 2197.5401,-183.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 109 -->\n",
       "<g class=\"node\" id=\"node110\">\n",
       "<title>109</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2259\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2259\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 107&#45;&#45;109 -->\n",
       "<g class=\"edge\" id=\"edge109\">\n",
       "<title>107--109</title>\n",
       "<path d=\"M2250,-220C2250,-220 2253.2569,-200.0967 2255.8522,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 111 -->\n",
       "<g class=\"node\" id=\"node112\">\n",
       "<title>111</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2336\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2336\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 110&#45;&#45;111 -->\n",
       "<g class=\"edge\" id=\"edge111\">\n",
       "<title>110--111</title>\n",
       "<path d=\"M2450,-220C2450,-220 2401.7771,-196.7346 2368.0587,-180.4669\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 114 -->\n",
       "<g class=\"node\" id=\"node115\">\n",
       "<title>114</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2418\" y=\"-168.8\">Slice</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2418\" y=\"-153.8\">[slice]</text>\n",
       "</g>\n",
       "<!-- 110&#45;&#45;114 -->\n",
       "<g class=\"edge\" id=\"edge114\">\n",
       "<title>110--114</title>\n",
       "<path d=\"M2450,-220C2450,-220 2438.4199,-200.0967 2429.192,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 117 -->\n",
       "<g class=\"node\" id=\"node118\">\n",
       "<title>117</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2495\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2495\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 110&#45;&#45;117 -->\n",
       "<g class=\"edge\" id=\"edge117\">\n",
       "<title>110--117</title>\n",
       "<path d=\"M2450,-220C2450,-220 2466.2845,-200.0967 2479.2612,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 112 -->\n",
       "<g class=\"node\" id=\"node113\">\n",
       "<title>112</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2267\" y=\"-87.3\">&quot;p&quot;</text>\n",
       "</g>\n",
       "<!-- 111&#45;&#45;112 -->\n",
       "<g class=\"edge\" id=\"edge112\">\n",
       "<title>111--112</title>\n",
       "<path d=\"M2329,-146C2329,-146 2305.3829,-125.0494 2287.3011,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 113 -->\n",
       "<g class=\"node\" id=\"node114\">\n",
       "<title>113</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2339\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2339\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 111&#45;&#45;113 -->\n",
       "<g class=\"edge\" id=\"edge113\">\n",
       "<title>111--113</title>\n",
       "<path d=\"M2329,-146C2329,-146 2332.6188,-126.0967 2335.5025,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 115 -->\n",
       "<g class=\"node\" id=\"node116\">\n",
       "<title>115</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2418\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2418\" y=\"-79.8\">[lower]</text>\n",
       "</g>\n",
       "<!-- 114&#45;&#45;115 -->\n",
       "<g class=\"edge\" id=\"edge115\">\n",
       "<title>114--115</title>\n",
       "<path d=\"M2418,-145.9432C2418,-134.9803 2418,-121.2445 2418,-110.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 116 -->\n",
       "<g class=\"node\" id=\"node117\">\n",
       "<title>116</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2418\" y=\"-14.3\">1</text>\n",
       "</g>\n",
       "<!-- 115&#45;&#45;116 -->\n",
       "<g class=\"edge\" id=\"edge116\">\n",
       "<title>115--116</title>\n",
       "<path d=\"M2418,-71.8201C2418,-60.8368 2418,-47.1296 2418,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 119 -->\n",
       "<g class=\"node\" id=\"node120\">\n",
       "<title>119</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2586\" y=\"-161.3\">&quot;longitude&quot;</text>\n",
       "</g>\n",
       "<!-- 118&#45;&#45;119 -->\n",
       "<g class=\"edge\" id=\"edge119\">\n",
       "<title>118--119</title>\n",
       "<path d=\"M2595,-220C2595,-220 2591.5717,-199.0494 2588.9469,-183.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 120 -->\n",
       "<g class=\"node\" id=\"node121\">\n",
       "<title>120</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2677\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2677\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 118&#45;&#45;120 -->\n",
       "<g class=\"edge\" id=\"edge120\">\n",
       "<title>118--120</title>\n",
       "<path d=\"M2595,-220C2595,-220 2625.8413,-199.3137 2649.6952,-183.3142\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 122 -->\n",
       "<g class=\"node\" id=\"node123\">\n",
       "<title>122</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2754\" y=\"-168.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2754\" y=\"-153.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 121&#45;&#45;122 -->\n",
       "<g class=\"edge\" id=\"edge122\">\n",
       "<title>121--122</title>\n",
       "<path d=\"M2769,-220C2769,-220 2763.5718,-200.0967 2759.2463,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 125 -->\n",
       "<g class=\"node\" id=\"node126\">\n",
       "<title>125</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2836\" y=\"-168.8\">Slice</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2836\" y=\"-153.8\">[slice]</text>\n",
       "</g>\n",
       "<!-- 121&#45;&#45;125 -->\n",
       "<g class=\"edge\" id=\"edge125\">\n",
       "<title>121--125</title>\n",
       "<path d=\"M2769,-220C2769,-220 2793.2458,-200.0967 2812.5667,-184.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 128 -->\n",
       "<g class=\"node\" id=\"node129\">\n",
       "<title>128</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2913\" y=\"-168.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2913\" y=\"-153.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 121&#45;&#45;128 -->\n",
       "<g class=\"edge\" id=\"edge128\">\n",
       "<title>121--128</title>\n",
       "<path d=\"M2769,-220C2769,-220 2830.4705,-203.8748 2877,-184 2879.8596,-182.7786 2882.7996,-181.4157 2885.708,-179.9961\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 123 -->\n",
       "<g class=\"node\" id=\"node124\">\n",
       "<title>123</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2685\" y=\"-87.3\">&quot;q&quot;</text>\n",
       "</g>\n",
       "<!-- 122&#45;&#45;123 -->\n",
       "<g class=\"edge\" id=\"edge123\">\n",
       "<title>122--123</title>\n",
       "<path d=\"M2747,-146C2747,-146 2723.3829,-125.0494 2705.3011,-109.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 124 -->\n",
       "<g class=\"node\" id=\"node125\">\n",
       "<title>124</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2757\" y=\"-94.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2757\" y=\"-79.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 122&#45;&#45;124 -->\n",
       "<g class=\"edge\" id=\"edge124\">\n",
       "<title>122--124</title>\n",
       "<path d=\"M2747,-146C2747,-146 2750.6188,-126.0967 2753.5025,-110.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 126 -->\n",
       "<g class=\"node\" id=\"node127\">\n",
       "<title>126</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2836\" y=\"-94.8\">Num</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2836\" y=\"-79.8\">[lower]</text>\n",
       "</g>\n",
       "<!-- 125&#45;&#45;126 -->\n",
       "<g class=\"edge\" id=\"edge126\">\n",
       "<title>125--126</title>\n",
       "<path d=\"M2836,-145.9432C2836,-134.9803 2836,-121.2445 2836,-110.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 127 -->\n",
       "<g class=\"node\" id=\"node128\">\n",
       "<title>127</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"2836\" y=\"-14.3\">1</text>\n",
       "</g>\n",
       "<!-- 126&#45;&#45;127 -->\n",
       "<g class=\"edge\" id=\"edge127\">\n",
       "<title>126--127</title>\n",
       "<path d=\"M2836,-71.8201C2836,-60.8368 2836,-47.1296 2836,-36.2973\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# showast can also be used to visualize inspectable objects\n",
    "from showast import show_source\n",
    "\n",
    "import antigravity\n",
    "show_source(antigravity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"488pt\" viewBox=\"0.00 0.00 1014.50 488.00\" width=\"1015pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 484)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-484 1010.5,-484 1010.5,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"206\" y=\"-459.3\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"103.5\" y=\"-385.3\">&quot;choice&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M244.5,-444C244.5,-444 190.1784,-425.1208 147.5,-408 144.8744,-406.9467 142.17,-405.838 139.4542,-404.7073\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195.5\" y=\"-392.8\">arguments</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195.5\" y=\"-377.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M244.5,-444C244.5,-444 226.768,-424.0967 212.6378,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"291.5\" y=\"-392.8\">Try</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"291.5\" y=\"-377.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>0--7</title>\n",
       "<path d=\"M244.5,-444C244.5,-444 261.5082,-424.0967 275.0617,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 38 -->\n",
       "<g class=\"node\" id=\"node39\">\n",
       "<title>38</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"559.5\" y=\"-392.8\">Return</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"559.5\" y=\"-377.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;38 -->\n",
       "<g class=\"edge\" id=\"edge38\">\n",
       "<title>0--38</title>\n",
       "<path d=\"M244.5,-444C244.5,-444 453.4502,-407.5166 530.9903,-393.9779\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"72.5\" y=\"-318.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"72.5\" y=\"-303.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M183.5,-370C183.5,-370 133.9738,-345.46 101.0853,-329.1639\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"190.5\" y=\"-318.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"190.5\" y=\"-303.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>2--5</title>\n",
       "<path d=\"M183.5,-370C183.5,-370 186.0331,-350.0967 188.0517,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"50.5\" y=\"-237.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M66.8345,-295.9432C63.4734,-284.6377 59.2356,-270.3833 55.9188,-259.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"124.5\" y=\"-237.3\">&quot;seq&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M173.5034,-295.9432C163.4201,-284.6377 150.7068,-270.3833 140.7564,-259.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"291.5\" y=\"-318.8\">Assign</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"291.5\" y=\"-303.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M304.5,-370C304.5,-370 299.7956,-350.0967 296.0468,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 26 -->\n",
       "<g class=\"node\" id=\"node27\">\n",
       "<title>26</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"479.5\" y=\"-318.8\">ExceptHandler</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"479.5\" y=\"-303.8\">[handlers]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;26 -->\n",
       "<g class=\"edge\" id=\"edge26\">\n",
       "<title>7--26</title>\n",
       "<path d=\"M304.5,-370C304.5,-370 375.8828,-347.5654 427.468,-331.3529\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"208.5\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"208.5\" y=\"-229.8\">[targets]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M283.5,-296C283.5,-296 256.3592,-276.0967 234.7314,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"297.5\" y=\"-244.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"297.5\" y=\"-229.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>8--12</title>\n",
       "<path d=\"M283.5,-296C283.5,-296 288.5663,-276.0967 292.6035,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"96.5\" y=\"-163.3\">&quot;i&quot;</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M191.5,-222C191.5,-222 151.7955,-199.0132 123.7232,-182.7608\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"168.5\" y=\"-170.8\">Store</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"168.5\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>9--11</title>\n",
       "<path d=\"M191.5,-222C191.5,-222 183.1768,-202.0967 176.5443,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"252.5\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"252.5\" y=\"-155.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 12&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>12--13</title>\n",
       "<path d=\"M297.5,-222C297.5,-222 281.2155,-202.0967 268.2388,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 19 -->\n",
       "<g class=\"node\" id=\"node20\">\n",
       "<title>19</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"337.5\" y=\"-170.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"337.5\" y=\"-155.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 12&#45;&#45;19 -->\n",
       "<g class=\"edge\" id=\"edge19\">\n",
       "<title>12--19</title>\n",
       "<path d=\"M297.5,-222C297.5,-222 311.9751,-202.0967 323.5099,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"65.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"65.5\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>13--14</title>\n",
       "<path d=\"M237.5,-148C237.5,-148 163.1978,-132.7651 106.5,-112 103.5533,-110.9208 100.5265,-109.715 97.5165,-108.4485\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"164.5\" y=\"-89.3\">&quot;_randbelow&quot;</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>13--17</title>\n",
       "<path d=\"M237.5,-148C237.5,-148 209.6928,-127.0494 188.4029,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 18 -->\n",
       "<g class=\"node\" id=\"node19\">\n",
       "<title>18</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"258.5\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"258.5\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;18 -->\n",
       "<g class=\"edge\" id=\"edge18\">\n",
       "<title>13--18</title>\n",
       "<path d=\"M237.5,-148C237.5,-148 245.0994,-128.0967 251.1552,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"28.5\" y=\"-15.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>14--15</title>\n",
       "<path d=\"M65.5,-74C65.5,-74 51.4059,-53.0494 40.6152,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"102.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"102.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 14&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>14--16</title>\n",
       "<path d=\"M65.5,-74C65.5,-74 78.8895,-54.0967 89.5592,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 20 -->\n",
       "<g class=\"node\" id=\"node21\">\n",
       "<title>20</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"332.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"332.5\" y=\"-81.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;20 -->\n",
       "<g class=\"edge\" id=\"edge20\">\n",
       "<title>19--20</title>\n",
       "<path d=\"M344.5,-148C344.5,-148 340.1575,-128.0967 336.697,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 23 -->\n",
       "<g class=\"node\" id=\"node24\">\n",
       "<title>23</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"407.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"407.5\" y=\"-81.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 19&#45;&#45;23 -->\n",
       "<g class=\"edge\" id=\"edge23\">\n",
       "<title>19--23</title>\n",
       "<path d=\"M344.5,-148C344.5,-148 367.2983,-128.0967 385.4657,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 21 -->\n",
       "<g class=\"node\" id=\"node22\">\n",
       "<title>21</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"260.5\" y=\"-15.3\">&quot;len&quot;</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;21 -->\n",
       "<g class=\"edge\" id=\"edge21\">\n",
       "<title>20--21</title>\n",
       "<path d=\"M324.5,-74C324.5,-74 300.1211,-53.0494 281.456,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 22 -->\n",
       "<g class=\"node\" id=\"node23\">\n",
       "<title>22</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"332.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"332.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 20&#45;&#45;22 -->\n",
       "<g class=\"edge\" id=\"edge22\">\n",
       "<title>20--22</title>\n",
       "<path d=\"M324.5,-74C324.5,-74 327.395,-54.0967 329.702,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 24 -->\n",
       "<g class=\"node\" id=\"node25\">\n",
       "<title>24</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"404.5\" y=\"-15.3\">&quot;seq&quot;</text>\n",
       "</g>\n",
       "<!-- 23&#45;&#45;24 -->\n",
       "<g class=\"edge\" id=\"edge24\">\n",
       "<title>23--24</title>\n",
       "<path d=\"M414.5,-74C414.5,-74 410.6908,-53.0494 407.7744,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 25 -->\n",
       "<g class=\"node\" id=\"node26\">\n",
       "<title>25</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"476.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"476.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 23&#45;&#45;25 -->\n",
       "<g class=\"edge\" id=\"edge25\">\n",
       "<title>23--25</title>\n",
       "<path d=\"M414.5,-74C414.5,-74 436.9364,-54.0967 454.8154,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 27 -->\n",
       "<g class=\"node\" id=\"node28\">\n",
       "<title>27</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"479.5\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"479.5\" y=\"-229.8\">[type]</text>\n",
       "</g>\n",
       "<!-- 26&#45;&#45;27 -->\n",
       "<g class=\"edge\" id=\"edge27\">\n",
       "<title>26--27</title>\n",
       "<path d=\"M490.5,-296C490.5,-296 486.5193,-276.0967 483.3473,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 30 -->\n",
       "<g class=\"node\" id=\"node31\">\n",
       "<title>30</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-244.8\">Raise</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 26&#45;&#45;30 -->\n",
       "<g class=\"edge\" id=\"edge30\">\n",
       "<title>26--30</title>\n",
       "<path d=\"M490.5,-296C490.5,-296 538.5667,-271.7462 570.8615,-255.4506\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 28 -->\n",
       "<g class=\"node\" id=\"node29\">\n",
       "<title>28</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"433.5\" y=\"-163.3\">&quot;ValueError&quot;</text>\n",
       "</g>\n",
       "<!-- 27&#45;&#45;28 -->\n",
       "<g class=\"edge\" id=\"edge28\">\n",
       "<title>27--28</title>\n",
       "<path d=\"M479.5,-222C479.5,-222 461.9777,-201.0494 448.5621,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 29 -->\n",
       "<g class=\"node\" id=\"node30\">\n",
       "<title>29</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"527.5\" y=\"-170.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"527.5\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 27&#45;&#45;29 -->\n",
       "<g class=\"edge\" id=\"edge29\">\n",
       "<title>27--29</title>\n",
       "<path d=\"M479.5,-222C479.5,-222 496.8701,-202.0967 510.7119,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 31 -->\n",
       "<g class=\"node\" id=\"node32\">\n",
       "<title>31</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-170.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-155.8\">[exc]</text>\n",
       "</g>\n",
       "<!-- 30&#45;&#45;31 -->\n",
       "<g class=\"edge\" id=\"edge31\">\n",
       "<title>30--31</title>\n",
       "<path d=\"M608.5,-222C608.5,-222 605.2431,-202.0967 602.6478,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 37 -->\n",
       "<g class=\"node\" id=\"node38\">\n",
       "<title>37</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"693.5\" y=\"-170.8\">NameConstant</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"693.5\" y=\"-155.8\">[cause]</text>\n",
       "</g>\n",
       "<!-- 30&#45;&#45;37 -->\n",
       "<g class=\"edge\" id=\"edge37\">\n",
       "<title>30--37</title>\n",
       "<path d=\"M608.5,-222C608.5,-222 639.2596,-202.0967 663.7711,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 32 -->\n",
       "<g class=\"node\" id=\"node33\">\n",
       "<title>32</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"599.5\" y=\"-81.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 31&#45;&#45;32 -->\n",
       "<g class=\"edge\" id=\"edge32\">\n",
       "<title>31--32</title>\n",
       "<path d=\"M612.5,-148C612.5,-148 607.7956,-128.0967 604.0468,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 35 -->\n",
       "<g class=\"node\" id=\"node36\">\n",
       "<title>35</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"768.5\" y=\"-96.8\">Str</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"768.5\" y=\"-81.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 31&#45;&#45;35 -->\n",
       "<g class=\"edge\" id=\"edge35\">\n",
       "<title>31--35</title>\n",
       "<path d=\"M612.5,-148C612.5,-148 694.8513,-118.9659 739.8872,-103.0878\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 33 -->\n",
       "<g class=\"node\" id=\"node34\">\n",
       "<title>33</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"570.5\" y=\"-15.3\">&quot;IndexError&quot;</text>\n",
       "</g>\n",
       "<!-- 32&#45;&#45;33 -->\n",
       "<g class=\"edge\" id=\"edge33\">\n",
       "<title>32--33</title>\n",
       "<path d=\"M602.5,-74C602.5,-74 590.3105,-53.0494 580.978,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 34 -->\n",
       "<g class=\"node\" id=\"node35\">\n",
       "<title>34</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"664.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"664.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 32&#45;&#45;34 -->\n",
       "<g class=\"edge\" id=\"edge34\">\n",
       "<title>32--34</title>\n",
       "<path d=\"M602.5,-74C602.5,-74 624.9364,-54.0967 642.8154,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 36 -->\n",
       "<g class=\"node\" id=\"node37\">\n",
       "<title>36</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"846.5\" y=\"-15.3\">&quot;Cannot choose from an empty sequence&quot;</text>\n",
       "</g>\n",
       "<!-- 35&#45;&#45;36 -->\n",
       "<g class=\"edge\" id=\"edge36\">\n",
       "<title>35--36</title>\n",
       "<path d=\"M788.5869,-73.9432C800.5035,-62.6377 815.5284,-48.3833 827.2879,-37.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 39 -->\n",
       "<g class=\"node\" id=\"node40\">\n",
       "<title>39</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"861.5\" y=\"-318.8\">Subscript</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"861.5\" y=\"-303.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 38&#45;&#45;39 -->\n",
       "<g class=\"edge\" id=\"edge39\">\n",
       "<title>38--39</title>\n",
       "<path d=\"M588.1837,-381.9715C642.6606,-368.6229 761.1359,-339.5925 822.6623,-324.5165\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 40 -->\n",
       "<g class=\"node\" id=\"node41\">\n",
       "<title>40</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"820.5\" y=\"-244.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"820.5\" y=\"-229.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 39&#45;&#45;40 -->\n",
       "<g class=\"edge\" id=\"edge40\">\n",
       "<title>39--40</title>\n",
       "<path d=\"M868.5,-296C868.5,-296 851.1299,-276.0967 837.2881,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 43 -->\n",
       "<g class=\"node\" id=\"node44\">\n",
       "<title>43</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"902.5\" y=\"-244.8\">Index</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"902.5\" y=\"-229.8\">[slice]</text>\n",
       "</g>\n",
       "<!-- 39&#45;&#45;43 -->\n",
       "<g class=\"edge\" id=\"edge43\">\n",
       "<title>39--43</title>\n",
       "<path d=\"M868.5,-296C868.5,-296 880.8038,-276.0967 890.6084,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 47 -->\n",
       "<g class=\"node\" id=\"node48\">\n",
       "<title>47</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"979.5\" y=\"-244.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"979.5\" y=\"-229.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 39&#45;&#45;47 -->\n",
       "<g class=\"edge\" id=\"edge47\">\n",
       "<title>39--47</title>\n",
       "<path d=\"M868.5,-296C868.5,-296 910.4775,-276.6321 943.5,-260 946.4034,-258.5377 949.4257,-256.9874 952.4305,-255.428\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 41 -->\n",
       "<g class=\"node\" id=\"node42\">\n",
       "<title>41</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"787.5\" y=\"-163.3\">&quot;seq&quot;</text>\n",
       "</g>\n",
       "<!-- 40&#45;&#45;41 -->\n",
       "<g class=\"edge\" id=\"edge41\">\n",
       "<title>40--41</title>\n",
       "<path d=\"M821.5,-222C821.5,-222 808.5487,-201.0494 798.6329,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 42 -->\n",
       "<g class=\"node\" id=\"node43\">\n",
       "<title>42</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"859.5\" y=\"-170.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"859.5\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 40&#45;&#45;42 -->\n",
       "<g class=\"edge\" id=\"edge42\">\n",
       "<title>40--42</title>\n",
       "<path d=\"M821.5,-222C821.5,-222 835.2513,-202.0967 846.2094,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 44 -->\n",
       "<g class=\"node\" id=\"node45\">\n",
       "<title>44</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"936.5\" y=\"-170.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"936.5\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 43&#45;&#45;44 -->\n",
       "<g class=\"edge\" id=\"edge44\">\n",
       "<title>43--44</title>\n",
       "<path d=\"M911.2558,-221.9432C916.2928,-210.9803 922.6039,-197.2445 927.6557,-186.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 45 -->\n",
       "<g class=\"node\" id=\"node46\">\n",
       "<title>45</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"900.5\" y=\"-89.3\">&quot;i&quot;</text>\n",
       "</g>\n",
       "<!-- 44&#45;&#45;45 -->\n",
       "<g class=\"edge\" id=\"edge45\">\n",
       "<title>44--45</title>\n",
       "<path d=\"M936.5,-148C936.5,-148 922.7869,-127.0494 912.2877,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 46 -->\n",
       "<g class=\"node\" id=\"node47\">\n",
       "<title>46</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"972.5\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"972.5\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 44&#45;&#45;46 -->\n",
       "<g class=\"edge\" id=\"edge46\">\n",
       "<title>44--46</title>\n",
       "<path d=\"M936.5,-148C936.5,-148 949.5276,-128.0967 959.9089,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import random\n",
    "show_source(random.choice)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"340pt\" viewBox=\"0.00 0.00 377.50 340.00\" width=\"378pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 336)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-336 373.5,-336 373.5,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"110\" y=\"-311.3\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"45.5\" y=\"-237.3\">&quot;__enter__&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M147.5,-296C147.5,-296 108.6461,-275.0494 78.8986,-259.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147.5\" y=\"-244.8\">arguments</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"147.5\" y=\"-229.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M147.5,-296C147.5,-296 147.5,-276.0967 147.5,-260.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"241.5\" y=\"-244.8\">Return</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"241.5\" y=\"-229.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>0--5</title>\n",
       "<path d=\"M147.5,-296C147.5,-296 185.1425,-273.9752 212.7861,-257.8007\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"142.5\" y=\"-170.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"142.5\" y=\"-155.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M146.2124,-221.9432C145.4716,-210.9803 144.5435,-197.2445 143.8006,-186.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"104.5\" y=\"-89.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M132.7141,-147.9432C126.9086,-136.6377 119.5887,-122.3833 113.8597,-111.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"246.5\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"246.5\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M242.7876,-221.9432C243.5284,-210.9803 244.4565,-197.2445 245.1994,-186.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"183.5\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"183.5\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 6&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>6--7</title>\n",
       "<path d=\"M249.5,-148C249.5,-148 225.6161,-128.0967 206.5836,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"265.5\" y=\"-89.3\">&quot;thing&quot;</text>\n",
       "</g>\n",
       "<!-- 6&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>6--10</title>\n",
       "<path d=\"M249.5,-148C249.5,-148 255.5947,-127.0494 260.261,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"342.5\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"342.5\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 6&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>6--11</title>\n",
       "<path d=\"M249.5,-148C249.5,-148 287.6672,-125.428 315.0999,-109.2043\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"146.5\" y=\"-15.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M183.5,-74C183.5,-74 169.4059,-53.0494 158.6152,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"220.5\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"220.5\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>7--9</title>\n",
       "<path d=\"M183.5,-74C183.5,-74 196.8895,-54.0967 207.5592,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"488pt\" viewBox=\"0.00 0.00 352.00 488.00\" width=\"352pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 484)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-484 348,-484 348,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"103.5\" y=\"-459.3\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"42\" y=\"-385.3\">&quot;__exit__&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M141,-444C141,-444 103.2889,-423.0494 74.4163,-407.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-392.8\">arguments</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-377.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M141,-444C141,-444 141,-424.0967 141,-408.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"229\" y=\"-392.8\">Expr</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"229\" y=\"-377.8\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>0--7</title>\n",
       "<path d=\"M141,-444C141,-444 174.521,-423.0494 200.1855,-407.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-318.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"56\" y=\"-303.8\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M132,-370C132,-370 104.4973,-350.0967 82.5811,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-318.8\">arg</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-303.8\">[vararg]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>2--5</title>\n",
       "<path d=\"M132,-370C132,-370 135.2569,-350.0967 137.8522,-334.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"52\" y=\"-237.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M54.9699,-295.9432C54.3588,-284.6377 53.5883,-270.3833 52.9852,-259.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"141\" y=\"-237.3\">&quot;exc_info&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M141,-295.9432C141,-284.6377 141,-270.3833 141,-259.2269\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"233\" y=\"-318.8\">Call</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"233\" y=\"-303.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M230.0301,-369.9432C230.6227,-358.9803 231.3652,-345.2445 231.9595,-334.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"240\" y=\"-244.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"240\" y=\"-229.8\">[func]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M234.8027,-295.9432C235.8397,-284.9803 237.139,-271.2445 238.1791,-260.2495\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"151\" y=\"-170.8\">Attribute</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"151\" y=\"-155.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M240,-222C240,-222 207.7929,-202.0967 182.1279,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 16 -->\n",
       "<g class=\"node\" id=\"node17\">\n",
       "<title>16</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"240\" y=\"-163.3\">&quot;close&quot;</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;16 -->\n",
       "<g class=\"edge\" id=\"edge16\">\n",
       "<title>9--16</title>\n",
       "<path d=\"M240,-222C240,-222 240,-201.0494 240,-185.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 17 -->\n",
       "<g class=\"node\" id=\"node18\">\n",
       "<title>17</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"317\" y=\"-170.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"317\" y=\"-155.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;17 -->\n",
       "<g class=\"edge\" id=\"edge17\">\n",
       "<title>9--17</title>\n",
       "<path d=\"M240,-222C240,-222 267.8646,-202.0967 290.0691,-186.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"69\" y=\"-96.8\">Name</text>\n",
       "<text fill=\"#004080\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"69\" y=\"-81.8\">[value]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>10--11</title>\n",
       "<path d=\"M151,-148C151,-148 121.326,-128.0967 97.6796,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"151\" y=\"-89.3\">&quot;thing&quot;</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>10--14</title>\n",
       "<path d=\"M151,-148C151,-148 151,-127.0494 151,-111.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"228\" y=\"-96.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"228\" y=\"-81.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 10&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>10--15</title>\n",
       "<path d=\"M151,-148C151,-148 178.8646,-128.0967 201.0691,-112.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"32\" y=\"-15.3\">&quot;self&quot;</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>11--12</title>\n",
       "<path d=\"M69,-74C69,-74 54.9059,-53.0494 44.1152,-37.0091\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"106\" y=\"-22.8\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Courier,monospace\" font-size=\"14.00\" text-anchor=\"middle\" x=\"106\" y=\"-7.8\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 11&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>11--13</title>\n",
       "<path d=\"M69,-74C69,-74 82.3895,-54.0967 93.0592,-38.2363\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import contextlib\n",
    "show_source(contextlib.closing.__enter__)\n",
    "show_source(contextlib.closing.__exit__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# styling options can also be set\n",
    "from showast import Settings\n",
    "Settings['font'] = 'Century'\n",
    "Settings['shape'] = 'oval'\n",
    "Settings['nonterminal_color'] = '#7733AA'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"403pt\" viewBox=\"0.00 0.00 495.82 402.96\" width=\"496pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       "<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 398.9605)\">\n",
       "<title>%3</title>\n",
       "<polygon fill=\"#ffffff\" points=\"-4,4 -4,-398.9605 491.8163,-398.9605 491.8163,4 -4,4\" stroke=\"transparent\"/>\n",
       "<!-- 0 -->\n",
       "<g class=\"node\" id=\"node1\">\n",
       "<title>0</title>\n",
       "<ellipse cx=\"159.0467\" cy=\"-376.9605\" fill=\"none\" rx=\"75.2868\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" font-weight=\"bold\" text-anchor=\"start\" x=\"109.0467\" y=\"-374.2605\">FunctionDef</text>\n",
       "</g>\n",
       "<!-- 1 -->\n",
       "<g class=\"node\" id=\"node2\">\n",
       "<title>1</title>\n",
       "<ellipse cx=\"37.0467\" cy=\"-296.0904\" fill=\"none\" rx=\"37.0935\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"37.0467\" y=\"-292.3904\">&quot;add&quot;</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;1 -->\n",
       "<g class=\"edge\" id=\"edge1\">\n",
       "<title>0--1</title>\n",
       "<path d=\"M159.0467,-358.9605C159.0467,-358.9605 116.1029,-340.4026 83.0467,-322.9605 75.5212,-318.9896 67.4637,-314.4026 60.2286,-310.155\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 2 -->\n",
       "<g class=\"node\" id=\"node3\">\n",
       "<title>2</title>\n",
       "<ellipse cx=\"159.0467\" cy=\"-296.0904\" fill=\"none\" rx=\"67.3507\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"159.0467\" y=\"-299.8904\">arguments</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"159.0467\" y=\"-284.8904\">[args]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;2 -->\n",
       "<g class=\"edge\" id=\"edge2\">\n",
       "<title>0--2</title>\n",
       "<path d=\"M159.0467,-358.9605C159.0467,-358.9605 159.0467,-340.1578 159.0467,-323.1178\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 7 -->\n",
       "<g class=\"node\" id=\"node8\">\n",
       "<title>7</title>\n",
       "<ellipse cx=\"306.0467\" cy=\"-296.0904\" fill=\"none\" rx=\"45.9239\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"306.0467\" y=\"-299.8904\">Return</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"306.0467\" y=\"-284.8904\">[body]</text>\n",
       "</g>\n",
       "<!-- 0&#45;&#45;7 -->\n",
       "<g class=\"edge\" id=\"edge7\">\n",
       "<title>0--7</title>\n",
       "<path d=\"M159.0467,-358.9605C159.0467,-358.9605 225.0196,-330.7447 268.5721,-312.1178\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 3 -->\n",
       "<g class=\"node\" id=\"node4\">\n",
       "<title>3</title>\n",
       "<ellipse cx=\"58.0467\" cy=\"-206.3503\" fill=\"none\" rx=\"41.9398\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"58.0467\" y=\"-210.1503\">arg</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"58.0467\" y=\"-195.1503\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;3 -->\n",
       "<g class=\"edge\" id=\"edge3\">\n",
       "<title>2--3</title>\n",
       "<path d=\"M147.0467,-269.0904C147.0467,-269.0904 112.2811,-244.5825 86.2069,-226.2017\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 5 -->\n",
       "<g class=\"node\" id=\"node6\">\n",
       "<title>5</title>\n",
       "<ellipse cx=\"159.0467\" cy=\"-206.3503\" fill=\"none\" rx=\"41.9398\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"159.0467\" y=\"-210.1503\">arg</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"159.0467\" y=\"-195.1503\">[args]</text>\n",
       "</g>\n",
       "<!-- 2&#45;&#45;5 -->\n",
       "<g class=\"edge\" id=\"edge5\">\n",
       "<title>2--5</title>\n",
       "<path d=\"M147.0467,-269.0904C147.0467,-269.0904 150.6356,-250.3266 153.888,-233.3219\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 4 -->\n",
       "<g class=\"node\" id=\"node5\">\n",
       "<title>4</title>\n",
       "<ellipse cx=\"58.0467\" cy=\"-116.6102\" fill=\"none\" rx=\"27\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"58.0467\" y=\"-112.9102\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 3&#45;&#45;4 -->\n",
       "<g class=\"edge\" id=\"edge4\">\n",
       "<title>3--4</title>\n",
       "<path d=\"M58.0467,-179.4253C58.0467,-164.9695 58.0467,-147.5384 58.0467,-134.7097\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 6 -->\n",
       "<g class=\"node\" id=\"node7\">\n",
       "<title>6</title>\n",
       "<ellipse cx=\"144.0467\" cy=\"-116.6102\" fill=\"none\" rx=\"27\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"144.0467\" y=\"-112.9102\">&quot;y&quot;</text>\n",
       "</g>\n",
       "<!-- 5&#45;&#45;6 -->\n",
       "<g class=\"edge\" id=\"edge6\">\n",
       "<title>5--6</title>\n",
       "<path d=\"M154.5462,-179.4253C152.1299,-164.9695 149.2164,-147.5384 147.072,-134.7097\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 8 -->\n",
       "<g class=\"node\" id=\"node9\">\n",
       "<title>8</title>\n",
       "<ellipse cx=\"314.0467\" cy=\"-206.3503\" fill=\"none\" rx=\"46.8387\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"314.0467\" y=\"-210.1503\">BinOp</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"314.0467\" y=\"-195.1503\">[value]</text>\n",
       "</g>\n",
       "<!-- 7&#45;&#45;8 -->\n",
       "<g class=\"edge\" id=\"edge8\">\n",
       "<title>7--8</title>\n",
       "<path d=\"M308.447,-269.1654C309.4595,-257.8073 310.6358,-244.6124 311.6481,-233.2563\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 9 -->\n",
       "<g class=\"node\" id=\"node10\">\n",
       "<title>9</title>\n",
       "<ellipse cx=\"231.0467\" cy=\"-116.6102\" fill=\"none\" rx=\"41.9398\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"231.0467\" y=\"-120.4102\">Name</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"231.0467\" y=\"-105.4102\">[left]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;9 -->\n",
       "<g class=\"edge\" id=\"edge9\">\n",
       "<title>8--9</title>\n",
       "<path d=\"M316.0467,-179.3503C316.0467,-179.3503 283.6685,-155.4513 258.8789,-137.1536\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 12 -->\n",
       "<g class=\"node\" id=\"node13\">\n",
       "<title>12</title>\n",
       "<ellipse cx=\"323.0467\" cy=\"-116.6102\" fill=\"none\" rx=\"31.6406\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323.0467\" y=\"-120.4102\">Add</text>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"323.0467\" y=\"-105.4102\">[op]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;12 -->\n",
       "<g class=\"edge\" id=\"edge12\">\n",
       "<title>8--12</title>\n",
       "<path d=\"M316.0467,-179.3503C316.0467,-179.3503 318.1402,-160.5865 320.0375,-143.5817\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 13 -->\n",
       "<g class=\"node\" id=\"node14\">\n",
       "<title>13</title>\n",
       "<ellipse cx=\"415.0467\" cy=\"-116.6102\" fill=\"none\" rx=\"42.3529\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"415.0467\" y=\"-120.4102\">Name</text>\n",
       "<text fill=\"#7733aa\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"415.0467\" y=\"-105.4102\">[right]</text>\n",
       "</g>\n",
       "<!-- 8&#45;&#45;13 -->\n",
       "<g class=\"edge\" id=\"edge13\">\n",
       "<title>8--13</title>\n",
       "<path d=\"M316.0467,-179.3503C316.0467,-179.3503 355.6914,-154.2259 384.8055,-135.7752\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 10 -->\n",
       "<g class=\"node\" id=\"node11\">\n",
       "<title>10</title>\n",
       "<ellipse cx=\"195.0467\" cy=\"-26.8701\" fill=\"none\" rx=\"27\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"195.0467\" y=\"-23.1701\">&quot;x&quot;</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;10 -->\n",
       "<g class=\"edge\" id=\"edge10\">\n",
       "<title>9--10</title>\n",
       "<path d=\"M232.0467,-89.6102C232.0467,-89.6102 215.9219,-62.2676 204.962,-43.6833\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 11 -->\n",
       "<g class=\"node\" id=\"node12\">\n",
       "<title>11</title>\n",
       "<ellipse cx=\"277.0467\" cy=\"-26.8701\" fill=\"none\" rx=\"36.5405\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"277.0467\" y=\"-30.6701\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"277.0467\" y=\"-15.6701\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 9&#45;&#45;11 -->\n",
       "<g class=\"edge\" id=\"edge11\">\n",
       "<title>9--11</title>\n",
       "<path d=\"M232.0467,-89.6102C232.0467,-89.6102 247.087,-68.6406 259.7772,-50.9476\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 14 -->\n",
       "<g class=\"node\" id=\"node15\">\n",
       "<title>14</title>\n",
       "<ellipse cx=\"369.0467\" cy=\"-26.8701\" fill=\"none\" rx=\"27\" ry=\"18\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"369.0467\" y=\"-23.1701\">&quot;y&quot;</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;14 -->\n",
       "<g class=\"edge\" id=\"edge14\">\n",
       "<title>13--14</title>\n",
       "<path d=\"M414.0467,-89.6102C414.0467,-89.6102 394.2027,-61.9431 380.8699,-43.3543\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "<!-- 15 -->\n",
       "<g class=\"node\" id=\"node16\">\n",
       "<title>15</title>\n",
       "<ellipse cx=\"451.0467\" cy=\"-26.8701\" fill=\"none\" rx=\"36.5405\" ry=\"26.7407\" stroke=\"#000000\"/>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"451.0467\" y=\"-30.6701\">Load</text>\n",
       "<text fill=\"#008040\" font-family=\"Century\" font-size=\"14.00\" text-anchor=\"middle\" x=\"451.0467\" y=\"-15.6701\">[ctx]</text>\n",
       "</g>\n",
       "<!-- 13&#45;&#45;15 -->\n",
       "<g class=\"edge\" id=\"edge15\">\n",
       "<title>13--15</title>\n",
       "<path d=\"M414.0467,-89.6102C414.0467,-89.6102 426.0812,-69.2036 436.4233,-51.6666\" fill=\"none\" stroke=\"#000000\"/>\n",
       "</g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%showast\n",
    "def add(x, y):\n",
    "    return x + y"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}