{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Erzeugung und Messung eines Bell-Zustands"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Das Programm definiert einen Schaltkreis (Algorithmus) zur Erzeugung des Bell-Zustands\n",
    "\n",
    "$$ |\\Psi \\rangle = \\frac{1}{\\sqrt{2}} \\Big( |00\\rangle + |11\\rangle \\Big) $$\n",
    "\n",
    "und führt eine Simulation aus, wobei die Messung in einer gedrehten Basis erfolgt."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import qiskit stuff\n",
    "import qiskit\n",
    "from qiskit import QuantumCircuit,execute, Aer\n",
    "from qiskit.circuit import QuantumCircuit,Parameter\n",
    "from qiskit.tools.visualization import circuit_drawer\n",
    "from qiskit.visualization import plot_histogram\n",
    "\n",
    "#import python stuff\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAACoCAYAAADerTQhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAaPElEQVR4nO3deVhU9eIG8BeGTTaXuIIsLoAgm+yJK6BGRt60FEy93jS9KuF1/+k1w/161VSwNCy1yJvLA+hNLUtMYVzIBQzFFbdCiHJXUFFZfn/wODoKzAzOzHdmeD/P09Nw5iyvPPBy+J7vORhVV1dXg4iItM5YdAAiosaKBUxEJAgLmIhIEBYwEZEgLGAiIkFYwEREgrCAiYgEYQETEQnCAiYiEoQFTEQkCAuYiEgQFjARkSAsYCIiQVjARESCsICJiARhARMRCcICJiIShAVMRCQIC5iISBAT0QGIlHH27FmF66xcuRLjxo2rd50OHTqoKxLRS+MZMBmMVatWiY5ApBIWMBGRICxgIiJBWMBkMNLT00VHIFIJC5iISBAWMBmMgQMHio5ApBJOQ1Ngaw5QfEvMsZ2aA++EiDk2Ke/cXqD0qvaPa9MS8Oyp/eOKMnHiROTl5Qk5dkBAAJKSktS+XxawAsW3gIsCvrlIf5ReBW4XiU5h+PLy8iCVSkXHUCsOQZDBiI+PFx2BSCUsYDIYiu6CI9I1LGAyGD169BAdgUglLGAyGNeuXRMdgUglvAhHpAVTkiNw5refIZGYwthYAofm7TCk10yE+8eIjkYCsYDJYHh7e4uOUK+hvRMwtPdHqKyswLbslfjPxiFwdwqEk5276GgkCIcgyGBs2bJFdASlSCQmeKPTP1BZVYGLv+eJjmPw3Nzc0LNnT7z22msICgqCubl5netKJBJMmjQJpqamWsnGAiaDMWvWLNERlPK44hG+y04GADjbeQhOY5h69OiBzZs349atW7hw4QL27NmDjIwM5ObmorS0FIcOHcKoUaNgaWkp20YikWDjxo1Yvnw51q1bp5WcLGCS+fMukHES2H4M2HcOKCsXnUg1aWlpoiPUa+Oef6N/QjP0/bAJvtr1ESbHrIWrY0cAwMINQ3Do9HeydWen9EfOuQxRUfVW27ZtsWfPHkilUgwaNAjNmjXDH3/8gaysLOzevRunTp2CRCJBp06dsGbNGly6dAlvv/22rHxjY2Nx584drFy5Uit5dbqAq6qqsHTpUrRv3x4WFhbw9/eHVCqFp6cnRo8eLTperdIXRODItwuUXq4Lyh8D66TAf3YAO48De8/U3II9+3/ADyeA6mrRCQ3DkF4z8e3820ifcx2vdojG8QuZsvfi+iUhZVcCHjwsw/78rbCyaIoQzyiBafVP3759kZ+fj549e+L69euYN28e2rVrh1atWiEyMhJRUVHw9fWFra0t/va3v+Ho0aOwt7fH1q1bce7cOVn5RkVF4ciRI1rJrNMFPHLkSMyfPx9jxozBDz/8gNjYWAwePBiXLl1CcHCw6HgGoaoKWJsF5NdyK21lFbArH/gxX+uxDJqNZXNMjlmLw2e/R/bJbQCA5tYt8Xa3CVi1bTw27lmAsW8lCk6pX6Kjo7F161ZYW1sjNTUVXl5emD17Nn799dcX1r137x42bNiATp064Z///CcqKirg5uaGR48eabV8AR0u4E2bNiElJQXbt2/H1KlTERkZiZkzZ6Jz586oqKhAUFCQ6IgG4UwJcEHBsy5+OgXce6idPC9Dn54TYGvZAgO6T8aXP36IqqoqAMDrocNRdK0A/buOh61lC8EJ9YejoyM2bNgAU1NTfPzxxxg0aBCuX7+ucDtjY2N0794dJiYmqK6uhpmZGTp27KiFxM9k0OrRVLBw4UL06dMH4eHhcsvd3d1hamoq+0T9+uuvCA8Ph4eHB/z8/LB//34RcfXW4YuAkYJ1KquA3F+1keblnDp1SnQElbzdfQJu3i3B7tz1smWOr7hzWpqKkpOT0axZM+zYsQPTpk1Tapvnx3wTEhIAAMuWLYOTk5Mm48rRyXnARUVFOHnyJCZNmvTCe4WFhfDx8ZFNJRkzZgwGDRqEDz74ANnZ2YiJicHly5dhZmZW7zGMjBTVTo0BMzPh7BWhUv4j2/6N3J1L5ZY9Li9Da9/eKu1HKs3C+KhIlbZR1bvzc2Dfrv7hnOqqKsycuwwHNin3xa0JtX0tPC8xMVHheomJ6v/VfunYTPi7RdS7zrK4rBeWWVnYYuu8mw0+rlSahdDBmv360HW+vr546623UFpaijFjxii1zfPl+2TYITQ0FP369UN8fDw+/PBDuW2kUqnSnQEA1UpeONHJM+CiopoBSQcHB7nlDx48gFQqlQ0/XL9+HQcOHMDIkSMBAF26dIGjoyMyMzMh0qv9ZiLui9ty/zl6dBOaqS4P791CVVVlvesYGRvj4f07WkpEpLyxY8cCAL7++muUlJQoXL+u8gWARYsWAQBGjRqltXnAOnkGbGdnBwAoKChAdHS0bPmSJUtQUlIiuwBXWFgIe3t7uYnV7dq1w2+//abwGMr+hPp0t7jnAYeHRyB9gWanIGSfB1KVuOawY/0C2NuKm8Vx9uxZheskJiYqnB2zfPlydUWSydmsvucBT3s3Rel1w8MjUJ3ceKaoREREvDDO36tXLwDA+vXra9tETn3lCwCHDh3ChQsX4O7uDj8/Pxw7dkz2Xnh4OLKystTzD3mGThawq6srOnbsiIULF6JFixZwcnJCeno6du7cCQCcAaFGwW1rZjrcLa97upmfM2Bvq9VYDTJ37lzREUiLrK2t4eHhgUePHuH48eP1rquofJ84fPgw3N3dERwcLFfAmqKTQxDGxsZIS0uDj48P4uLiMGLECNjZ2SE+Ph4SiUR2Aa5169b4888/8fDh00v0ly9fRps2bURF1zvmpkBcL8DWQn75k+Eut5bA0C7az9UQsbGxoiOQFjk4OMDY2BhXrlzBo0eP6lxP2fIFgAsXLgComVmhDTp5BgwAHh4eL4zlDhs2DN7e3mjSpAmAmqGKrl27Yt26dbKLcMXFxYiMFHdhYuBHWSot1wUOTYEP/1oz0+HJcISfM9DJDfBqBRjr5I/pF3l5eeHMmTOiY5CWXLx4EdbW1grHa83NzWFvb6/UTRZLlizB8uXLcf/+fXXHrZXOFnBtcnJyEBYWJrds9erVGD58OJKSkmBmZoZNmzYpnAFBLzI3Bbq0f1rA7/PZ5mp3/GIWlmx+Dw4t2sHKoila23shyL03gjyezo7ZdTQF7Vr5wcOZw2yKVFdX4969ewrXu3//PqKjo+Hu7o4TJ04oXFeb9KaAy8rKUFBQgA8++EBuuaurK/bt2ycoFZFqegcPw4g+C7A5czF+OLwGQe7yUxNfDx0uJpiBu3//vsLyFUFvCtja2hqVlfVPl6LGLSIiQnQEpbk5BuDanSLszl2PzZmLYN+iLabErMX6jDnwbdtN7qyYDJeejO4RKZacnCw6gtLyL+2Ds50H3J0CsWTMT7h6qxBlD26LjkVaxgImgxEXFyc6gkI/5f4XU1dHouzBbXTx6Ye2Dr4AgFdsHXGvnDe7NDZ6MwRBpIgmJsqr25MxYABYnzEHRs88iUPZm4PIcPAMmIhIEJ4BE2mJv1uE3EN7/h41R/b6yS3Izy4jw8czYDIYvAmD9A3PgBVwat44j62PUlNThdyObNNS64cUelxRAgICGrTdpcKap6S5tm4l91obx1bEqJoj//SMiRtq/p80VGyO5ynzNDRlbkXu0KGDuiKRnvjX4i8AAIumj5Z7rQs4BEFEJAgLmIhIEBYwGYzPPvtMdAQilbCAyWD4+PiIjkCkEhYwGYzn/4I2ka5jARMRCcICJoMRGhoqOgKRSljAZDCOHj0qOgKRSljARESCsICJiARhAZPBSE9PFx2BSCUsYCIiQVjAZDAGDhwoOgKRSvg4SqKXdG4vUHpV+8e1aQl49mzYthMnTkReXp5a8ygrICAASUlJQo6ta1jARC+p9Cpwu0h0CtXk5eVBKpWKjtHocQiCDEZ8fLzoCEQqYQGTwRg3bpzoCEQqYQGTTFn509eFN4CHFeKyNESPHj1ERyBSCceAG7mrd4GD54HjhcDt+0+XL/8RMDICHJoCoe2ATm6Albm4nMq4du2a6AhEKmEBN1Llj4Ftx4CfL9S9TnU1UHIb2P4L8MMJoG8A0N0TMDbSVkrDMSU5Amd++xkSiSmMjSVwaN4OQ3rNRLh/jOhoJBALuBH64w7wRSZw857y2zyuBP6XC5wqBt7vAViYai5fQ3l7e4uOUK+hvRMwtPdHqKyswLbslfjPxiFwdwqEk5276GgkCMeAG5mrd4GVu1Ur32cV/AF8vlc3x4e3bNkiOoJSJBITvNHpH6isqsDF3/NEx9EYiUQCKysr0TF0Ggu4EamoBFIOAGUP614naajiP0l/+Tqw4xf1ZlOHWbNmiY6glMcVj/BddjIAwNnOQ3AaxSwtLTF06FB8+umn2LdvH06cOIFjx44hNTUV06dPr/U3D4lEgo0bN2LXrl2wtrYWkFo/sIAbkT2ngd9vqWdfBwqAi3+qZ1/qkpaWJjpCvTbu+Tf6JzRD3w+b4KtdH2FyzFq4OnYEACzcMASHTn8nW3d2Sn/knMsQFRUAYGNjg48//hjFxcX45ptvMG7cOHTv3h1+fn4IDAxETEwMFi1ahFOnTiErKwvdunUD8LR8Y2Nj4evrCzc3N6H/Dl2m0wVcVVWFpUuXon379rCwsIC/vz+kUik8PT0xevRo0fH0yqMKIOuMeve5+5R692fohvSaiW/n30b6nOt4tUM0jl/IlL0X1y8JKbsS8OBhGfbnb4WVRVOEeEYJyxoeHo78/HxMnToVzZo1Q3Z2NqZPn47XXnsN/v7+CA0NxXvvvYc1a9agtLQU4eHhkEqlWLFiBTZv3ozY2FjcuXMHUVFROH78uLB/h67T6YtwI0eOxNatW5GQkIDg4GBkZ2dj8ODBuHbtGiZPniw6nl755TfgwWP17vNsCXC9FLCzUe9+DZ2NZXNMjlmL9xa5IfvkNnTx7Yfm1i3xdrcJWLVtPC7+nofFo38Slu+tt95CWloazMzMkJOTg7FjxyI3N/eF9XJycrB+/XpMnjwZ06ZNw4wZMzB+/HgAkJXvkSNHtB1fr+jsGfCmTZuQkpKC7du3Y+rUqYiMjMTMmTPRuXNnVFRUICgoSHREvVLwh2b2e16HhiH06dkGtpYtMKD7ZHz544eoqqoCALweOhxF1wrQv+t42Fq2EJIrJCQEqampMDMzQ1JSEsLCwmot32eVlZVh7ty5yMrKki07ePAgy1cJOlvACxcuRJ8+fV74U+Pu7u4wNTVFx441Y2ezZs2Ch4cHjI2N+UDuely5qaH93tDMfhvi1Cn9GhN5u/sE3Lxbgt2562XLHF9xFzYtzczMDCkpKTA3N8fq1asxadIkVFZWKtzuyZhv7969UVpaivLyckRHR6Nfv35aSK3fdHIIoqioCCdPnsSkSZNeeK+wsBA+Pj4wN6+5LatPnz4YPnw43n//fZWOYWTUuO4miFtzF2ZNno4VKJrpUNf7EzfIf/xN6nYMCtP8N1ptXwvPS0xMVLheYmKiuiLJLB2bCX+3iHrXWRaX9cIyKwtbbJ3X8J+MUmkWQgdHNnj7540dOxY+Pj44d+6cUp9vQP6C25Nhh06dOuGTTz7BihUrsGPHDtkZ/tPcUq1+/01f9DmAmu/5Z19rUnV1tVLr6eQZcFFRzbP9HBwc5JY/ePAAUqlUbvihS5cucHV11Wo+vaShLzgjI538EiIVGRkZyZ4mN2PGDJSXlyvYovbyPXLkCFauXInz58+jTZs2ePPNNzUdXa/p5BmwnZ0dAKCgoADR0dGy5UuWLEFJSQmCg4Nf+hjK/oQyFPO3ATfKnn78/JnsE0/OfOt6/3mDBvTFtqWa/1yePXtW4TqJiYkKZ8csX75cXZFkcjar73nA095NUXrd8PAIVCc37HMfEREhN2YeGBgIDw8PFBcXY/v27Qq3r6t8gZrvrc8//xxLly7F4MGDsWPHjudyh8uNF2vavxZ/Icv17GtdoJMF7Orqio4dO2LhwoVo0aIFnJyckJ6ejp07dwKAWgq4sXFqLl/A6uIi5lpRrebOnSs6gt4KCQkBAOzdu1fhuG995fvE7t275fZLtdPJ3x+NjY2RlpYGHx8fxMXFYcSIEbCzs0N8fDwkEonsAhwpz62lZvbrqqH9NkRsbKzoCHrLx8cHABTO2VWmfAHg9OnTePz4Mdq3by+7XkMv0skzYADw8PBAZmam3LJhw4bB29sbTZo0EZRKf4W0A3bk1dyOrC5tXqk5s9YVXl5eOHNGzXebNBIZGRm4c+cO9u/fX+9648aNU1i+AFBRUYEFCxZoIqpB0dkCrk1OTg7CwsLkliUkJOCrr77CtWvXkJ+fj4kTJ0IqlfL2x+dYmQNhrsCB8+rbZ6RuP3xM5xy/mIUlm9+DQ4t2sLJoitb2Xghy740gj96ydXYdTUG7Vn7wcNbuMNv333+P77//XuF6q1atQkBAAJKTkxXO8503b5664hksnRyCqE1ZWRkKCgpeuAFj/vz5KCoqwsOHD3Hjxg0UFRWxfOvQNxBoZqmeffk5A/4u6tlXY9I7eBiWxWXBu20X7D/x4rz110OHa718VVFRUYERI0bwJgs10ZszYGtra6UmhVPdLEyBv3cFPttb91CEMrMf7KyB2Fc1NrOtwSIiIkRHUJqbYwCu3SnC7tz12Jy5CPYt2mJKzFqsz5gD37bd5M6KyXDpzRkwqYdrS2B0BGDewB+9f7EB4nsDNjo4DJ+cnCw6gtLyL+2Ds50H3J0CsWTMT7h6qxBlD26LjkVaxgJuhDwcgP+LBtztVduuW3tg6htAcx19xnZcXJzoCAr9lPtfTF0dibIHt9HFpx/aOvgCAF6xdcS98juC05G26c0QBKmXnQ3wQS/gdHHNH+U8+ztQ29R0MwkQ1Bbo5gE469Cc39poc3J/Q/UOHoYRfWpmB6zPmAMjPB3H0ZWbA0h7WMCNmLER4Otc89/Dx0DxrZo/WVRRVTNE4di85q8iS/h7EpFGsIAJAGBuWjM+rEs3Vhgaf7cIuYf2/D1qjuz1k1uQn11Gho/nNmQweBMG6RsWMBmM1NRU0RGIVMIhCDIYs2fPFvI8CBtBwzYvc9yAgACVt7lUWAIAcG3dSu61No5tqFjARC/Js6foBKpLSkpSeZsnj3JcNH203GtqOA5BEBEJwgImg/HZZ5+JjkCkEhYwGYwnz7Ql0hcsYDIYz/8FbSJdxwImIhKEBUxEJAinoZFe6NChg8J1Zs+erdR6RLqCZ8BkMObMmSM6ApFKWMBERIKwgImIBGEBExEJwgImIhKEBUxEJAgLmIhIEBYwEZEgLOBaXLlyBb169YKXlxd8fHwwY8YM0ZGI9F5WVhZ8fHzg7u6OUaNGobKyUnQkhSZMmABnZ2eYmGjmnjUWcC1MTEywePFinDlzBr/88gsOHDiAbdu2iY5FpLeqqqowatQopKWl4cKFC7h79y6++eYb0bEUiomJQU5Ojsb2zwKuRatWrRASEgIAMDMzQ2BgIAoLCwWnItJfR48ehaOjI7y9vQEAI0eOxJYtWwSnUqxbt25wcHDQ2P75LAgFbt68iW+//RYZGRmioxBpVUVlJf67NQN3y+7LLV/x1ZZaX7/eIxQd3FrXuq+ioiK4uLjIPm7dujWuXLmi5sQ1ck8W4MDR/BeW15a75SvNMOivPWFsZKSRLIrwDLgejx49wsCBAzFhwgQ+5IUaHROJBF2DfVFy9QZKrt6QLX/+dcnVG7C2bAJPV5fadgMAqK6u1mjWZ/l7ucHICApz/3n9Jrq/2lFY+QIs4DpVVlZiyJAhCAgIwJQpU0THIRLCw9UFnYO8612niYU5BkaHw6ieInNxcZE74y0sLISzs7Pacj7LRCLBoL49YSKR1Lter67BcHb4i0YyKIsFXIfRo0fDxsYGy5YtEx2FSKg3IsJg16Jpne/3j+qGpjZW9e4jJCQERUVFOH36NABg3bp1eOedd9Sa81n2ds3RJ/zVOt9v7dgSEWEBGju+sljAtTh48CC+/PJL5OTkIDAwEAEBAfjkk08AaPdXKSJdYGZqgkFvRtb6q7q/lxv8vdwU7kMikWDt2rUYOHAg3NzcYG1tjWHDhmkirkyXEF+4tXF8YbmpqQli34yExFhx/Y0ZMwbOzs6orKyEs7Mz4uPj1ZrRqJqNopLtP2WjsrIS/aO61fsrF5Gh2X0gB3sOHpN9bGtthYkjB8LSwlxgqvrdvluGpC/TUf7wkWxZ/6huCAusf1hFW3gGrILbd8twOO80qqurWb7U6PTsHATnVk/HTGPeDNfp8gWAZrbW6PdaV9nHnq4u6BTgJTCRPL0v4Pz8fAwYMAB2dnawsLBA+/btMXPmTI0cK+tQHqqrqxHZOVAj+yfSZRKJMQa9GQlTEwm6BPugfVvNXERTtwBvd/h5usKyiTkGvFH/xUJt0+shiNzcXPTo0QMuLi6YPn062rRpg8uXLyM7Oxvr1q2rd9t/Lf5CSymJqLFZNH20Uuvp9Y0YU6ZMgZWVFQ4fPoymTZ9epR05cqTAVEREytHbM+D79+/DxsYG48aNw4oVKzR6rNt3y/DxF5sR7OuBd/r00OixiKjx0Nsz4Fu3bqGqqqrBk7kbMgRx5PhZHDl+tkHHI6LGQ9khCL29CNe8eXMYGxujuLhYdBQiogbR2yEIAIiMjMTp06dx/vx52NraauQY32YcwJHjZ/B/o99F86Y2GjkGETVOensGDABLly5FWVkZwsLCkJKSgszMTHz99dcYNWqUWvZ/+24Zjp44ixA/T5YvEamd3o4BA0BwcDB+/vlnJCQkYNKkSSgvL4eLiwveffddtez/xu27sLGy5LxfItIIvR6C0IaqqioYK3HPOBGRqljARESC8NSOiEgQFjARkSAsYCIiQVjARESCsICJiARhARMRCcICJiIShAVMRCQIC5iISBAWMBGRICxgIiJBWMBERIKwgImIBGEBExEJwgImIhKEBUxEJAgLmIhIEBYwEZEgLGAiIkFYwEREgrCAiYgEYQETEQnCAiYiEoQFTEQkCAuYiEgQFjARkSAsYCIiQf4fTKb0oBt7TBYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 447.652x204.68 with 1 Axes>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Definition eines freien Parameters\n",
    "phi = Parameter('Phi')\n",
    "\n",
    "# Erzeugung des Schaltkreis mit\n",
    "# zwei Qubits und zwei klassischen Bits\n",
    "circuit = QuantumCircuit(2,2)\n",
    "\n",
    "circuit.h(0)\n",
    "circuit.cx(0,1)\n",
    "\n",
    "circuit.barrier()\n",
    "\n",
    "# Drehung der Messbasis, phi ist ein freie Parameter\n",
    "circuit.ry(phi,0) \n",
    "circuit.ry(phi,1)\n",
    "\n",
    "circuit.measure([1,0],[0,1]) # Vertausche die Messreihenfolge\n",
    "circuit.draw('mpl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Setze konkreten Wert für den Parameter\n",
    "circuit = circuit.bind_parameters({phi: 2*np.arccos( 1/np.sqrt(3) )})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'11': 5004, '00': 4996}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Ausführen einer Simulation\n",
    "backend = Aer.get_backend('qasm_simulator')\n",
    "\n",
    "job = execute(circuit, backend, shots=10000)\n",
    "result = job.result()\n",
    "counts = result.get_counts(circuit)\n",
    "print(counts)\n",
    "plot_histogram(counts)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
