{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Circuit" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from pytket.circuit.display import render_circuit_jupyter\n", "\n", "from lambeq import AtomicType, BobcatParser, IQPAnsatz\n", "\n", "N = AtomicType.NOUN\n", "S = AtomicType.SENTENCE" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApQAAAEzCAYAAACPPpP3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAZSElEQVR4nO3deXDU9f3H8ffmAgyCAiIBNUWQAMqhKHj0oIBW0U7F22rRUfqHjnXUYnWsVm3VWi2dTmvVGeVy2kq144nHCLSIWg5lVNoZC6JYdAADKCAqR8L+/vgNGaMcwQ/JN9k8HjOZLNnd8FoI3zyz2Q25fD6fDwAA+JqKsh4AAEDLJigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEgiKAEASCIoAQBIIigBAEhSkvUAWrfNmzfHqlWrYsWKFbFixYpYuXJlvdfr1q2Lrl27Rvfu3aOioqLe6+7du0fXrl2juLg465sBkKS2tjaqq6t3eiysrq6O/fbbb6fHwm7dukWbNm2yvhm0Yrl8Pp/PegSFZ3ehuP302rVr612vrKys3oGyY8eOsXr16rrrfPjhh7Ft27a6yxcVFcWBBx5Y78AqPIHmYnehuP30jo5t3bp1qzuOHXDAAbF+/fp619myZUu936tz5867PRYKTxqLoGSP7K1Q3NlBr1OnTpHL5Xb6+28/OH/59/vyBuEJNKa9FYo7Oybt7liUz+fjo48+2u2xUHjSVAQlEZF9KO5twhP4OrIOxb1NeNJUBGWBK7RQ3NuEJ7QOhRaKe5vwJJWgbKGEYtNKDc/d/Zm39E9GkBWh2LRSw3N3x0Lh2XIJymZGKLZswhP2DqHYsgnP1kdQNhGhyBcJT1orocgXCc/CISgTCUUak/CkpRCKNCbh2fwJyp34Yiju6gNYKNIcCE8ayxdDcVcfX0KR5kB4ZqfVBaVQpDUTnmwnFGnNhOfeVzBBKRRh7xGeLZdQhL1HeDZcsw9KoQjNl/BsOkIRmi/h2YyD8qabbor77rtPKEIBSA3P++67L37wgx9keAuy8+STT8Zll10mFKEApIbnZZddFr/61a8yWr9rJVkP2JlVq1ZFeXl5TJgwQShCC1dcXBwVFRVRUVERRx111E4v9+XwfP/99+Pyyy+PdevWNd3YZmbdunWxcuXKuPfee+Pggw8WitCC5XK56Ny5c3Tu3DmOOOKInV7uy+G5cuXK+MUvfhGrVq1qwrV7ptkGZUREt27d4qKLLsp6BtBEvhyeW7dujcsvvzzrWc3CuHHjorS0NOsZQBPYUXjee++9Ga/ataKsBwAA0LIJSgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKAACSCEoAAJIISgAAkghKMjd79uzI5XKxbt26iIiYMmVK7LfffpluAgAaTlDSZObOnRvFxcVx6qmn7vJy5557bixZsqSJVgEAqQQlTWbixInxk5/8JObMmRMrVqzY6eXatWsXXbt2bcJlANnZsmVL1hMgmaCkSWzcuDH+9re/xWWXXRannnpqTJkyZaeX3dG3vJ9++uk45phjom3bttGlS5cYM2ZM3XmbN2+O8ePHR48ePaK8vDyGDRsWs2fPbpwbApBo+PDhccUVV8RVV10VXbp0ie9973uRy+XijTfeqLvMunXrIpfL1R3Ltj80aNasWXH00UfHPvvsE8cff3wsXry47jpvvvlmfPe734199903OnToEEOGDInXXnutiW8drZWgpEk88sgj0bdv36iqqooLL7wwJk2aFPl8vkHXfeaZZ2LMmDExevToeP3112PWrFkxdOjQuvOvuOKKmDt3bkybNi0WLVoUZ599dpx88snx9ttvN9bNAUgyderUKCsri1deeSXuv//+Bl/v5z//eUyYMCFee+21KCkpiUsuuaTuvAsuuCAOOuigePXVV2PhwoVx/fXXR2lpaWPMh68oyXoArcPEiRPjwgsvjIiIk08+OdavXx8vvvhiDB8+fLfXvf322+O8886LW2+9te5tgwYNioiI5cuXx+TJk2P58uXRvXv3iIgYP358PP/88zF58uS444479v6NAUh02GGHxV133RUREe+9916Dr3f77bfHd77znYiIuP766+PUU0+NTZs2Rdu2bWP58uVx7bXXRt++fet+D2gq7qGk0S1evDgWLFgQ559/fkRElJSUxLnnnhsTJ05s0PXfeOONGDly5A7P+/e//x21tbXRp0+faN++fd3Liy++GO+8885euw0Ae9OQIUO+1vUGDhxYd7qioiIiIqqrqyMi4pprrolx48bFqFGj4s4773QMpEm5h5JGN3HixKipqam7BzEiIp/PR5s2beKee+7Z7fXbtWu30/M2btwYxcXFsXDhwiguLq53Xvv27b/+aIBGVF5eXne6qOj/79v54sOAtm7dusPrffFb2LlcLiIitm3bFhERt9xyS/zwhz+MZ555Jp577rm4+eabY9q0afUecw6NxT2UNKqampp46KGHYsKECfHGG2/Uvbz55pvRvXv3ePjhh3f7PgYOHBizZs3a4XlHHnlk1NbWRnV1dfTu3bveS7du3fb2zQHY6w444ICIiFi5cmXd2774BJ090adPn7j66qvjhRdeiDPOOCMmT568NybCbrmHkkY1ffr0+Pjjj+PSSy+Njh071jvvzDPPjIkTJ8bdd9+9y/dx8803x8iRI6NXr15x3nnnRU1NTTz77LNx3XXXRZ8+feKCCy6IsWPHxoQJE+LII4+M1atXx6xZs2LgwIG7/ZmXAFlr165dHHvssXHnnXdGz549o7q6Om688cY9eh+ff/55XHvttXHWWWdFz54944MPPohXX301zjzzzEZaDfW5h5JGNXHixBg1atRXYjLi/4Pytddei0WLFu3yfQwfPjweffTReOqpp2Lw4MExYsSIWLBgQd35kydPjrFjx8ZPf/rTqKqqitNPPz1effXVOOSQQ/b67QFoDJMmTYqampoYMmRIXHXVVXHbbbft0fWLi4tj7dq1MXbs2OjTp0+cc845ccopp9R7MiM0ply+oT+7pYn9+Mc/jkWLFsX8+fOzngJkZOvWrVFWVhZTpkyJiy66KOs5mZg6dWpcfPHFsWXLFj8CBlqxYcOGxcCBA+OBBx7IesoOuYcSAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCQlWQ/YlU8++SReeeWVrGcAGampqcl6QrPxr3/9K0pKmvUhG2hEn3zySdYTdqnZHp169+4dDz74YHzzm9/MegqQoaKioujZs2fWMzLTs2fPKCoqiuHDh2c9BcjYRRddlPWEncrl8/l81iN2JJ/Px+LFi6OZzqMJzJw5M6688sp45ZVXYv/99896DhnZZ599orKyMusZmfrf//4Xn332WdYzCsqSJUvi9NNPj4cffjgGDRqU9ZyCMmDAgLjhhhvi/PPPz3pKQcnlclFVVRW5XC7rKTvUbO+hzOVy0bdv36xnkKHFixdHRESfPn2iS5cuGa+B7LT2oG4M2x9O0bNnz+jXr1/GawpLLpeLiooKf66tjCflAACQRFACAJBEUAIAkERQAgCQRFACAJBEUAIAkERQAgCQRFACAJBEUAIAkERQAgCQRFACAJBEUAIAkERQAkAT27JlS9YTYK8SlBSs4cOHx5VXXhk/+9nPolOnTtGtW7e45ZZbsp4FFIA9Pb5cfPHFcfrpp8ftt98e3bt3j6qqqqYb24L8/e9/jwEDBkS7du2ic+fOMWrUqPj000+znkUDCEoK2tSpU6O8vDzmz58fd911V/zyl7+MGTNmZD0LKAB7enyZNWtWLF68OGbMmBHTp09vwqUtw8qVK+P888+PSy65JN56662YPXt2nHHGGZHP57OeRgOUZD0AGtPAgQPj5ptvjoiIww47LO65556YNWtWnHjiiRkvA1q6PT2+lJeXx4MPPhhlZWVNObPFWLlyZdTU1MQZZ5wRlZWVERExYMCAjFfRUO6hpKANHDiw3q8rKiqiuro6ozVAIdnT48uAAQPE5C4MGjQoRo4cGQMGDIizzz47Hnjggfj444+znkUDCUoKWmlpab1f53K52LZtW0ZrgEKyp8eX8vLyxp7UohUXF8eMGTPiueeei/79+8cf//jHqKqqimXLlmU9jQYQlABAs5DL5eKEE06IW2+9NV5//fUoKyuLxx9/POtZNIDHUALAXjZ27Njo0aNH/PrXv856Sosxf/78mDVrVpx00knRtWvXmD9/fqxevTr69euX9TQaQFACwF62fPnyKCryTcA90aFDh5gzZ078/ve/jw0bNkRlZWVMmDAhTjnllKyn0QCCkoI1e/bsr7ztiSeeaPIdQOHZ3fHly+dPmTKlUfcUgn79+sXzzz+f9Qy+Jl8+AQCQRFACAJBEUAIAkERQAgCQRFACAJBEUAIAkERQAgCQRFDSbJWWlka/fv3839vAXldbWxv9+vXzw8dhL/EviWarTZs28dZbb8Wnn36a9RSgwHz66afx1ltvRXl5edZToCAISpqtTp06RUTE6tWrM14CFJo1a9ZERMT++++f8RIoDIKSZqtfv37Rtm3beOmll7KeAhSYOXPmRPfu3aNbt25ZT4GCIChpttq1axcjRoyIZ599NuspQIF59tlnY/To0ZHL5bKeAgVBUNKsjR49Ol566aXYsGFD1lOAAvHuu+/Gf//73xg9enTWU6BgCEqatdGjR8fWrVvjr3/9a9ZTgAIxderUKC0tjZEjR2Y9BQqGoKRZ69mzZ1x00UVxww03eHIOkOztt9+O3/zmNzF+/Pjo0KFD1nOgYAhKmr277747IiLGjx+f8RKgJcvn83H55ZdHRUVF3HjjjVnPgYIiKGn2DjjggLjrrrvioYceihdeeCHrOUAL9dBDD8XMmTPjT3/6U+yzzz5Zz4GCIihpES655JI46aST4owzzoiXX3456zlAC/Pkk0/GuHHjYuzYsZ6MA41AUNIiFBUVxWOPPRZDhw6Nk08+WVQCDfbkk0/GWWedFWPGjIkHH3ww6zlQkAQlLUZ5eXk8/fTTdVE5Z86crCcBzdwTTzxRF5N/+ctforS0NOtJUJAEJS1KeXl5TJ8+PYYNGxYjR46M2267LWpqarKeBTQzmzZtimuuuSbGjBkjJqEJCEpanH322Seee+65uO666+Lmm2+Ob33rW/H2229nPQtoJl5//fUYMmRI3HvvvfG73/0upk2bJiahkQlKWqSysrK47bbb4uWXX441a9bE4MGD47777ova2tqspwEZ2bJlS9xxxx0xdOjQKCsri9deey2uvvrqKCryqQ4am39ltGjHHXdcvP766/GjH/0oLr/88hg4cGA8+uijsW3btqynAU1k69atMWnSpKiqqoqbbroprr322pg/f34cccQRWU+DVkNQ0uK1b98+7r///pg3b14cfPDBcc4558TgwYPjscceE5ZQwGpqamLq1KnRt2/fuPTSS+Poo4+ON998M+64444oKyvLeh60KoKSgjFs2LB4/vnn4+WXX46uXbvGmWeeGUOGDIlp06bF5s2bs54H7CUbN26MSZMmRf/+/ePiiy+OgQMHxhtvvBGPPvqoeyUhI4KSgnPCCSfEzJkz48UXX4z9998/zj///OjevXtceeWV8eabb2Y9D/ga8vl8zJ07N8aNGxcVFRUxbty46Nu3byxcuDAef/zxGDRoUNYToVUTlBSsb3/72/GPf/wj3nrrrRg3blw88sgjMXjw4Lpnf3788cdZTwR248MPP4zf/va3cfjhh8fxxx8fM2fOjPHjx8eyZcviqaeeiqOOOirriUBE5PL5fD7rEdAUtm7dGs8991xMnDgxnnnmmSgpKYkRI0bEaaedFqeeempUVlZmPRGIiCVLlsT06dNj+vTpMWfOnCgpKYkxY8bEpZdeGiNGjPCs7WautLQ0/vCHP8Rll12W9RSakKCkVVq1alVMmzYtpk+fHi+++GLU1NTEEUccEaeddlqcdtppceyxx0ZxcXHWM6FV2LJlS7z88st1Efn2229HmzZtYuTIkfH9738/zjnnnOjUqVPWM2kgQdk6CUpavfXr18eMGTNi+vTp8cwzz8SaNWuic+fOceKJJ8axxx4bw4YNiyOPPDLatGmT9VQoCJ999lksXLgw5s2bF3Pnzo1Zs2bFhg0bokePHnXfMRgxYkSUl5dnPZWvQVC2ToISvqC2tjZeffXVmD59evzzn/+MhQsXxubNm6OsrCwGDx5cF5jHHnts9OzZM3K5XNaToVnbtm1bLFmyJObPnx/z5s2L+fPnx6JFi6K2tjbKy8vj6KOPjlGjRsVpp50WgwYN8m+qAAjK1klQwi5s2bIlFi1aVPeJcN68ebF06dKIiOjSpUtdYA4bNiyGDh0aHTt2zHgxZGvt2rX14nHBggWxbt26iIjo379/3Rdkw4YNi8MPPzxKSkqyHcxeJyhbJ0EJe2jNmjWxYMGCuk+Y8+fPj/Xr10cul4u+fftG//79o3fv3tGrV6+61wcddJAnElAwampq4v3334+lS5fGO++8U/f6P//5T70vuL4Yj8ccc0zst99+2Q6nSQjK1klQQqLt39KbN29eLFiwIJYsWRJLly6N999/v+5/6mnTpk307NnzK6HZu3fvqKys9L960Oxs2rQpli1bVi8Yt79etmxZ1NTUREREcXFxfOMb34hevXpF37596+6xP/TQQ337upUSlK2ToIRGsnnz5njvvffqfSLefnrZsmWxZcuWiIgoKiqKysrKr4Rmr1694tBDD/XEBBrNJ598ssNgXLp0aXzwwQex/dND27Zto1evXjv8GD3kkEOitLQ041tCcyIoWycPXoFG0qZNm6iqqoqqqqqvnFdbWxsffPDBV2Jz7ty58ec//zk2btxYd9mKioro1atXHHjggdGlS5fo3LlzdOnSZYenO3To4F6hVmzbtm2xfv36WLt2baxZsybWrFmzw9OrVq2Kd955J6qrq+uu27Fjx7pIPO644+pFY0VFhYdsALskKCEDxcXFUVlZGZWVlTFixIh65+Xz+aiurq4Xm++++26sXr063nvvvbow+GJ0bldSUrLb6PzyaRHaPG2Pw51F4Y5Or127Nmpra7/yvjp06FDv775Pnz5xyimn1LvXsVOnTj4OgK9NUEIzk8vl4sADD4wDDzwwjj/++J1ebtOmTXURsaPA2P7rhkToF2Ojffv20a5du2jbtu1XXu/obQ09r5B+UHxtbW18/vnnsWnTpq+83tHbGnrehg0b6v7uPvroowbFYWVlZQwZMmSnXzR07tzZY3SBRicooYVq27Zt9OjRI3r06NHg6zQkQjdu3BgbNmyI6urqncbP559/XveEo4YqLS3dZYi2adMmiouLo6io6Gu/dO3aNT788MPYtm1b5PP52LZt2x6/1NbW7jb+tj8hpaGKi4sbFOLiEGipBCW0Il8nQnckn89HTU3NLqOrIffKffEymzZtqhd2NTU1Owy+XYViVVVVLF68eJfRmcvldnpeSUlJFBUVRefOnb/WPbE7u6yftQgUOkc5YI/lcrkoLS2N0tLS2HfffbOeA0DGPG0PAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCSCEgCAJIISAIAkghIAgCQlWQ8AAArHihUron379lnPoInl8vl8PusRAAC0XL7lDQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAEASQQkAQBJBCQBAEkEJAECS/wPBvqVt0eqqqAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "parser = BobcatParser()\n", "diagram = parser.sentence2diagram('Alice runs')\n", "diagram.draw()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzMAAAMzCAYAAACSq0y2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACKTElEQVR4nOzdeVhWdf7/8deNgIgopqDgJJnLGOUGKghq4pYrLpmaio5LpZmaX5esbNEaG7NIM02biUKTXMpSNJtcRhhXMBHLJDNLHQstVBwRDYHz+6Of90igAt54OPB8XBfXxX2Wz3mfWz5+zus+y20zDMMQAAAAAFiMk9kFAAAAAEBxEGYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWYAAAAAWBJhBgAAAIAlEWZKWE5OjtLT080uAwCAG8rIyNBvv/1mdhlAmZKenq6cnByzyyjTCDMlKCMjQ/369VNgYKAOHTpkdjkAABToxIkTatOmjbp06aK0tDSzywHKhEOHDikwMFAPPvigMjIyzC6nzCLMlJATJ06obdu2iouLk6urq0JCQvTFF1+YXRYAAHkkJCQoKChI58+f17fffqvg4GClpKSYXRZgaV988YVCQkJUsWJFbdu2TW3bttV//vMfs8sqkwgzJeDqwJCenq5du3YpMTFRbdu2Vc+ePbVo0SKzywMAQJK0cuVKtW/fXvXr11diYqISExNVqVIlhYSEaNOmTWaXB1jSwoUL1aNHD7Vr106JiYnauXOn0tPTFRQUpMTERLPLK3MIMw62atUqhYWF2QeGxo0bq2rVqoqNjdWECRM0fvx4TZgwQdnZ2WaXCgAopwzD0KxZszR48GANGDBAW7duVc2aNVW3bl3t2rVLoaGh6tGjh95++22zSwUsIzs7236c9+STT2rdunWqUqWKmjRposTERN19991q3769Vq9ebXapZYsBh8jNzTVmzZplSDKGDh1qXLp0qcDllixZYlSoUMHo2rWrkZ6efpurBACUd5mZmcbgwYMNScZf//pXIzc3N98yV65cMZ588klDkjFhwgTjypUrJlQKWEd6errxwAMPGM7OzsY777xT4DKXLl0yhgwZYkgyXnrppQL7HorOZhiGYW6csr7Lly9r1KhRWrFihV5++WXNmDFDNpvtustv2bJFAwYMUO3atbV+/XrVq1fvNlYLACivTp06pb59++qrr77SsmXL9NBDD91w+SVLlmj8+PHq0qWLVq5cKU9Pz9tUKWAdP/zwg3r16qXU1FR9/PHH6tSp03WXNQxDs2fP1vPPP68hQ4YoKipKbm5ut7Hasocwc4tOnz6tfv36af/+/Vq2bJkGDBhQqPW+/fZb9erVS+fPn9enn36qtm3blnClAIDy7KuvvlJ4eLiysrIUGxurVq1aFWq9LVu26KGHHtKdd96p9evX6+677y7hSgHr2LFjh/r166dq1appw4YNatSoUaHWW716tf7yl78oICBAa9euVc2aNUu40rKLe2Zuwddff62goCD9+OOPio+PL3SQkaR77rlHCQkJuvfee9WpUyd98MEHJVgpAKA8++yzz9SmTRtVr15diYmJhQ4yktS5c2ft2bNHly9fVlBQkHbu3FmClQLWsWzZMnXq1En33Xef9uzZU+ggI0kDBw5UfHy8fvjhBwUFBengwYMlWGnZRpgpps8++0yhoaG64447lJiYqKCgoCK3UaNGDW3evFkREREaPny4ZsyYodzc3BKoFgBQHhmGoXnz5ql3797q1KmTtm/frjp16hS5nWs/gOvYsaOWL19eAtUC1pCbm6tnn31Wf/nLXxQREaFNmzapRo0aRW7n6tPNqlWrptDQUG3cuLEEqi0HzLxhx4pyc3ONefPmGU5OTkbv3r2NCxcuOKTNuXPnGjabzejfv79x8eJFB1QKACjPsrKyjMcee8yQZDz11FNGTk7OLbf522+/GSNHjjQkGTNmzHBIm4CVZGRkGA8++KBhs9mM1157zSE38V+4cMHo3bu34eTkZMyfP58HAxQRYaYIsrKyjDFjxhiSjGnTphnZ2dkObX/t2rWGu7u70aJFC+Onn35yaNsAgPLj7NmzRseOHQ0XFxfjvffec2jbubm5xquvvmrYbDbjoYce4gM4lBsnT540AgMDjcqVKxvr1q1zaNvZ2dnG1KlTDUnG2LFjjaysLIe2X5bxAIBCOnfunAYMGKD4+Hi98847GjVqVIlsZ//+/erdu7cMw1BsbKwCAwNLZDsAgLLpyJEj6tWrl9LS0vTJJ5+offv2JbKdtWvXaujQobr33nu1bt061a5du0S2A5QGSUlJCg8Pl5OTk9avX6/mzZuXyHaioqI0duxYtW/fXh999JHuuOOOEtlOWcI9M4Vw5MgRtW7dWvv379fmzZtLLMhIUkBAgBITE1W7dm21a9dOn376aYltCwBQtsTFxSk4OFg2m00JCQklFmQkqW/fvtqxY4dSU1MVFBSk/fv3l9i2ADN98sknateunf70pz8pMTGxxIKMJI0ePVqbN2/W/v37FRISou+//77EtlVWEGZu4o8DQ1hYWIlv09fXV3FxcerZs6cefPBBvfrqq+IEGgDgRt5991116dJFLVq00O7du9WgQYMS3+bVD+B8fX3Vtm1brV27tsS3CdwuhmFozpw56t+/v3r16qX4+Hj5+vqW+HbDwsK0Z88eGYah4OBgxcfHl/g2rYwwcwNRUVHq0qWLAgMDiz0wLFq0SHXr1pWbm5uCg4OVmJhYqPXc3d21cuVKPf/883r66ac1cuRI/fbbb0XePgCgbMvJydHUqVP16KOP6pFHHtHGjRuLfGlKcccqSapdu7bi4+PVo0cPPoBDmfHbb79pxIgReuaZZ/TCCy9oxYoVqlSpUpHauJV+1bBhQ+3Zs0fNmzdXly5d9N577xV1F8oPE+/XKbWys7ONadOmGZKMMWPGFPsmrJUrVxqurq7Ge++9Z3zzzTfGo48+alSrVs04ffp0kdpZvny54erqarRr18749ddfi1ULAKDsuXDhghEeHm44OTkZb775ZrGeguSosSonJ8d47rnnDEnGyJEjjd9++63ItQClwa+//mq0bdvWqFixorF8+fJiteGofnXtUwmnTZvGEwQLQJj5gwsXLhh9+vRxyOPxgoKCjCeeeML+Oicnx6hdu7bxt7/9rcht7dy50/D29jbq1atnHDp0qNg1AQDKhuPHjxvNmjUzqlSpYmzcuLHY7ThyrDIMw/jggw8MV1dX4/777+cDOFjOoUOHjHr16hk1a9Y0du3aVex2HNmvrv1akD59+jjka0HKEi4zu8Z//vMftW3bVv/617+0fv16Pfnkk7LZbMVqKysrS/v27VPnzp3t05ycnNS5c2ft3r27yO2FhoYqMTFRlSpVUkhIiDZv3lysugAA1peQkKCgoCClp6dr165d6t69e7HacfRYJUkRERH617/+pZSUFLVu3VrffvttsdoBbrdNmzYpJCRE7u7uSkhIUEhISLHacXS/stlsmjRpkmJjY7V161a1a9dOJ0+eLFZtZRFh5v/bu3evfWDYuXOnevTocUvtpaWlKScnR7Vq1cozvVatWjp16lSx2qxbt6527dql0NBQde/eXYsXL76lGgEA1rNq1SqFhYWpfv36SkxMVOPGjYvdVkmMVZLUpk0bJSYmys3NTa1bt9aWLVuK3RZwO7z99tvq0aOH2rRpo507d6pu3brFbquk+lXPnj21a9cunTt3TkFBQdq7d2+x2ypLCDOSVq9erfvvv19169ZVQkKCmjRpYnZJ11W1alXFxsZq/PjxGjdunCZOnKjs7GyzywIAlDDDMPTSSy/p4YcfVv/+/bV161bVrFnT7LKu6+oHcCEhIerWrZuWLFlidklAPtnZ2Zo4caKeeOIJTZgwQbGxsapatarZZV1XkyZNlJCQoLvuukv333+/PvroI7NLMl25DjOGYeivf/2rBg0apH79+mnbtm35UnRxeXl5qUKFCjp9+nSe6adPn5aPj88tte3s7Kz58+fr7bff1ttvv63w8HCdP3/+ltoEAJRely9f1tChQ/Xiiy/q5Zdf1gcffCA3N7dbbrckxyrp9w/g1q9fryeeeEKPP/64nnzyST6AQ6lx/vx59erVS2+//bYWL16sefPmqUKFCrfcbkn3q1q1amnbtm3q16+fBg4cqL/+9a/l+gmC5TbMXL58WcOGDdPzzz+vl156STExMQ4ZGK5ydXVVixYttHXrVvu03Nxcbd26tdjXYP7R448/rs8//1y7d+9WmzZt9OOPPzqkXQBA6XH69Gl17NhRn376qVatWqXnnnuu2Pdz/tHtGKucnZ315ptvatGiRVq0aJF69+6t//73vw5pGyiuH3/8UaGhodqzZ4/++c9/auzYsQ5r+3b0Kzc3N8XExGjWrFl6/vnnNWzYMF2+fNkhbVuOyQ8gMMXp06eNkJAQw83NzVi1alWJbWflypVGxYoVjejoaOPQoUPGY489ZlSrVs04deqUQ7eTkpJi1K9f3/Dy8jJ27Njh0LYBAOb56quvDD8/P8PHx8dISEgokW3crrHKMAxj06ZNhqenp3HfffcZP/zwg8PbBwpj+/bthpeXl1G/fn0jJSWlRLZxO/vVypUrDTc3NyM0NLTIj34uC8pdmPn666+Nu+66y6hVq1aJDQzXeuuttww/Pz/D1dXVCAoKMvbs2VMi20lLSzPuv/9+w9XV1fjggw9KZBsAgNtnw4YNhoeHh9GsWTPjxIkTJbqt2zVWGcb/Hn3r7e1t7Ny5s8S2AxRk2bJl9keHp6Wllei2bme/2rNnj1GrVi2jbt26xtdff11i2ymNylWY+eyzz4wqVaoYzZo1M44fP252OQ7322+/GSNHjjQkGTNmzOCLlQDAgq79TonevXuXye+U+PXXX4127doZrq6uxf5SQqAocnJyjBkzZhiSjFGjRpXJL3U9fvy40bRp01v+7imrKRdhJjc313jzzTfL9MBwVW5urvHqq68aNpvNeOihh4yLFy+aXRIAoJCysrKMMWPG2L/tOzs72+ySSszly5eNESNGGJKM559/ng/gUGIuXrxoPPTQQ4bNZjPmzp17S1+IXtr997//NcLDww0nJydjwYIFZXpfryrzYSYrK8sYO3asIcmYOnVqmR4YrvXpp58a7u7uRsuWLY2ff/7Z7HIAADdx9uxZo1OnToazs7MRFRVldjm3xbUfwA0YMIAP4OBwP/30k9GyZUvD3d3dWLt2rdnl3BbZ2dnGlClTDEnG448/bmRlZZldUomyGUbZfZZbenq6BgwYoLi4OC1ZskSjR482u6Tbav/+/QoPD5fNZlNsbKwCAgLMLgkAUIAjR46oV69eSktL05o1axQWFmZ2SbfVp59+qoiICN13331at26dfH19zS4JZUB5Pw5699139fjjj6tDhw5avXq1qlWrZnZJJaLMPpr5+++/V0hIiJKSkrR58+ZyF2QkKSAgQImJifLx8VHbtm21du1as0sCAPxBXFycgoODZbPZlJCQUO6CjCT169dPO3bs0M8//6ygoCAlJyebXRIsbu3atWrbtq1q166txMTEchdkJOmRRx7Rpk2b9OWXXyokJERHjx41u6QSUSbDTHx8vIKDg5Wbm6s9e/aUy4Hhqtq1ays+Pl49evTQgw8+qLlz55brL1YCgNIkKipKXbp0UWBgoHbv3q0GDRqYXZJprn4AV6tWLbVt21br1q0zuyRYkGEYevXVV/Xggw+qZ8+eiouLK9dn+jp06KCEhATl5uYqODhY//73v80uyeHKXJh5//331aVLFzVv3lx79uxRw4YNzS7JdO7u7lq1apVmzJih6dOna/To0crKyjK7LAAot3JycjRt2jQ98sgjGj16tD7//HPdcccdZpdlutq1a+vf//63unfvrn79+um1117jAzgUWlZWlkaNGqWnn35azz33nFauXCl3d3ezyzJdw4YNtWfPHjVr1kydO3dWdHS02SU5lql37DhQTk6O8dRTTxmSjMcee6zM3+xUXB988IH9+eq//vqr2eUAQLlz4cIFo3fv3oaTk5Mxf/78cvG0oaIqD4/RhWP9+uuv9u/b43HfBcvKyjIeffRRQ5Ixffr0MvMEwTLxAICMjAxFREQoNjZWkZGRmjRpkmw2m9lllVo7d+5U37595enpqQ0bNuiee+4xuyQAKBf+85//KDw8XEePHtXKlSvVs2dPs0sq1T744AM98sgjCgkJ0Zo1a1SjRg2zS0IplJKSol69eunChQv69NNP1aZNG7NLKrUMw9D8+fM1ZcoU9enTR8uXL1flypXNLuuWWD7MnDx5UuHh4fr++++1YsUK9erVy+ySLOHHH39Ur1699NNPP+njjz9W586dzS4JAMq0xMRE9enTRxUrVtT69evVpEkTs0uyhB07dqhfv37y9PTUZ599pkaNGpldEkqRzZs3a8CAAbrzzju1YcMG1a1b1+ySLGH9+vUaMmSIGjZsqNjYWN15551ml1Rslr5n5ssvv1RQUJDOnj2rnTt3EmSK4O6779auXbsU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h3Tp0iUzygTyuHos9/PPP5tdCgpg1rGjJcLMiBEjZLPZZLPZ5OLiovDwcEnSb7/9Vug2Zs+erT59+qhu3br55nXt2lUVKlTQ3r17b9rO3r179dhjjxV6u6XV7NmzFRoaKnd3d1WrVi3f/HvvvVetW7fWG2+8cfuLAwCUmJycHA0ePFjr16+XJOXm5ha43NXpsbGxGjJkCGdocEv+eCx3991366mnntLly5cL3cbVY7natWuXYKXWc+bMGc2cOVOtWrWSt7e3/Pz81LNnT61cuTLPBxS36vLly3riiSdUo0YNeXh4qH///jp9+rR9vlnHjpYIM5LUrVs3paam6ocfftDkyZMlSe+8806h1s3MzFRUVJRGjx6db96JEye0a9cujR8/Xu+9995N2/L29pa7u3vRii+FsrKyNGDAAD3++OPXXWbkyJFavHixsrOzb2NlAICStGLFCq1bt+66IeaPcnNztXbtWq1YsaKEK0NZd+2x3Lx58/TOO+/oxRdfLNS6NzqWu8owjHJxzJKVlWX/fdOmTfrzn/+svXv3aurUqdq0aZM++eQT9erVSy+//LK6du3qsDMl//d//6f169fro48+Unx8vH7++Wc9+OCDeZYx49jRMmGmYsWK8vHxUZ06ddShQwdJ0p49eyRJM2fOtKf9a3+io6MlSRs3blTFihXVunXrfO2+//776tWrlx5//HGtWLHipqfS/3iZWXp6usaMGaNatWrJzc1NjRs31oYNG+zzd+zYoXbt2qlSpUqqU6eOJk6c6JA/qrp16+qVV17RqFGjVKVKFfn5+envf/97odefNWuW/u///k9NmjS57jJdunTR2bNnFR8ff8v1AgBKhwULFsjJqWjDv5OTkxYsWFBCFaG8uPZYrm/fvurcubM2b94sqXjHcl9++aVsNps+//xztWjRQhUrVtSOHTs0YsQI9e3bN8+2J02apLCwMPvrsLAwTZw4UU899ZSqV68uHx8fzZw50z7fMAzNnDlTfn5+qlixomrXrq2JEyfe8ntQnOO3sLAwjR8/XpMmTZKXl5e6du1q3//BgwcrOjpan332mQYNGqSAgAC1bNlSjz/+uA4cOKA777xTgwcPtreVlZWl8ePHy9fXV25ubrrrrrv0t7/97aZ1nz9/XlFRUXrjjTfUsWNHtWjRQu+//7527dplPx6XzDl2tEyYudb3338v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JXXt2lXPPPOMzp07pzvuuEOSFBUVpYceesh+X81VderU0TPPPKN//vOf6tmz5w233759e91///3q37+/3njjDTVo0EDffvutbDabunXrpunTp6t169YaP368HnnkEVWuXFmHDh3S5s2btXDhwpJ5UwrpxIkTOnv2rE6cOKGcnBwlJyfnu/ns2LFj+umnn/Lc7AUAsK7mzZurVatW2rdvX5HO5Ds5OalFixZq3rx5yRWHcmfAgAGaNm1akY/lbqZjx4567bXXtGzZMoWEhGj58uVFPsC++sF2cHCw3N3dtXz5clWqVKnQ95jcik6dOqlfv343fGBUQECALl26pG3btqlDhw6Kjo5WRESEJk2apIYNG6pv37569dVX1bZtW23atEne3t6SpDfeeEO+vr4KCAiQk5OTPvroI/n4+BT4nYPX8vT01OjRozV58mRVr15dVatW1YQJExQSEpLnCXNmHDta8szMVQMHDtTcuXO1ceNGZWRkKDQ0VL6+vvafVatWSZKaNGmiwMBArV69WtLvT2Q4cOCA+vfvn69NT09PderUSVFRUYWqYc2aNWrVqpUGDx6se++9V0899ZT9rE7Tpk0VHx+v7777Tu3atVNAQIBeeOGFUvFlTy+88IICAgL04osvKiMjQwEBARoyZEieZVasWKEHHnjgtnRcAMDtMXHixGI9zcwRj6UFruXs7Kzx48cX61juRrp27arnn39eTz31lFq1aqULFy7YHxpVWNWqVdM//vEPtWnTRk2bNtWWLVu0fv161ahRo1j7WhRHjx5VWlraDZex2Wx69dVX9Ze//EXHjh1Tjx499Ouvv+r48eM6dOiQ3n77baWnpysuLk733Xeffb0qVapo7ty5atmypVq1aqVjx45p48aNhXpc+7x589SrVy/1799f999/v3x8fPTJJ5/kWcaUY0fDgvbt22dIMvbt21fodTZs2GD4+/sbOTk5JViZtV37vv7222+Gn5+fsWPHDrPLAgA4UHZ2ttG3b1/DycnJkHTTHycnJ6Nfv35Gdna22aWjnLt6LLd3794iHweWVbNnzzZq1KhhvP7668Z//vMfwzAM4/Lly8YXX3xhtG3b1vjkk08K3VZxjq+vZdaxo6XPzBRFz5499dhjj+mnn34yuxRLOHHihJ599lm1adPG7FIAAA5UoUIFffjhh/ZH3l7vE9mr03v37q2Y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YMECJSYmqlu3bkVqZ9euXVq1apXmz5+vrVu32qe7u7vL09NTx48fv+VaAQCl09Ux9lo5OTkmVQOUDfSr28cSYaZDhw5avHixLl68qHnz5ik9PV3r1q2zz7/jjjsUFRWlrl27KjQ0VE8//XSe9S9duiQ3N7d87b733nuKiIiwv46IiFD79u311ltvFfiggD9KTk5WQECAPcj80YEDB7Rz5848Z2JycnJ0+fJlZWZm2s8cFVfTpk3tv1euXFlVq1bVL7/8UqQ2Dh48qD59+ujFF19USEhIvvmVKlWyX64HACh7ro6x10pISMgzPgIoGvrV7WOJMFO5cmX7GY/33ntPf/7zn/Mt8+9//1sVKlRQamqqLl68mCeMeHl56dy5c3mWP3TokPbs2aPExERNnz7dPj0nJ0crV67Uo48+etO6KlWqdMP5GRkZmjVrlh588MF88woKV0Xl4uKS57XNZrNf4lYYhw4dUqdOnfTYY4/pueeeU1JSUr5lzp49K29v71uuFQBQOl07xl518uRJk6oBygb61e1juXtmnJycNGrUKEnS5cuXJf1+mdSrr76q9evXy8PDQ+PHj8+zTkBAgA4dOpRnWlRUlO6//34dOHBAycnJ9p/JkycrKiqqULU0bdpUycnJ171PJTAwUIcPH1aDBg3y/fzxUrnb7ZtvvlGHDh30l7/85br38Bw9elSXL19WQEDAba4OAAAAuDnLhRlJ6ty5s6Tfn1J24cIFDRs2TBMnTlT37t0VExOjVatW6eOPP7Yv37VrV+3evdt+reKVK1f0wQcfaPDgwWrcuHGen0ceeUQJCQn65ptvblrH4MGD5ePjo759+2rnzp364YcftGbNGu3evVuS9MILL2jZsmWaNWuWvvnmG6WkpGjlypV67rnnSuBdKbyDBw+qQ4cOeuCBBzR58mSdOnVKp06dynf2avv27apXr57q169vUqUAAADA9VkyzDg7/3513LJlyzRx4kRVrlxZr7zyiiSpSZMmeuWVVzRmzBj99NNPkqTu3bvL2dlZW7ZskSTFxsbqzJkz6tevX762/f395e/vX6izM66urtq0aZNq1qypHj16qEmTJpozZ44qVKgg6fcQtWHDBm3atEmtWrVS69atNW/ePN11110OeR+K6+OPP9avv/6q5cuXy9fX1/4zbNiwPMutWLGiUJfbAQAAAGawGYZhmF1E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dcwuC4BFEGYAADCZl5eXNm/erMGDB9tvfM/NzTW7rBJ35coVjRs3TpMmTdKUKVP0ySefyMPDw+yyAFgIDwAAUGotWLBAX375pZYtW2Z2KUCJq1ixot5//335+/vr6aef1rfffqvo6Gi5u7ubXVqJOHfunAYMGKD4+HhFRUVp1KhRZpcEwII4MwOgVDIMQx9//LGWLl0qSTp8+LB8fHx04cKFQrfx9NNPa8KECSVVIuBwNptN06dP1yeffKLPPvtMYWFhSk1NNbssh/v+++8VEhKi/fv3a/PmzQQZAMVGmCkBI0aMUN++ffNNj4uLk81mU3p6+m2vCbCauLg4tW/fXjabTZL0zDPPaMKECapSpYp9fp8+feTr66vKlSurefPm+e41mDp1qpYuXaoffvjhttcP3Ip+/fpp+/bt+umnnxQUFKTk5OQS3d6iRYtUt25dubm5KTg4WImJiSW2rfj4eAUHB0uSEhISFBYWVmLbAlD2EWYAlErLly/X8OHDJUknTpzQhg0bNGLECPv8Xbt2qWnTplqzZo2++uorjRw5UsOHD9eGDRvsy3h5ealr165avHjx7S4fuGWBgYFKTExUrVq11LZtW61bt65EtrNq1SpNnjxZL774opKSktSsWTN17dpVv/zyi8O39d5776lLly4KCAjQ7t271aBBA4dvA0D5QpgBUOpcunRJP/30kxo2bChJWr16tZo1a6Y//elP9mWeffZZvfzyywoNDVX9+vX15JNPqlu3bvrkk0/ytBUeHq6VK1fe1voBR/nTn/6kf//73+rWrZv69eun1157TYZhOHQbb7zxhh599FGNHDlS9957r5YsWSJ3d3e99957DttGTk6OnnrqKY0ePVqjRo3S559/rjvuuMNh7QMovwgzAEyVkJCgAQMG6NVXX7VPW7dunfr06WN/vX37drVs2fKmbZ0/f17Vq1fPMy0oKEgnT57kCwlhWe7u7lq9erWeeeYZPfXUU3rkkUeUlZXlkLazsrK0b98+de7c2T7NyclJnTt31u7dux2yjYyMDPXv31+RkZGaP3++Fi9eLBcXF4e0DQCEmRKyYcMGeXh45Pnp3r272WUBpU69evXUs2fPPJ8Cr169Wg8//LD99fHjx1W7du0btrN69Wrt3btXI0eOzDP96nrHjx93YNXA7eXk5KTZs2dr2bJlWr58uR544AGdOXPm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9HS5u7vLxcXF7JJu6q9//avZJVyXYRj673//K0kKDg5W27ZtTa4IAAAAuDlLhhlnZ2etWLFCAwcO1N13363169fLz8/P7LIs6bffftOYMWO0dOlSvfDCCwoNDTW7JAAAAKBQLHvPTLdu3bR7927997//VVBQkBISEswuyXLS0tLUpUsXrVy5UsuXL9esWbPk5GTZPwkAAACUM5Y+cr3vvvuUmJioBg0aqH379lq5cqXZJVlGSkqKgoODdfjwYW3btk1Dhw41uyQAAACgSCwdZiTJ29tbW7du1cCBAzV48GDNmjVLhmGYXVaptmnTJoWEhMjd3V0JCQkKCQkxuyQAAACgyCwfZiSpYsWKWrp0qWbPnq2ZM2dq6NCh+n/t3V2IlWW/x/HfTCWTiVSGk1EgGGSRlGUz2gxm5FhaWE1RUlFZSUhoZK+UFURRCr6Q+HKgFmWRhDWUZjD5glk6K8ropKgDwSC1pBLMytLZB3v3sON59i51puU1fj6H98z6X39mncyXtda9fv7552qvdURasGBBxo0bl6ampnzwwQcZOHBgtVcCAIBD0iNiJvnv2wo/+uijef3119PW1pZLL700O3bsqPZaR4zff/89U6dOzT333JMpU6bkrbfeSt++fau9FgAAHLIeEzN/uP7667Nhw4Zs27YtjY2N+eyzz6q9UtXt3r07V111VRYsWJBFixZlzpw5vksGAIDi9biYSZJhw4alUqmkX79+aWpqysqVK6u9UtVs3bo1F198cTZv3px33303d999d7VXAgCALtEjYyZJTj/99GzYsCGjR4/O+PHjM3v27KPuxgAbN25MQ0NDfv3112zevDmjR4+u9koAANBlemzMJEmfPn2yYsWKPPTQQ7n//vtz991357fffqv2Wv+Il19+OZdddlnOOeecdHR0ZPDgwdVeCQAAulSPjpkkqa2tzXPPPZcXXnghL774Yq644op8//331V6r2xw4cCCPPfZYbr311txyyy1pb29Pv379qr0WAAB0uR4fM3+4/fbb89577+XTTz/N8OHD8+WXX1Z7pS63d+/e3HDDDXn22Wczc+bMLF68OL169ar2WgAA0C2OmphJkpEjR6ZSqeSYY47J8OHDs27dum4/c/78+Rk4cGDq6urS2NiYSqXSLed88803GTlyZFavXp0333wzDz74YGpqarrlLAAAOBIcVTGTJIMGDcqmTZsybNiwjBkzJosXL+62s5YvX55p06blySefzCeffJLzzjsvl19+eb799tsuPWfLli1paGjIzp07s3Hjxlx99dVdOh8AAI5ER13MJMmJJ56YVatWZdKkSZk0aVIeeOCB7N+/v8vPmT17diZNmpSJEyfmnHPOyaJFi9K7d+8sXbq0y85oa2tLc3NzTjvttFQqlQwdOrTLZgMAwJHsqIyZJDnuuOMyf/78PP/885kzZ06uvfba7Nmzp8vm79u3Lx9//PGfbodcW1ub0aNHZ9OmTYc9v7OzMzNmzEhra2uuvPLKrF+/PgMGDDjsuQAAUIqjNmaSpKamJlOmTMnKlSuzfv36NDc3Z9u2bV0ye9euXdm/f3/q6+v/dL2+vj47duw4rNn79u3LHXfckUceeSTTp0/Pa6+9lt69ex/WTAAAKM1RHTN/GDt2bD788MPs3r07DQ0N6ejoqPZK/6ddu3alpaUlr776apYtW5annnoqtbWeRgAAjj7+C/4f5557bjo6OjJo0KCMGjUqy5cvP6x5p5xySo455pjs3LnzT9d37tyZU0899ZBmfv7552lsbMznn3+etWvX5uabbz6sHQEAoGRi5n/p379/1qxZk+uuuy4TJkzIU089lc7OzkOa1atXr1x44YVZs2bNv64dOHAga9asyYgRIw56Xnt7e0aMGJHjjz8+lUolTU1Nh7QXAAD0FMdWe4EjTV1dXV5++eUMHjw4jz/+eL744ossXbo0dXV1Bz1r2rRpue222zJs2LA0NDRk7ty5+emnnzJx4sSDmrNw4cJMmTIlY8aMyWuvvZa+ffse9C4AANDTiJn/oKamJtOnT89ZZ52VW2+9NVu3bk1bW9u/fZj/r9x444357rvv8sQTT2THjh05//zz8+677/7tOb///numTZuWefPmZerUqZk1a1aOPdZTBgAASVLTeajvozpKfPTRRxk/fnx69eqVlStXZsiQIf/Iubt3786ECRPS3t6eefPmZfLkyf/IuQAAdI2zzz4748aNy6xZs6q9So/lMzN/4aKLLkqlUsnJJ5+ciy++OKtWrer2M7du3ZqmpqZs2rQpq1evFjIAAPAfiJm/4Ywzzsj777+fyy67LOPHj8/cuXMP+cYAf+XDDz9MY2Njfvnll2zevDktLS3dcg4AAJROzPxNffr0yRtvvJEHHngg9913XyZPnpzffvutS8945ZVXcumll+bss89OR0dHBg8e3KXzAQCgJxEzB6G2tjYzZszIkiVLsmTJkowdOzY//PDDYc89cOBAHn/88dxyyy256aab0t7enn79+nXBxgAA0HOJmUNwxx13pL29PVu2bMnw4cPz1VdfHfKsvXv35sYbb8wzzzyTGTNmZOnSpenVq1cXbgsAAD2TmDlEo0aNSkdHR2pqatLY2Jj169cf9Izt27fnkksuyTvvvJMVK1bkoYceSk1NTdcvCwAAPZCYOQxnnnlmNm3alAsuuCAtLS1ZsmTJ337sli1b0tDQkO3bt2fjxo259tpru3FTAADoecTMYTrppJOyevXq3Hnnnbnrrrvy4IMPZv/+/f/vY9ra2tLc3Jz6+vpUKpUMHTr0H9oWAAB6DjHTBY477rgsXLgwc+fOzezZs9Pa2po9e/b82+91dnZm5syZaW1tzbhx47Jhw4acdtppVdgYAADKJ2a6SE1NTe699968/fbbWbduXZqbm/P111//6+f79u3LnXfemYcffjiPPvpoli9fnt69e1dxYwAAKJuY6WLjxo3LBx98kB9//DENDQ2pVCrZtWtXWlpa8sorr+Sll17K008/ndpaf3oAADgcx1Z7gZ5oyJAhqVQqueaaa3LJJZekvr4+P/30U9auXZumpqZqrwcAAD2Clwe6Sf/+/bN27dq0trbmhBNOSKVSETIAANCFvDLTjerq6rJs2bL8/PPPPh8DAABdzCsz3aympkbIAABANxAzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAU6dhqLwAAAD3RnDlzMmDAgGqv0aPVdHZ2dlZ7CQAAgIPlbWYAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABRJzAAAAEUSMwAAQJHEDAAAUCQxAwAAFEnMAAAARRIzAABAkcQMAABQJDEDAAAUScwAAABFEjMAAECRxAwAAFAkMQMAABTpvwBolt8BOKC7TQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ansatz = IQPAnsatz({N: 1, S: 1}, n_layers=2)\n", "circuit = ansatz(diagram)\n", "circuit.draw(figsize=(8, 8))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tket_circuit = ansatz(diagram).to_tk()\n", "\n", "# This does not render properly on GitHub, please view it at:\n", "# https://cqcl.github.io/lambeq/examples/circuit.html\n", "render_circuit_jupyter(tket_circuit)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{Alice__n_0: 0.0,\n", " Alice__n_1: 0.001,\n", " Alice__n_2: 0.002,\n", " runs__n.r@s_0: 0.003,\n", " runs__n.r@s_1: 0.004}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import default_sort_key\n", "\n", "# Make sure you sort your symbols as they are returned as a set.\n", "parameters = sorted(tket_circuit.free_symbols(), key=default_sort_key)\n", "\n", "param_dict = {p: i * 0.001 for i, p in enumerate(parameters)}\n", "param_dict" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tket_circuit.symbol_substitution(param_dict)\n", "\n", "# This does not render properly on GitHub, please view it at:\n", "# https://cqcl.github.io/lambeq/examples/circuit.html\n", "render_circuit_jupyter(tket_circuit)" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 4 }