diff --git a/docssource/notebooks/fec_coding.ipynb b/docssource/notebooks/fec_coding.ipynb index 1bff24b6..106288c5 100644 --- a/docssource/notebooks/fec_coding.ipynb +++ b/docssource/notebooks/fec_coding.ipynb @@ -1,5 +1,21 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "4bcd49a4", + "metadata": { + "nbsphinx": "hidden" + }, + "outputs": [], + "source": [ + "# Install HermesPy and its dependencies in the current kernel\n", + "# Requires a restart of the kernel afterwards\n", + "\n", + "import sys\n", + "!{sys.executable} -m pip install --quiet hermespy" + ] + }, { "cell_type": "markdown", "id": "199efcaa", @@ -16,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "cee5a390", "metadata": {}, "outputs": [], @@ -51,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "53c0b665", "metadata": {}, "outputs": [], @@ -83,7 +99,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "79ea6e6b", "metadata": {}, "outputs": [ @@ -92,10 +108,10 @@ "output_type": "stream", "text": [ "Our coding rate is 0.3333333333333333 with an input block size of 4 and an output block size of 12\n", - "Let's assume we transmit the following data block: [0 1 0 1]\n", - "After encoding the respective code block is: [0 1 0 1 0 1 0 1 0 1 0 1]\n", - "After channel propagation the first bit has flipped: [1 1 0 1 0 1 0 1 0 1 0 1]\n", - "But the coding can correct a single bit flip to: [0 1 0 1]\n" + "Let's assume we transmit the following data block: [1 0 1 0]\n", + "After encoding the respective code block is: [1 0 1 0 1 0 1 0 1 0 1 0]\n", + "After channel propagation the first bit has flipped: [0 0 1 0 1 0 1 0 1 0 1 0]\n", + "But the coding can correct a single bit flip to: [1 0 1 0]\n" ] } ], @@ -127,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "2b59d719", "metadata": {}, "outputs": [], @@ -164,13 +180,13 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "f4a24f7e", "metadata": {}, "outputs": [ { "data": { - "image/png": "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5Ruaqh+wGkEIaAOO//m3a9furOt8/eyLlfbt26dBgwYpICDApa5+/fo5n3enjz76SJ9//rkeeOABzZ8/XxUVFRo4cKD69u2rW265Ra+99ppz3XHjxjV6/dk+u7y8PI0bN05ffPGFS3eRJ/zrX/9SdXW1Jk+eLEnq27evZs6c6bLOxIkT9dlnnzW69lOHDh3O27V44sSJJruWvn425rrrrlNVVZXGjx/vcobt1ltvbfTa5n7nHH/fffv2dTn7FxISoqSkJC1fvrxZ2wG8EdPnAQ8LDg7WVVddperqamfXUlMcY07cNa27NT766CN169bN+aMunT7z8Mtf/lJlZWVauXKl2/c5a9YsxcbG6mc/+5mkM2cVvn4WYdq0aY1e6/jsvt5d9s9//lPBwcF6+OGHG70mKCio2Vfxbo6SkhItXbpUkyZN0o9+9CNVV1frX//6l8s69fX1jd7PxIkTlZCQcN7t5+XlqV+/foqNjXUuGzRokC699NJG+zDGuJwpSkxM1LXXXttom+Xl5c36vi1fvlzV1dX61a9+5bL8pz/9qTp06OAyXgzwNZwRAtzs6quvdp45iYuL04033qiUlBTNnDmz0ZT2r3KMK/rTn/6kRYsWqba2Vu+///5ZL3wonQ5ZZ+vuePfdd8/52nN5/vnndfvtt2vhwoUaPny49u7dq4kTJ+qyyy7TtGnTmrzKcmstWbJEW7du1a9//WvNnTtXO3fu1O7du/XEE0+oR48eKi0t1XXXXaeOHTs2eq3js3v22We1dOlS1dfX6x//+IdWrVql5557Tg888ICGDBmiTz75RLW1tUpOTtb111+vadOm6Z133jlvbRMnTmzyPS9btkxHjhxxPv7HP/6hN954QxkZGVq6dGmjK4R/8MEHmj59ul5++WX973//08CBA3XTTTedc9q6w8svv6xf//rXWrp0qV566SXFxcXpjjvuUHZ2ttq3b+9c78MPP9S9996rJUuW6P/+7/8UFxenO++8U7t379bgwYMbfW7jxo3TPffco8LCQuXn5ysrK6vRvouLizVz5kw98sgjWrJkid577z317dtXGRkZysrKOuelIQBfYPnUNRrNH1pT0+crKirMhg0bzO23395o/a9Pn5dkHnzwQXPgwAFTV1d33qn055o+/9XXOuoaPnx4o22sWLHCbN26tcntd+nSxbz00kvmyJEjpqqqymzevNllOrd0Zpr3vffe2+zPKT8/37z//vtNPnfLLbe4TBvv16+f+eSTT0xpaak5cuSImT9/vhk4cGCjqeWBgYHmb3/7mykqKjL19fWNptLfdtttZu3ataa8vNyUlJSYzZs3m7/85S+ma9eu56z1XNPnjTFmzJgxLuu3a9fOlJeXG2NcLz3gaKGhoeavf/2rKSgoMOXl5eY///mPSU9PbzQ1vqnp85LMjTfeaHbv3m2qqqrMhg0bzLe//e0mp8/feuutZteuXaaystJs377dTJkyxflevrpeSkqK+fzzz501O6bSf336vKNlZGSY7du3m+rqanPo0CEzd+5cExMT06zvVFN10mje0AK+/AMAAIDtMEYIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYFkEIAADYVrDVBXi77t27q6yszOoyAABAC0RHR6uwsPC86xGEzqF79+4qKCiwugwAAHABevTocd4wRBA6B8eZoB49enBWCAAAHxEdHa2CgoJm/XYThJqhrKyMIAQAgB9isDQAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtghAAALAtgpBFwiIjlXBJP6vLAADA1ghCFujap5f++N+luv35vykgkL8CAACswq+wBY7k71NNZaUiY9oroX9fq8sBAMC2CEIWaKiv1+61GyRJKaPTLK4GAAD7IghZJGd1liQpZfRIiysBAMC+CEIWyclcK0m6eMhAhUaEW1wNAAD2RBCySPG+AzpeeEjBoaFKGjbE6nIAALAlgpCFclefPitE9xgAANYgCFnozDghBkwDAGAFgpCFcrPWS5K6p/RRdOdOFlcDAID9EIQsVH7ipA5u3yVJSh41wuJqAACwH4KQxXIy6R4DAMAqBCGL5X45jT55FAOmAQBoawQhi+3ZsEW11dXqEB+nuKREq8sBAMBWCEIWq6uuVv6GzZLo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/vnndccdd+jqq6/Wxx9/fNbt1dXVqaioSJJUWFiot956S7feeqvn3gAAS9A1BsAvnDp1SmVlZbr22msVGhp61vXy8/P13HPPaebMmQoICGjWthMTEzV+/HjV1NS4q1wAXoIgBMAv1NfXa+rUqZoyZYpOnjyp//73v/rTn/6kgQMHNlr3scceU1JSkm666aazbm/gwIEqKytTRUWF9u7dqwEDBmjWrFmefAsALEAQAuA3Fi9erO7du+sHP/iBlixZom9+85vasGGDpkyZ4rJecXGxnnjiCT366KMKCQlpclu7du3SkCFDNHLkSP3lL3/RkiVLNHv27LZ4GwDaEEEIgF+prq7W8uXL9dhjj+nSSy/VwoULNWPGjEbrPfXUU4qIiFBGRkaT26mpqVFeXp6ys7N1//33q76+XtOnT/d0+QDaGEEIgF/bvn27oqKiGi0vLy/XH//4Rz344IOKjo4+73Yee+wx3XffferWrZsnygRgEYIQAL/QqVMnffrpp7rppps0cOBAXXzxxZo4caJ++9vf6t///neTr3n++edVUlKiG2+88bzbz8zM1JYtW/TAAw+4u3QAFiIIAfALp06d0po1a3TPPfdo1apV2rZtm/74xz/qhRde0F133dXka+rq6vTwww8rIiKiWft4+umnddtttykhIcGdpQOwUIAkY3URAAAAVuCMEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsC2CEAAAsK3/DypL3G+vKe11AAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHgCAYAAABJmwJ4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6HUlEQVR4nO3deXxU1f3/8fdkh5CENWEJxgAJYICwBqgLrVCttS32J0JdKthqtdEWrXZxK6JWinWrLIobuH2lLti6gqAI1hLCvoQlIYQtgbAnIftyfn/gDI4JkJCZ3Jm5r+fjcR4P5ubOvZ875DJv7jnnXockIwAAABsKsroAAAAAqxCEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAIsYYzRlyhSry4APSkhIkDFGEydOtGT/EydOlDFGCQkJluwfaEkEIcBDnF8e326FhYX64osv9KMf/eis7x85cqSmTJmimJiYRu1v7ty59fbnbOXl5c09HK/Jy8tzq/XEiRNauXKlfvnLX57zNq+44gqvhMopU6ac9jM2xiguLs7j+2xJ9957r8aOHWt1GYClQqwuAAg0Dz74oPLy8uRwOBQXF6dJkybp008/1U9+8hN9/PHHrvUiIiJUU1Pjev29731PDz30kObNm6eioqJG7auiokI333xzveW1tbXNPxAvWrdunZ588klJUpcuXXTzzTfrtddeU3h4uF566aUmb+/HP/6x7rjjDk2dOtXTpUqSbrvtNp04caLe8uPHj3tlfy3lvvvu07vvvqv//Oc/bstff/11zZ8/X5WVlRZVBrQcghDgYZ9++qnWrFnjev3yyy+rsLBQ1157rVsQ8sSXTE1Njd58880mv69169YqKytr8GetWrVq1hWl4OBgBQUFqbq6+rTr5Ofnu9U9b9487dy5U3fdddc5BSFve/fdd3XkyBGry2gxdXV1hCDYBl1jgJcdP35c5eXlbld/JPcxQlOmTNETTzwhSdq1a5er68UTYzScXXaXXHKJZs2apcLCQu3bt0+StHTpUm3atEmDBw/WsmXLVFpaqscee0yS1KlTJ7300ks6cOCAysvLtX79et14441u23aOZbn77rs1efJk7dixQ5WVlbrggguaVOPhw4e1bds29ezZ0235RRddpLffflu7d+9WRUWF9uzZo6eeekoRERGudebOnas77rhDkty6rZwcDocmT56szZs3q7y8XAcOHNDzzz+vtm3bNqnG04mNjVV1dbX++te/1vtZcnKyjDG6/fbbJUnt2rXTP/7xD23cuFElJSUqKirSJ598ogEDBpx1P0uXLtXSpUvrLZ87d67y8vLclt199936+uuvdfjwYZWVlWn16tW6+uqr3dYxxqhNmzaaNGmS6zObO3eupNOPEfrtb3+rzZs3q6KiQvn5+Zo5c2a9rlzn71Tfvn31xRdfqLS0VPv27dMf//jHsx4jYAWuCAEeFhMTow4dOsjhcCg2Nla/+93v1KZNG73xxhunfc+CBQuUnJys6667TnfeeacOHz4sSTp06NBZ99ehQ4d6y6qqqlRSUuK2bPbs2Tp06JAefvhhRUZGur3/008/1fz58/XGG2+osLBQERER+vLLL9WrVy/NnDlTeXl5uuaaa/Tqq6+qbdu2evbZZ922fdNNNykiIkIvvPCCKisrdfTo0bPW/W3BwcGKj4/XsWPH3JZfc801at26tZ577jkdOXJEaWlp+t3vfqf4+HiNHz9ekjRnzhx17dpVl112mW644YZ6254zZ44mTZqkuXPn6tlnn1ViYqLuuOMODRo0SBdeeGG9gNqQ9u3b11tWU1OjoqIiHTx4UMuWLdP48eP18MMPu60zYcIE1dTU6J133pEk9ejRQ1dddZXeeecd5eXlKS4uTrfeequWLVumCy64QPv372/0Z3YmkydP1gcffKA333xTYWFh+sUvfqF3331XV155pT755BNJ0g033KCXXnpJmZmZeuGFFyRJubm5p93mlClT9NBDD2nx4sV67rnn1Lt3b/32t7/VsGHD6n2O7dq108KFC7VgwQK9/fbbGjdunB5//HFt2rRJCxcu9MgxAp5kaDRa89vEiRNNQ8rLy82NN95Yb31jjJkyZYrr9d13322MMSYhIaFR+5s7d26D+zPGmE8//bReXcuXLzdBQUFu21i6dKkxxpjf/OY3bst///vfG2OMue6661zLQkJCzNdff22Ki4tNmzZtjCSTkJBgjDHm+PHjpmPHjo2qOy8vzyxcuNB06NDBdOjQwaSkpJhXX33VGGPMjBkz3NaNiIio9/4///nPpra21nTv3t21bMaMGcacvAzk1i688EJjjDHXXnut2/LLLrusweXfbVOmTDntZ7x161bXerfccosxxpiUlBS392/evNksWbLE9TosLMw4HA63dRISEkx5ebl54IEH3JYZY8zEiRPd/q6WLl3a4O9BXl7eGT+3kJAQs3HjRrdaJJmSkhIzd+7c0/4uO38XO3bsaCoqKszChQvd6k9PTzfGGDNp0qR6v1M33HCDa1loaKgpKCgw77zzjuXnKY323cYVIcDD0tPTlZ2dLUmKi4tz/c+7pKRE77//vkf3VV5erp/+9Kf1ljuvKH3biy++qLq6unrLKyoqXF0iTj/+8Y+1f/9+vfXWW65lNTU1evbZZzV//nyNGjXKbbzTe++91+A+T+fyyy+vt/4rr7xSr/ukoqLC9efWrVurVatW+t///qegoCANGjRIe/fuPeN+rrnmGh0/flyLFy92u3K2Zs0alZSU6Ac/+IHbMZ7O//t//0/FxcVuy0pLS11/XrBggWbNmqUJEya4ushSUlKUkpKif/7zn671qqqqXH8OCgpS27ZtdeLECW3fvl2DBw8+ax2N9e3PrW3btgoODtZXX32la6+99py2N2bMGIWHh+uZZ55x63Z88cUX9dhjj+nKK6/UvHnzXMtLSkrcroBWV1crMzNTPXr0OKf9A95EEAI8LDMz022w9FtvvaV169Zp5syZ+uijj844iLipamtr9fnnnzdq3e+OI3HKz8+vV1NCQoJycnLcvvQkaevWra6fN2bbp5ORkaEHHnhAwcHB6tevnx544AG1a9fOLShIUvfu3fXwww/rZz/7Wb3uqcbcZiApKUlt27Y9bRdjbGxso+pdvnz5GQdLHzlyRJ9//rnGjx/vCkITJkxQdXW1FixY4FrPOV4pPT1diYmJCgkJcduGp1x55ZV64IEHNHDgQLfxVA0F4cZw/n1v377dbXl1dbV27txZ7/fBOQbt244dO9aosVBASyMIAV5mjNHSpUt15513KikpSVu2bLGkjtPNBPPEPYeauo3Dhw+7Atxnn32mbdu26eOPP9bkyZP19NNPSzp5xWTx4sVq3769pk+frm3btqm0tFTdunXTq6++qqCgs8/1CAoKUmFhoa6//voGf96YMViNNX/+fM2bN0+pqanasGGDxo8fr88//9wt4Nx333169NFH9fLLL+vBBx/U0aNHVVdXp2eeeeasx2OMkcPhqLc8ODjY7fVFF12kDz74QMuXL1d6err279+v6upq3XTTTaf9HDztdLdvaKh+wGoEIaAFOP/n36ZNm9Ou892rL1bavXu3BgwYIIfD4VZXnz59XD/3pE8++URffvml7rvvPs2ZM0dlZWXq37+/evfurRtvvFGvv/66a90xY8bUe//pPrvc3FyNGTNGX3/9tVt3kTf8+9//VmVlpSZMmCBJ6t27t6ZNm+a2zrhx4/TFF1/Uu/dT27Ztz9q1eOzYsQa7lr57Nebqq69WRUWFLr/8crcrbDfddFO99zb2d8759927d2+3q3+hoaFKTEzUkiVLGrUdwBcxfR7wspCQEF122WWqrKx0dS01xDnmxFPTupvjk08+UZcuXVxf6tLJKw+/+93vVFJSomXLlnl8n9OnT1fHjh11yy23SDp1VeG7VxEmT55c773Oz+673WVvv/22QkJC9OCDD9Z7T3BwcKPv4t0YRUVFWrRokcaPH69f/OIXqqys1L///W+3dWpra+sdz7hx4xQfH3/W7efm5qpPnz7q2LGja9mAAQN04YUX1tuHMcbtSlFCQoKuuuqqetssLS1t1O/bkiVLVFlZqd///vduy3/961+rbdu2buPFAH/DFSHAw6644grXlZPY2Fhdd911Sk5O1rRp0+pNaf8257iiv/3tb5o/f76qq6v14YcfnvbGh9LJkHW67o7333//jO89kxdeeEG33nqr5s2bpyFDhmjXrl0aN26cLrroIk2ePLnBuyw318KFC7Vp0yb94Q9/0KxZs7Rt2zbt2LFDTzzxhLp166bi4mJdffXVateuXb33Oj+7Z599VosWLVJtba3+9a9/afny5Xr++ed13333aeDAgfrss89UXV2tpKQkXXPNNZo8ebLee++9s9Y2bty4Bo958eLFOnjwoOv1v/71L7355ptKT0/XokWL6t0h/KOPPtKUKVP0yiuv6H//+5/69++v66+//ozT1p1eeeUV/eEPf9CiRYv08ssvKzY2VrfddpuysrIUHR3tWu/jjz/W3XffrYULF+r//u//FBsbq9tvv107duxQampqvc9tzJgxuuuuu1RQUKC8vDxlZmbW2/fhw4c1bdo0PfTQQ1q4cKE++OAD9e7dW+np6crMzDzjrSEAf2D51DUaLRBaQ9Pny8rKzNq1a82tt95ab/3vTp+XZO6//36zd+9eU1NTc9ap9GeaPv/t9zrrGjJkSL1tLF261GzatKnB7Xfq1Mm8/PLL5uDBg6aiosJs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WWbMmDHGGGPGjh3res93X0syL774ovnoo48sPz4azZdbQ+dOQUGBufvuu12vo6OjTXl5uZkwYYJr2bBhw8zatWtNeXm5WbVqlbnqqquMMcakpqYaSSYhIcHttbMtXrzYzJw50/LjptF8qXXs2NEYY8zFF19spJPnXGVlpbn66qtd6/Tu3dsYY8zw4cNdy6644gqzfft2U1ZWZr744gszceJEY4wxMTExRpIZNWqU22tny8nJMffcc0+zauaKkIeEhoZqyJAhWrJkiWuZMUZLlizRyJEj5XA4tGDBAlVVVWn48OG67bbbNH369LNuNykpSZdeeqlWrlzpzfKBgJOYmKguXbq4nZPFxcVauXKlRo4cKenkFaWPPvpIW7Zs0ZAhQ/TQQw/piSeeOOu2hwwZoiFDhnBeAt/hHNNz9OhRSSfPlbCwMLfzcPv27dq9e7frPIyPj9eCBQv04YcfauDAgXrppZf097///az7uvzyy3Xeeec1+zzkoase0rFjR4WEhKiwsNBteWFhofr06aMxY8aoT58+uvzyy7V//35J0n333aeFCxfW29Zbb72l2tpahYSEKCIiQh9++KGmTZvWIscBBIrOnTtLUoPnpPNn1113nYKCgvTrX/9alZWV2rJli+Lj4/X888/X297//vc/1dXVKSwsTGFhYZozZ45ef/117x8I4CccDoeeeeYZ/fe//1VWVpakk+dhZWWlioqK3Nb99nn429/+Vrm5ubrnnnskSdnZ2erfv7/+8pe/1NvHvn37JJ0cdxQUFKS//vWv+uqrr5pVN0GohfTt21d79+51hSBJWrFiRYPr3nXXXVqyZImCg4PVq1cvPfXUU3r99dd17bXXtlS5gC307dtXGzdudLu9/+nOywkTJmjr1q0KDQ1Vv379NGPGDB07dkz33ntvS5UL+LRZs2apX79+uuiii5r0vr59+9a7qnO68/Diiy9WSUmJwsPDlZaWppkzZ+ro0aMN/uelsQhCHnL48GHV1NQoLi7ObXlcXJwOHDjQpG0dOHBAubm5kk4m46ioKM2fP18PPPCAazmAM3Oed989B+Pi4rR+/fomb2/v3r2u82/btm3q2bOnHnnkEcufkwT4ghkzZugnP/mJLrnkEuXn57uWHzhwQOHh4YqJiXG7KnQu342SlJeX59rOli1bNHz4cN1///3NCkKMEfKQ6upqrVmzRqNHj3YtczgcGj16tFasWKGtW7eqe/furkuBkjRixIhGbbu2tlaS1KpVK88WDQSwvLw87d+/3+2cjIqK0vDhw13/29y6dasGDBjgNousKedlaGgot7aA7c2YMUM///nPdemll2rXrl1uP1uzZo2qqqrczsPk5GQlJCS4nYdpaWlu72vKeeiJ70bLR5kHShs/frwpLy83N954o+nTp495/vnnzdGjR01sbKxxOBxm8+bNZtGiRWbAgAHmoosuMqtWrWpw1tjEiRNNXFyc6dKli7nkkkvMxo0bzbZt20xwcLDlx0ij+VKLjIw0qampJjU11RhjzJ133mlSU1NN9+7djSTzpz/9yRw9etT89Kc/Nf369TPvv/++yc3NNeHh4a73Hzx40Lz22mumb9++5oorrjDZ2dkNzhq79NJLTVxcnOnWrZv50Y9+ZPbu3Ws+//xzyz8DGs3KNmvWLHPs2DFzySWXmLi4OFeLiIhwrTN79myza9cu8/3vf98MHjzYfP311+brr792/bx79+6moqLCPP744yY5Odlce+21pqCgoMFZY0lJSSYuLs6cd955Zty4caaoqMi8/PLLzT0O6z/IQGq333672bVrl6moqDAZGRkmLS3N9bOkpCSzfPlyU1FRYbZt22Yuu+yyBoOQU21trcnPzzdvvfWWSUxMtPzYaDRfa85/HL9r7ty5rnWmTp1q9u/fb8rLy83ixYtNUlKS2zaGDx9u1q1bZyoqKszatWvNz3/+8waDkFN1dbXZs2ePmTNnjunYsaPlnwGNZmU7nYkTJ7rWCQ8PNzNnzjRHjhwxJ06cMO+9956Ji4tz286VV15psrOzTXl5uVm2bJmZNGlSg0HIqaqqyuTm5prHH3/ctG7dulnH4PjmDwAAALbDGCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAGBbBCEAAaNjx46aPXu2du/erYqKCu3fv18LFy7U9773PUknH8RqjNHw4cPd3vf0009r6dKlrtdTpkyRMUbGGNXU1GjPnj2aM2eO2rVr16LHA8D7QqwuAAA85b333lNYWJgmTpyonTt3Ki4uTqNHj1aHDh1c65SXl2v69On6/ve/f8Ztbd68WWPGjFFwcLD69u2rV155RTExMfrFL37h5aMA0JIIQgACQkxMjC655BKNGjVKy5cvlyTt2bNHq1atclvvhRde0G233aYrrrhCn3766Wm3V1NTo8LCQklSQUGB3nnnHd10003eOwAAlqBrDEBAOHHihEpKSnTVVVcpLCzstOvl5eXp+eef17Rp0+RwOBq17YSEBF1++eWqqqryVLkAfARBCEBAqK2t1aRJkzRx4kQdP35c//3vf/W3v/1N/fv3r7fuo48+qsTERF1//fWn3V7//v1VUlKisrIy7dq1S/369dP06dO9eQgALEAQAhAwFixYoK5du+pnP/uZFi5cqO9///tau3atJk6c6Lbe4cOH9cQTT+jhhx9WaGhog9vavn27Bg4cqGHDhunvf/+7Fi5cqBkzZrTEYQBoQQQhAAGlsrJSS5Ys0aOPPqoLL7xQ8+bN09SpU+ut99RTT6lVq1ZKT09vcDtVVVXKzc1VVlaW7r33XtXW1mrKlCneLh9ACyMIAQhoW7ZsUWRkZL3lpaWleuSRR3T//fcrKirqrNt59NFHdc8996hLly7eKBOARQhCAAJC+/bt9fnnn+v6669X//79df7552vcuHH605/+pP/85z8NvueFF15QUVGRrrvuurNuPyMjQxs3btR9993n6dIBWIggBCAgnDhxQitXrtRdd92l5cuXa/PmzXrkkUf04osv6o477mjwPTU1NXrwwQfVqlWrRu3j6aef1s0336z4+HhPlg7AQg5JxuoiAAAArMAVIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFsEIQAAYFv/H6B71m7w0BRqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -200,7 +216,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.11" }, "vscode": { "interpreter": {