{ "cells": [ { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create a Empty AnnotInference Graph" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=0, nEdges=0, nCCs=0)>\n" ] } ], "source": [ "from graphid.core import AnnotInference\n", "infr = AnnotInference()\n", "print('infr = {}'.format(infr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Add 5 annotations / nodes " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=5, nEdges=0, nCCs=5)>\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "infr.add_aids(list(range(1, 6)))\n", "print('infr = {}'.format(infr))\n", "infr.show_graph()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Add a few decisions / edges between the nodes" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=5, nEdges=3, nCCs=4)>\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from graphid.core.state import POSTV, NEGTV, INCMP, UNREV, UNKWN\n", "\n", "infr.add_feedback((1, 2), POSTV) # Positive (I can visually tell these are the same)\n", "infr.add_feedback((1, 3), NEGTV) # Negative (I can visually tell these are not the same)\n", "infr.add_feedback((1, 4), INCMP) # Incomparable (no visual evidence of difference or sameness)\n", "print('infr = {}'.format(infr))\n", "infr.show_graph()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=5, nEdges=5, nCCs=2)>\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Add a few more positive decisions\n", "infr.add_feedback((2, 5), POSTV)\n", "infr.add_feedback((4, 5), POSTV)\n", "print('infr = {}'.format(infr))\n", "infr.show_graph()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The next review adds in an inconsistency\n", "(Note that there is a highlight around the edge the algorithm has determined to be most likely to be wrongly reviewed) " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=5, nEdges=6, nCCs=2)>\n", "status = {\n", " 'nNodes': 5,\n", " 'nEdges': 6,\n", " 'nCCs': 2,\n", " 'nPostvEdges': 3,\n", " 'nNegtvEdges': 2,\n", " 'nIncmpEdges': 1,\n", " 'nUnrevEdges': 0,\n", " 'nPosRedunCCs': 0,\n", " 'nNegRedunPairs': 0,\n", " 'nInconsistentCCs': 1,\n", "}\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "infr.add_feedback((1, 5), NEGTV)\n", "print('infr = {}'.format(infr))\n", "# The `infr.status` method is a useful tool for breaking down the \n", "# current state of the graph. See the docstring for `infr.status` for \n", "# more information on each item. \n", "print('status = {}'.format(ub.urepr(infr.status(), nl=1)))\n", "infr.show_graph()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((2, 5), 10.000000001)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Whenever an inconsistent edge is added, a potential fix is prioritized. \n", "# Peeking at the top of the priority queue shows the highlighted edge.\n", "infr.peek()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Re-reviewing this edge restores consistency" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "infr = <AnnotInference(nNodes=5, nEdges=6, nCCs=3)>\n", "status = {\n", " 'nNodes': 5,\n", " 'nEdges': 6,\n", " 'nCCs': 3,\n", " 'nPostvEdges': 2,\n", " 'nNegtvEdges': 3,\n", " 'nIncmpEdges': 1,\n", " 'nUnrevEdges': 0,\n", " 'nPosRedunCCs': 2,\n", " 'nNegRedunPairs': 1,\n", " 'nInconsistentCCs': 0,\n", "}\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd4XNWd//H3nTt3NDMa9WbLTbjJLTYGGzvYBmPTElMcDIRQDCSBsLt5NoGFsAvZJ0uyyS+bQkkjOAmBADEdDBjbFIMb7rjJvUoustVGfaSZW35/jCQ32ZasuVOk7+t55rGkmbn3yBp9dObcc75HsSwLIYQQseeIdQOEEEKESSALIUSckEAWQog4IYEshBBxQgJZCCHihASyEELECQlkIYSIExLIQggRJySQhRAiTjg78+Ds7GyroKDApqYIIUT3tH79+grLsnLO9bhOBXJBQQHr1q07/1YJIUQPpChKcUceJ0MWQggRJySQhRAiTkggCyFEnJBAFkKIOCGBLIQQcUICWQgh4oQEshBCxAkJZCGEiBMSyEIIESckkIUQIk50aum0EPEu2GQSDJqYBpiGhWFaYIHDoeBQwaEqOJ0Kbq8DRVFi3VwhTiKBLBKGZVkEGkxq/Xrbrao8hL88/HFjvYFpWDjUcNAqSvgWfu7xfy3TwrLAk+zAl+YkI9tJZq5GaoZGaoaT1AyVlDRn23GEiBYJZBG3LMuipkrn4N4m9u0IcGhvE6GgidoSlLpuYRqnP880rQ4dv6HOpKEuyLFDQRQFnJqCwwGGET53Xp8kBo7w0H+wh7w+LgloYTsJZBFXaqpC4QDeHuDg3ib0kIWiQCh4PGQNvWOB2xmWdfI5AI4UN3PsUDNrFtdgGOGAHjTCQz8JaGETCWQRc8Fmkx0bG1j3eQ11NcZpARxLhgGGEW5La0A7FtegAF+ZkMKFl6aQnqXFtpGi25BAFjFTdiTIl8tq2LmpMa5C+GxODOiNK2rZ+EUdeX1cjLs8lUEjvNJrFl0igSyiKhQy2bmxgXVLaqmp0jEMC8uMdavOj2EAWBwpbmbBaxU4HApjJvoYc2kqqenyqyU6T141Iios02Lbl/V8/p4fw7ASojfcGaFmC7BYv7SW9cvqGDXex+Rr03F71Vg3TSQQCWRhu8P7m/jozQrqqo1uF8Snau01F62tY9uX9Uy+Np0Lv5oqQxmiQySQhW2aAyaL51Wya3Mjeqh7B/GpDD08G2T5gmo2raznujtyyMl3xbpZIs5JIAtb7N/RyIdzKwgFTQw91q2JnVDQoqosxD9/X8rYySlMvjZDesvijCSQRcStX1bD8gXVPa5XfDa6brFhRR1HDwX5xr25aC4pIyNOJ68KETGWZbF0fpWE8RnoIYsjB5qZ+4dSAo3tLDEUPZ4EsogI07BY8GoFG1bUSRifhaGHhzBefrqUuuoePJYj2iWBLLpMD5m8/fwxdm+J/sW7n8+ZzOdr55zzcWuL3uSxZ0ZGoUXnZhhQV6Pz0tNHqDwWjHVzRByRMWTRJZZl8c7zZRwpbo5Jz/gHd87DpXkjftyyqr289fGPOVqxm2Cogez0AUy95HtcPOIbETm+ZUKgwWTuH0qZ/R99ZCGJACSQRRd9uayW0pLYhDGAz5tly3EdDicXjZhJv16jcbtS2F2ygtcXPkpKcg5DB0yO2HlCQYv3/1HGt77fG4dDZl/0dBLI4ryVlwZZvtCeC3g79i/h09V/5Gj5TnQjyID8i7hh6uPk544A4P+en0551T4Arrv8v5g6/v6Tnl/hP8Bri37EwdJN9MoextCCzoVodvoAstMHtH0+4Svf5IuNL7OnZGVEA9k0oeJoiDWf1TBxenrEjisSkwSyOC96yGTeC2W29YzrGsoZN3IWA3qPxeFQ+WTVH/jb29/hsfuWoqoa37/tDQzL4JmXb2z3+f/88EHcSSn88K73OVa5h9cXPdp2375Da/jrW/ee8dy/+MHWkz63LIvdxcs5Vrmb6RP+NTLf4An0kMXqT2soGOqhV7+kiB9fJA4JZHFevlxeR0OdfVO3xo+6+aTPr7n0If7ftssordhJ37xRJHszAXAop1+XLi3fQUnpRh6592PysgbTK3sou4uX8+X2eQD0yxvNQ7Pnd6gdv//nLA4d3QKKwsxpP2H00K918Ttrnx6yWPR6BbMfypetpXowCWTRaaGgyepP7Z1rXFFdzKLlT1JcuoGGxioswudqDjZ06LkORSUnc2Db13plF7Z9rGlusjMKOtSOu677PYHmWnYVL2fBsl/TO7uQgj4Xd+6b6aCaKp3iXU0UFHpsOb6IfxLIotM2rarDtLlk5vNvf5eU5GxuveZXpKXkUd9YyR/n3oJldf2PQGeGLNJT80knn945wzhWsZtPVv2B7876e5fb0J5Q0GLph34J5B5MAll02pbV9i7+aAj4Kavaw01X/ozB/ScCtF3A64js9AGYlkF51T7ysgYDcLRyV9v9nRmyOJHicBAMNXb6eZ1RVRaitlqXaXA9lPzURafU+nVqquxd9utxp5HsyWRt0Rukp/bGX3OIhct/23Z/KNREIFgHgGmZNAcbqG0ox6E48Hmz6J0zjH69xjDvs59yw9QfU161j43b3297fkeGLNZseQMLk/69xqBpHvaUfMH6rW8z47L/tOV7bqUosGtTA+MuT7P1PCI+KZ15Czhu3Dhr3bp1NjZHxLvNq+v4/L0q2+sa7ylZybuLn6DCv5/crMFcM+lB/v7OfTxw61z8tYd4beEjpz0nI7UPj9+/HGiZ9rbwEUqObqZ3diGFBVNY9uULp82gOJONOz7g87VzqPAfQDeDZKb2Y+Lo25hy8bdtv+jWe0ASt3+/t63nENGlKMp6y7LGnfNxEsiiMz59p5KNX9TFuhndmtvr4N+e6B/rZogI6mggSy0L0SnHDkntBbsFm0yCTQm60aDoEglk0SmNDVI20m6qU5HynD2UBLLolETdITrR2D2tUMQnCWTRKU6nrCKzm2WBU5P/555IAll0SkZO7GZKJmLt4/NhGhbJKWqsmyFiQOYhi07J6+ti345ATIYu7Kp93BFvfvw4uw8sp6b+KF5PBiMHXcWMy36EOykl4udKSXdKKc4eSgJZdEpe3yQ0TSHYHP36x3bVPu6I/JzhXDx8JmkpvamtP8abHz/O25/8N7fPeDri5+rV3xXxY4rEIIEsOqX/EE/ELzi9uuBhGgJ+emUPZeWmV0hy+bhh6uOMKZwB2F/7uCMuvfDOto8z0/oycfRtLF79bMTP40pSGHGRL+LHFYlBAll0itOpUFDoYU9RZGs67ClZyYD8sfzgznl8vuY53vzoMUYMnI6muaNa+7gjauqPsWnnfPrkjer0c8/FNMN/9ETPJIEsOm3cZakc2BmIaIGhNF8eV078PgBTx9/P6i2vUVF9gN45w6JW+/hcVmx4iQ+W/IKQ3sTwgdO447pnInLcVqoKI8f5ZCZLDyaBLDqtzwVucvJdlBY3R+yYWenHlwp73eGtjBqbqs/5vEjVPvbXHubXf7+67fPpE/6V6RP/7aTHXDTiRoYOmES5fz8fLPklH3/xDNdPffycx+4oRVH46pVSVKgnk0AW5+WKGzJ5/c9HI9ZLdjhOfylGoPRxh4csUn15J/WkW/8onMiTlIonKZWczIG4k1J49tXbuHz8/aQm53S5nU5N4SsTfCSnyq9kTyY/fXFeevdPYvQEH5tX18dsx2mIXO1j1eHs8C4iAA5FxcIiFGrqdJvb4/U5mPL1jIgcSyQuCWRx3i6bkcmBnQH8FXpEerPtiUbt43OpqC5mzZbXGTFwGqm+PKpqDvH+kp+TnzuCrPR+XTo2hHvHM+/JQ9NknVZPJ4EszpvqVLjxnjxeevqIbb3kjTs/OKn28ccrf8fHK393Uu3jO2Y8zWsLH+Gpl66nd3Yhk8bexbIvX4hYGzSnmyNl21lb9AaNTTUkezIY0n8SX59yek3mznJqCpOuSScnX+YeC6mHLCJg5+Z6Fr5aGdOhi0Tk1BQGjvBw3R05stN0N9fResjSQxZdVjjaR5Jb5b0Xy2zfSaS7cGoKX7nExxU3ZEoYizYyaCUiomCoh1sf6IXLrYDky1k5NYWJV6YxbWYWitSsECeQQBYR06tfEnf8ez7eZAcOeWW1y6kpXHlTJhOmnT6tTgj5tRERlZmjcdcP80nLdEpN3xM4HKC5FG6YncPIcZGvECe6BwlkEXG+NCd3/0cfLr4sNRzKPTyXNZdCfkES9zzShwuGxaZ8qEgMclFP2EJ1Kky+NoNhFyYz/5Vyaqr0HnfBT3WCqipMvymL4WOT5eKdOCcJZGGr7F4uZj+Yz46NDSyeV4UeMtFDsW6VvRQHOBwKYyb6uPTqDJI88kZUdIwEsrCd4lAYfpGPwaO8rP28hvXLarEsCMWgyL2dnE4FC4sLhnm5/LoM0rO0WDdJJBgJZBE1msvBpVdnMGF6Onu3NrJ2SQ3lR0JYloWZwLveay4FLUnh4smpjLokBa9P9sMT50cCWUSdqioMHZ3M0NHJ+CtCbFxRy5a19UDi9JrVlt+cfgPdjLs8jf6D3TKnWHSZBLKIqYxsjStuzGLKjEx2b2mgaG09Rw40oyhgmhaGHusWhikKaEkKesgiM0dj6OhkvjLBh0/KZYoIkleTiAtOp8LwsT6Gj/VhmRYVR0Mc3NfEnq2NlBZHP6AVJTwUoevhAB443EP/IR7yByShueQinbCHBLKIO4pDISffRU6+i4smp2KZFuVHQxzcG+DQ3iaqq3TqawyaAyaqU8GhhovZ60GrU2VAndoJzw1ZOJ0KySkqqZlO8vq4GDDEQ36BBLCIHglkEfcUh0JuvovcfBcXTzm+xZFpWNTXGtT6dWr9OjX+EFVlOsEmE2PvfoymEGbvPlhJHhwtc4JVVcGpKaRnOUnL1EjNUEnNcJKa4ZTgFTEngSwSlkNV2sL0NBNvhNWrYcUKuPTS6DdOiPMgXQLRPfn94X8zZFskkTgkkEX3VFUV/jczM7btEKITJJBF92NZ0kMWCUkCWXQ/dXVgGOD1gkv2qhOJQwJZdD+tveOsrNi2Q4hOkkAW3U/r+LEMV4gEI4Esup/WHrJc0BMJRgJZdD8yw0IkKAlk0f1ID1kkKAlk0f3IGLJIUBLIovuRIQuRoCSQRfcji0JEgpJAFt2P9JBFgpJAFt2PjCGLBCXlN0VCCZo61XoDfqMBv95AkxnEsCwMTAzTwMRCvWca6rTBqP1ArdlGiuohw5lMhjOZVNWDQ5F+iIhPEsgi7hiWyeFgFSXNFVSEaikL1eLXG6g1AuiWgaaoKCjhELZMLCxO2ijksgKgAIVjOPxlOBVH2+N1y8TrcJGmesnSfORqaeRoqQx055HhTI7NNyxECwlkEXOGZXIkWMWewDG2BQ5xqLkSVXFgWCY65mmPb7Y6trGehYWBhWGdfIwGs5kGs5kjIT9wEJfixMTCrWgMducxzNuHQe480iWgRZRJIIuYqNYb2FB/4KQA1i0ToyWAdev0ILZLsCXg6y2DjY3FbAscxrQs3A6Nwe5ejErux0hvX5yKGrU2iZ5JAllEjWmZ7AwcYUnNdoqD5WDR1gOOZgCfS1tAmwYbGw+wPXCIN4BxvkFMSi0kR0uNbQNFtyWBLGxXqzeyqm43K+p2YVhGh4cc4kVre1fV7WJ1/R56a+lMTRvBSG8/VLlAKCJIAlnYpqS5gkX+TexrOgbQ7nhwIjGwwDI4GKzk9YqVKKxiQsoQpqWNxKsmxbp5ohuQQBYR59cbmFe5jl1NRwhZRqybY4vWXvOK2h2srNvFNeljmJRaKD1m0SUSyCJidMvg4+otLKvdjmGZmCdPRuuWdEywTBZVb2Jp7XZuzf4qQz29Y90skaAkkEVEHGgq55XyZTSYzd22V3w2QUsnaOi8UPY5I739+EbmeBnGEJ0mgSy6xLQs5vvXs7Jud48M4lOFLIOihhJ2Bo5wT+7lDHTnxbpJIoHIgJc4b4Zl8nL5UgnjU+iYBMwgfz22mKKGg7FujkggEsjivARNneeOfsKOQPe9cNdVIcvgnxXLWVm7K9ZNEQlChixEpzUYTTx79GMqQ3UJP5XNbiHL4H3/euqMAFelj0ZRlFg3ScQx6SGLTqnWG3j6yIdUxCCM50x+kLVz5p/zcUVvLuWZkd+NQos6JmQZfF67jTcrV2Na3X/miTh/0kMWHaZbBnOOfkqNETi1vlpU3DnvCTSvPTMXVv/pPfZ8soGyrcUk56Rx//KnInr8kGWwoWE/OVoKU9NGRvTYovuQHrLosPlVG6g2GmISxgDerFQ0jz2BHAoEKZxxCSNvmmTL8SEcyh9Vb+Zwc5Vt5xCJTXrIokP2BI6yut6e2RT7l2xm9R/fo3znQYygTv5Fg5n6+O3kjhgAwPPTf0TVvlIALv+v2xh//4yTnu8/cIxFP/oLpZv2kT2sLwWTR3W6DZP/42YA1s6Zz4FlRV38js4sZBm8UPY5j/S5AZdDfv3EyeQVIc6pyQzyUvlS22ZTNJRXM3LWZHqPHYxDVVn1h3m8/Z3fct/SJ1E1J7e98d9YhsHLN/6k3ed/+OCzJKV4uev9n1K55wiLHv1L232H1uzkrXt/fcZz/2DrXyP+/ZxLvdnMe1XruDl7YtTPLeKbBLI4p6U1222d2jbq5stO+vzSh25i22UrqNh5iLxRBXgzUwBQHKePsJXvOEjpxr3c+/EvyRrch+yhfSleXsT2eV8AkDf6AmbP/7ltbT8fumWwvmE/09JGkan5Yt0cEUckkMVZBcwgS2rtDeTq4mMsf/ItSjfsobGqDlpmIgQbmjr0XEV1kDnweP2I7MJ+bR9rbhcZBfG3Ws60TBZWb+L2HPvGrEXikUAWZ7W+bp/tF/He/u6TJGencc2v7iMlL4PGylrm3vIzrAhMEYvHIQsAE4vNDcXMzBwnNS9EGwlkcVZr6vfY2jsO+Ouo2nOEK392D/0nDgdou4DXEekD8rAMk6p9pWQN7gNA5a5DbffH45BFK1VxsLXxEONTBsW6KSJOSCCLM6rVA5SHam09hzstGU9mCkVvLCW1dyY1hypY/ts32+4PNQUJ1jUCYJkmwYYmGsqrURwOvFmp5AzrR68xA/nsp68w9ce3U7WvlO3vr2x7fkeHLGoPV9BU00B9WTVGSKdsWzFA20wPOwQtnbX1eySQRRulM28Lx40bZ61bt87G5oh4srXxIHPLv6DZCtl6npKV21j8xEv49x8ja3A+kx68iXfue4pb5z5G7aFyFj7yl9Oek9onu23xhv/AMRY+Moejm/eRXdiPgilf4csXFnVqOGLBw8+x9a3lp3394f0vnf831gGaovLz/rfJkupuTlGU9ZZljTvn4ySQxZksri7io+pN4a2LhC2cOHis3zdIUT2xboqwUUcDWVbqiTM6EvRLGNvMqaiUh+pi3QwRJySQxRkFzGCsm9AjBE17h4RE4pBAFmfkQMY1o0HGj0UrCWRxRjI/NjrcihbrJog4IYEszqivKxNnHL1EErUe8tmELINcLS3WzRBxQuYhizPKdaXhVFR0Kz52BUnkeshnoikqHtUVlXOJ+Bc/3R8Rd/onZcfVfnmJXg+5PRe4c6N6PhHfpIcszsjjcDEgKZt9zWW2nmfBw88R8NeTPbQvm15ZjMvnZurjt1M4YwLQveohnyhJcTLOJ6v0xHESyOKsLkkZzKFgFUFLt/U8JSu3kT92MHfOe4I1z83no8eeZ+D0sWhuV7erh9zKxGKYJz9m5xfxRwK5HZZlYdTVYVRXo/v9mI2NWIaBZRhgmlimGa7Nq6ooLTdHcjLOjAycGRk4vN5uM5VpTPIA3qtab3sg+/IymPj9GwEYf//X2fLa51QfOEbOsH7drh4yhFfoXZpSKLuGiJP02FeDZVnofj/NBw4QqqwkVFaGXlGBXlOD2dAQ/uV3OsO1eU0zXAryxJuitN0URQFVDR83FJ7kr/p8ONPTcWZno+XmomVnk1RQgDM1NZbfdqc5FZVr08fwgf9LW0M5vf/xsVR3erhoe1N1/Tmfl6j1kBVF4QrZ7FScokcFcqiqiqa9ewls307T3r3h8HQ4sILBtqLorSzTBP0sAXTC4y2A0MmrrYyaGoyaGpqLi8HhQNE0LMNA9XpxDx2Kt7CQpIEDEyKgx6cMYkntNqr0etsWUjuc6mlfi8S54nHIwqWoTEsbRbLM8xan6NaBbDY10VhUROP27TTt2RMOYEUJB3BUG2JiNTcDYNTW0rBuHY1btmDpOqrPh3vIELzDh+MdMQLFGX8/Eqeick/uVH5XuiCuZl1A4tVDdqCQp6VL71i0K/5++yOg+dAhapcto3Hz5uM94DjTFtA1NW0BDeAbP57USZPQsrNj2bzT9HKl8/WMsSzwb7R9PPlE3a0esqaozM69DIfSPWecWpaFgYlpWSiAQ3HgQOk211Ts1m0C2WxupmHjRmqWLMGorsbS9dOGIeJZa0DXrVxJ/apVaPn5pF1+Od6RI1HU09/OR5/JpJRjbG2s4EBTBnqUqsDt/GDVSfWQV/7uXVb+7t2T6iHPePpfWfjIHF66/r/JLuzH2Luu4ssXFnXqPCueeuukesj/mPFjILL1kDVF5ZvZl5LuTI7YMaNFtwxq9Eb8egN+vYEqvZ6yUA2Vej01eiMBM4iJiQUogNJSB8VseZ0oKGiKik91k+FMJldLJduZSoYzue3mdST1+OBO+HrIoaoqaj75hIaNG2MzHGEjJSkJFIWUCRNIu+IK1ORo/yJbwGrgVeAN4AjNZhJ/PfYMh5tTCRFfwxfxTFNUZmRcxKTUwlg3pUOq9Qb2Nh1jR+MR9jYfpd5oRlNUHCiYWISsrv9JVnHgVMKdDb1lKCzPlcYIT18Ge3oxICm77f5E1+0L1JtNTfgXLaJ+9eq26WjdltOJ4nCQftVVpE6eHKVx5p8DfwGKT/jaAOCb6NbtvFzmZ1dTadyNKccjh6Gy+heXcv2IAdx9N8TZaBQANXpjOIADh9nTdJSAEcKhKFEdnmrlQEFTnOiWQS9XOsM9fRji6UX/BA7obhvIlmVRv2YNVe+/Hw7is82E6GYUlwtHUhJZt96Kd9iwCB7ZAoqAgUBrL/w7wPNAH+BW4JvAJdD6VtSyeKdyDesb9kkon4VLcXL4uam8+P96hT93waxZ8L3vwWWXhWdOxkqj0cz6+n0sq91BnRlAxUFzDAL4XE4M6EJPPpelDWdgUm5CDW90y0AOVVZS/s9/EiotbZvv2xMpmoZn2DCyZs3q4jDGDuC1ltt24BXg9pb7tgJVwCTOVPLEsiw+rS5icW2RhPIpFMDtcPG9vCvJUzP58EN47jlYsOD4pY3CQrj/frj7bsjKik67LMuipLmCpbXb2dZ4CEVREu5n51KceBwupqQOY7xvUEKUie12gVy7ahX+995LuIt1tlFVFKeTnDvv7GRveR/HQ3jTCV/PBP4X+JdON2Vd3T7eqVqDbhltF3F6Mk1RyXT6uDd3Kllaykn3FRfD3/4Wvh05Ev6aywU33xzuNU+ZYk+vuckM8mX9fpbUbqfeaIrIGHCsaYqKZVkM9/ZlSuowCpJy4rbX3G0C2bIsqhcupHbZsh7dKz4TRdPIvOkmUsad82fdYgKwpuXjNOAbhIcjpgPnXyi9Rm/ktYovKG4uJ5hgPa5IUVBwKg6uSR/DlNRhZ53apuswf36417xw4fE+xvDh4V7z7NmQmdn1NoVMgyW121hcU4QC3fJnowCa4iTT6eOW7In0T4q/QfpuEciWaVLx5ps0btwoYXwWiqaRftVVpF1xxQlfLSU8M+I14M/AV1q+/mdgOeEQvhqI3Ns9y7LY0ljC25VrCFp6wr0V7gpNURmQlMPNWRNO6xWfy4EDx3vNpeGidiQlwS23hHvNkyZ1vtdsWRabG0t4p4f9LDRFZag7n5lZ4+JqemHCB7Kl65S9+OLxJc7irBRNwzdhApk3VKAoLwNLOL74+MfAz6LWlpCpt/TKtoZrhtB9Z8C4FCcpqptZWRMY4ul97iecRSgEH3wQ7jV/9NHxXvOIEeFe8113dazXXBWqZ27FCo4E/TGZJRFrDhRUxcG16RcyObUwLhbhJHQgm01NHJ0zh2BpadRnUUyeM4fZY8dy//jxZ33cm0VF/OTTT9n6gx9EqWXnpmganhGV5HzrLyiqBnwNuA24DvBFvT21eoAVtTtZWb8L0zLj8gr++Wj9hc/RUpmaOoIxyQMi/ku/fz/89a/w/PNw9Gj4a2738V7zpZee3ms2LYvltTtYWL0RwzJ7/Hi+pjjJdvq4I2cKea7YbpOVsIFsWRZlf/sbgT17wIj+26zKxka8moZHO/t4alcC+VBNDV9/8UV6p6Sw6N57z7ep7VI0BymXZpJ53QOEx4hjz7BMtjceZkntNg4FK7EsMBKw1+xSwvO/L/JdwOSUQvJc6bafMxSC996DOXPCveZWI0ce7zVnZIQXVrxStpydTUd6zPBER7SOL9+dezlDu/gOpkvt6GAgx93S6brVq2navz8mYQyQ5fXaenzTsnh4wQKG5eZSEwhE/PhWyKTuixq8wytwD4qPQFYVB6OS+zEquR9VoXq+qNvJqro9gEUwzq/2O3GgKAqZTh9T00YwxjsALYo1jDUtPG951izYt+94r3nrVvjBD+DRR+GHj4To9y+LORSskjA+hQUELZ0Xyj7n1qyvcqGvINZNOqu4CuRQeXl4apsNY8ZL9u/nj6tXs7O8nKBhcFF+Po9PncqI3HAd3unPP8++qioA/uvyy08bsjjg9/OjRYvYVFrKsOxsJhcUnFc75qxZQ0FGBr18Phbs2tWl7+lMrFCIspdeos+PfoRq8x+YzsrUfFyXeTHXZlzI3qZj7AqUsiNwmMpQPU5FJWiFYhrQThyoigMTi/5J2Yz09GWop3dUesPnMnAg/OIX8D//c7zXvHx9E+ZNH3Owua5bj9V3VcgyeL1yJXVGgClpw2PdnDOKm0C2TJOyF14IzzO2QXlDA7NGjmRs796oDgd/WLWK77z9Nkvvuw9NVXnjttswLIsbX3653ec/+OGHpCQl8f5dd7GnspJHFx0vXrPm0CHufeutM567dVhjW1kZ/9y8mQ9mz+Z5m4d+zKYmKl5/nbx77rH1POfLqajnHx7bAAAc8UlEQVQUevIp9ORzPRfTZIY40FTWEtBHqNLr0RQVs6UXbYfjtRSstgAe7unDYHcvervS4+JiUHta5y1Pn1nPMwc/IqAEolbsqdWcyQ8ydvaVp+1veKqiN5fy6U/+EdOtslqFLIMF1RupNQJ8PWNsXM5ZjptAbti0Cb262rZFHzePOnnjy4cuvZTLtm1jZ0UFo/LyyGzpSTra+SHtKC9nY2kpH997L4Ozshianc3y4mLmbd8OwOi8PObPnn3W8zfrOg/On89Ppk0jNSkKK4sMg6Zdu2g+dIikvn3tP18XuR0aw7x9GObtww2EFzIcaq5qqSxWR1molkq9jho9QIPZjFNxoLatILTCO7qc9LNrrTcWftuqWwaKopCiuslQk8nWUsnRwtXGsp0pcR3A7anVG3n6yIcElBBWDN5T3DnvCTRv5F/H5dtLWPH025Ru2ENzfYCsQflM+LcbGHrt2S+yd1TIMlhRt5OQZTAzKzLHjKS4CGTLNPHPn29rpbbi6mqeXL6cDaWlVDU2tr2EGzpwzuLqalRFYeAJc44KT6gQ49Y0CjIyznqMXy9bxvDcXKYPit4uw5au4//gA3o98EDUzhkpboeLwZ5e7d5nWiZ1RhN+vYEmM4S5fCnGk09iTJ6E+cMfoLbU4HUqDhyKgxTVQ4aajEd1Rfm7sIdpWfyjfClNZmzCGMCbZc9ON2XbSkjrm82473wNX68Mdi1Yy/v/9ntufeW/6DcxMkMNIctgTf0ehnn6MMwbX5vMxkUgB3buxGxqsvUc3337bbKTk/nVNdeQl5JCZWMjt8ydS2dmmZxJR4YsvigpYU9lZdu4sWGGi3gXPvUUb91+O6PybNj3zbJoLikhVF6OlpMT+ePHiENxkOb0kuZsGR8/UAuL1kHfMeC7ILaNi4IltdsoDVbbMq1t/5LNrP7je5TvPIgR1Mm/aDBTH7+9rVD/89N/RNW+8OqVy//rttOGLPwHjrHoR3+hdNM+sof1pWDyqNPOcTYjZ01m5KzJbZ9f8r0ZbH93BXs+Xh+xQIZwKL9SvoxH+96IT3VH7LhdFReBXL92bVuBdjv4AwH2VFXxsyuvZGL//gBtF/A6YkB6OoZlsa+qisEtVWB2VVa23d+RIYs5M2fSfML4+IsbNrCsuJi/zpxJ3zT7ZkNYlkXDpk2kX3mlbeeIuZqa8L/psb/wZrfDzVV8XL3ZttkUDeXVjJw1md5jB+NQVVb9YR5vf+e33Lf0SVTNyW1v/DeWYfDyjT9p9/kfPvgsSSle7nr/p1TuOcKiR49vLnA++xtalkVzXYCktMivugtZOi+VLeOBXlfGzXhyzAPZ0nUCO3bYeo40t5tMj4c3ioronZrKoZoafrv8+O4QTaEQdS1DF6Zl0RAMUt7QgENRyPJ6GZaTw5hevfjpZ5/x46lT2VdVxfst48fQsSGLU0M30+PB5XAwyO4yX7pO/bp1PSOQbfzDFg8sy+LVihW2Tm0bdfNlJ31+6UM3se2yFVTsPETeqAK8meFl4Yrj9PH28h0HKd24l3s//iVZg/uQPbQvxcuL2D7vC+D89jfcPPczmmsbGf3Nqef3DZ2FgcWhYCVbGg8yOrl/xI9/PmIeyKGyMmjnhxtJDkXhD9dfzxOLF3P13//O4KwsHpo8mfveeQeAD3bu5JGFC9se/7uVK/ndypX0SU1l+f33A/D0jBk8snAh17/0EoXZ2dw1diwvfPmlre2OFN3vxwwGcbi6xxjqaaqrw/9280DeGSilSm+w9RzVxcdY/uRblG7YQ2NVXdtF9mDDuYcUq4uPoagOMgceX4CRXdiv7eOO7m/Y6uDqHXz+i7lc//t/w5d39g7P+QpaOvP9XzLK26/dC/rRFvNADh47FpXzfLV/fxaeMgVs/8MPt3186iyMUxVkZPDGt7510tcemTLlvNvzw0mT+OGkSef9/M5QNI1QeTlJffpE5XxR10N6yB/6v7S9NsXb332S5Ow0rvnVfaTkZdBYWcvcW34WkWstnRmyKN24l3fve4qr/vceBl5xYZfPfTb1RhNbGw/ylTjoJcc8kENlZbaOH4uwHhHI3XgMuSJUR7leZ+s5Av46qvYc4cqf3UP/lgtorRfwOiJ9QB6WYVK1r5SsweHXWuWuQ233d3TI4tjWA7x172+4/LFvMWKm/Z2WoKWzsm6XBDKAacPyYXEK0+zef/R+/GO44w44R0GoRLa5odj2jRncacl4MlMoemMpqb0zqTlUwfLfvtl2f6gpSLCuEQhPVQ02NNFQXo3icODNSiVnWD96jRnIZz99hak/vp2qfaVsf39l2/M7MmRRvvMgb971f1x415UMmn4hDeXh4SiH5sSTbl+BrP1NZTSbIZIc518TPBJiXlyo8t13qVuxIqLHFCdTNI3MG28kZcKEWDdFnKenDs/nSMhv+3lKVm5j8RMv4d9/jKzB+Ux68Cbeue8pbp37GLWHyln4yF9Oe05qn2zuX/4UEJ72tvCRORzdvI/swn4UTPkKX76wqMMr9VY8/TYrn3nntK/3nTCM2159vGvf3FkkKRq350xihNeeRVQJU+3N/9FH1HzyiWzLZCMlKYnsW24hecyYWDdFnAfLsni85FUpHGQjBwrXpI9hWnrn5k13VEcDOeZrRV15eShxdPV/8pw5zFm79pyPe7OoiJHPPBOFFkVGd1oYcpqf/hR+9SuwcaVnLDWYzRG5qCbOzCS8+WusxXwMWbNjhVoXzLvzTrznqIXcVXbWQ26PFQrhTNBANgMBdL8fvbo6PH2vsRHLMLB0PVyIyjRh1y6UxkaUTz9FcblQfT6c6ek4MzJQMzJw2PzztFuN3oiqqOiWVHOzU43RGOsmxEEg5+TE1XBFotdDbo8zOzuuQ8kyDJoPHqS5uJhQWRmhiopw+NbVYVkWitMJihIO4PaqAfZumfe6eDEoSvjxqhq+mKnrKJqGmpKCMzMTLTcXV24uSQMHouXmxs0KrbMxsYj/ViY+Iw7+4MU8kBVVxTtyJA0bNth6nocXLMAfCDA0O5tXNm3C53Lx+NSpzCgsBLpXPeSTOJ34OrwjdXS0BnDT3r00bttG8MgRFFUNB247GxNYndmswLLC9bRPqKltNTejNzejV1TQtGsXiqaFK8MpCu6CAjwjRuAeNChuA1pVHHFdxL+7CJdijXEbYt0AAN+4cTRu3WprtTeAlSUljM3PZ96dd/LcmjU89tFHTB84ELemdbt6yK0UiIuLebrfT/2GDQS2bqW5nQC2qw52e07cACGwcydN+/YdD+gLLsA7ahTJY8bgcMdH0ZkMZzKhONqPMBFrIXdEdid3C7dDXASye8gQ1JQU9BMK9tghz+fj+xMnAnD/+PG8tmULB6qrGZaT0/3qIUM4YIYMQevIVsU2sEyTwI4d1CxZQnNJSfiLLcEbzQA+l5MCescOmvbto+rdd/GOHk3qlCkxryftcbhIcmgEzPi4aGlXLWSA1X96jz2fbKBsazHJOWlt0+ns5sRBP5fNdWU61I44oCgKmdddR/ncubb2kvufsJIrvaX3U92Bsp+JWg9ZcTrJmHH2Xowd9Joa6latou6LL8IX4BJsUUrra7BhwwYat2xBTU8nbepUki+8MGb1QHppaexvLo/JuU9lVy1kgFAgSOGMS8gp7MuBZUW2nedUqqLS22VPvYzOiItABvCMHImWk0OwtDR85dwGzvaKGHXXeshOJ95Ro3BFcRZLc0kJ/oULw5vUQvsX4BJJy3i0Xl5O1bx5VL37Lsljx5J+1VU4o7xM+2LfQA4H/bbWsljw8HME/PVkD+3LplcW4/K5mfr47RTOCC8osrsWMsDk/7gZgLVz5kc1kC0sLnDnRu18ZxI3gawoCrl3383h3/zG9rHkzkrEesiq10vWrFkRP2579OpqKt99l6Zdu2zZoDYetL4m69eto2HDBlKmTCF9+vSo9ZhHevvxTuW558d3VcnKbeSPHcyd855gzXPz+eix5xk4fSya2xX1WsjRNMLTFzUOtvCKm0AGcGZkkHXLLVS+/npUf7G7Wz1kQ9E4POoeeqtJtq78sXSd6k8+oXbp0vBMCJve2cQV08QyTeqWLaN+5UqyZs3CO3q07bMzfKqbQe48djeV2jrjwpeXwcTv3wjA+Pu/zpbXPqf6wDFyhvWLei3kaNEUlUmphbFuBhBngQzgu/BCGouKaNy6NWpvebtTPWRF0/jzymn85tf9yMyE666DmTPh6qshOYKbLjSXlFD+yisYdXXdtld8NlYohBUKUfH66yStXk32N7+J0+bynzMyL+IPpQttXUKd3v/423Z3SzGfpur6cz4v0rWQoynflUmBOz4WTsVdIANkf/OblL3wAs3790fsl/03X/vaSZ9ner3drh6yomm4Ro9DNaYx9Ajs2gX/+Ef45naHQ3nmTLj+ejjhmmSnWJaF/8MPqVuxokcG8amsYJCmvXs5/Ktfkf2tb5F8jtdRV+S7MhiUlMeuplJb9tMDcDhPn4sbiTPF65CFpqhcl3FRTM7dnrgMZIemkfftb1Px+us0btkiv/gdoGgaadOmkTZ9Or+8TeGX/wc7dsC774Zvq1fDe++Fbw4HTJkSDucbb4QLOrgvqGUYVLz6anjOuPxMjjNNrGCQin/+E+P660n96lcjfny2bIFPP+WWdV/wq/+5nmZX7BcxnChStZCjSUPl4uSBcdM7hjgNZAiv4Mu+7Tb8qanSGzuHM5XXHDYM/vM/w7cjR2DevPBt8WJYsiR8e/BBGDMmHM4zZ4Y/bm841AwGKfv732kuLpafxRlYoRD+99/HqK0l/eqruzauvG8fLFoU/mF99hm0XEROBb7lCvLKE9+KavW3aNRCBqg9XEFTTQP1ZdUYIZ2ybcUAbbteR4oCpDo93JAZX6tYY15+syNqli6leuFCCYJ2KJpGzp134h0xosPPqamBBQvCPecPP4S6EzaiGDDgeDhPngxOJxiNjRx77rnw7i6JPpUtChRNI3nsWLJmzWr3Ali7SkogJQVaLw4//DD89rfH7+/XD6ZPh2nTYNo0Xk8qYWPDgYiGcuu0t5v+9h8ANFbV8aeL/zVqtZBb27D1reWnff3h/S+d53fVPk1R+ffeX6OXKzrTFxOmHnJHNWzeTMXrr5+x3kFPo2gaSlISuXffjfs862oANDeHO2GtveejR4/fl5kJ37mthn/v80f02tqo/79PnjOH2WPHnlZX5FRvFhXxk08/bVuiHg8UTcM9ZAi5s2ejqO0ML5SVhXu+ixfDp5/C3r3w7LPwwAPh+z/7DP785+MhPGjQSW9dQqbO70sXUq7XShW4TtIUlW9kjmd8yuConbOjgRy3QxanSh49GvcFF1Dxxhs07dnTo3vLiqaRPG4cmTNm4OjiMuykJPja18K3P/0J1qwJ95zfeQf27ja4wfE8enV1TCry2VUK9VBNDVP+cnpvr+jf/53kCM0rtkIhmnbvxj9/Ppk33HD8jscfDw/kF52y6CE1FWprj39+xRXh2xloDiff730tzx/7jJJghRSv7yBNUflW9qS42D+vPQkTyABqSgp53/42jUVFVLz1FlYwGHeLSOykuFyoaWlk33prl3rFZ+JwwMSJ4dsvfwm7X/4IZ1E5GLGpNWZ3KdQXZs1iRO7xaV6RDn8rFKJu1So8I0bgGdzSG1u/PhzGHk/4yuoVV4R7wWPHhseHOsHlcHJfr+nMLV/BtsAhCeVzcClOvp07lUGeXrFuyhklVCC38o4aRd/CQmqXLqXm00/Duyl047FNRdPCdSmuvx7fxRd3fFyyC5oOHMC1bRmWEfl3Ikv27+ePq1ezs7ycoGFwUX4+j0+d2haO0SqFmuHxkBPJydntsEIhyl96iT6PPorq9YY3ZH3sMZgwIfz2pItUxcEdOZN5r2o9q+t3Syi3Q0HB7dB4oNdV5MdBvYqzSchAhvDUuPTp00mZMIGapUupX7UKq5vtrqy4XDjcblKnTCHlq1/t8vBER5mhEGUvvmjbsFB5QwOzRo5kbO/eqA4Hf1i1iu+8/TZL77sPTVWjUgoV4F/mzaPZMBiSlcVDkyYx3qaqbmZzMxWvvUbevfeGr5RGmKIo3Jg1jlSnh4+rN0son8CJild18a+9riYrDsprnkvCBnIr1ecj8+tfJ+Oaa2jcvp3azz8nePhwuNecgBf/FKcTC/AMGULq5ZfjHjgw6kXT6774wtY/bKcuwnno0ku5bNs2dlZUMCovz/ZSqF5N4yfTpnFRfj66afLyxo3c8frrfDB7NkPPd8XM2RgGTbt303z4MEl9+kT++C2uSBtJQVIOr5Qvp9Fs7vHBrCkqY5Mv4PrMi3E74nfHnBMlfCC3UlSV5FGjSB41ilBVFXVffEHdqlVAS2GYONom6jSKguJyobhcpE6eTMoll6D6fDFpihkKUf3JJ7ZeNC2urubJ5cvZUFpKVWNj20qwhg5cD4hEKdRMr5d7Ljq+Omts797srKjgpY0b+dmVV3bum+kgS9fxz59Pr5al+Ha5wJ3Lo31u5KPqTSyv24lhmVg9bL8RTVHxOpK4I2dyXFRw64xuE8gn0jIzybzuOjKuvZbArl0Edu4ksHMnenV1uAca64BuCWBL19FycvAOH467sBD3BRdEZXz4bBo2brS9SNB3336b7ORkfnXNNeSlpFDZ2Mgtc+dGZGflzgxZtFIUhZG5uRyuqeny+c/Ismjev59QVZXtGwZoDpUZmRcxPmUQ71Supbi5vEf0lp04cCgOrk4fzaTUwrjYkqmzumUgt1KcTrwjRrQtmjAaG2nev78tpPXqahRNO/PmmZFqh6aBqmKFQmg5OXiGDcMzZAhJBQUxK3h+JvVr19o6c8UfCLCnqoqfXXklE/uHpx61XsDriEiUQm3P3qqqk2Zc2MECGjdvJm3qVFvP0ypXS+N7va5kd6CUdyrXUmM0EOqGPWZNUbEsi4t9A/laxliS1SjtyGODbh3Ip1K9XrwjR+IdORJoCeiSEvSqKkKVlehlZehVVei1tVjNzeEgdTiO96Yt6+Sedcs+bG0ft2xP7/B4UNPS2nY51rKycGZlkdS/f9wF8InMpqbjWy3ZJM3tJtPj4Y2iInqnpnKopobfLj++MisapVDf2LIF1eFgdK9eWJbFG0VFbDl6lP+96ip7vulWuk792rVRC+RWQzy9+VHfGzjYXMmy2u1saTyIAgnda1YATXHidSRxWepwxvkG4lHj93eroxJmpV60WbqOXl0d3o6+sRHLNMOBaxhYpomiquHhBVVFUVVUnw9nRgZqamr7K7MSQNO+fRz7+9+xOrCtVVesLCnhicWL2e/3MzgriwcnTeK+d95h7q23cqi29qRSqK1OLIV6wO/nkYUL2Xz0KIXZ2UwpKOCFL7/s8Eq9N4uK+OOqVRytr0dzOBiWm8tDkyYxsV+/cz+5qxwOBvziFzF9jQTMIF/W72dJ7TYajGZClp4wfebW3vAwbx8uSx1OQVJOXO4Ufqput3Ra2K925Ur877/fo1dB2k1xuej9gx/gsnl4pCMsy6K4uYLltTvYGTiCQfjaQTz1nBUUXIoT3TLIdPq4JGUQ432DE25YotstnRb2Cx09KmFsN0VBLyuLi0BWFIUCdw4F7hwsy6JCr2Nv0zG2Nx5iX1MZZkvV5WgG9KkBPMyTz1BPbwrcObgdiT8kcS4SyKKNafNQhQgz4/CPnqIo5Gip5GipTEwZgmVZlOu1LQF9mGOhGuqMAIZloikqCgoG5nmFdTh0jx9Dt0y8DhdpqpdB7jyGeHpzQQ8J4FNJIIvjEmAsrltIgP9nRVHI1dLI1dL4asrQtq83mSGq9Qb8LbdKvY6yUC01egMGJoYV3k3dwERBQVUcOFr+TXJoZDtTyNVSyXD6yHAmk+FMJlX14IiDDUbjgQSyaBOrxSg9iqLgcLtj3Yrz5nZo9HKlR62OcE8jf5ZEG1evXihxNC1v8pw5zFm79pyPe7OoiJHPPBOFFkWAYeDKi8/NPkXsSQ9ZtNHy8uLq7bRd9ZBPdKimhq+/+CK9U1JYdO+9tp4LwtsfqenSuxTtkx6yaOPq3dv2ZdOdkeX14rExkE3L4uEFCxgWxRkPSf37J8S8WREb0kMWbRSnE8+wYTRu2WLreR5esAB/IMDQ7Gxe2bQJn8vF41OnMqOwEIhePeQ5a9ZQkJFBL5+PBbt2del76gjF5cJ3ju2oRM8mgSxO4rvkEgK7dtleV3plSQlj8/OZd+edPLdmDY999BHTBw7ErWlRqYe8rayMf27ezAezZ/N8tBY7mWbbsn0h2iOBLE7iGToUNTkZ3eZAzvP5+P7EiQDcP348r23ZwoHqaobl5NheD7lZ13lw/nx+Mm0aqVEq+o+qknzxxeFdQ4Q4AwlkcRLF4SDjuuuoePVVW6u+9T/hwlZ6yzSw6g4sTIlEPeRfL1vG8Nxcpg8a1NlmnzdFUUi3u3iRSHgSyOI03pEj0fLyCB4+bNtFPmd7dZ+jVA/5i5IS9lRWto0bG2Z4MUPhU0/x1u23MyrC09IUTSNl8mScaWkRPa7ofiSQxWkUh4Pc2bM5/JvfxN0ehZGohzxn5kyaT6h//eKGDSwrLuavM2fSN9KhqSg4s7LIuOaayB5XdEsSyKJdzvR0sm+9NTx0EcXaC9Goh3xq6GZ6PLgcDga1BHwkKZpG7j33JGxJVhFdMg9ZnFHy6NF4R40CmxdnnOiDnTu55NlnueTZZymtq+N3K1dyybPPnjTj4ukZMwiEQlz/0kv8afVq7ho7Nmrt6wxF08j8xjfQbAh60T1JPWRxVpauU/bSSzTt3i2lOTtB0TTSr7mGtMsvj3VTRBzoaD1k6SGLs1KcTnLvvpvkiy4Kb2klzknRNLJuvlnCWHSaBLI4J8XhIGvWLFKvuEJC+RwUl4vcu+/Gd9FFsW6KSEASyKJDFEUh46qryLjhBgnl9igKittNrwcewNOyBFyIzpJZFqJTUidOxJmWRsXcueGdL06YPtZTKZqGMyOD3HvuQcvJiXVzRAKTHrLoNO/w4fT5z/8kedSont1bVpTwxburriL/oYckjEWXSQ9ZnBfV6yXnjjsI7N5NxRtvYDY02LrUOt4omkZS//5k3Xwz2glLt4XoCglk0SWeIUPo++ij1K1ejf/DD8E0u/X0OMXlQvX5yJo1C8/Qoed+ghCdIIEsukxRVVIvvRTf2LHUrV5N7bJlmE1N3afH7HCgqCpabi6pU6eSPHo0Snu1OIToIglkETEOj4e0qVNJvfxymvbupXbpUgK7d6MQXmCSaFr3F/RdfDEpkyfjiuLOIqJnkkAWEacoCp7Bg/EMHoxRXx/uNS9fjhUKhYPZMGLdxDNqvUjpzMoibepUvKNH4+jJFy5FVEkgC1upPh/p06eTdsUVNBcX07RnD43btxM8cgTF6Yx5QCua1raxa1JBAd4RI3APGSK9YRETEsgiKhSHA/cFF+C+4ALSr7oKS9dpPniQwO7dBLZvJ1haiuIMvxytUMieOsxOZ7jqWkv9lrYAHjQILTdXxoVFzEkgi5hQnM62gM64+mosXSd45Ai634/u9xMqKyNUUYHu92PU14NlhQP71G2dLOv0r5kmlq6jaBpqSgrOjAy03Fy07Gyc6ek4s7MlgEVckkAWcUFxOknq35+k/v3bvd8IBDD8foxAAAwDyzDC/5pmuNerqigtsyEcKSk409NxtFyUEyJRSCCLhKB6PKgeT6ybIYSt5D2bEELECQlkIYSIExLIQggRJySQhRAiTkggCyFEnJBAFkKIOCGBLIQQcUICWQgh4oQEshBCxAkJZCGEiBMSyEIIEScUq6UUYYcerCjlQLF9zRFCiG5pgGVZ59yWvFOBLIQQwj4yZCGEEHFCAlkIIeKEBLIQQsQJCWQhhIgTEshCCBEnJJCFECJOSCALIUSckEAWQog4IYEshBBx4v8DtjCNWGXrguwAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "infr.add_feedback((2, 5), NEGTV)\n", "print('infr = {}'.format(infr))\n", "print('status = {}'.format(ub.urepr(infr.status(), nl=1)))\n", "infr.show_graph()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## By default the queue is empty\n", "Run `infr.prioritize` to populate it. You will get better results if you have hooked up good ranking and verification algorithms." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<PriorityQueue(size=0)>\n", "<PriorityQueue(size=0)>\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "infr.add_aids([6, 7, 8, 9])\n", "print(infr.queue)\n", "infr.prioritize()\n", "print(infr.queue)\n", "infr.show_graph()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<PriorityQueue(size=29)>\n" ] }, { "data": { "text/plain": [ "[((1, 6), 1e-06),\n", " ((1, 7), 1e-06),\n", " ((1, 8), 1e-06),\n", " ((1, 9), 1e-06),\n", " ((2, 3), 1e-06),\n", " ((2, 6), 1e-06),\n", " ((2, 7), 1e-06),\n", " ((2, 8), 1e-06),\n", " ((2, 9), 1e-06),\n", " ((3, 4), 1e-06)]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We need to add a few candidate edges\n", "candidates = list(infr.find_neg_redun_candidate_edges())\n", "infr.add_candidate_edges(candidates)\n", "print(infr.queue)\n", "infr.peek_many(n=10)" ] } ], "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }