diff --git a/agent-architectures/1_llm_call.ipynb b/agent-architectures/1_llm_call.ipynb index d1539a3..9c0913b 100644 --- a/agent-architectures/1_llm_call.ipynb +++ b/agent-architectures/1_llm_call.ipynb @@ -113,7 +113,7 @@ "Cat\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "If you're interested in cats, consider visiting **Kawasaki Cat Island (Aoshima Island)** in Japan. It's renowned for its large population of friendly stray cats that roam freely, making it a paradise for cat lovers!\n" + "If you love cats, I recommend visiting Tokyo, Japan! Tokyo is home to several famous cat cafes where you can relax and enjoy the company of friendly felines. Plus, you can explore neighborhoods like Harajuku and Akihabara, which offer unique shopping and cultural experiences. Don't miss a visit to the Gotokuji Temple, known as the birthplace of the famous \"Maneki-neko\" (beckoning cat) figurine!\n" ] } ], diff --git a/agent-architectures/2_1_tool_call.ipynb b/agent-architectures/2_1_tool_call.ipynb index 5a7a4da..71b7ab0 100644 --- a/agent-architectures/2_1_tool_call.ipynb +++ b/agent-architectures/2_1_tool_call.ipynb @@ -26,7 +26,7 @@ "from langchain_openai import AzureChatOpenAI\n", "from langchain_core.messages import HumanMessage, SystemMessage, ToolCall, ToolMessage\n", "from typing import Literal\n", - "from langchain.tools import tool" + "from langchain_core.tools import tool" ] }, { @@ -202,8 +202,8 @@ "What is the weather like in NYC?\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " weather_tool (call_54y4BHhxKwF55ch3RR1FaAbn)\n", - " Call ID: call_54y4BHhxKwF55ch3RR1FaAbn\n", + " weather_tool (call_Fj4l0RvLYu9EEZfwUaUzysuT)\n", + " Call ID: call_Fj4l0RvLYu9EEZfwUaUzysuT\n", " Args:\n", " location: New York\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -212,7 +212,7 @@ "Sunny, 25°C\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "The weather in New York City is sunny with a temperature of 25°C. Would you like to know the weather in any other city?\n" + "The weather in New York City is currently sunny with a temperature of 25°C.\n" ] } ], diff --git a/agent-architectures/2_2_react_agent.ipynb b/agent-architectures/2_2_react_agent.ipynb index 9a768ae..10ce90f 100644 --- a/agent-architectures/2_2_react_agent.ipynb +++ b/agent-architectures/2_2_react_agent.ipynb @@ -18,16 +18,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 1, "id": "aa434df4", "metadata": {}, "outputs": [], "source": [ + "from langchain.agents import create_agent\n", "from langchain_openai import AzureChatOpenAI\n", "from langchain_core.messages import HumanMessage, SystemMessage\n", "from typing import Literal\n", - "from langchain.tools import tool\n", - "from langgraph.prebuilt import create_react_agent" + "from langchain_core.tools import tool" ] }, { @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 2, "id": "94a0b8f9", "metadata": {}, "outputs": [], @@ -58,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 3, "id": "b53a8e7e", "metadata": {}, "outputs": [], @@ -92,12 +92,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "id": "f2ae68a7", "metadata": {}, "outputs": [], "source": [ - "agent = create_react_agent(model=llm, tools=[weather_tool])" + "agent = create_agent(model=llm, tools=[weather_tool])" ] }, { @@ -110,18 +110,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 5, "id": "16e6443b", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAANgAAAD5CAIAAADKsmwpAAAQAElEQVR4nOydB3wURf//Z/dqem8QQhICAUKJGIqIoDQLIKAo0qQ8CIIg/qXo8wOk+CiIoqJSBYTQovQWKVKCEFpASiihJIEkpJBCkrsk13b/371NjktyFwhmN7t38yavZW9mdu5u77NTvjPzHSlN0wiDqW+kCIMRAFiIGEGAhYgRBFiIGEGAhYgRBFiIGEGAhViVrFTNjXNFjx7qNBpKrzEYtAiRNKIIiKIJ5p/5SwlJgPmLppgLCZI5IaWIosoTmFKyUeWQCLHnBI0gkk1ZkZiUIMqAIEsCEY8/E5sPYQxmL6QJ888sdyClMkLpLGkQ6vh8DzckQghsR2RJT9LE7ch5lKuB+yGVkQpHUq6UEASt11BIQiCD8S6RBAKRSRAylF8lkRIGiDJGVgiRgCTl6StSElLIqPw+ExJEs5eTxqNJoMZ3YTKElASBzH4XUkJQBqNqzd7IHLmD1KCndGWUppTS6WmFkgwIceg71h+JByxElHNPv2d1urbU4OYlb9vFtdVLoixRHkOj41tz7yaqytQGv8bKQR83RGLA3oW4bcmD7LTSoOZO/URVfjwNeQ90+9ZklKqoV972C+/ghISNXQvx15nJCqXk/dmNke1y/Yz6xM7swKZQUwcgAWO/Qlw9OyWwidNro3yRHbB6Vkr7Xp5tuwm31WGnQlz5+d2wtq49hvggu2HNrFTvQEX/DwVaLpLI/lg7J7VRuLNdqRD4z/+Cc9LLTu7OQ4LE7oS4e0UmHN8Y7Yfsjw/mh1z++xESZBVoZ0I0oPTbJWPmBSP7hESBTR1/m5eKhId9CTF6YZpPoBLZMf3HB5SVGJISVEhg2JcQi/I0704Rh4GXO/wbK0/ueYgEhh0Jcc+KTAdHKc/f+PPPP9+9ezeqPb169crIyEAc0G9cw1KVAQkMOxJiTromOILvAYbr16+j2pOZmVlQUIC4QSpDSkfJkZhcJCTsSIhaDfV8d0/EDadOnRo/fnyXLl0GDBgwZ86c3FzmZ46Kinrw4MGXX3758ssvw0uVSrVixYqRI0eyyX744YeysjL28h49emzZsuWDDz6AS+Li4vr16weB/fv3nzp1KuIANx9FVkoJEhL2IsS7V0oIRLv7SRAH3Lx5c8qUKe3bt9+2bduMGTNu3bo1d+5cZFQnHGfPnn38+HE4iYmJWbdu3YgRI3788UdIf/jw4VWrVrE5yGSynTt3hoeHL1269MUXX4QEEAh1+uLFixEH+AUqSgRWO9vLfMSslFKpjKun7tKlS0qlcsyYMSRJ+vv7t2zZ8s6dO9WTDR8+HEq+kJAQ9uXly5fj4+M//vhjOCcIws3Nbdq0aYgX/BrLr52lkJCwFyEyBQBnpX9kZCRUsp988knHjh27du3aqFEjqGGrJ4Ni7/Tp01BxQ5Gp1+shxNPzcVMB5Iv4wtNHQVPCsmvbS9XMzJrmbEihefPmP/30k4+Pz88//zxw4MCJEydCaVc9GcRCXQwJdu3alZCQMHr0aPNYuVyOeEMKTRQCCQl7EaKTs7TK9Pq6pXPnztAW3Lt3L7QOCwsLoXRkyzwTNE1v37598ODBIESoviGkuLgY1ROFOaVIYNiLEH0aKnQarlpFFy5cgNYe8y4+Pn379oWuLogMTDDmaXQ6XWlpqa9v+awzrVZ74sQJVE9kp2klMmH99PYixPAOzgYDpS3lpHaGihg6yzt27ADjX2JiIvSOQZEBAQEKhQKUd+bMGaiIoR8THBy8Z8+e9PT0R48ezZ8/H1qWRUVFarW6eoaQEo7QrYbcEAdkppYqHLEQ6wnoNcfHcjIJCrrDUOF+9913MBwybtw4JycnaAtKpUxHELrS58+fhzISisOvv/4aOteDBg0CI2KHDh0mTZoEL3v27Am2xioZBgYGgikRjI7QrEQckJ+p8WugQELCjibG/vF9urpIP3puMLJ7fv5/t8fOb+LgIqBiyI5KxJ5D/VSFOmT3xK7NlCkkglIhsqsF9p7+Mhhj3bU8Y8AEyxNwDAYDGJwtRkHfAqyAYHauHhUaGrp27VrEDeuMWIxydnaGMUOLURERETBCg6yQcl3d7hWuhjqfGftas5J+p2zXsvRJ34dZS1C9ucYCPzn88BajoC1o6gvXOcVGLEaBCR2amBaj4JmB3pLFqIMbclISiz/8pgkSGHa3eGrTwvuUgR4x05aXkNbA0ql33prQOCBMhgSG3a1ZGfZ5UEmx/mwsV5OshMzaOamBYY4CVCGyz1V84xc2STiaX/TQvqqCzYvSZQqy/4QGSJDY7wL7pVPv9n7Pv2l7ofviqBOiv0zzbCDr+x/hulWxa5cjy6YnBwQpB04WaCFRV6yZneLgLB36WSMkYOzdCdOaL1L0OrrTq15tXxa5EzBL7Pg540FqabNIl94jhL6OG7ulQ6f25F099QhshIFNHfqMDrCBZvPtS+qLRwvyHmgcXSSjZgUjTqal1zFYiOXEbctNulCk11EESSgcSGcPmbOLjJRSOq2F+8O4yqwyv5FgZlnTFF3diyYz/5qkKwcy7l8Zr5+UeZ5VL4dzY6a0eTK4tMqFiBlGJwx6olSlVxfqS9UGyMHNV95toDc8WkgkYCFWJX5P/v1b6jKVQa9nptMa9JaEWMmha0WgUZnVo0BKxvtc/pKiKJIwyrZyyuqXM+dGH8aVM6SN4qz0FlI5kkhIhYPE1VPW7Dnn8PaWbe9CBguRbyZPnjx06NAXXngBYczAztz5Rq/XszPEMObgO8I3WIgWwXeEb7AQLYLvCN/odDqZTIijvfULFiLf4BLRIviO8A0WokXwHeEbLESL4DvCNyBE3EasDhYi3+AS0SL4jvANFqJF8B3hGyxEi+A7wjdYiBbBd4RvwKCNhVgdfEd4hWYmF1ISiRimqvILFiKv4HrZGvim8AoWojXwTeEVPOPBGliIvIJLRGvgm8IrWIjWwDeFV7AQrYFvCq9gIVoD3xRewZ0Va2Ah8gouEa2BbwrfWPPlaudgIfIKDO5lZWUhTDWwEHkF6uUqW6NhWLAQeQUL0RpYiLyChWgNLERewUK0BhYir2AhWgMLkVewEK2BhcgrWIjWwELkFSxEa2Ah8goI0WAwIEw17HHnqfoFBlewFquDhcg3uHa2CBYi32AhWgS3EfkGC9EiWIh8g4VoESxEvsFCtAgWIt9gIVoE7zzFE5GRkSRZ3jWEew7ncOzbt+/8+fMRBveaeaNNmzZwJI2AKZEgiICAgOHDhyOMESxEnnj//fednJzMQ9q2bdusWTOEMYKFyBM9e/Y0l52Xl9eQIUMQpgIsRP4YNWqUq6sre968efPWrVsjTAVYiPzx0ksvhYeHw4mbm9uwYcMQxgzca66GAZ3YU6Au0uq1hortvB/v501KCMpAG3fzZl6y286zJ5CE2VjebOtv4w7f0EEmjBvOM4GPHj26mnjFxdkVOtHMZvWQP/X4/rOXspvYV91WnMmJMP+YEhlp0FXayF7uIPVv5NC2mwsSIViIlfhjcUZuVplMIQF5GXQ0Izf25684YfVBE8w/YzgrMObEqETE7kNfkZ/xnETsNeVBoEp2C3sSURBKmckLUlLleT5+C/YqsnJK5pGgKEOlCk2uJAx6xjbUY7B/2HOOSFRgg/Zjdq98UFJEjZjVBImZu5dUf8Vkk3K/0AgxaRGXiOXsWPKgRGXoP6kRsgk2fpU8fHqoi3i8m+DOSjlZ6WU9hgUiW8HbX7l3TRoSD1iIDIl/F0ukyNmDQLZCQKijukhMI9q4jcgAlTKlQ7aE0onQacW0IAELkUFP6Q2UTbWVoeVPUUhEYCFiBAEWom0iuuIdC5GBYHopNlU1i67bhYXIYLSl2k6XGaAIWlzfCAuRgWBAtgRJE+Iq47EQbRPcRhQpNLKtoU7cRhQlzOQY22ojig4sRIwgwEJkIG2sq4KY6YwkiXvNYoOyublwBE1Qohq0xEI0YmvWG/GBp4GxCLpI3LnrjwXfzEE2DS4RjQi7EktKuo5sHSzEZ0SlUm3dtvHc+dOpqXe9PL07d+42ZvQEpVIJURRFLfnpm5Onjstl8h49XmsV0fa/Mz/ZvvWgp6eXXq9fs3bZmbMnc3KyWrWKHNj/3U6durAZDnir5+hRHxYWPlofvcrBwaF91AuTPprm5eX9yafjLl++CAkOHdq/d/dxZ2fnp/l4NOPeBIkIXDUzPEMTccfOmM1b1g1+d8TXX/04fvyU43GHQUBs1NZtm/bu2zF50vQVKzY6ODiC8pDR6w0cf/p50bbtmwcOGLx5095uXXvMmTcj7sQR9iqZTPb779GQbNfOI+t/23418dK69Ssh/MfvV7Vo0ap37z7HjiQ8pQqR0aCN5yOKj2dYQfbuO8NBSY0bh7AvExMvnzsfP37cx3B+8NC+ri91f7lbTzgfNnQ0hLNpNBoNRA0dMurNfm/Dyzde7w9XRW/4FfJhEzRs2Gj4sDHMmbMLlIi3bt1AdgMWIsMzTHqAAux8wumF38y5c/cW6+/Qw8MTjgaDITU1+fXX3jSl7PpSjytX/oETEJZWqwWFmaIi2z7/54E9hUWFbq5u8LJZsxamKBcXV7VahewGLEQGmq51mbjq159jY3dBpQzC8vPzX71maeyfuyFcpVZBXo6Ojx1/ubm5sycqVTEcJ0/5T5WsCvLzWCHasxEJC/FZAKnt3bd90NtD+/YZyIawIgMcHZhl7Trd47VYBQV57ImXN7PMeOqnM6EKNs/N19cf1fknRCIDC5GhtlUz1L+lpaXe3r7sS6hw40+fYM+hyvb19YOutCnxqfg49iSwYZBCoYCT5yKj2JCCgnxj8Vn3LhlEV7TiXrMRmqpV3SyVSoOCgqF5l/EgHQwui76b37pVZHFxkVqthtjOL3Q9dHj/+YQzkCf0oCGcvQoEN2rkeOidXL16CbQL/eVpMyb+uGThE98OStAbNxIv/nPevKC1MbAQjdS+tzJ75tdKhXLU6EHD3x/wfLsOY8dOgpcD3+6ZmfVg5PvjWrd+bsZnk0a8P/DevRSowRGjXRkc3xv8/vRpX2yOWdev/8tga2wQEDh16qwnvle/Pm/Bx5s+46OSEjWyUbDvG4b4/bkXjxSOnFM37pfKysrAXg1FJvsy5vfoTZvW7t1zHPHIzbOFZw88nPR9GBIJuERkIAmiDschQHnjPhy2fUcM1NpHjx36Y+vGN98chPiGFlczEXdWGKCFWIfjEKNGjissLDh0aN+vq3/28fGDcRQwayO+IcRV02EhMpCM38y6/OGmfPwZwtQGLEQGilk7hWck1idYiAykza1rFh1YiAwUbXPGA5IW16OFhchg9K2ObAnjAlkxgYXIQJsOtgKzI4GovhAWIgPBjM3iRmJ9goVYgc0NMOE2ohixwYFOcX0lLEQWbL6pZ7AQGWjbM9+IDSxEBrlcKlPamKdOJJNJkHjAs28YAps4UmLaHefJPMrUievRwkJk8A+Vy+Tk+T/zka2QflfVIFRMm0JiIZbz+sgGSRcLkE1w6up8ewAAEABJREFUYG0mTdGvjfRF4gHP0C6ntLT00ykzW7t95OWvDG7uqnCi9ZVnKFZ1jl75NevEv3zrZnb/b9NOzrRx329El+/DXJ4WmY6mXZpZKjIx7tlsDCjfptx4MVmRhjBdxV4P7X1SkpepTUsqUjhKhswQ2QaXWIjlbNiwISIiol2rdjFL0orz9Vo9RenN9pY3HisLkTafBE2wKqs4NwmRQBUbgZfnQ1eI1pgfszE9s/s9TZk22DBPUCXD8iiSICiaNr0jKUGUcdc9mYKQyaQ6SXbrXrqmTZv6+uISUTzk5+cvWbJk3rx5iC+mTJkyePDgzp07Iw5Ys2bNqlWMDycXFxdXV9egoKC2bds2a9asXbt2SNjYu/lm1qxZoAzEI97e3k5OTogbhg0btn///vv376tUqoyMjJs3bx4+fNjd3R3ecffu3UjA2GmJmJWVdfbs2f79+yObY8WKFatXr64SCL/yhQsXkICxx15zYWHh2LFjO3XqhOoDeAY0Gg3ijEGDBjVs2NA8RKFQCFyFyN6EmJmZCRWWXq/ft2+fn58fqg8+++yzO3fuIM6Aqr9Lly6mig5OFixYgASPHQnx8uXL48aNg9/Jy8sL1R/wAHDh7MacIUOG+PgwDp/YGnnXrl3Lly9HwsYuhJidnY2MfjL37t3LukGqRxYtWhQSEoK4JDAwMCoqiqIof3/Gz9j3338vl8snT56MBIztd1agt3j06FGw0SBhAG0DKBSlUs7tFb179z506JDp5enTp2fOnBkdHQ0yRcLDlkvEoiLGDVdJSYlwVAhMmDAhJycHcY+5CoEXXngB6uhJkyYdPHgQCQ+bFeLatWtjY2ORscGEhARUl2BwRvUBmLhBiydOnPjhhx+QwLDBqlmn0z18+BDu+MSJExHGEps3b4bmSnVzYz1ia0KEmwttIyh1oHmOBAkMe0ArjazvXVDAhvDhhx+uX78eBgCRALCpqnnbtm1gI4QBVsGqEBg+fHhZWRmqb2AMGurouXPnQtWBBICNCHHr1q1w7N69OzzlSNg0aNBAIM+JTCaDOjoxMfGrr75C9Y0tCHHq1KlsA8PT0xMJnpiYGB5sN0/PrFmzWrZsOWzYMHa3mPpC3G3EhIQEsNyCZa7K6KqQuXfvXuPGjZHASEpKGjly5MqVK6HKRvWBWEtErVYLo/tsk19EKoTWIZQ9SHiEh4efOXPmp59+2rJlC6oPRCnE/Pz83NzcxYsXC3++ZxWg/gkNDUVCZc2aNQ8ePIDKGvGOyKpm0N8HH3wAxmoPDw+E4YYDBw6sWrUKLDsuLi6IL0QmxB07drRv375Ro0ZInBgMhszMTGGO9poDxk5oMi5cuLBjx46IF8RRNScnJ3/00Udw8tZbb4lXhQAM+QjfwASALfbYsWPR0dFQ+SBeEIcQYbzkiy++QOKHIAgBdpmtsXTpUo1GA9YxxD2CrpqvXbt25coVoc1asDfi4uIWLFgApSOn61OFWyJC1/jbb7/t27cvsiHA6gTdUiQqunXrtnHjxlGjRl29ehVxhnCFCMMP69at47PjxgOlpaVz5swR3SCCt7d3bGwsWBnZue5cIFAhbtq06dy5c8jmcHNzW7Zs2d69e6k63HKNLy5dusTdijOBLrDPycmxVR+uMpnszTffTEtLg2EhEY0J3b59OyyMw71OBSpE6KAIamZAnQNGqP79+2/evJk7rw91CwixadOmiDMEWjX7+/tDuwTZNLt3705KSlKpVEgM3L17l9MSUaBC3Llz5549e5CtA2PlGRkZ8fHxSPBwXTULVIgwpgxDYcgOCA8Pj4mJEX65eOfOHU6FKFCDNgyFQb+yvryC8A8YF+H7CnYMurCwEAZXjxw5gjhDoCWij4+P/agQGdcPFBQU1NdcwCfCdXGIBCvEgwcP/v7778ieaN26NZSLYPFGwsN+hZiXlye6obB/D7v45uLFi0hgcG27QYIV4quvvvree+8h+8PR0VGpVH799ddISECJyLUQBWo0rl/PcfVLy5Ytb968iYSE/VbNcXFx69evR/YKdFHhKBBLKoxGQt+Ra3d+AhUi2Avu37+P7BvovkybNg3VNzw0EJFgq+auXbuKboVenRMSEjJq1ChU3/BQLyPBloju7u7CX2HEA61atYJj/XqRs2shnjt3Tvhun3kDysV6XHLFT9UsUCHC2GtKSgrCGPHw8Pj222/hxOSe5rXXXuvXrx/iHo1Gk5OTw8PKSYEKMSoqil0/imFhl0yAxVutVvft2zc3NxeGBHlwQsyDBZFFoEJ0dXUV0bJL3liyZMnrr7+elZWFjMtfOJ2FwML17C8TAhXitWvXFi9ejDCVGTx4cElJCXtOEERSUhIrSu7gp6eCBCtEuN2cbs8kRoYOHXr37l3zkOzsbLD8Iy7hp6eCBCtEGOaaPn06wpjBTliUSCSmEK1We/jwYcQlXK8QMCFQg7aTk5OQ3bfVCzExMRcvXjx//vzZs2fBqpCZmenn1I4u8jy841ZAgD+bhtmInK60+pHdv7ziPxbTvuRWXlcEF6tUwd7d0q4Taaioao6VMqyyi/pjSJLwDVR4N3yyq2ZhzdAeO3Ys3GL4SFA1FxUVgdkCigE4/+uvvxDGjN/mJZcUGQgSGRh7zmMJsHvdm8Nufm8uGwJRdLWa0JTA7MRCMsTojaimQ0QaU1dHKgOBETI50eZFj45vuCPrCKtEhBp548aNpq0fwFSBjLO1EcaMVf9N9m7kMGhiABLu3gmVuBZfePVUfkCwIqil1Z2OhNVGHD58ePWRvQ4dOiBMBav+L7lFlFevYaJRIRDR2W3w9JDY9ZkJhwqtpRGWEH19ffv06WMe4uXlJUyn0/XCn+tzpDJJZE83JEJadHS/FJdnLVZwveYhQ4aYF4qRkZEC2RpJCGTfL/MOUCJx0q6Hp05Ha62smxWcEGFMBUZRWX8jnp6eI0aMQJgKdBq9VCnirXEoCuVmW14dJsRvZSoUWxlBmAr0Wlqv1SHRQhtog8Gyb61/1WvWlaJT+3Nz7pWpinQ6LRNCGcw68SDyar7XCJKgqQr7AGN9Mo8zGgWMIS8HLzAEGqQS6fIZydVNEuX2Cto8N8auQBKPX5oDxStBklIZcnKXNmrq1OkNvCNB/UAb7YUWo55RiAfWZ9+/qdZpKFImkUpIQi5TOIMIkLmyzFWCjGOjyMxoyTqdM/9UBGFm1DTaqVh7VRWT1ePoymaz6hk+/pJSCXwQg0afn61/mJZ//nCe0lHSoqNrlzfFtkSLqPie4oRAlu3e6BmE+Odv2SnXVKSEcPFxbhghyrV2lJa6n5ibeKroWnxR266und4Qz7egrTxqIoEpjIi6qJpXfp4CtyGodYCzL7drujiFlJPB7Ri/5A+Tiy8cyb1+VjVmHp5yxgcUDLNQlh+kp+2spCWV/vLpHRcfp+bdgkStQnN8Ql0ieoYQEsmyaXeRGCAIJGo3usYWleVv8FRCLHyo370yo2X3kAYtbXDde0j7AP9w36Vi0CJTM4u5jWhs9D9riXj3csmmRfda9QohJchW8Qx0DG0fJAItiryNyEA+a4l4YP2DsA4i3nXsKXFwJX0ae6z8bzLCcMqztRFXzUp18XORO9tuYWiGb5gbKZVsWZSGhArTRhTxwEpN5puavtaxrbl6jSGojY07VTenaefA3ExNZooWCRKmZhbf/ixPRU1CvHGu0LeJ3XnlcvJU7l2VjoQJbWUytUigrRaI1oV4clcejNd5NxboDmSXrv41bXZHlboA1TWhUQGaMqooz4CEiKVhJo4Z8FbP6A2rUV1Qg/XJqhBvJBQ5eVidT2vbyBSSgxtsZE+DefM/j/1zNxIM1h4jq0IsUxv8wzyRXeLi65yXJdBmYm1JSrqOBINx0oPlKMtDfDfOqqB35uDO1Wz01PtXDh1bnZZ+3dnJo0V4l96vjFUqmZ3ATp3Zejhu7YQxy6Nj/pudkxzgF9a185D27cp3yt134OeEy7EKueNzbV719Q5CnOHXxL0gvRCJn1d6RMHx2+++XL7ih727j8P5qVNx66NX3buf4ubmHhYWPmXyZ35+5SsAa4hioWl6+44tBw/uS0u/1zgoJCqq05jRE8yXtz4FdO16zfduqCQyrtZV5ealrVw3WafTTBq3euTQbzKzby9fO8FgXI4mkcpKS4t37f/u3QH/9+38M21adf9j1/8KHjHODOLPbY8/t+2tPtOnjP/Ny6PB4WNrEGdI5SRBEknnBbkJD12LzsqB2FNwnD5tNqvChAtnv5g7vXfvPn/ExM6ZvTA7O/PHnxayKWuIMrFjR8zGTWsHvT00ZvO+fv3e3h+7K+b3aFQ7CGslomUhFuXrJZyZDi9ePiCVyEYN+cbPJ9jfN/Sd/jMzMpMSb5R7LDAYdL1eGdu4UWuCIKIi+8BTmJF5C8JPnv6jTUQPkKajoyuUkWGhUYhLJBLyYboGCRDi2Tsra39b3vWl7qAkKPMiItpMnPDpmTMnbxrr7hqiTFy+cjE8vOWrr/Z1d/fo22fg0l/WdezwIqoNzDNkpTFoOVivpwjOLKdQLzcKbOnkVL7K1dMjwMszMOXeJVOCoIYR7ImjgyscS8uKQY65+Wl+viGmNIENmiNOYdZW65FtkZx8u3nzCNPL8GYt4Xjz5rWao0y0atX2woWzi76df+Dg3sKiwoYNAsPCareciHmGrNhBLde/8MNTiCvLaWmZKi3jOhhfzAOLih+v76q+U3OZRk1RBoXC0RQil3Pco2cqZ8FZ7KxP53syKpVKo9EoFI/XXjk6MvezpERdQ5R5DlBeOjo6nYqP+2bRPKlU+vLLvcZ/8LG3d92sOrcsRIWDTF3M1doIFxevkMaRr3YfZx7o5FTTEkmlwokkJTpdmSlEoy1BXEJTtNJRcAOb/2bOg1LJ6Kys7PHaJbVRZ16e3jVEmedAkiTUyPCXmpp88eK5ddGr1GrV1/+rpVvlWs3QdvWU5j7gqoXUwK/phcuxocHPmTw6ZOUk+3jV1AuGMtLDPSD1/tVuFW2SG0mnEJdQFO0fLEgz6rMWiVCGhTdrce3aFVMIex7apGkNUeY5QH+5WbMWISFNgoND4a9YVbw/dieqDTV8dMsNwbA2zgYdV1UzWGQoitrz5w9abVnOw3v7Dv6y+JehmdlPcELXtlXPq9ePwYAKnB/9O/peeiLiDH0J893DIh2R0KhlkahQKHx8fBMSzvxzKUGv1w8cMPjkqePbt28pKi6CkGXLv2/3XPumYeGQsoYoE0eOHoCedXz8CWggQlfm75NHW0W0RbWBRlYt2pZLxNA2jowzqIdlLj51v5wbur3TJm0+9veGH1eMzHmYGhQY8c6AmU/sfPTsNlqtLtgVu3jjHzOhZn/z9U82b/2CIw9SWXfzZXIxz3IxY9jQMb+tW3HufPyWzfvAOvMwN+f3rRt+WbYYbIRRz3f6YOwkNlkNUSamfjrrl6XfzZz9KWKWnHtBHf3OoOGoNtQwQGnVG9hvc1MpJLC4p7MAAAPySURBVGnSsQGyP24ev+/fWDlgYgASGMtn3G0Y5vDKYLH+KOvm3hn4YcPAcAttHqvPfWQ3zzKVjQxz1RadVj/gQ8GpEDErdMW9ZgXRteysAM+94nr+UF5W0iP/cMtu7R4VZn/3y1CLUQ4K51KN5WEJf5/QSeN+RXXHrK96WIuC0RqJxMIXDA5qM3aE1b5e8rksNy+FMF3pGleOixnCahO3pnG853t5nP0zz5oQXZy9Pp24wWIU9ELkcsuNS5Ks45FDa5+B+Rg6jVxmYcGhVFLTGHpJYenEhXw4630GaJGvWKnBP0CNQuzufuXvwpSEzJAoC/UUFDaeHvXfWKnbz5B0Iq1hE0dSqK4HCVH7eaix1/yEGmj0nMZlxdrCTG6txwIh7cpDiZQe+JE99s/qnSc3hSYsCE27loNsncwbBao89dgvQxCGM55x8VQ5EjThmybXDqfkZ9hsuZh+ObfoYfGERU0Qhkso64MrT9U5hK7nR9+HZd7ITjlvIxPozUn6O01dqB6/QAxlISHuViL5TFFV+WhxGKL1N47fy7pV90uW6oXUf3ISD6e4uUvHLxDJni60uPvNtR7is8boOcHnDz26FFeQn17o4KL0C/N09BCPc/sK8jNU+amFZSVauVIycHyjhuGi8SllC06Y6so/Yvve7vCX8Nejq6cKUy8+oGialJCkhGCm0pCVln+bHG+y7jQrvLxW+Vi00a2QKd74n3H5q8kJJ8FkS1vY1oYwbj5DV8rQ6G6qPCW70w0cSQlNU6RBb4DUOi0Fn9TFU97zvYbBrUS2TJGmxW3QrvXiqScS1dMd/uDkzj+q25dVRXk6bSltMFDmQiSlFKU3Tg4nGS/e7Izv8gSsfzKSNdHS5r5kCdL4gmb1Z8xHgiBj8+2OwChO6VmrGjOD1+TzmLkEZFfxXdk3hQRSGSGREVKZzDtQ0fx5lwZNxOqY34b5t+McYc85wx/CYP4dAt0UEmMRmVwilYnYIZZUSiAr3g2xEMWETEloSkTshQlaT4Ghlnu3NjL9004IbuGSlyXIRa5PQfyeXIWDBFkp0LEQxUS3tz3hBzu6WZQjrveuFXV/x9darLD2a8Y8DdH/uw/mgHaveDeOEEH3X/WIvvjXw3s3i0fOCnZys9rAxUIUJVt/zMjP0hr0lMFQm5+v8gRpmjYbL6zZ8aIptuIa1tRbJYHRElexU7kxhDEwE8jBWdp7mF+DsJoeGyxEMaNFpaVmfhzZkWjK3JZrHMqotDuX8bzKbvXIbA96UxJGaBW2XNPogtHKi0w23SrhiHg8isAeJRKHpzPuYSFiBAE232AEARYiRhBgIWIEARYiRhBgIWIEARYiRhD8fwAAAP//AoNYPwAAAAZJREFUAwCcBoUvqFwYlwAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "" ] }, - "execution_count": 13, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 6, "id": "e7cc67b3", "metadata": {}, "outputs": [], @@ -165,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 7, "id": "446e702f", "metadata": {}, "outputs": [], @@ -183,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 8, "id": "08770b0b", "metadata": {}, "outputs": [ @@ -201,8 +201,8 @@ "None\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " weather_tool (call_HqKUhMWz6G6Vncat6DyY6ICi)\n", - " Call ID: call_HqKUhMWz6G6Vncat6DyY6ICi\n", + " weather_tool (call_Q9BtgRpdjYTiCdqPyP872kze)\n", + " Call ID: call_Q9BtgRpdjYTiCdqPyP872kze\n", " Args:\n", " location: New York\n", "None\n", diff --git a/agent-architectures/3_routing.ipynb b/agent-architectures/3_routing.ipynb index fe66219..f2d6852 100644 --- a/agent-architectures/3_routing.ipynb +++ b/agent-architectures/3_routing.ipynb @@ -23,11 +23,11 @@ "metadata": {}, "outputs": [], "source": [ + "from langchain.agents import create_agent\n", "from langchain_openai import AzureChatOpenAI\n", "from langchain_core.messages import HumanMessage, SystemMessage, AIMessage\n", "from typing import Literal\n", - "from langchain.tools import tool\n", - "from langgraph.prebuilt import create_react_agent" + "from langchain_core.tools import tool" ] }, { @@ -97,7 +97,7 @@ "metadata": {}, "outputs": [], "source": [ - "weather_agent = create_react_agent(model=llm, tools=[weather_tool])" + "weather_agent = create_agent(model=llm, tools=[weather_tool])" ] }, { @@ -253,7 +253,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHiCAIAAAC/SPU4AAAQAElEQVR4nOzdB2ATZRsH8PeSbrr3bqFlb8oGGTJlSAEVEQQRRIaALNkbBVnqByLiAFGmbFnKVPbee7WU0VKgeye570kOQtqmpS0dd5f/7+OLl1tJc+O5933ufc+M53kGAABg2swYAACAyUM4BAAAQDgEAABAOAQAAGAIhwAAAAzhEAAAgCEcQtHKYCf2xkSGp6UmqzPS1Kq0TK16OCXTNvPRGIxR0Bie4zheP5JjjNeNzzKbRvuq4TUcr3i5NnXWOfWLa2i1PJdlPK/7bxZmFpzCjLOwUrr7WlVuYO/siWMEwCRwaHcIRWHLkoeP7qao1byZmcLSWmlupVAqWXqK2nAeTqnb/TLFOe0YbUjTz/g8nlGA5DPNptHOpg1pfJaRmeZ8uTgNZxtvlLmlQqPm01J5it/pabxCwZzcLVr28HT3tWAAIF8Ih1DI1i6IiL6fZmNrFlTdtmlXVyZxp/fGXD4aH/8so5SD+fsj/a1tOQYAcoRwCIXm1O6Y438/dXS16DLYx9pOyeRl4/cPH95O9i9b6u2BXgwAZAfhEArHhv/dj36Q1q63j38lKyZfP0+6a6bkPpoayABAXhAOoRAc2vr05umEPtMCmQnYsjgyPibtwwkBDABkBOEQXtfaefdTElUmVWDa8sOjxxGpn3xVmgGAXCgYwGvY+VtUYnyGqVUedhro5eZr+duMcAYAcoFwCAUXE6W+czGx73RTLCSFDvLOSNfsW/uEAYAsIBxCwa3/7l75WnbMVHUb6n/leCwDAFlAOIQCOrrtqSpD0/IDd2aq7NyU9i4Wq+ZEMACQPoRDKKDLxxKCq9sz0/Z2X69nUWkMAKQP4RAKIjZKnZqiatXTjRWjdevWTZkyheXf2LFjt2zZwoqAo6e5hZVyz8rHDAAkDuEQCuK/zVHWtuaseF25coUVSIEXzAvPQKt7N5IZAEgcwiEUxJOHae7eRdWldVhYGJXnWrVq1bJlyxEjRpw7d45G9u/ff9u2bdu3b69du/a1a9dozNq1az/77LNmzZq1adNm3Lhx9+/fFxZfs2YNjTlw4EDdunXnzZtH8z98+HDGjBk0JysC1eo7pCapGABIHMIhFERaqiagUilWBNLT0ynyKZXKhQsX/vDDD2ZmZsOHD09NTV26dGmVKlXat29/6tSpChUqUIycO3du9erVKeBNmzbt2bNnEydOFNZgYWGRlJS0fv366dOnv/fee4cPH6aRkyZNogDJikBgVRuecXFPNAwApAzPcoOC0KhZQIUiCYfh4eEU27p3704xj97Onj37zJkzKlXW4lfVqlUplejv70/xkt5mZGRQ1IyLi3NwcOA4jsJn796969SpQ5PS0or8VhczJXfvWmLVxqZ+YxGApCEcQkHwPO/gViTPrKAI5+TkNHXq1Hbt2oWEhFD5j2o7s89GxUeqHZ0/f/6lS5eoLCiMpDhK4VAYrly5Mis2Cj72WQYDAClDZSkUBFdkPd1aWlr+9NNPjRs3XrVqVd++fUNDQ3fs2JF9tn///ZfSipUqVaKZT548uWjRoiwzUJUpKzY8x6OuFEDiEA6hQDguMbaoIkBgYODnn3++bdu2BQsWBAcHT548Wbh3xtCmTZtq1KgxePDgcuXKUe1oQkICKzkUCx0civs+WwAoXAiHUBAKJYu4XiStC8LCwrZu3UoDVlZWTZo0+frrryk7ePXq1SyzUZrQ3f1lhzj79u1jJUet5n3K2jAAkDKEQygIM3NF2OUkVgQozk2fPv3bb7+NiIgIDw9ftmyZSqWiDCJN8vPzo0whVY1SjpAKhceOHTt16hRNXblypbDso0ePsq+Qal8pcOpnZoXt4Z1UyqS6+iINDyBtCIdQEE5u5o/Ci6R0SJFv/PjxO3fu7Ny5c9euXc+ePbtkyZIyZcrQpC5dulC9KFWQ3rx5c9CgQQ0bNqT0YYMGDSIjI6dNm0Z5xKFDh+7atSv7Oj/++GMKoiNHjkxJSWGF7dy+WDMLjgGAxOHxv1AQ4VdStv3yYPD8YGbyfp5019PfqsMnXgwApAylQyiIgErW9Prfhmhm8lIT1YiFADKAhAcUUNkadldOxDfpmmMv3qNGjaJ0ndFJlMMTms9nN3Xq1CLqTY3ktGa1Wk3VJDl9pT179uQ0ad039+1ccE8pgBygshQK7vtRt+u0cq7bxsno1KdPn+bUIwyNt7S0NDrJ2dnZysqKFY2HDx/mNCmXr+Tt7Z3TUotG3HpgsSb6SdikSZMCAgLu3Lnj4+OT03oAQMxQOoSCeyPU7eCmxzmFQxcXFyYyuQS2Avh1SphngPUnA0ZfvXpVCOFr1qzZvn37ihUrgoKCNm7c6Orq2qhRI6WySLrvAYDChdIhvJbV8yLSU1W9J5ZmJubAn0+un0n4dJaRPzw9Pd3CwmLdunXHjh0bPXq0l5fXmDFjKDQOGzaMxudSDAWAEoRwCAWRlJRUqlSp2NjYTz75pKHPxIAg1y5DfJjJuHo06cDGyIFzg/I4/6VLl65cudKhQwcbG5sWLVrY29tv2rSJEpaHDh0qX768p6cnA4CShnAIeZWcnEzFGo7jevbsScObN29OTEyMjo4uXbr0n9/eV6v490f5MRNwdEfs+f+eDpid11iYXUREhJ+fH4XDL774gtKZq1evjouL+/HHH2vUqNG6dWs6JOlHZgBQvBAOITdU76dSqahMQxV9Z8+e3b17N1X33bx5s1y5clnmXD49jE7jfaYEMFlbMy8i7knGp7PLsEJFPzLlGunaYvDgweHh4SNGjGjatOnQoUPj4+MTEhJ8fEyo5A1QUhAOISsqtdAp2NHRcfbs2Vu3bt2wYQNlv27duhUc/IpG91uXPoq4nly6sm27jz2Y7BzZ9uzcvzHWtso+UwJZEaOIGBkZWa9ePRqgC5GAgIDvvvvuzp07586dCwkJobcMAAobwiE89+TJE1dX119//ZVq7X755ZcqVarcvn07KCh/VYKx0eqNCyNSk1WuPtaNO7l5lynGpywVjdQEfu+aqHs3k+hAqdvGpXZLR1bshLtvoqKiaOvY2toOGTKEko5//fVX+/btmzRpIuRxGQC8HoRDk0ZFEE9PTzqxzpw5c9asWW+++SYVR16/8HHrQsqRbdGJMSqFgllaK2wdzWwczJQKlpGe+ZlQlCDjGafgeI12J6R8Ge2MCgWn0fCcghk+QfDlW4W2IyWN5vlIpnu4Eq2BFtVoMq3WcCn6GjSVUzJenXU8r5tdv0Iab2GpUKtZYpwqKU6VmqRWZWisbc0q1XVo2NGZiQblbo8dO0YpxubNm+/atYvK8QMHDuzWrdu1a9codlauXDmnfgMAICcIhybnwYMHlIs6evToyJEjP//88/fee4/GUFAsiuZxF/+Lv305KTE2Iz1No1HzGWlGdjaO0/C8gr0Ih/pXGssx7sU8TNhPKXTy2p1WP5KiIK9U0Ixclh2ZZ7yCM5xTNwvPGa5NO8C0n2I4m5kFR2FSoeRK2Zv7lrVu2EFEUTAnVECMjY2lzXrkyBEq2VPesVevXtu3b6ctSyVIpB4B8gLh0CQIZb6bN2/269fvnXfeodq2x48fU3awWB8ZXwQ2b9586dKliRMnMsiG6rr37t1Lld4NGzacO3fu9evXhw8fTgXHiIgId3d3tH0EyALhULbCwsICAwMp7FEdWuPGjWfMmEEFCHNzcznlmaiMSxm10NBQBrlKT0+/evUqXQDRVdH333+/evXq7777LiQkhEqQ1tbWjRo1QnQEQDiUlXv37lHNGG3Ttm3bBgcHL1myhJJMarXazs6OARhITU21srLasWPHgQMH+vTpU7FiRbpgoozj4MGD7e3t0XUOmCCEQ8l7+PAhnb9sbW179OiRkpLy559/chwXHx9PRQEmdxT+6cRdtmxZBq/t1q1b58+fp7yjq6tr9+7daV/67bffHBwcKB9JZUokIEH2EA4liWoIFQqFm5vbF198ce3atWXLlrm4uDx9+lSEvWYXqeXLlycmJn722WcMCtv9+/dpB6My4pQpU86dO0eXWZRpnjVrVoUKFTp37swAZAd3Y0sGRTuq+fTz81uwYMHevXsp9yOEQ7qWF2YwtVhI6NfQaDQMioCvr68wMG3aNP3I8uXL3759mwboKqRnz56UfZw0aRLVu9LOieIjSB1Kh6JGdZ7R0dFBQUGrVq1asWLF9OnT69ata4KlQBChBw8ehIeHN2zYMCYmhrKPVF3/xx9/UL3F4cOHq1evnt8OHABKHMKh6CQlJUVERFCVFBUBv/zyy1GjRrVr147OOE5OTgwyo3SXubk5Oi0TA+Hum7i4uMWLF1ORfcKECZcuXaJq/BYtWtAOTJlIa2trBiBiyqlTpzIoaenp6ZcvX/bw8Lhw4QLVQXl6etL1NRUBP/30U+E+EZxKjKLcIV0oVK1alUFJE/rBsbKyeuONN5o0aULDDg4OpUqVotAYHBx89uzZbt260X5eu3btcB1nZ2c8GBlEBaXDEqNWq8+fP1+rVq3IyMguXbq8++67w4cPR/+T+bJ161ZKnVJ9HQPRo+Lj48ePKd178eJFynxXrFhx5MiRBw8evHr1aqtWrUqXNrknSIPYIBwWN7pMrlatGl0yN27cmOqRvvrqK7TxApN1//79HTt2+Pv7t23bdunSpUeOHBk4cGC9evUoMeno6IhLQyhOCIfFgapAKb9FdUdvvfWWr6/vkiVLFAoFHvH6+oSeVry8vBhIH9WX0AalS0NKEKxaterHH3+cOHEiFRz37dtHUxs0aICUARQphMOicuXKFYp/Pj4+n3zyCR3nCxYsoBM3HnReuCZNmkQ1pXSRwUCOkpOTbWxsDhw4QCXI0NBQ2tZUy0oj+/bt6+7ujttzoHAhHBam69evU7GPrm2nT59+69atGTNmUKGQYiFuGSgiK1eurFq1KlU+MzANYWFhp0+frl27Nh1ZQ4cOvXv37uLFiykfefz4caokoEpXBlBQCIeviw7IpKSkKlWq/PTTT3QZO2bMGDo7Ix0IUAwePXpkZ2dna2v7zTffHDx4cOHChVQfQ68eHh5du3bFZSjkC8JhQdy7dy8qKqpOnTrbt29fvnz5Z5991rRpU4TA4nf+/Hk6/en75QETJyQjdu3aRdn6QYMGUZh85513AgMD582bp9FoIiIi0EQVcoFwmFd0HXr79u3GjRtTXc2XX3754Ycfdu7cGSGwZA0ZMuSDDz5o0KABAzCGDltKYTRr1kylUr3//vsJCQl///03VefQhWxlHQbwgoJBzh4/frx3716m64+qf//+N27coGFKVm3cuFHoxRixsGTRtnB3d2cAOaCEIsVCpuslYP369du2bROGw8PD//jjD6Zr6TFy5EiaxHQtIxmYMJQOs4qJiTlx4kSrVq3S09O7dOnSvHnz0aNH06Wl0OkGAMiJWq0+fPjw06dP6QKXrnc//vjjjh07jhkzJjIyki6CK1WqhJtXTQfCoRZVnhw/frxWrVqOjo7vvfde2GsNrQAAEABJREFU2bJlZ86cSePRKELkqOI6ODjYwcGBARQGKiBSFCxTpkxYWNisWbOo7mHGjBlnz549duxYkyZNULkqb6YbDqnwR7s4pdn9/f2FrPvkyZPplYF0UAZ3/PjxFStWZABFJjo6+q+//rKzs3v33Xc36/To0YMqkKKiouiMga5zZMO0wiFVjFApkAoTdJVHwS8xMZFqRTw8PBhI0zfffNO9e3dPT08GUCw0Gs3Vq1fplfLW27dvnzt3Ll1MU5XSkSNH6HzSoEEDipoMpMkkwiHlAunPrFev3qJFi27evDlkyBCqYWMAAK+NoiCVEU+ePLlp0yaqUG3btu2vv/5KNa69evUKCAhITU21srJiIAWyDYeUDqQo2Lx58z///PPAgQN9+/al1CADeTl8+HBISAhONyAqDx8+pOhYtmzZSpUqTZkyhTLcc+bMoWGqdHVzc2MgVrINh5MmTaJLs379+jGQL9q+M2bMQBfeIGaRkZEWFhbOzs6UcVyyZAlqU0VLto0HunXrhrOk7NEFOIqGIHL63La5uTnu5BczNLQAAACQb680v/zyy5UrVxjIGuUOU1NTGYAUPHjwQKPRMBAr2YbDS5cuPX36lIGsff3118+ePWMAUvDRRx/Fx8czECvZ5g779u2L3KHsNWrUCH1ogVT4+PgoFOgmWryQOwQAAEDuEKQMuUOQEOQORQ65Q5Aw5A5BQpA7FDnkDkHCkDsECUHuUOSQOwQAAEDuEKQMuUOQEOQORQ65Q5Aw5A5BQpA7FDnkDkHCkDsECUHuUOSQOwQAAEDuEKQMuUOQEOQORQ65Q5Aw5A5BQpA7FDnkDkHCkDsECUHuUOSQOwQAAEDuEKQMuUOQEOQORQ65Q5Aw5A5BQpA7FDnkDkHCkDsECUHuUOSQOwQAAEDuEKQMuUOQEOQORU62laWUOyxXrhwDWaPc4ZIlS7y9vZkpiYo6rlIlM5CaXr2mLVo0yt6+FIMS5exc2draPft42YbDTz75xMPDg4GstWnTxgRzh2fOzLKxcTEzQ9JUYvz9zSMi/ipVypxByYmJuVm9+kg/v9bZJyF3CCAxO3eGNm482s7OtMrEAIXi2LHvfHzaGQ2HyB2ChCF3CBLy6FG0Wq1mIFZodwgShnaHICEDB06niMhArNDuECQM7Q5BQvz9PRmImGzDYZUqVRjI3ZgxYxiA6G3atOfLL388dmy1mZlsT7kygNwhSBhyhyBat2/f69BhoOGYx4+fZmSoGIgVcocgYcgdgmhduXI7y5hx4769fv0uA7GSbTik3GGlSpUYyBpyh/A6UlPTatd+98yZ59VIu3YdpLfr1u0S3oaFPaC3ly7dpOG//tr/0UfjGzfuSa+rVm3Tt09LTExasmRt797jaFJo6JBvvvmN1knjaeS0aYsjI5/QGlau3CbM7OrqOHPmjzSmS5ehmzfv1X+NCxeuf/bZzObNP6LxtIakpOd9LKxZs6NNm08OHDhRt243/Uqg6Mg2HFLu0MXFhYGsUe7QycmJARSIlZWlh4crRSPh7blz1zw9M721tbWpVCmIwiTFtgoVSm/dumjw4O6rVm2fP3+5MM+aNTuXL9/84Ydvf/vt2GHDeu7efXTp0j9p/IAB3Xr16kRrO3Xqzx49OtAYyhpSDB06tMeSJVMqVw6ePfvnyEjtXaYREY8GDZpBQXTZsi/nzRt982Z4//5TVSptnaqFhXlSUsr69f9Mn/5Zixb1GBQx5A5BwpA7hNdUp06VS5duCcNnzlzt2LE5vQpvKRzWr19doVBs3ryvZs2KY8d+4uzsWKdOVQp1VIJ89iyW5unZs+Pq1XNbtmxQu3aV5s3rtW7d8MiRs0Y/iCJcq1YNQkIq05yffvoevRU+d+fOg+bmZhQIAwN9ypTxmzRpIFWoHjhwkiZxHEdhsnfvTm3bvuHp6cagiCF3CBKG3CG8JgqHZ89q419sbPydOxHvvNP6yZMYodxG4bBu3aoajeb8+WsNGtQwXIRGnj17jYYpkh09eq5Xr7H163enWtA//vjr2bO4nD6LIt/Jk5dowMnJnumqaun1/PnrVFh0dLQX5vHycvP19RS+koCmMigWaHcIEobcIbymevWqxcUlUJrw1q175cuXdnFxrFq1HBUQGza0vH8/smHDGunpGRkZqsWLV9M/wwWFsLdw4UrKAg4b9mGDBtWpAPf996u2bNmX02d5eblT+GS6Yp9+ZEJC0pUrtymUGs759GmsfpiqTBkUC7Q7BAlDu0N4Ta6uTkFB/pQvvHEjnGpEaUzNmhXorVKp8PHxEKoobWys27dv0qJFfcMFfX09eJ7fsGH3Bx+079y5pTCSYlsunzV6dJ/s7Q7pC9SoUYEqYA1HOjraMSh2sg2HlDts0KABbi6VN8odhoSEWFlZMYCCospPKg7evBnet28XekvBaeHCVSqVmhKHwgzlygVQnKOcn/CWSosPHjz28HClgZSUVHd3Z2F8enr6f/+dzuWDqEBpa1vKxibT7lq2bMD27f/WqlWJkpTCGKqz9fdHzVYJQO4QJAy5Q3h9FA5Pn75840YYBUKmC4d3794/fvwCJQ6FGT777IMDB05SLSilDM+duzpu3LcDBkyjSlQLC4vAQJ+tW/dTtSqlHqdP/4GWjY9PElpKUEh78iT2wIET4eEPhfVQVeq+fceyfHqPHh00Gn7+/OWUSqQ5//e/P7p1G0k1twyKHdodgoQhdwivj8Leo0fRAQHezs6O9JYKcGXK+NIYCpPCDDVqVFy5cs7Zs1dbteo3aNCMxMTkBQu+sLS0oElfffW5lZXlO+8MDw0dQuuhwGllZdGyZd+HDx83blyLouOoUXP//vuQsB53dxdhKUP29rZr1863trbs2XNM167DKDBPmjSgQoUyDIodnncIIDF43iFAgeXyvEPkDkHCkDsE8WvT5pPo6GdU8OA4jhKEVONKw1TLumnTQgZigtwhSBhyhyB+rVs3pECoVCqFm2Xo1cLCvHv3dgxEBrlDkDDkDkH8evbs6OvrYTjG39+rU6cWDEQGfZaChKHPUhA/Dw/Xt956Q/+WSopvvdUk+z01UOLQZylIGPosBUno3r29n5+nMEwlxa5dWzMQH+QOQcKQOwRJcHCw69ChKaUPabhVq4YODrYMxAd9loKEIXcIeaFOZ0e2saR4TUbG83ZlCgXTaFiWYU7BKRQatep5h6KcgvGalyvRvmUc0/AKBa2E0xhMojEajW4peuG1K+R5pm/CJkx11bzdpkZZjVrjrim/7WcVR2vSvOi5lKO59b2Y6lZBSymZRp3pr3j+KfTpGk7/nQ3/EP3i2q/KG67zxRqUzMZGWf0N5uzDIDv0WQoShj5L4ZVWz2MxURoLC6WG59QZRkKdfphTUJxRalQvlnwemF6+5Tme01DM1L7LGimzvOVfLvtiqsLTviqNjA7ntGtmBuHK8IO0oVGRfZ0vx9BE7as2KBqZTbc4xVqeZf7yOhRQlRbc9TNqazuu96SswRLQ7hAkDO0OIXfrv2XpKWYfTvRjYGDXsqhfpyR9PA0RMRPkDkHCkDuEXKyZy9LTLboMRSzMqm0fDzdvu2VT0SVZJmh3CBKG3CHk4lmUpuOnyJIZ1+x9t/RU/toJBnrIHYKEIXcIOTm+k5lZoDIwN1Y2ZjfPaCrUZSBAu0OQMLQ7hJwkxWle3hQDxqg0mpQkNYMXkDsECUPuEHKi0fBqNXJjueHVTIVoaEC2laX9+vVDu0PZQ+4QAAqLbMNh5cqVGcgdcocAUFhkW1n6888/X758mYGsIXcIOeI5bZt0gDyTbTikWIiskuwhdwg54oz0UgaQC+QOQcKQO4SccFoMIO+QOwQJQ+4QcsTziIeQL8gdgoQhdwg54TgjfVgD5AK5Q5Aw5A4hJxpe+w9ywSkYJ9sIUBDIHYKEIXcI8Bo43bMb4TnkDkHCkDuEnGgf0YuGFrniNbz+WcfAkDsESUPuEHKifQYuw7ke8gG5Q5Aw5A4hJzxupIF8km04pNwh6ktlD7lDyAlX0m3wN21eN+vrKSz/pk0fu2PnFgbFTrbhkGKhs7MzA1mj3KGTkxMDyIZKh3yJlg+vXy/gA+YKvCC8JtneSkO5wwYNGqCAKG+UOwwJCbGysmIAJeTevbBly5ecO3+awm/lytXef69X1ao1Ph/R//z5MzT1n3+2/7jkj3JlK2zctPbYsYNXr16ysLSsXq1W376Dfbx9aYYpU79QKpUeHl5r1q6YNnUOvaWRc+fN+GHJN39tOcCgGCF3CBKG3CHkhFNwxdCoLj09nSIfxbOvZy+cP/cHM6XZhInDU1NTv12wtGLFKq1bt9+/9xTFwosXzy1cNLdy5erTp88bO2ZaTMyzL7+aKKzB3Nz8zt1b9O/LGQuqVa25a8dhGjl61CTEwuKHdocgYcgdQk54Dc9rijx9GBERTrGta5fuFPPo7ZTJs89fOKNSqbLMVqlS1WW/rPP19Tcz055yVRkZ4ycOj4uPc7B34DguMvLhksW/C5UcaWlprPjgzttM0O4QJAztDiFHFGeKvo05RThHR6fZc6a2atmuRvWQKlWq16xRO/tsVHx8+PD+94vnX712KSkpSRgZG/OMwiENBPiXLqEKf9x8mwnaHYKEod0h5IgvjtKhpaXld9/8VL9e4/UbVg0Z1rfHh6G7d+/IPtvhw/9OmDSifPlK3y74ad+ek3O+XmQ4lbKJrCRwHK9UIiK+hNwhSBhyh1Di/P0DBw74fM2qbZT8K1M6+KvZk2/cvJZlnm07NlWtWqNf38HBweWo1JqYmMBEgOc5tRr1pS+h3SFIGHKHkBOqKVUqWVG7dy9s566tNEC1nQ0bNpk65WvKDt64cTXLbPHxcW6u7vq3Bw/uYyA+aHcIEoZ2h5ATKvpoNKyoUZybM3f6D0u+vf8gIiIifOWqZSqVqkrl6jTJx8fv6tVLZ86ejIl5FhxU7uSpY2fPnaKpf65fKSwbGfUo+wqp9tXNzf3Ui5kZFCPkDkHCkDuEnOie/Vvk8bBKleojho/fs3fnh7069/qo68WLZxfMXxIYWIYmdWzfhb7D6C8G375z8+OPB9Wr23DipBGt2zaIioocO2ZahfKVxo4bumfvruzr7PHBxxREJ00emZKawqAYyfbOUoqF5cuXZyBrlDtcsmSJt7c3A8hM29CCL47L/Y4dutC/7OOrVav527L1+rcTxs80nPrD4hXCQMsWbbMs2Ontd+gfg2KHdocgYcgdQo6KpaEFyAnaHYKEod0h5IgKh/npxfuLMZ9Rqs/oJJVaZaY0fqocM2Zq40bNWNHo+HYzo+PVajXP+Jy+0qaNe4TG/pBf6LMUJAx9lkJOOAWXrztLx3wxNT0j3eiktLQ0yxyaBjo5FuH9ekuXrsppUi5fKe+xkLKrHNpZGEDuECQMuUPISX4f9e7i4spExsuzaHdsDc/Rr8TgBeQOQcKQO4QcccXRhbekKah0qETx8CXkDkHCkDuEnGhP8yj55AXPtXsAABAASURBVEqbXS36ppkSgnaHIGFodwg50sZDnOwhH9BnKUgY+iyFnFDJR8bnNygKyB2ChCF3CLngUTqE/EDuECQMuUPIia4RAe4TgXxA7hAkDLlDyIm2shS30kB+IHcIEobcIeSE07bEZwB5h9whSBhyh5ATKhlqkDqE/EDuECQMuUPIidJcaYHO+3JlbqG0slIzeAG5Q5Aw5A4hJz5BTNvTNeRMla5xdM9Pv65yh9whSBhyh5CTcrWYguMvH4lnYExKPEtPVb/5PgM92YZDyh2ivlT2kDuEXDRspzh34AkDYzYvvhtUHfcaZYLcIUgYcoeQiypvMO/y3B9f3Xb1sipd2V5pwzGVsbtrOI7xz6tVOca9bJ/BZe31lOM47UMUFcYeBKFdjsu0kuyLv5zv+afwujVmXYn++xiuQRgpvCo4ZvAFXs5lOI/BH6WfRWGm5DM0YVeSo+4lNe2sqFAPlcmZ4HmHIGF43iHkztmddftcsXN52um9j9UZ/KvvNTWIQDwz3oxfiIm5LPh8OFs4fLnCF5N4Tvs/lqNsX4Ez0i+5EEKNf4dsM5hbcFa23BuhHGJhdnjeIUgYnncIr+TsxXqM45gIeqhZvXrHw4ePR478iIEood0hSBhyhyAhKpXKzAx3cooXcocgYcgdgoSoVGqEQzFDu0OQMLQ7BAnJyFCZm8u2BCIDaHcIEoZ2hyAhajWVDhEOxQu5Q5Aw5A5BQih3WKoUdlfxQu4QJAy5Q5AQ5A5FDrlDkDDkDkFCdOEQlaXihdwhSBhyhyAhGRkqhEMxQ+4QJAy5Q5AQtDsUOeQOQcKQOwQJQe5Q5JA7BAlD7hAkRFc6RGWpeCF3CBKG3CFICJrhixxyhyBhyB2ChKCyVOSQOwQJQ+4QJAThUOSQOwQJQ+4QJAS5Q5FD7hAkDLlDkBCUDkUOuUOQMOQOQUJwK43IIXcIEobcIUgISocih9whSBhyhyAhyB2KHHKHIGHIHYKEoHQocsgdgoQhdwgSQqVD5A7FDLlDkDDkDkFCUDoUOeQOQcKQOwQJQe5Q5GQbDqOjo+Pj4xnI2oYNG2JiYhiAFAQHByAciplst83bb7+N3KHseXh4WFlZMQApuHXrXkZGBgOxQu4QJAy5Q5AQShxS+pCBWCF3CBKG3CFICNWUUvqQgVih3SFIGNodgoSgdChyaHcIEoZ2hyAhCIcih9whSBhyhyAhqCwVOeQOQcKQOwQJQelQ5JA7BAlD7hAkBOFQ5JA7BAlD7hAkBJWlIofcIUgYcocgISgdihxyhyBhyB2ChCAcihxyhyBhyB2ChKCyVOSQOwQJQ+4QJASlQ5FD7hAkDLlDkBCEQ5FD7hAkDLlDkBBzc7OMDFSWihdyhyBhyB2ChCB3KHLIHYKEIXcIEoLKUpFD7hAkDLlDEL8WLfrExSWq1WqO4+jtrFlLeZ739nbbvv1HBmKC3CFIGHKHIH6NGtWi+KdUKhUv0PBbbzVhIDLIHYKEIXcI4tezZ0c/v0yJm4AA727d2jEQGdmGQ8odor5U9pA7BPErVy6wfv3qQk0poYEmTWq7uTkxEBnZhkOKhc7OzgxkjXKHTk44rYDYde/evnRpX2HY19czNLQlA/FB7hAkDLlDkISAAC/KIFL2kIbr1atKbxmIj2zvLKVYWL58eQayRrnDJUuWeHt7M4DCkJLIHtziVRkapqvV5Hme/ssYzzGOFyo7aQxVe/K6MYxnwnxMNyMT5hUGuOdzsudL1a/c8WZ5TYZK3aBK+2un1NpZtXPyz2cQ1iksJCzx4itxuv/rxj//xBdf7CWFGfPwVjp4MHgdaHcIEobcIRSWB7fY3yv4tBSeUzBVujBOiHZ8prj1YjzPeH2sexkF9QyX0oZO+o9tBZce9J+Le9lFThdWM+ENhzhmBM80woqEqGlIYU6jNBYWrGZzRQgqYgsK7Q5BwtDuEApFeiLb9jMfVNmh3tsuTLIu/Bt75sAzNz+Ff3meQf4hdwgShtwhvL64aPbLNM0H48pIOhaSak0d3x9dZvsvmjN7GRQA2h2ChKHdIby+rT8xdz/5VLlXqud4eh9KhwWBdocgYcgdwutLitNUri/tcqGhWi2dM9L5lBQG+YXcIUgYcofw+tRqZuMorzMhz2Ie8tZBHIP8QO4QJAy5Q3h9GjWvYbJ60ISa/iIVYmG+IXcIEobcIQAUFrQ7BAlD7hAKAcdyaOkHpgW5Q5Aw5A6hkOBWTEDuEKQMuUMoBAiFoIPcIUgYcocA2elqfxHk8w25Q5Aw5A7h9XHavrFlVTDQ9ZaKbGi+IXcIEobcIbw+Xtc7NgOTh9whSBhyh1AIeLndWKp7wAYqS/MNuUOQMOQOAbLjdc9ghPxC7hAkDLlDgOw4+RV4iwVyhyBhyB1CoeDkdeMJbqUpGOQOQcKQO4RCwAnFKTB1yB2ChCF3CIWAZxqxFqXu3r39/gcdGBQL5A5BwpA7BHm7fuMKg+KC3CFIGHKHUCI2blp77NjBq1cvWVhaVq9Wq2/fwT7evsKkrX9tWLfu9/iE+Pr1G/ftM4jKdhMnfNnizTY0adfff9HUu3dvlS4d/Gbz1l27dBduAJ02fSwNtGzx1uw5U1NSkitVqjqg/7CKFassW75kxe8/0wzNW9T+Zv6PNWqEMChKyB2ChCF3CK8vv030Ll48t3DR3MqVq0+fPm/smGkxMc++/GqiMOnqtcvffDuradOWv/+2sVmTltNnjqORCoX2NLtn766v50wrV7bCqj+29us7eP2GVYsWzxeWMjMzu3zlwu49O5b88PvO7YcsLSxnfT2Fxvf5aMD73Xp5eHju33sqX7EQj+goGOQOQcKQO4TXRyWzfHXwSaW3Zb+s6/FBn5o1atepXf+9d3tSMTEuPo4m/fPPNmdnFwpjDg6ODRs2oan6pXbs2FytWs3Ph411cnKuVbNOn94DNm9eR6FUmJqSnDx61GRvLx8KjS3ebBsREZ6cnMwKimfol7wgZBsOKXeI+lLZQ+4QCgGfv1YJSqXy4cP748YP6/B2U6rGHD9xOI2M1QW2O3dvUSUnhTRhziZvtBAGNBrNpcvn69RuoF9JzZp1aOSFi2eFt37+gTY2NsKwra0dvSYkxLOCQhfeBYPcIUgYcodQ/A4f/nfi5JFUOvy0/7CgoLKnTh//YsxnwqTExAR3d0/9nFRGFAbS09MzMjJ++XUx/TNclb50KFSoFhYe0bBAZBsOKXfYoEEDBEV5o9xhSEiIlZUVAygu23Zsqlq1BuX/hLcUAvWTLC2tVBkZ+rdPnz0RBmgXpcJf61btmzRpYbgqby9fVjR4JA/zD7lDkDDkDqFw5KcsFR8f5+bqrn978OA+/bCPj9/dsNv6t4cPH9APBwWVS0hMoHSj8K9K5eouzq7u7h6sCKCytGCQOwQJQ+4QCgGne+ZhngUHlTt56tjZc6dUKtWf61cKIyOjHtFro4ZNw8Pvrlq9nOd5mufixXP6pT7p+xlFxx07t1DKkMZPnzFuxKgBVIma+2f5+vo/ffrk0KEDsbExLM/QSVvByDYcUix0dnZmIGuUO3RycmIAryOfN2J+/PGgenUbTpw0onXbBlFRkWPHTKtQvtLYcUP37N3V5I03O4e+99uKpZ27ttq0eW2/ftqcorm5Ob1S/erSJSsvXDhLk0Z9MSgpKXHmjAWWlpa5f1b9eo2rVqkxacqoGzevMShiHF3FMDlC7tAUmGbucOfO0MaNR9vZeTMoDAuHqzsO9HfxsGCvjcqLYWF3goPLCW+vXrs8aHDvn35cpR9TPJZPvdV5gNK3PIPsjh37zsennZ9f6+yTkDsECUPuEETl4qVzn3z6wXf/+zoy8tGVKxe/+2525crVgoLKMpAC9FkKEobcIYhKzRq1R46YsHPX1o/7vWdra1c7pP6AAZ8X/6N4X9xKg/Rh/qDdIUgY2h1CYeAVGlZYOrTvTP9YSUNDiwJAn6UgYeizFAoDp5HXiRDN8AsGuUOQMOQOAYxDPMw/5A5BwpA7BMgO9aQFg9whSBhyh1AIOLk9/wHN8AsGuUOQMOQOoXBwCB6A3CFIGXKHUAi0d2Ei0wbIHYKUIXcIhUB2laVQMMgdgoQhdwiFgEeiDbSQOwQJQ+4QAAoLcocgYcgdAkBhQe4QJAy5Q3h9CjPOTF4FA6UZx8zV9F8G+YHcIUgYcofw+swULDY6w8FDVifDYSNGM6Xa0tLCzExZqpSNg4OtlZUlvR037hMGOZBtOMTzDk2BaT7vEAqXnbPiyonYgCoyqWY4tv2phRVXvpLfrl2HFAqFWq2mV+G5tvT6zz+H9+9fzsAY5A5BwpA7hNf3wRj25EGyWs3k4ebZuGZducmTBwYG+tBbpVLJcZxChwYQC3Mh23BIuUMUDWUPuUMoFJ9+rVg9+/belZGJz6TaAjE9hR3eHL3qqzvdRiiDazCqMhk8uLudnY3hPL6+ngxyhtwhSBhyh1AolEo2cKbih0nRm39IYhqmVht//iGv7czNeLzkeSp6GZmk4TlFtvFG12N8JG+0/7isHQdwSir6MSsbrs2HnIvX8y/fokWD/ftPUJWpfjYLC7OjR881aFCDgTHIHYKEIXcIheX3tVuVQWn9+7+b8Ixp1JmrzbjnDfVprD5OZo1IwrRsHdxoR2fv9UahOX/u9rat+yZMHPDyQzhK7XFZ16zQMMOHMXIvwmaWFSrVDs5G7iOdMmXQhQs3Hj58rNFozpzZEB7+cN68ZWvW7Bw1qo+fH0qKWck2HFLusHz58gxkjXKHS5Ys8fb2ZgAFdfr05ZCQym++Wc/Hx4Np76zJPkuhd1qjCK7oeO27iw5ur/yUPOazjLepMDc3HzKkx1dfLVWpVPQ2IMB74cIJhw+fGTr0y4YNa44c+RElFBm8gNwhSBhyh/Cafv55/eHDZ2lAiIXFxtvbff36b1nRa9WqYe3aVQ4e/EM/plGjWps2LaTQWL9+91WrtjF4QbbhkGKhs7MzA1mj3KGTkxMDyL+4uER6DQz0GTq0JysJFhbmrFjMnTsq+8j33mt74sTaqKinHTsO+u+/UwzQZylIGvoshYLZuHH3n3/uooGWLRuwEjJmzPx9+46xEjV8eO+lS6dt2bJ34MBpt2/fY6YN7Q5BwtDuEAogNTXt+vW7/fq9w0oUFUwjIiJZSfPycps/f8zHH3edMOG7mTOX0I/DTBVyhyBhyB1Cvly4cOPAgRNmZspx4/qzkjZw4Pu9e4cycahTp8qaNfOrVCnbsmXf5cs3M5OE3CFIGHKHkHf37j369tvf3nijtpmZKO6o12g0aWnpTExCQ1scOvRHYmJy27af7N59hJkY5A5BwpA7hLygCsC4uESe53/99UulUiwnvYSEpPbtBzDx+eyzD1aunLtv3/G+fSdeuXKbmQzkDkHCkDuEV7p9O4IqAEuVsgoIEFf7VAcHO1tbm/j4RCY+Li6Os2YNHzr0w9mzf5o8eaE4v2ShQ+4QJAy5Q3il69fvUgWgSCoK065JAAAQAElEQVRIs9i8eZG9vS0Tq+rVy69YMbt+/eqhoUOWLl3H5A65Q5Aw5A4hJ0+exAwePIMG2rVrwsQqOTk1PT2DiRv9gPv2LWOMa978o+3b/2XyhdwhSBhyh5CT+fOXT5jwKRO3Vau2/frrRiYF/fu/u3Xr9ydOXOzZc8z589eYHCF3CBKG3CFkt26dtn09pb68vd2ZuJUrFxgXl8Akws6u1LRpn02c+OnChSvHjl1A5W8mL8gdgoQhdwhZtGzZt2rVckwimjSpPWZMPyYpFSqU+fnnGS1bNqBiIsVFJiPIHYKEIXcIetevhzHtzSkLK1YswySC5/nIyCdMgigc7tq11N6+VKNGPTZu3MNkAblDkDDkDkHw6adTNRrtswhtbW2YdHAc17fvxKiop0yaevcO3bdv2bVrd7p1G0FpRSZxyB2ChCF3CCkpqZcu3ezf/10JFQoN1a1bNTpawvuwpaXF+PH9v/pq+PLlm0aM+PrBg8dMspA7BAlD7tDEzZu3LCEhuUqVsiEhUj3Yp0wZTN+fSVxQkN/ixZNDQ1sMGjRt/vzlTJqQOwQJQ+7QlG3dut/X18PdXdqHeVxcwtOnsUwWmjSpvWXL997e7nXqvLd27U4mNcgdgoQhd2ia/v77EL02bVrn/ffbMYmjmt7p039gMtK9e7sTJ9beu/coNHTIoUNnmHQgdwgShtyhCVq5ctvFizeZts9P8XZvlnfBwQHi6VW8sHAcN3r0x4sWTVi//u/Bg2eEhT1gUiDGfvwKBeUOvby8GMgacocm5f79SF9fz0qVgnr06MDkwsPDZcGCMUyOaGN9++2448cvjBo1l5K7o0b1MTcXdcRB7hAkDLlD00G5qA0bdtNAzZoVmbxQfanYHnxYiOrVq7Z+/bflygU0afLhihVbmYjJNhyuXr366tWrDGTtyJEjyB2aiISEpGHDPmRydPr0lX37jjNZ69q19dGjq58+jRFzolS24fD06dNRUVEMZG3OnDlPnkiyUw/Ir3793mEy1bt3p0ePoplJ4Pz9xZvDknO7w6pVqzKQtcaNG1taWjKQu//97w9KQTH5+vjjLvS6Zcs+Jl8qlYpqvD/6KJSJlWzDYYUKFVxcXBjI2qhRo9zc3BjIXVTU09jYeCZ3lEGU8QMFf/ttC5WDmYjJOXd44sQJBrJ28uTJhATJPB8HCmzIkB4NGtRgcvfee22dnByYTP322+bevcVbNGQyDoe3b99++PAhA1n7/vvvw8PDGcidp6ervb0cWhm+UsOG2qg/ZcoiJi/r1u3q0KGZjY0VEzHZhsPu3bvXr1+fgazVq1fPzs6OgdwtW7Zpz56jzGR06vTmL79sYDKyYoXYa0qZjJvhBwUFMZC7gQMHMjABT57EiLxgUbhq1ark7e3O5GLXrkM1alTw8HBl4ibb0uHWrVv379/PQNZOnz799KlUnxUHeffRR6GtWzdipoTqh+m1XbtPMzJUTOLEnzUUyDYc3rt3D1kl2fv999/R2YIpcHNzdnKyZ6Zny5bvf/rpTyZlR46cc3NzKls2gImebCtLO3bsqFDINtiDoHbt2mhOYwrWr/9HqVR07tySmRhzc7NBg7rTwPXrd8uXL80k6LffNvXv341JgWwDRkBAgJ+fHwNZ69mzZ8WKcuvBErKLiYl//NikH10ya9bSBw+k182WrjvWjJCQSkwKZBsO9+3bt23bNgaydvHixUePHjGQu65dW73zTmtmwpYvn3X58i2NRsMkRSpZQ4Fsw+HDhw9v3brFQNY2bNhw+vRpBnLn7Ozg4uLITFvr1o0oHK5cKZmr/PDwh3fu3G/evC6TCNnmDt98800860D2qlWrhqdamoK//z4UFfWsV6+3mWkzMzOjSuPz569Xr16eiZ4k2hoakm3p0Nvbu0yZMgxkrUuXLiEhIQzkLj4+6dGjxwwYGz68l5mZMikpmYlbbGz8v/+eevvtN5l0yDYcHj9+fO3atQxk7fr162hOYwpat2740UedGehUrhxMxcRRo+YyEVu+fLOYH15hlGzDYXR0NFqkyd7OnTsPHjzIQO4cHOw8PNCi5iVLS4sOHZoeOXKOiZJarVm9envPnh2ZpMgtd/j222+rVKqMF/7++296tbS0PHz4MAO5aNeuHc/ztGXT0tJocy9atIiGnZyc9uzZw0BGQkM/S0+nbatKTU2jAYVCQcNWVhaHDq1kJq9Zs7rPnsU9ehTt5fXyGWft2n26Y8ePrKT99ttmKZbm5VY6bNasWWRkZExMTGJiIp0r6UjSaDQVKlRgICNBQUG0lWNjY1NSUrQnS5WKomPDhg0ZyEvTpiGRkU9iYuJTUtKowEGbWnc4S7I1elFwdnZwd3du1qy38LZWra6PHz/79deNrKRROOzVS0o30QjkFg4/+ugjf39/wzG2trbvvPMOAxn59NNPXV0zdQfs7e3drZs0er6AvOvVq7O/v7fhGFtbm3ffbcvgBaVSuW3bD/v2Ha9btxuVnum6cM+eI6xErV//z1tvNSlVyppJjdzCobOzM9WkGY7x8/N76623GMhIlSpVatWqZTimsg4DeXFxcXzrrcYcx+nHlC7t26ZNYwYG6BJh4sTvhBb69Fs9eRJz6tQlVnKWL98kuZtoBDK8laZHjx4BAc+7i6WsIYqGstS3b18PDw9hmEqKKBrKVc+eHf39nzcttbQ0f/fdNgwya9y4JyVW9W+fPYvfseNfVkL++edw9erlhcdxSI4Mw2GpUqU6d+5MdQhMV4cWGirJ6xTIXbly5erVqycMUyoxS2ERZKNUKZvOnVsoldozlZeXR4cOzRgYCA39jMqFVEdqOPLMmWsJCYmsJOiyhlI95cqzoQUVEH19fc3MzN59913DmhaQk969e/v4+Dg4OHzwwQcM5Ktbt3Z+fl50gdutG7KGWW3evOjzzz9s0aJ+6dI+Tk52QmiMjIzev/8EK3ZHj55zdnYsXz6QSROX5bIii/3rou9cTExP1ahVOXUdS8Em0xp43ai80PCcguPzuGDeV6udmWd5D4L5WzPHOD7PM2u/RZ7npq+hUCjNOFt7s67D/K1tmcj9Of/+s+gMtVqjUb2qW2EFRxs7l+l52V6v/DFftf8YWVy/yKtW/nInN/wUTqlQKjhre2Wnfv6OnsV31bVzZ2jjxqPt7LxZcfnzG/YsSqNRM/15IPuvbfT3F0ZqGK94PjHT6YJ/8T6/Gy6PUzV0SL3qAMzD4c/RUWlpxZWvyzUScTu62Ni4c+eundvjrkzx5Hhzw7/b4G808vvnTjd3bsdOpqODp9JHns54HKdQmjOrUlzjTlxwdVacjh37zseHLrCM9AifW7vDfeue3rmQVKaKQ4UQB15pfJ6swdDwZ8o+LZfFtJFZF2yMLSRMYiyvizyfP9sE4+P1b41/dqaRz8Nh5pHZv4bRL6wdqWC5HJ4UNWKfqq8cfbJ86u2+XwVZWDDRWjo+zM7JrM5bbr6lbTNU6lfMndOGeIHXHXCvOHEptKe33Fai4DlNjkd37h/xii9geOgbfKhCyRKfqi8dfbp63t2+U0tb2MqzHmLpBE0pO4u6rZ08g2w16py3dc4/oEE4zHnpHI7xlwHT6MpfbBrji79yp8oLBVNlsOsnY68ciaNzeMP2In2mhKOjQ/LthvacpkwDh/Ihjhre2PfM8oPofj1Odz2a28+Ya9g0XOTlsJGTcqYxdK5LTlRfORazZ2WSo5vS1VsUv2qO4XDdNw+S49TdRgcyKEa2zkrfstqr/l8n3ekyuIy7PxOhJWPvhDRzr9DgeQHWmimZqbJ1VHoGaW/0WDbzbpsPvQMrWzJ5WTqOrxjiVqOV/kn0JrqtG7R3oX9r54VFR3CdBrx+jC18q75mqjTFu6P0pwyxbyk617n7a++GWz3rbt3WrIYIOjc1njt8+pB/+iit63BRnoxNQ0BFu20/hzPxWf/tAzsnC30sBEFQNce9a+T25MXNi5mVnZlBLDR13UYFPrz9qrqQknDnLIt/xnce5sskqEYzl5O7RVE6NB4Oj/wVZW0r22c/SULjzm6pKWI88J5FpQVXtWOQWb32TmmpmpSSuZuvqEQ/0PhXQCzMxNJasfsPJjZnDlJFhTmTpooN7NVqLvwKK3HGw2FygsrcQra9e0sFz/OPbqczkVGreDc/6fU3UQw4xodfF/tjd/JFncGcPEWcwS4J5paK+GeiSx+mJmgsrSRcj80pNA/CSv7q33gRMDVFpRFpwtiEaNS8WiW6AqJKxavSxVhsLXEqNc9pVExGaFtrVLL6i14f1QEozUWXO0xL45lCwlsqI52p00v+V0WNqHhpb9FCEV06OP0LAEgQwqGYcTncew4ipeHEeM8hAOQFwqGY8bl3klAiEJ9zQptKgWgIJUGp1JiZSfjQVCg5MdSEIRyKl7bxq0J0uzhO+DlRME6DqwXZ48V4DKjVCkr0MsnSqPncO64qHsbDoTZW47guadotgNKhdOj6XpHX1YIoT/0ljMMxIFvGwyHFatxZKg4oHUqGDG+lwakfiodC97+ShjsXRUzbb64oS4d4SIgJwbaWAE4hxsRK3mn7eedKvgSG3KF4aZ/zIL6ymPYbia8KVwx4/YusYFtnwSvEd8cUTzX1Isi9FZi2v3ERfP0cwqEISyUmiBdl6Z1HgcE4DqHDBCgUHB6hKlc5nG5xJ40YcFkfaSQKOOvnSIanSZwJstBomBqdMhU2hVIUV/7GS4fammic8kocr90QYqN9Eiiujo3jZdZrgq7dK+6pkwRe0tctVFmqEcFZxXg41NZEIxyWOE6MW0GX0cTOYQTP5HYRqa0V5HG3nQQolZxSyk+i1J5RRHBWkd6+vmHjmpat67HC8+13s/v0fS+XGe7cudW8Re0LF86y4mXKRTDayi1a1WVQ4iSyF+4/sJsO0tjYGFb0RFg5QvW36mLvwXvqtDGjRg9iMlJo4XDT5nWzvp7C5MjR0anXh/3c3T1Z8UIRDEQAu2FW8qgcEdUZWyTNtwqtocX16yJ4emPRcHZ26fPRAFbsdL3SMJAMbSUysqogDeI6Y3OiuMoonFtpPh/R//z5MzTwzz/bf1zyx8WL51atXjb883FTpn4RGvrekMGjjh49uG//3xcuno2Pj6tYocqHH/arWaN2UlJSaJcWvXv179njY2E9arX67dDmnd5+t/8nQ549e7r4hwWXLp9PTU2tU6dBr579/PwC8v6V7t69vfWv9WfOnoyMfBgYUKZdu9BOb78jTEpOTv5y1sSzZ0+WLh3cqePzkbl8mZYt3ur7yfvfffNTtWo1eZ7fsHH1339vi7gfHuBfunbt+h/3GajUVdvfuxdG9a43bl5VKs0CA8t81PtT+htpPP0INIOHh9eatSumTZ3T5I038/o3cJwIb83QXsPlp06B/urfVizduf2Q8DYqKvL9DzrMnD6/UaOmdH36+x8/f7tg6ZRpX4SF3SlTJvjdd3q0bdMxyxpoQ4wZOyQy6tH3i5bv2/d3LoscoVI3lAAAEABJREFUPvwvfVb4vbsODo7BweWHDRnj4eE5Y+b4mJhnC+YvEebp3ecdqlLbsmmv8JamJiUnffrJ0I/7dVv8/W+rVi07dPiAm5t782ataSdU5ichI8at9Xo47WmgOP6oy5cv0Ia7du2yg6NTg/pv0GFYqlQpGj9t+ljKX9IBOHvO1JSU5EqVqg7oP6xixSrCUkt+/O6f3dttrG1atGjr65uPk4P8cPncUFnO2OXKVsjp9MVyOKyyrPDY8cNr1664dv2ys7NrlSrV+/cb4uLiyvJFBKVD4ye2/N5KQ6cn2kdbt26/f+8p+mUtLCySk5O2bl0/buz0zp3eo3hG4SctLW3smGlfffmtv3/ghInDKdrRHk+7/sGD+/TrOXX6OMWqFm+2pTPg8JGfnjt/evjn43/9ea2To/Ogwb0fPLyf96/0/eL5J08eHTZ0zOxZ/6NY+N3/vqYNJkyaN3/G/fv35s39Yca0eXfDbh87rj1T5/JlDFe7ceOaP1b++k7XD9as2taxY9ftOzbT6Z7G0wn3syF9qEJ16Y+rvl+4jL4wnWdpcZpkbm5+5+4t+vfljAXVqtZkeUahV4zN8PlCa/5Bv0xiYsL/Fs4ZPXLSvj0nmzZpOWfudIqXWWabM2/6jRtX53y9yMHeIZdFaHtNnjqadsJ1a3ZMmTQ7KurRt/+bTeNr1ap79dolte7ueNpMNJ4GaAcQVn7x0rnaIfVotTQ8f8FMOrH+s+vohHEz1/35B6WjWH7wQj9CMsIXywPG7j+IGPXFoNS01EULl9EheefOzeEj+qt0jx02MzO7fOXC7j07lvzwO11RWVpY6uv3tmxdv2Xrn3SAL168wsvLZ8XvP7HiwYvxDjeFktN2NJ1nWc7YuZy+cjqsDN24eW3c+GE1a9ZZ/uv6oUO+uH37xtdzprL8EPWtNBSnX6epKS1LIfD993u31F61+VtZWf28dM3IERPocoP+Dfj085SUFDoN0ZxNm7akn/JR5ENhwUOH9tOFSVBQWSpf0tXK+HEz6tVtSHWVAwd8bu/guGHDqrx/h0mTZs2du7hWzTr0iVQuLF+u4omTR2j8kyfRdJrr/n7vShWr0Jo/7T/U0tJKWCSnL2O42vMXzpQvX6lNmw6UUOzQvjOVV+rVbUTj/1y/0sLSctTIid5ePvQnjx41mS5m6XAVfg0qoU6bMqdhwya0FMs7TpQNLVhh3l6RkZFBRQG66qdfqU3rDnQFcOvWdcMZVvz+8/79/9BVFP2wuS/y67IfqORNVyp0DVu5crVBA0ccO3bo2vUrtUPq095IlyM0D11glSlTlnYG2o70NjLyUXT045Baz+/MouDarGlLCo3Vq9eij6MYzPJDpg0yi/xv2rNnp7mZOQVCulCmI27UyEk3b12nMrowNSU5mY4m2hwUGunaNCIiXDhNb9y0hrZX0yYt7O3sqXqAjnRWPLTlMNFVA6hVTPMaT7TI5fSV02FluPili+foJE/1alRqpDP2/Lk/dO/+EZOgHEqHPHv9J+1VKF9ZP0yFxYWL5r7zXtvmLWq/1b4xjRHuAWvUsKmlpaVQJqNP/Pe/vUJpjIIlnZX0uzid+GpUDxFOYXnF81SS6/VRV/pE+kfbLzbmGY1+9OgBvQYElNHPSOFNGMjpyxiieoDTp49TiWTX33/Fxcf5ePsGB5ej8XS2LVu2Ah2xwmxU1vTzDdCfT6lalXYXll+8ru8ikeFZIZ8hK1R4vp/Y2dnTKxX+mG6Lkz17dy1bvoSuiuhnf+UiVKrQjyfly2k3K9W/0SHq7e1LF1hMt19VqVydroupdo7eXrhwhqp0SpcOEhYpV66ifnFbWzthtXkn0+56ivxvunz5PG04OtsKbz09vWh7UWJFeOvnH2hjYyMM00ah14SEeDo8HzyIoNipX4nhtitSCoX2n8zkcvrK6bAyXLxK1Rp0xTluwucUVqmsT5tSX9GaR5w4EkNF2GcpVZkKA1SXNWx4v1o1606a8JVwUd+qTX1hEgWJhg2aHDy0/713e9IJi3b0Vi3bMd0JjgoBFMYMV5j3opVGoxk7flhGRvon/T6rUaO2na3dkGF9hUlx8bH0SvkG/czWVta5fxlDdJVkY1Pq8JF/v54zjfaeZs1aUdrJ1dXt2dMnPj5+hnNaWVsnpyQ//yksLRnkwGg9BJ3vqHpztq5mzMrS6pWLJCYmUm28pcGcwjmUrsPola6r6JzbpXO38+dP9/loAM1Glec0ns65NQ1KFYrXO8/JtO+KIv+b6GCnq9UsB3vMs6fCgNGNQpl+2j2sDY5iqxdHcVHTaJj8nvaT0+kr98NKj6pbKSf13397l/60cPEP34TUqkupxyyXsLkTSWKoOHqlOfDv7vT0dEocWltrd9ksbYMookyZ+sXTp0/+O7iPCuNCkpau2WnmL2d+YzinUpHX+xqozpOuX+bNXUwbRhhDh5ybqzsNONhrL0IpUaGf2XDTGv0yhujgpDpS+hcWdufMmRPLVyxNSkr8auY3NqVKGa6T6Sp5fH382evhxde09jUrS9WafPRwRRXsVCUwe87UZb+sc3JyzmVOofCdmpqiH5Ok26wuztp8fkhIvR9//C4uLvbOnVt0WaZUKh8+vE9vqbD4wfsfsUKizbTJq78evljyOc4urlWr1shy87ZwnOaEii+0EdMMjriUF5eeJur1ylY5nb5yP6wMUR0p/aONSJVnGzauHj/h840bduuLm6/EFW4OpqAK51aa3MXHx1GllhALCVVCGk5tUP8N2rmPHT+0b//f+srJoKBylF+k1K6QbqR/Hh5ewcHlWd7QmY5ehfhHKHTRP2HY09ObXi9dOi+8pTIo5Ypz/zKG/v572927t2mAKmq6dHm/a5fuQuKK6hCuXr1Ea3v+JyfEh9+7q6+FKzBOfL0j5rey1Nzcgi4whTsjyL3wu3lckK483mr79rAhY6go/+VXE3OfmQ48yggKVaACYbiMLvVL+09k1KO9+/6mTDBd3lKVONWQU8qK8tO1a9dnhUR+z/rgdHcRsCIWVKbs48eR1avV0h/sTo7OlEfMZRG67KATguHmFm6IKwaccBunyCjNeMVrXDrndPrK/bDSO3fu9PET2jszqJ6sTZsOgweNTEhMiHocyfKML/QcTIEUWi04lbXpBz1z9mSMLkVnqEyZslTe2vrXBjon0q9GhSqqXH784seiHGHDhk23bl1PMaxZ05bCSCrV1a3bcN68GVTRSuM3b/lzwMAPd+3amscvExhQhjbk2nW/03alUx6lLevUrh+pu6XQzc2dSvHLly+hnDydpmd+OcHwit7olzG0d9+uyVNHHznyHyUOKaV88NA+ykXR+I4du1Ixcf6CL+kLU+idNXsyVfG1eyuUmTyqHqeaEEq1Ml21+ao1y/OzNKOrqKlT55w7f3rdn3/kPmfn0G6HDh/YsGE1bfSz504t/mEB1ZGW1V1C0f5G9TkbNqwSNhahgY2b1pQpE5zv28FNTpGfpN55pwdlNxYtnk/5Jzoqf1z6v4/7dRNufcpF82atqApHuPt39Zrfrly5yIoFL8quadVqpsnnpbPhGTuX01cuh5Xepcvnp0774q9tG6nm78rVS3RkUVz0KPZ+S15foYXDju27UFwZ/cXg23duZpnU4s02H/bsu+L3nyhlSKekoUO+oJzcqtXLF3zzlTBDsybaWzopBBpWiM368tumTVtOnzkutEtL+n1btnyLSmN5+y6MKjknjJ955erFTqFvjp84vF/fwW+//Q5t+959tK0Mx42dXrFilf4DerTv2ISKre3e6mR435DRL6M3csREirUTJo0I7dxi7vwZjRo2HTF8Ao339fGbMnn23bu33v+gw+cj+tOY7779WWg7VXDaFn6Sr3yrWKHywAGfL136P0oO0dbs20fbq1O+btSiSNbrw09++nkRVXXmMlvr1u37fjxo7Z+/00b/es7UalVrTp40Sz+VcoQPHz2o+qKhC9WE09uaNQrzdkSOMdm1PGTFUIVlb2f/y89rKYX/6cCevT7qSpc+o0dNoo2e+1I9e/Rt3y6UrnRpvzp67OCggSMYK4QbAE2H4Rk7l9NX7oeV4L13e7Zv13nR9/M6d201fER/G5tS3yxYmveaUvHgjO5AK74Mp3Rx16Em3bK1xC2feqvzAB/f8sV0j0AeLRp+q/WHPl5B4vpWYvDb9Jut3vcsX8eOFbGdO0MbNx5tZ+fNitiiEepGoe7B1e0ZvLB23l0bO/UHX4grq//LZLWltUWnQa97s0JJ+X3m7eqN+EahxfGrHjv2nY9POz+/1tknSS+Amw5xtmMTRyW/GOnq0GT2SAtelgVeEBsqlWlEkJHN6QFPvAhbvGXR8e1mOU0aM2Zq40bNmMTxnBgfLIizY07EcXNcoeK5vN9ifvfu7aEvmjNlxeXYk0u7dqFUl84KT06nBbVaTbHdTGnkjEdJmVEjX3Gvlp44q2M5BS/p1pDacCPehhacBB6CvWrVXzlNsraSRVUeL9I+v1BgMEqW5ea8d4Xp7x+Y0yGZmpJiZW38kDQ3M2eFKpfTglqlUhpLaOXrO4izKQ2VreTXGrL45VA61HZLw0TOzrbIkzSQnfwecgu5yPsVmVKpzOmQLM5Dtag/S6GQ9oN2IRfGw6HCjGNqnPNKmEieAZaFDKsEC4lCfuVmPGMsG42GV4uvNTAUCuPhUKPiUfQuceJ8QgJupcmJRn7lZu2fg2sfKHKU+KT0JytpuLNUvLhCe5ISAIB46R4aUfL3AiEcipc4s3ScWO8mgKKBjZ2VCPd/hZJXKiW8pUTyvEPj4VBpxomwt0xTI5KHnmSHulKj6HwkxpYxr4GT6zMcX48I21po1Jwad3u8NuPhUI3coQiI5KEnWSB3mBM6H3Hy6iSMl+szHAGMQWUpAOQC1z5gKhAOASBn6HMBTEYOuUNzhQI10SVNoeAUnOha/HIKpjBDO2QjFEoR3CpeqLT7nxLngUyUZpy5uQifd8jMzCV84WJmrhBD5wbG7221sbXgGE55JUyhYA6uFkxkzMyVSfEZDLJRcszF3YrJiJk5S0mScleYRYKzsRddpZqVjZLnJXzG5jje0aXkw7nxfb1sDdvkhHQGJefiv7FURi/lzMSmlL3y1tk4BpndOJ1A5Wa3ANFdvrwOW0dF+GVs60xSk9VVGjCxCajAEmJTmTRF30vXaFilhqzEGQ+HVRvbmlsp9695zKCEXD0ZV7GOAxOft3r7Rd+X6oFXdM7/+yyoui2Tly4D2LNH2NYv7fr1oa0dF1CJiU2DDtonhR/56ymToP82RPoFi6ISIscv0WdqwLNHKTt/fsSgeIVfSV05606Dds5vdBZf2ZAxVx+u6xD/lV/eufBfDAPGHlxPWT37bq2mTi27uzN5sXZg741Q0LY+s+cZM23qdLZ58f201NQP8/okqOLWbyYXcS1u929SOmM/vZ++dm5YYGVNh/5MDDg+15ZSf3wVER+TrjRTZKS9bJaf/eFlCk3naNYAABAASURBVCWnyXzrjeE8wrD2lWV7mqhhM1/9sG4gy6dQIk3fFDLLyvV/RaZFtE2ItS33sqxHaCedvfGcQqFdSZY5tV9boWt+xb/8jozL9JbPPPT8bxU+xfCveP5HccLzQp5/E44ZPldS+5wZjr4HF1zTrsX7rkzEwi6l7F4dpc5QK8yU6akq4zMZbMcsv0OmubQ/PJd9F8oyQ9b1ZP4UxpjRGfRvOS7rRtfPL8iyu+qHGcu6Wv2wmTmn3VwaVqaKXesP3Vhx2bkztHHj0XZ23qxYPLjNdizj1em8woxLT83aHln/E2UZaeS8IvzURjYBr3tysuHGyjZG6KQp69FksHF5I69ZFsz0ajBe+2BRnstyJtEdptpRdOYxM1eoMnhHN8UHY5jIrZjJkuI0tKUy0jJtKYWSaXSncMPdPvOvp+sFi890hOrPV7kfFMLJ2XA8Mzj3Ch+dZVVmFtrTH6/hfcoo3x5QrLcmHTv2nY9POz+/1tknvSIcaqnZ6f3xyYmGdSZZT2m6k0KmH5J/cf7RTX4ZI7J9nELfMSfHcTyf44lNqVCojcZDw+9jMD4+Nv7q9av16tXLfoLknj+9KtM3USgVutNxDufLTOfCl8vS6fDFg5Kzn5W1s738o54fwbq/l3+xKpbpRKI0U7r5WJetacMk4sGNtIibSRkZOYVDw+2Y+WLHENXyaHi6HNFo+FevJ/PSDx48jImNqVK5sn42gx9cvyx7vj8yZiRUci9O0i+nGF7kKLRdIWT7XIGZudLJzbpC3eLeXsUcDgUPb7F719UZGUa2UdbfnLFsG/35WN0rn2kEb3gO4J/P82KM/tiNjU28fv1uvfpV2PMwyfEGG0X3kGJjlzOZ3xouxb+4tNUOPX/KsdAJD5/lm1KktHFQ1nqTSYU6hZ39j6WkZDoq9ZebL38ElumSQTeeZel6Qbjae/7Uy5c/MK/rX9Rg5PPt9WI7cLqhFz+7guM0usub589H0c5Dl79KBzeuSn1W/HIJh3m4RUrJQlraM2bPJOX8+UcbD24eFdqRQZHxKWdJ/1jJ2bjxUEzctTdCmzMoYt7B9K/E7l08c+bhX0c2j+pUk8GrKK1Z7TYMbcoLQLY/mUqlMjPDDiFz2MomQqVSm6G1KxQxhEOQMNrK5ubmDOROt6FxOEPRQjgECcNWNhEoHUIxQDgECcNWNhHY0FAMEA5BwmgrK8XQ1yEUMZQOoRjItkNChENTgK1sIhAOoRjINhxmZGTgJgvZw1Y2ERkZuO6BIofKUpAwbGUTgQ0NxQDhECQMW9lEoLIUigHCIUgYtrKJ0IVDbGgoWrLdw5BVMgXYyiaCcodohg9FDaVDkDBsZROh29CoLIWihXAIEoatbCKQO4RigHaHIGHYyiYCuUMoBgiHIGHYyiYClaVQDORcWYqbLGQPt9KYCNxKA8UAuUOQMGxlE4HcIRQDhEOQMLUaKSWTgMMZigHCIUgYtrKJQOkQioGcm+HjRCl72MomQncrADY0FC2UDkHCsJVNBEqHUAwQDkHCsJVNBDY0FAPZ7mEODg5WVlYMZM3Ly8s0G1ocP/4/pdKSmYzk5AdXr0ap1X8xgNcTH//Ax6ed0UmyDYdPnjxRq9UMZO3evXvM9NSvP0utTmOmZO3ab/39W1StWpUBvDY7u0Cj41H/ACAxTk4VmYmxsLB3cAhyda3BAIoMwiEAAADCIQAAAMIhAAAAQzgEAABgCIcAAAAM4RAAAIAhHAIAADCEQwAAAIZwCAAAwBAOAQAAGMIhAAAAQzgEAABgCIcAAAAM4RAAAIAhHAIAADCEQwAAAIZwCAAAwBAOAQAAGMIhAAAAQzgEAABgCIcAAAAM4RAAAIDJOBy6u7tv376d47gGDRoolUoGchQYGMjzPAP5un79+unTp+Pj4x0dHRlAUeLkejZJT0/ftGnT0aNHjx07VrNmTQqK9evXL1euHAO5oF23bt26J0+eZCAvQggU+Pr6hoSENG/evEaNGgygKMk2HBqiMyYFRQqNT58+paDYQMfBwYGBlN28eXPy5MmrV69mIH3ZQ6CgVKlSDKBYmEQ41KNwKMRFevXy8hKKjLVq1WIgQbt27Tp06NDMmTMZSBNCIIiKaYVDQ1evXhXi4uXLl/VFRh8fHwYS8f3339vY2PTp04eBdBiGQDrcateujRAIImG64VAvLS1NX2QUbr0RoqO5uTkDERsxYkRoaGiTJk0YiFuWEKgvBdra2jIA0UA4zCQiIkKIi/RarVo1IS5WqFCBgfh06tRp8eLFKNCLE0IgSA7CYY7oMBbiYmRkpFCVStHR2dmZgQikpqa2bNmScocMROPGjRtC/Dt16hRCIEgOwuGrxcbG6ouMbm5uQpGRch4MSs6lS5fmzZu3fPlyBiVKHwKJl5eXEP/o6EAIBMlBOMwfqgIS4uK5c+f0RUZ/f38GxWvLli0XLlyYNGkSg2JnNAQSOzs7BiBZCIcFpFKp9EVGtVqtvzfV0tKSQdFbsGCBp6fnBx98wKBY3Lx5k6pAEQJBxhAOC8GDBw/096ZWrFhRKDJWqlSJQZEZPHhw796969aty6DIUAjUlwI9PDz0jSIQAkGWEA4L2dmzZ4XQSDFSKDLSq6urK4NC1bZt25UrV7q4uDAoVFlCoL4UaG9vzwBkDeGwqMTFxemLjI6OjkJVKkozhYJ+265du+7Zs4dBYUAIBGAIh8Xj1q1bQlw8efKkvpl/YGAggwKhs/bSpUt//PFHBgVF+6S+UQRCIABDOCxmGo1GKDKS1NRU/b2pNjY2DPJs3bp14eHho0ePZpAf+hBI3Nzc9I0iEAIBGMJhCYqMjNTfm1q2bFmhyFilShUGrzJr1qzy5ct36dKFwasYDYEET3QByALhUBTOnz8vxMWwsDB9kdHd3Z2BMf369RsyZEj16tUZGHP79m19owiEQIA8QjgUl8TERH2R0c7OTn9vKjN5//vf/5YtW6ZUKp2cnGJiYnx8fLZs2cLgBQqB+lKgq6srQiBAfiEcihed4IS4ePz48Xr16glxMSgoiJmks2fPjh8/Pjo6Wj+G1zlz5gwzVQiBAIUI4VAa9G02EhIS9Pemmlq3kJ07d46IiNC/pV23QoUKK1euZKYEIRCgiCAcSszjx4/196YGBgYKodFEsmgzZszYvHkzx3HCW8qtUg1qcHAwkzuEQIBigHAoYZcuXRKKjDdv3tQXGT09PZlM/fvvv5MmTUpOTqZhGxubQYMGvf/++0ymDEOgi4uL0CICIRCg6CAcygFFCH2R0crKSn9vqkKhYDISExPTp0+f+/fv03CrVq1mzZrF5CV7CBQ4OjoyAChiCIdyExYWpr83tU6dOkKRUTY1isOGDTt06FDp0qXXr1/PZAEhEEAkEA7l7MSJE0KRMTY2VigvkqKqbVOzg5ue3r+TnJyoVquZRqVRZWg4BeM1jJJ92r2M4xmvTfspFJxGwyvNOLVKu+89n4fKsbx2Nk7B8Zrn45+PYbrldPspT9N4XqFQ6tbDNJrnH04jNOqX34XyizSb8LkvFn3JzFxbbDa3UdrZKf0qlKrX1okVrzt37uhDoLOzM0IggBggHJqEJ0+eCEVG4uPjI4TGmjVrssJwdPuzy8fiU5NUZuZKpbnSopS5hZU5p+DVFKyexyJdRNNwvJLi2/PoqGCcRpgmhC6Kgrw23HG6sEnjFRzTBjuan9f+T/gs3X00L/ZZg3hI8U2jj43az3see7VRmD5XkWknp8+i4J2eok5PSVelq3k1b+to3rCdS9mQUqzIGIZAJycnfQikYQYAIoBwaHKuXLkiVKVevXpV38yfYqTRmWlqp06dxo4da3TqxSMJhzY/pjBk51LKv4Ybk6a0ZPWDS9GpCalWNsqeXwRaFF7rFYRAAAlBODRdaWlpQlUqRUelUqm/N9XMzEw/T61atczNzZs2bTpnzpwsi6/6OiLmcZqzn4NXeWcmCxHnHsc/SSpbw771h8a7x0tNTf3kk08ePny4d+/enFZy9+5d4TERCIEA0oJwCFr37t3T35tao0YNITSOGDEiKipKmIFqVn/66Sf9/D9NuMuZKYPr+zDZuf7fPVt7ZY9x/lnG37p1a+TIkfRD0fUBJWUNJwkhUECpWX2jCIRAAAlBOISsqGQjFBmvXbumb/NOmbmgoKAVK1ZYW1v/MjnczNIioJZsexi/diDCr7xN+49f/oH//vvvggULHjx4wHQ/xZkzZ7KHQIGzs0zKygCmBuEQckQ1pYYtF9VqtZ+fX/vK39k62fhUdWWyduvoIysbvudYPxpeuXIlXQc8ffpUmETh0NXVFSEQQGYQDsG40NBQocE70wUAerW0tHynzmJ7B6eyDf2YCbj2b3hAhVKXolds27YtKSnJcBLVgu7evZsBgIyYMQBj4uLiKEnm4uJCtaM0QDWlZew6pETbm0gsJBWaBlzaffe/66dUKpVwQaAvK8fGxjIAkBeUDiFHa9euLV26dGBgoPAg4kUjbvlVcnfwKcLGeWITfvpxalJyUIu7x48fv3LlSnx8PAVCKinSUXP27FkGADKC0iHkqFu3bvrhzT88VJorTCoWkoAQ9yt7w3ztG7Sc0JLePnv2THjQ/Pnz5xkAyAvCIeTJ/VvJXkEuTKzmLuxeJrBm145fsMJmZWd15K/HFeqWpmFnnTp16jAAkB1ZPfEAisj5Q/H06lLanpkev6ruSUlqBgByh3AIr3bxYIyZuZKZJHNrBcfYvxuiGQDIGipL4dXin6nsXG1Y0VCrVTv3LLl643BsbGTpgOoN671bqXwjYdKUWW3atOiflBz7z76fLS2sy5et3+mtEfb22iaPkY/vrNkwPSr6bnCZkJZNP2ZFycLK7P7NFAYAsobSIbyaRsM7ehZez9aZbdo27+DR1Y3rvTt+5Oaqld9csWbshUv7hElKpfmBQ39wnGL6uH++GLrubvj5v/drO4pTqTJ+XvG5o4P7F0PXtm/9Gc2TkPCEFRlLW8vkeNSXAsgcwiG8moJxts5FUjrMyEg7dW77m2/0blC3Sykbh3ohb9es1mb3gV/0M7g6+7Zs2sfa2o4KheWD699/cI1GXryyPzYu6u23hjs5enq6l+ncYVRKagIrMpalzFQqDQMAWUM4hFfQpGsfMMgVTbV6xMOrKlV6ueB6+jFBgbUeRd1KSo4T3vr6VNRPsra2T01LpIEnTyMszK2cnbyE8fZ2ro4OHqzIcGZKtM4FkD3kDuEVhIfSs6KRmqINb9//3D/L+ITEp1RY1A1y2ZdKTom3sMxUWjU3s2JFhgrHCgXHAEDWEA7hVSy0z6BPT2EW1qzQCffFvNNpnKtzpr7fnBw8c1nKxto+LS3ZcExqWhIrMhlpaoUS9SgAModwCK+mNFMkRCe5+Bd+lzRuLv7m5pY0EFwmRBiTkPiM6mYtLXNLVTo5emVkpFKdqpdHML198OhGfEIRNoRIS0qzKMLCJwCIAq554dUsrRWJT4uk+EVhr3XzT3bv/+UlsGAaAAADLklEQVRO+LkMVfqFS/uWLh+ycduc3JeqXLGJmZnFn5tnpaenxsVH/7Fuos3zmtUikZ6isnc2ZwAgaygdwqu5eVs+uJvGikbzNz709iq3/+CKm7dPWlnZBvpVfbfT+NwXsbay7dtzwfZ/Fk388k0Lc6v2rT87c+HvokvuqdLVFeqIt4M6ACgUeKIFvFrMI82qeXcqtyzNTE/sg8SH158OmluGAYCsobIUXs3JS2Fpo7x3/jEzPdF3Y9x8LBkAyB0qSyFPajRxPvFPbj2//PL7iLv3jD/2SK1WKZXG97T3u0yuUrEpKyT7/vtt38EVRidZW9qm6NosZjegz/e+3hWMTmIaShyq3/08kAGA3KGyFPLq54l3LWyt/au7GZ0aH/9EpU43Oik9I83C3HgBy7aUs0Xh3bWZkpKQU/c06empOX2QnZ2ruZmF0Uk3DkU4uZm/+7kPAwC5QziEvMpIZUsn3q7cIpCZhidh8U/CYgZ8jawhgElA7hDyytyKVaprf+3APWYaHt969t5wPwYApgHhEPKh+Xtu7n6WphARr+wLq9/exdkTzQ0BTAUqSyHfzu6NO7EnpnwTeZacKAF67b+w3hPK2Dqjn1IAE4I7SyHfarZweBCWcnlvmGewi0uAHZORiIvRCY+TmnV1RywEMDUoHUIB3TqfvHtlFKfgfCu52bpJvk/Px7djn92PNzPn+s0IZABgehAO4bVsWfzo/u1khYKzdrL2CnKytJdYsi0hKiU6Ii4tIY1jfMV6Dk27ujIAMEkIh1AIdv8RHXY1MT1VwzhOaUYvCo7j1KqXuxbPaf9n/C2ne6CiMEY3/HI2puEYrYoJO+nzAU77/+ezvZif0+7IL9f/ck7dSP0anlNwCqbR0EQ1fWFm62heoZZ93bccGQCYMIRDKEy3L6SEXUlIjldnpGvSU1T68QozhUal0b+lcMlreMNhw1fdWF2c071ySo5X8wZLUbRlwmz6+RXmCk2GRjeGJr1Yp1IbBrVvhTW8iJ3m1uZWVgo7Z/OyNe28SlswAACEQwAAAIY7SwEAABjCIQAAAEM4BAAAYAiHAAAADOEQAACAIRwCAACQ/wMAAP//EKcxRwAAAAZJREFUAwAOAqzCIuGYSgAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAHiCAIAAAC/SPU4AAAQAElEQVR4nOzdB2AT1R8H8HdJN910UjqAAgXK3kOGLNllyFAEFUREENmIIFsQEFFZ4gBRpmxB4M+WIYjsUTYtZbRAW7pXkvv/kishbZNC993l+/nzr5e7yzXNjd+993vvnQXP8wwAAMC8WTAAAACzh3AIAACAcAgAAIBwCAAAwBAOAQAAGMIhAAAAQziEopXGTh2KfRyRlpKgykjXqNJ4xjHG8UzDMQVjGsZx2kmOJhTa1bW9fnjttLb3j4YxBU8LeWGC/sdrJ3Rv0K7GcxqF7m3azkI8xykZr85cQbsFzfOVCaf9RZnb5LTr6zbxnH41HQsrTmmpsLJWupe1rt7UydlDyQDADHDodwhFYevSh48jUjPSeEsrzsZOqY0xFlx6iloXDrVhSaFgGm3E4rShTcNzCu1/tTGMCaGRoiCvUHC8bimjkEQhTDvBMTWFPu1xywmbYrrQqA2imW/R6Lam3aaS49W6w1sXDrUrajJ/u2E0zIyjz1laK+iDpadqUpPVqgztb3F2t+z4no+rF+4dAeQM4RAK2bp5ETFRadZ2ykq1HZv3KM0k7r99sZf/iUtOUFtZK/pPDLCx5xgAyBHCIRQaihyn98XYO1v2/MTXTnZhY9N3DyLDUnwDS3Ub5s0AQHYQDqFwbP7u/pMHaZ3eL+tb2ZrJ109T7lI17/vTyzEAkBeEQygEx3ZE3zyT8N70AGYGti95FB+X/s4kfwYAMoJwCAW1fn5EapL63WkBzGxsXxb5OCLlgy9RRgSQDwUDKIA9v0YmJ6jMKhaSbh95uftar559jwGAXCAcQv7FRKlvX0p6f4Y5FpJCPiqTlqQ6sO4xAwBZQDiE/Nv83b3KdRyYueo7yj/0dDwDAFlAOIR8OrEzRpWuafOWBzNXDu5KJzer9QsiGABIH8Ih5NOlE8/KVzffoqGg07ve0ZFpDACkD+EQ8iM2Sq1O49sPKNai4caNG6dOncrybuLEidu3b2dFwLWMpaW1Yv8aZBABJA/hEPLj2LbHNvbFPYbn1atXWb7k+42vwtvf9t6NJAYAEodwCPnx5EGqexkrVjTCwsKoPNe2bds2bdqMHj36/PnzNHPIkCE7d+7ctWtXvXr1rl27RnM2bNgwfPjwli1btm/f/rPPPrt//77w9vXr19Ocw4cPN2jQYMGCBbT+w4cPZ86cSWuyIhDc2CktWcMAQOIQDiE/0tI0/lVLsSKQnp5OkU+pVH7//ffLli2zsLAYNWpUamrqihUrgoODO3Xq9N9//wUFBVGMnD9/fs2aNSngTZ8+PSYmZvLkycIWrKyskpKSNm3aNGPGjN69ex8/fpxmTpkyhQIkKwLlqtvxPB/3BBERQNrwzBrID17NAoLsWREIDw+n2NavXz+KefRy7ty5Z8+eValU2VarXr06pRL9/PwoXtLLjIwMippxcXFOTk4cx1H4HDhwYP369Zk2chd5UxeFUnHvWmJ1d0cGAJKFcAj5oeF5R/ciqVqgCOfi4jJt2rSOHTvWrVuXyn9U25lzNSo+Uu3o119/ffnyZSoLCjMpjlI4FKarVavGigun4J/FZjAAkDJUlkJ+FN3Tm6ytrX/88cdmzZqtXbt20KBBISEhf/31V87Vjhw5QmnFqlWr0sqnT59evHhxthWoypQVG57jUVcKIHEIh5AvHJcQW1QRICAg4NNPP925c+fChQsDAwO/+OILoe2Moa1bt9aqVevjjz+uVKkS1Y4mJCSwkkOx0MmpGKMvABQBhEPID4WC3b+ZwopAWFjYjh07aMLGxqZ58+ZfffUVZQdDQ0OzrUZpQg+PF70eDx48yEqOWq3xqWTDAEDKEA4hPywsubuXE1kRoDg3Y8aMRYsWRUREhIeHr1y5UqVSUQaRFvn6+lKmkKpGKUdIhcKTJ0/+999/tHTNmjXCex89epRzg1T7SoFTvzIrbJF303jG3HwsGQBIGcIh5IeLu3VkeDIrAhT5Jk2atHv37u7du/fs2fPcuXPLly8vX748LerRowfVi1IF6c2bN4cNG9akSRNKHzZu3DgyMnL69OmUR/zkk0/27NmTc5vvv/8+BdExY8akpBR+ifb84WfWtkoGABKHx/9CfoRdTdn504PhCwOZ2ftp8l0vf5vOH3gzAJAylA4hPwKq2iotuaNbo5nZS01SIxYCyAD6HUI+VQi2v3Ly2WvdS5taYezYsZSuM7qIcnhC9/mcpk2bVkSjqRFTW1ar1VRNYuoj7d+/39SijQsjHF2RNQSQA1SWQv4tHXurXrvSDdq5GF0aHR1takQYmm9tbW10kaurq41NUbXSfPjwoalFuXykMmXKmHrX4tG3Hlitf/I0bMqUKf7+/nfu3PHx8TG1HQAQM5QOIf9eC/E8uu2xqXBYunRpJjK5BLZ8WDU93Luc3QdDxoWGhgohfP369bt27Vq9enWFChW2bNni5ubWtGlTpRINbQAkAKVDKJD1C++np2QM+LwcMzOH/3h641zCkC+N/OHp6elWVlYbN248efLkuHHjvL29J0yYQKFx5MiRND+XYigAlCCEQ8iPpKSkUqVKPXv27IMPPmjiM9mvvFvPT3yY2Qj9J/HQlqhh8yu84vqXL1++evVq586d7ezsWrdu7ejouHXrVkpYHjt2rHLlyl5eXgwAShrCIbyq5ORkKtZwHNe/f3+a3rZtW2Ji4pMnT8qVK/fHN/fVKtZ3XFlmBv7ZGXPhaOzQr141FuYUERHh6+tL4XD8+PGUzly3bl1cXNwPP/xQq1atdu3a0SlJXzIDgOKFcAi5oXo/lUpFZRqq6Dt37ty+ffuouu/mzZuVKlXKtuaqGWF0OL37hT+TtQ0L78dEpX1UgFhoFH3JlGuke4uPP/44PDx89OjRLVq0+OSTT+Lj4xMSEnx8zKjkDVBSEA4hOyq10CXY2dl57ty5O3bs2Lx5M2W/bt26FRj4kk73O1c8Cr+WFFDVodNgTyY7J3bGnDsUY+9sOXBKkYd8ioiRkZENGzakCboR8ff3//bbb+/cuXP+/Pm6devSSwYAhQ3hEDI9ffrUzc3tl19+oVq7n3/+OTg4+Pbt2xUq5K0YFPdE/ceie2lpancf29e6untXkPxzHtJS+ANrosJvJNGJ0qBd6XptnVmxE1rfREVF0d6xt7cfMWIEJR3//PPPTp06NW/eXMjjMgAoGIRDs0ZFEC8vL7qwzpo1a86cOa+//joVRwpe+Lh1MeXEzieJ0RmcktnYKe2dLUo5WtK0Kl2tX0ehZJoXr5g2W0YHoyZzWn9YKhTaaf1BymvXYpxuMCVaWaFgGg29VPDa/+jeqNGtSqk3Xv+LFBr1i2dRcYrMdZQWCrVKo5vDDJ9WaGWtUKtZYpwqLUkTF5NOK9s7Wlau59ikiysTDcrdnjx5kv7eVq1a7dmzh8rxH330UZ8+fa5du0axs1q1aqbGDQAAUxAOzc6DBw8oF/XPP/+MGTPm008/7d27N82hoFgU3eMuHo6/cy0pMTYjI1UbkjLSDMMSBT+DBiOcLtIJsUx7VGYuoiip0b7g9KuxzIYmwjoUB3kKmcIDiWl+zsPZcGvMIFAqlLxGzWWZpWNhReGVlnJOrlae/tZNu4qu92ROVEB89uwZ7dYTJ05QyZ7yjgMGDNi1axftWSpBIvUI8CoQDs2CUOa7efPm4MGDe/XqRbVtjx8/puxgsT4yvghs27bt8uXLkydPZpAD1XUfOHCAKr2bNGkyf/7869evjxo1igqOERERHh4e6PsIkA3CoWyFhYUFBARQ2KM6tGbNms2cOZMKEJaWlnLKM1EZlzJqISEhDHKVnp4eGhpKN0B0V7RkyZJ169Z9++23devWpRKkra1t06ZNER0BEA5l5d69e1QzRvv0jTfeCAwMXL58OSWZ1Gq1g4MDAzCQmppqY2Pz119/HT58+L333qtSpQrdMFHG8eOPP3Z0dMTQOWCGEA4l7+HDh3T9sre3f/vtt1NSUv744w/KrcXHx1NRgMkdhX+6cFesWJFBgd26devChQuUd3Rzc+vXrx8dS7/++quTkxPlI6lMiQQkyB7CoSRRDaFCoXB3dx8/fvy1a9dWrlxZunTp6OhoEY6aXaRWrVqVmJg4fPhwBoXt/v37dIBRGXHq1Knnz5+n2yzKNM+ZMycoKKh79+4MQHbQGlsyKNpRzaevr+/ChQsPHDhAuR8hHNK9vLCCucVCQt+GRqNhUATKls0ccm/69On6mZUrV759+zZN0F1I//79Kfs4ZcoUqnelgxPFR5A6lA5Fjeo8nzx5UqFChbVr165evXrGjBkNGjQww1IgiNCDBw/Cw8ObNGkSGxtL2Ueqrv/999+p3uL48eM1a9bM6wAOACUO4VB0kpKSIiIiqEqKioCzZ88eO3Zsx44d6Yrj4uLCICtKd1laWmLQMjEQWt/ExcUtXbqUiuyff/755cuXqRq/devWdABTJtLW1pYBiJhy2rRpDEpaenr6lStXPD09L168SHVQXl5edH9NRcAPP/xQaCeCS4lRlDukG4Xq1aszKGnCODg2NjavvfZa8+bNadrJyalUqVIUGgMDA8+dO9enTx86zuvVqxeu4+rqigcjg6igdFhi1Gr1hQsX6tSpExkZ2aNHjzfffHPUqFEYfzJPduzYQalTqq9jIHpUfHz8+DGley9dukSZ7ypVqowZM+bo0aOhoaFt27YtV87sniANYoNwWNzoNrlGjRp0y9ysWTOqR/ryyy/RxwvM1v379//66y8/P7833nhjxYoVJ06c+Oijjxo2bEiJSWdnZ9waQnFCOCwOVAVK+S2qO+rQoUPZsmWXL1+uUCjwiNeCE0Za8fb2ZiB9VF9CO5RuDSlBsHbt2h9++GHy5MlUcDx48CAtbdy4MVIGUKQQDovK1atXKf75+Ph88MEHdJ4vXLiQLtx40HnhmjJlCtWU0k0GAzlKTk62s7M7fPgwlSBDQkJoX1MtK80cNGiQh4cHmudA4UI4LEzXr1+nYh/d286YMePWrVszZ86kQiHFQjQZKCJr1qypXr06VT4zMA9hYWFnzpypV68enVmffPLJ3bt3ly5dSvnIU6dOUSUBVboygPxCOCwoOiGTkpKCg4N//PFHuo2dMGECXZ2RDgQoBo8ePXJwcLC3t//mm2+OHj36/fffU30M/fT09OzZsyduQyFPEA7z4969e1FRUfXr19+1a9eqVauGDx/eokULhMDid+HCBbr86cflATMnJCP27NlD2fphw4ZRmOzVq1dAQMCCBQs0Gk1ERAS6qEIuEA5fFd2H3r59u1mzZlRXM3v27Hfeead79+4IgSVrxIgRb731VuPGjRmAMXTaUgqjZcuWKpWqb9++CQkJe/fupeocupGtpsMAnlMwMO3x48cHDhxguvGohgwZcuPGDZqmZNWWLVuEUYwRC0sW7QsPDw8GYAIlFCkWMt0oAZs2bdq5c6cwHR4e/vvvvzNdT48xY8bQIqbrGcnAjKF0mF1sbOy///7btm3b9PT0igeWBQAAEABJREFUHj16tGrVaty4cXRrKQy6AQByolarjx8/Hh0dTTe4dL/7/vvvd+nSZcKECZGRkXQTXLVqVTReNR8Ih1pUeXLq1Kk6deo4Ozv37t27YsWKs2bNovnoFCFyVHEdGBjo5OTEAAoDFRApCpYvXz4sLGzOnDlU9zBz5sxz586dPHmyefPmqFyVN/MNh1T4o0Oc0ux+fn5C1v2LL76gnwykgzK4kyZNqlKlCgMoMk+ePPnzzz8dHBzefPPNbTpvv/02VSBFRUXRFQND58iGeYVDqhihUiAVJuguj4JfYmIi1Yp4enoykKZvvvmmX79+Xl5eDKBYaDSa0NBQ+kl56127ds2fP59upqlK6cSJE3Q9ady4MUVNBtJkFuGQcoH0ZzZs2HDx4sU3b94cMWIE1bAxAIACoyhIZcTTp09v3bqVKlTfeOONX375hWpcBwwY4O/vn5qaamNjw0AKZBsOKR1IUbBVq1Z//PHH4cOHBw0aRKlBBvJy/PjxunXr4nIDovLw4UOKjhUrVqxaterUqVMpwz1v3jyapkpXd3d3BmIl23A4ZcoUujUbPHgwA/mi/Ttz5kwM4Q1iFhkZaWVl5erqShnH5cuXozZVtGTbeaBPnz64Ssoe3YCjaAgip89tW1paoiW/mKGjBQAAgHxHpfn555+vXr3KQNYod5iamsoApODBgwcajYaBWMk2HF6+fDk6OpqBrH311VcxMTEMQArefffd+Ph4BmIl29zhoEGDkDuUvaZNm2IMLZAKHx8fhQLDRIsXcocAAADIHYKUIXcIEoLcocghdwgShtwhSAhyhyKH3CFIGHKHICHIHYoccocAAADIHYKUIXcIEoLcocghdwgShtwhSAhyhyKH3CFIGHKHICHIHYoccocAAADIHYKUIXcIEoLcocghdwgShtwhSAhyhyKH3CFIGHKHICHIHYoccocAAADIHYKUIXcIEoLcocghdwgShtwhSAhyhyKH3CFIGHKHICHIHYoccocAAADIHYKUIXcIEoLcocjJtrKUcoeVKlViIGuUO1y+fHmZMmWYOYmKOqVSJTOQmgEDpi9ePNbRsRSDEuXqWs3W1iPnfNmGww8++MDT05OBrLVv394Mc4dnz86xsyttYYGkqcT4+VlGRPxZqpQlg5ITG3uzZs0xvr7tci5C7hBAYnbvDmnWbJyDg3mViQEKxcmT3/r4dDQaDpE7BAlD7hAk5NGjJ2q1moFYod8hSBj6HYKEfPTRDIqIDMQK/Q5BwtDvECTEz8+LgYjJNhwGBwczkLsJEyYwANHbunX/7Nk/nDy5zsJCtpdcGUDuECQMuUMQrdu373Xu/JHhnMePozMyVAzECrlDkDDkDkG0rl69nW3OZ58tun79LgOxkm04pNxh1apVGcgacodQEKmpafXqvXn2bGY10p49R+nlxo17hJdhYQ/o5eXLN2n6zz8PvfvupGbN+tPPtWt36vunJSYmLV++YeDAz2hRSMiIb775lbZJ82nm9OlLIyOf0hbWrNkprOzm5jxr1g80p0ePT7ZtO6D/GBcvXh8+fFarVu/SfNpCUlLmGAvr1//Vvv0Hhw//26BBH/1GoOjINhxS7rB06dIMZI1yhy4uLgwgX2xsrD093SgaCS/Pn7/m5ZXlpb29XdWqFShMUmwLCiq3Y8fijz/ut3btrq+/XiWss3797lWrtr3zTtdFiyaOHNl/375/Vqz4g+YPHdpnwIButLX//vvj7bc70xzKGlIM/eSTt5cvn1qtWuDcuT9FRmpbmUZEPBo2bCYF0ZUrZy9YMO7mzfAhQ6apVNo6VSsry6SklE2b/jdjxvDWrRsyKGLIHYKEIXcIBVS/fvDly7eE6bNnQ7t0aUU/hZcUDhs1qqlQKLZtO1i7dpWJEz9wdXWuX786hToqQcbEPKN1+vfvsm7d/DZtGterF9yqVcN27ZqcOHHO6C+iCNe2beO6davRmh9+2JteCr939+6jlpYWFAgDAnzKl/edMuUjqlA9fPg0LeI4jsLkwIHd3njjNS8vdwZFDLlDkDDkDqGAKByeO6eNf8+exd+5E9GrV7unT2OFchuFwwYNqms0mgsXrjVuXMvwLTTz3LlrNE2R7J9/zg8YMLFRo35UC/r773/GxMSZ+l0U+U6fvkwTLi6OTFdVSz8vXLhOhUVnZ0dhHW9v97JlvYSPJKClDIoF+h2ChCF3CAXUsGGNuLgEShPeunWvcuVypUs7V69eiQqITZpY378f2aRJrfT0jIwM1dKl6+if4RuFsPf992soCzhy5DuNG9ekAtySJWu3bz9o6nd5e3tQ+GS6Yp9+ZkJC0tWrtymUGq4ZHf1MP01VpgyKBfodgoSh3yEUkJubS4UKfpQvvHEjnGpEaU7t2kH0UqlU+Ph4ClWUdna2nTo1b926keEby5b15Hl+8+Z9b73VqXv3NsJMim25/K5x497L2e+QPkCtWkFUAWs409nZgUGxk204pNxh48aN0bhU3ih3WLduXRsbGwaQX1T5ScXBmzfDBw3qQS8pOH3//VqVSk2JQ2GFSpX8Kc5Rzk94SaXFBw8ee3q60URKSqqHh6swPz09/e+/z+Tyi6hAaW9fys4uy+FasaL/rl1H6tSpSklKYQ7V2fr5oWarBCB3CBKG3CEUHIXDM2eu3LgRRoGQ6cLh3bv3T526SIlDYYXhw986fPg01YJSyvD8+dDPPls0dOh0qkS1srIKCPDZseMQVatS6nHGjGX03vj4JKGnBIW0p0+fHT78b3j4Q2E7VJV68ODJbL/97bc7azT811+volQirfndd7/36TOGam4ZFDv0OwQJQ+4QCo7C3qNHT/z9y7i6OtNLKsCVL1+W5lCYFFaoVavKmjXzzp0Lbdt28LBhMxMTkxcuHG9tbUWLvvzyUxsb6169RoWEjKDtUOC0sbFq02bQw4ePmzWrQ9Fx7Nj5e/ceE7bj4VFaeJchR0f7DRu+trW17t9/Qs+eIykwT5kyNCioPINih+cdAkgMnncIkG+5PO8QuUOQMOQOQfzat//gyZMYKnhwHEcJQqpxpWmqZd269XsGYoLcIUgYcocgfu3aNaFAqFQqhcYy9NPKyrJfv44MRAa5Q5Aw5A5B/Pr371K2rKfhHD8/727dWjMQGYxZChKGMUtB/Dw93Tp0eE3/kkqKHTo0z9mmBkocxiwFCcOYpSAJ/fp18vX1EqappNizZzsG4oPcIUgYcocgCU5ODp07t6D0IU23bdvEycmegfhgzFKQMOQO4VWo09mJnSwpXpORkaVfmULBNBrtBKdgHHs+zVi2zmdKC47XkBcDjdL6vEY/TUt5o+/ktMUN7VL6RW6qru1rVVSr1R6aoD9/VGeuwDGe45mGUyh4YfsKBafR8AZb4HVbYMIK2vV5ZuRjaBdotKWb5x/ScDsvNq5kdnbKmq8xVx8GOWHMUpAwjFkKL7VuAYuN0lhZKTU8p87gsixT8Jnxg8sMKMJ0jqhGC5T6+Jd9HYpnvOL5RNbt02YpfvEKXdxSeDlqh7l5Es5l2Q7Tvksf2HQThitowyGtkrlCtl/x/GPQPI5+i/aXcc8/M0+/8fl05sYpLiqtuOtn1TYO3LtTsn5UQL9DkDT0O4TcbVrE0lMs3pnsy8DAnpWRv0xNfn86ImIWyB2ChCF3CLlYP5+lp1v1+ASxMLs33vNyL+OwchqGJMsC/Q5BwpA7hFzERGm6fIgsmXEt+7qnp/LX/mWgh9whSBhyh2DKqd3MwgqVgbmxsbO4eVYT1ICBAP0OQcLQ7xBMSYrTaFQMcqHSaFKS1AyeQ+4QJAy5QzBFo+HVauTGcsOreZWGgZ5sK0sHDx6Mfoeyh9whQAFwDDcMBmQbDqtVq8ZA7pA7BMg3jmMK2dYP5odsv4yffvrpypUrDGQNuUOAfNPwnAb1yQZkGw4pFiKrJHvIHQLkm4LjOSUa376A3CFIGHKHYAqnHXcNRZ/c8MgdZoXcIUgYcodgCs+/GMATjON5HuHQAHKHIGHIHQLkG5UN0ZTGEHKHIGHIHYJJuodUQC6oslSDfocGkDsECUPuEEzhdP+DXHAKTqlEbekLyB2ChCF3CKZo82IaxMNc8UyDr8gAcocgYcgdgkkKjqFlaa54bbtSfEUvIHcIEobcIZikyfFsesgGjW+zkm04pNwh6ktlD7lDEK2t2zbO+Woqy7vpMyb+tXs7KxacAqXDF2QbDikWurq6MpA1yh26uLgwAPG5fj2fD5jL9xvzAelVQ7JtSkO5w8aNG6OAKG+UO6xbt66NjQ0DKCH37oWtXLX8/IUzPM9Xq1ajb+8B1avX+nT0kAsXztLS//1v1w/Lf69UMWjL1g0nTx4NDb1sZW1ds0adQYM+9ilTllaYOm28Uqn09PRev2H19Gnz6CXNnL9g5rLl3/y5/TArYgiGhpA7BAlD7hByUQz9DtPT0ynyUTz7au73X89fZqG0+HzyqNTU1EULV1SpEtyuXadDB/6jWHjp0vnvF8+vVq3mjBkLJk6YHhsbM/vLycIWLC0t79y9Rf9mz1xYo3rtPX8dp5njxk4pjljIyTgC5Af6HYKEIXcIphRPH/yIiHCKbT179KOYRy+nfjH3wsWzKpUq22pVq1Zf+fPGsmX9LCy0l1xVRsakyaPi4uOcHJ04jouMfLh86W9CJUdaWhorLtpx7NAN3wD6HYKEod8hmKIbs5QVNYpwzs4uc+dNa9umY62adYODa9auVS/nalR8fPjw/pKlX4deu5yUlCTMfBYbQ+GQJvz9ypVIhb92lHM0pTGAfocgYeh3CCZx2p6HRc3a2vrbb35s1LDZps1rR4wc9PY7Ifv2/ZVztePHj3w+ZXTlylUXLfzx4P7T875abLiUsomsJPA8h6Y0hpA7BAlD7hBM4rU9D4uBn1/AR0M/Xb92JyX/ypcL/HLuFzduXsu2zs6/tlavXmvwoI8DAytR7WhiYgITBRQNs0C/Q5Aw5A7BFE5RHM87vHcvbPeeHTRBtZ1NmjSfNvUryg7euBGabbX4+Dh3Nw/9y6NHDzIR4LQQEV9Av0OQMPQ7BFN4TXEMuUJxbt78GcuWL7r/ICIiInzN2pUqlSq4Wk1a5OPjGxp6+ey507GxMYEVKp3+7+S58//R0j82rRHeGxn1KOcGqfbV3d3jv+crs6KkHdYVo9IYQO4QJAy5QyhZwcE1R4+atP/A7ncGdB/wbs9Ll84t/Hp5QEB5WtSlUw8qfI0b//HtOzfff39YwwZNJk8Z3e6NxlFRkRMnTA+qXHXiZ5/sP7An5zbffut9CqJTvhiTkprCihYVDlE6fEG2LUspFlauXJmBrFHucPny5WXKlGEAJaRL5x70L+f8GjVq/7pyk/7l55NmGS5dtnS1MNGm9RvZ3titay/6x4oepy0/o3T4AvodgoQhdwiQbygYZoN+hyBh6HcIJlGxJy/tRMZPGE6pPqOLVGqVhdL4pXLChGnNmrZkRaNL15ZG56vVap7xpj7S1oSqe6MAABAASURBVC37hc7+L6VtSYNRaQxgzFKQMIxZCrng8jIk54Tx09Iz0o0uSktLszbRNdDFuQjb661YsdbUolw+0ivGQqZtSqNhyB0aQO4QJAy5QygspUu7MZHx9irqA5tDy1JDyB2ChCF3CCbxKPm8hG6QNgZ6yB2ChCF3CKZwDH3MXwK3C9mg3yFIGPodginawiFqAnNFpUM80cIQxiwFCcOYpQD5htJhNsgdgoQhdwgAhQW5Q5Aw5A7BJI4hd5g7qixV4HmHBpA7BAlD7hBM4hlyh7mjylINnndoALlDkDDkDgGgsCB3CBKG3CEAFBbkDkHCkDsEU5SWSisM3pcrSyuljY2awXPIHYKEIXcIpvhUYNqRrsE0VbrG2UPJ4DnkDkHCkDsEUyrV0TabvHIinoExKfEsPVX9el8GerINh5Q7RH2p7CF3CLlo0kFx/vBTBsZsW3q3Qk2MWJoFcocgYcgdQi6CX2NlKnO/z77tVsamXDVHpR3HVNkHJdMObMrz2idB6StWddOc9mGJvLBGzuFbMt9F5QmO0xgu1Y2TKrxRWIfTTRiuwyk4XsPrt6Cf82IjCo5pXwqfg9N9usylvO73ZX7YLB+M4zK7lnDCcx51n0E7T/f/zDUVFko+QxN2NTnqXlKL7oqghqhMzgLPOwQJw/MOIXeuHqzPKMXuVWlnDjxWZ/AaE0N08tqw8bwHHpflOfE8p/2fyV+QbWWmi0dZ5mRGKlNvyf7bc740+ADPI+yLbWefMvgVL7aj/40cs7TibOy510I4xMKc8LxDkDA87xBeytWbvf0Zx/LyKOAism7dXw8fPh4z5l0GooR+hyBhyB2ChKhUKgsLtOQUL+QOQcKQOwQJUanUCIdihn6HIGHodwgSkpGhsrSUbQlEBtDvECQM/Q5BQtRqKh0iHIoXcocgYcgdgoRQ7rBUKRyu4oXcIUgYcocgIcgdihxyhyBhyB2ChOjCISpLxQu5Q5Aw5A5BQjIyVAiHYobcIUgYcocgIeh3KHLIHYKEIXcIEoLcocghdwgShtwhSIiudIjKUvFC7hAkDLlDkBB0wxc55A5BwpA7BAlBZanIIXcIEobcIUgIwqHIIXcIEobcIUgIcocih9whSBhyhyAhKB2KHHKHIGHIHYKEoCmNyCF3CBKG3CFICEqHIofcIUgYcocgIcgdihxyhyBhyB2ChKB0KHLIHYKEIXcIEkKlQ+QOxQy5Q5Aw5A5BQlA6FDnkDkHCkDsECUHuUORkGw6fPHkSHx/PQNY2b94cGxvLAKQgMNAf4VDMZLtvunbtityh7Hl6etrY2DAAKbh1615GRgYDsULuECQMuUOQEEocUvqQgVghdwgShtwhSAjVlFL6kIFYod8hSBj6HYKEoHQocuh3CBKGfocgIQiHIofcIUgYcocgIagsFTnkDkHCkDsECUHpUOSQOwQJQ+4QJAThUOSQOwQJQ+4QJASVpSKH3CFIGHKHICEoHYoccocgYcgdgoQgHIoccocgYcgdgoSgslTkkDsECUPuECQEpUORQ+4QJAy5Q5AQhEORQ+4QJAy5Q5AQS0uLjAxUlooXcocgYcgdgoQgdyhyyB2ChCF3CBKCylKRQ+4QJAy5QxC/1q3fi4tLVKvVHMfRyzlzVvA8X6aM+65dPzAQE+QOQcKQOwTxa9q0DsU/pVKpeI6mO3RozkBkkDsECUPuEMSvf/8uvr5ZEjf+/mX69OnIQGRkGw4pd4j6UtlD7hDEr1KlgEaNago1pYQmmjev5+7uwkBkZBsOKRa6uroykDXKHbq44LICYtevX6dy5coK02XLeoWEtGEgPsgdgoQhdwiS4O/vTRlEyh7SdMOG1eklA/GRbctSioWVK1dmIGuUO1y+fHmZMmUYQIHdPq/OyNBNcQrGa6h2k+c5pv0fz/O6Wk7dBKfgtP/RzmGc/r9UFapdifFKnlNn1osyin9qjbDFxtW63Api6RkZjat3vvafRlhZu4A2qvsNumndlrnMl9rSSua7mfbXKHimeb5loer1+UYyf5uFsmIN+g+D/EG/Q5Aw5A6hUPw+m094xlOcU6XrAgynYbr/6uIPlxmNhNDHXkzwHK8Lg9rVFNpIpp2pUHKa530LOYWGF+IZxVWFfWXXfjR5cT/P6TfFhFCX+YLmClEuc1H2cMhlvhS2qJttSGnF71vL29pxfUdztk4M8gr9DkHC0O8QCm7FZ7xbWdsOg7ytZHFndWTT41+/TBg6U8GsGOQJcocgYcgdQgH98BkfVN+tbX+ZxELSopfHm6MqLP1cwyCP0O8QJAz9DqEg9v7KrKwUtVs7Mnmh0O7iYb1uAYM8Qb9DkDDkDqEgHoXxbmXsmByVD3ZKiEEBMW+QOwQJQ+4QCiIjXWNhwzE5snXk1Bny/NOKDnKHIGHIHUJBZKRxKpk+gFCj0qhVKB3mDXKHIGHIHQIYxTPIM/Q7BAlD7hDAOC5Ht0R4GeQOQcKQOwQwgUMJMa+QOwQJQ+4QwCSUDvMIuUOQMOQOoSA4Bc8p5HoN5HmUDvMIuUOQMOQOoaB42Ta/ROEwr5A7BAlD7hAKgtdwKEKBHnKHIGHIHQIYhzCfd8gdgoQhdwhgHIe60jxD7hAkDLlDKAhOIeOooeE5lBDzBrlDkDDkDqFAdM+eZ3LEaR8WjAJi3iB3CBKG3CEUCFfypcNF3859b1Dv3Ne5c+dWq9b1Ll06z16ZNtCjcJhHyB2ChCF3CAWhbVmqkWnQQO4w75A7BAlD7hDAOPQgyTvkDkHCkDuEgtA1pclDKeru3dvvD+6z+LtfVvz0/cWL57w8vfv2HVi7Vr0pU8fev38vKKjaiOHjgipXFVY+fvzIr6tXhN+76+TkHBhYeeSICZ6eXjQ/OTl59pzJ586dLlcusFuXXobbV6lUP/+y9OSpY48fRwYH1+rerXejRs1YvnAMqcM8Q+4QJAy5QygQXpOnUpSlpSX9XLxkwcABQw7uP10tuOaPP31Pyb8J46ft3X3C2sr6u+/nCWv+d+bUF9PGtWvXaeP6v6ZOmRsV9WjRd3OFRQu+nkmxc8H8ZTOnL7gbdpuCn3779PZNm9d2D+mzds2fLZq3njp9/JG/D7B8wQDe+YDcIUgYcodQEDxT5KNlaevWb9SpXZ+KlS2bt0lKSuratVfVKsEWFhbNm7e+deu6MFToLyuXNX/t9V4936KiYbVqNYZ9NPrkyWPXrl99+vTJocP7+vUdSG9xdS394ZBPrK1thM2mpaXt/d/Ot/q927VLTydHp44durV+/Y3Vv/3I8kXD0BM/z2QbDil3iPpS2UPuEAqEZ/kIGr6+AcJEKXt7+lm+XKDw0tbGNiMjIz09nWnbgt6kulP9WypX0tagXrt25dGjBzTh71/+xaLnlas3boTSe+vXa6xfVKtm3Tt3bsXFx7G8Q0VpPiB3CBKG3CEUP0XWh2AocjwTIzExkYp6+mIfsbOzY9qsYVJc/DPtS1s7/SIKos/flUA/R4wclG1rsTHRLO9QMswH2YZDyh02btwYQVHeKHdYt25dGxsbBpB3RTQqjXBApqam6OckJSfRz9Kubk6OztpFaS8S3sm6Rdqlbu70c8zoz318fA235uHhFRn5kOURmtLkA3KHIGHIHUKBFE1vBMojVq5U5cqVi/o5wnT5ChW9vMrQxOXLF4T5VLn635lTwnRZHz9ra2uaqF2rnvAvwL+8v185oWSZV+h2mA/IHYKEIXcIBaINGkUSN7qH9Dl2/PDmzeviE+LPnf9v6bKFdWrXrxhY2d3dIzi45qpVyyMiwqlCddbsz/U9PSjsvTvww9W//Xjp0nlKIh75+8DY8cMWfTuX5YsGo9LkHXKHIGHIHUJB6PpZFEnQaNeu05Onjzf88dvipV97enrVq9vog8HDhUWfTZyxaNGcIUPfpqLhG+27dOzQjQKnsKhvnwEVKlRau37V2bP/liplX61qjTFjJjMoLhwv08ELkDs0B+aZO9y9O6RZs3EODmUYFMzSsRrfILuWb8pw+KrbFxKObYsavlDJIKuTJ7/18eno69su5yLkDkHCkDuEguCUjFPI8xqYry4k5g5jloKEIXcIBcGrqb5Uw+RImzlEa5o8Qu4QJAy5QygQjsm1w7qCRzDMM4xZChKGMUuhQORbpcgztCzNM+QOQcKQO4SCyOsTLUDekDsECUPuEApC165enuGQYxyKh3mF3CFIGHKHUDCy7WlGoR6jtOUVcocgYcgdQoHIOHeIUJh3yB2ChCF3CACFBblDkDDkDqEgOAuNUinTIgGnyx5CXiB3CBKG3CEUBK9SqNXy7IavfVgHKkzzCLlDkDDkDgGgsCB3CBKG3CEAFBbkDkHCkDuEgrCw4i2s5PnMB6WFhYUlKkvzBrlDkDDkDqEgrG0U6SnyzB0mxqYrLFhsbJydnY21tTWDVyDbcIjnHZoD83zeIRQW30pc2JU0Jkd3riS6eCh69x6lbT9roaSgaGVlZWGhsLcv5eRkP3fuGAY5IHcIEobcIRTE630Zz6kPrY1i8nI/VJUUk9b5wxQXF6fY2PioqOi7dx9cv3738uVbp05d3LPnGANjZBsOKXeIoqHsIXcIBTRoBvfkUdLOH+4/vJ3OpO/pw/S9vz78e0v4h18p6NT48MPerq5OiueUSiX99PJyZ2AMcocgYcgdQsFRRNywMOPQxgi1SsOrTa6m4TmFkY7tQnMVIx3eeYPF2RfxHJdjU6ZHE+eMbd/ITIWScQqFvTP34bzMck7r1o2PHDn9119HX7yN4/bsWcHAGOQOQcKQO4RC0Wc01SdNfeedt2tVDTKc/yLmcLz2f7qJLN3bFbo1+JxvEILbi5UNl9Cbzl28sfPPw59/PsRwg/p1eE7D8dqQxumW8obLDEab0X82YQuckjm6Zv/TJk0acu1a2J07EcJLS0vlkiVrP/74LQY5yDYcUu6wcuXKDGSNcofLly8vU6YMA8ivmJg4qkQcPvztWrWCTK/F5Zh4FSZXDqzifO3bC07uptZRvHQLr/JbCN0sDh3ae+7cH2Ni4m1srI8d+/3ixRtMeyt5tmnTOgwMIHcIEobcIRTQ/Pm/REY+dXJyyDUWFr4yZTw2bVrEisXrrzdq2rQ2z/MUC+lljRqV6Kejo339+r2jo58xeE624ZBioaurKwNZo9yhi4sLA8g7jUbz77+X/P3LVK1agZUEKytLVlymTh1etqyn4Zzq1SudPr0xPT2D/v39938MMGYpSBrGLIX82bp1f0pKWvXqFXv3foOVkAkTvj548CQrLtu3L8k509vbnaLy9u0Hli1bz8we+h2ChKHfIeTD7t1Hr169XaoUVbSXZCOsgACfiIhIJgJffz2hTZvGNHHgwMmMDBUzVxizFCQMuUPIk9u371Wo4Fehgm+HDq+xkvbRR32ZaFSs6E8/3dycmzd/Z9eu5a6uTsz8IHcIEobcIby6P/88/MsvW2miUqUAJgKUvExLE1ff/5o1g/75Zx19sPj4xOLbrY2zAAAQAElEQVSsyBUJ5A5BwpA7hFchPOOXqgFnzx7JRCMhIalTp6FMfNzcXOzt7fbuPb5ixR/MnCB3CBKG3CG81NGjZxYuXEUTPXq0YWLi5ORAUYfKYUx8FArFV1+NadeuCdOVqsX5IQsd+h2ChCF3CLmjer8tW/aNG/c+E6Vt2xY7OtozsQoI8KGf5cr5hISMMIeIyPE8zwBAOnbvDmnWbJyDA8biyU1U1NPr18Nee60ux4n3KbjJyakWFsri7ICYb3FxiZSYOHPmaseOzZmUnTz5rY9PR1/fdjkXIXcIEobcIRgVHf1s0KApdetWE3MsJGvX7vzlly1MCpyc7N3dXU+durBixUYmU8gdgoQhdwg5xcbGJyYm79y5rFQpsVekV6oUEBeXwCSCEorTp4/o0qUVTf/xx96YmDgmL8gdgoQhdwiGnj6NbdXqXVtba39/adQkN29eb8KEwUxSvL21444HBZXr23cMVfYyGUG/Q5Aw9DsEQydOnN+xY4mNjTWTCJ7nIyOfMgmqXr3S//73E1VFh4c/3LbtAJMF5A5BwpA7BKZrPjpx4kKa6Nq1lYNDKSYdlNocNGhyVFQ0kyZbWxs/P+/Ll2+uXLmVSR9yhyBhyB0CGT36q7fe6sykqUGD6k+eSPgYpog+efLQLl1a0jQFxYcPHzPJQu4QJAy5QzO3c+dh+rlo0WfCM/ykaOrUj4ODKzKJc3PT5iwotA8dOl1sI8+9OuQOQcKQOzRnAwZMLF3amUlcXFyCbJ7BW61aIOVuFQpFaOidjRv3MKlB7hAkDLlD83T37n36OWPGiMaNazGJo8TbjBnLmIxYWlpUqVI+PPzhmjU7maQgdwgShtyhGZo06ZunT7XFKWEIMakLDPRXKmV4HR437v1OnbTj1yxbtp5CI5MC5A5BwpA7NCuUlLp9+17Llg3r1w9mcuHpWXrhwglMjpydHelny5YNRo/+SqPRiH9AUOQOQcKQOzQfq1Zti4x8GhBQVnjMgpxQfal0m5+8FFWcbt78LcdxFy/eWL16BxMx2YbDdevWhYaGMpC1EydOIHdoDg4dOhUd/czfv4ws6xXPnLl68OApJmsUDmvWrBwbG7dx424mVrINh2fOnImKimIga/PmzXv6VJKDekCeNGhQfcyYd5lMDRzY7dGjJ8wMjBz5TteurzOxknPusHr16gxkrVmzZtbWkhmRC/ItLi4xMTGZydf77/egn9u3H2TyRenDFSs2inkIPdmGw6CgoNKlSzOQtbFjx7q7uzOQuyVL1p44cY7JHWUQd+06wmTql1+2aDSibk0j59zhv//+y0DWTp8+nZAgmefjQL75+nrb2towuevd+w0XFycmU1WrBn7wwZtMxGQbDm/fvv3woTQ6u0C+LVmyJDw8nIHcDR3a57XX6jIz0KSJdmCBqVMXM9mhP03kLaFkGw779evXqFEjBrLWsGFDBwcHBnIXFRUtocfkFly3bq///PNmJiPvvvvZ06exTNwsmExVqFCBgdx99NFHDMzA6tXb/f3LUF0iMw916lQtU8aDycXBg6cqVSonDPMtZrItHe7YsePQoUMMZO3MmTPR0VJ9Vhy8OooN9vZ2zJx4ebnRz44dP8zIUDGJe/31hpMmDWGiJ9tweO/ePWSVZO+3337DYAvm4O23O3fs2JyZn+3bl/z44x9MyqiW+/r1MCYFsg2HXbp0ad26NQNZq1evHrrTmIPo6GcxMXHM/FhaWgwb1o8mrl+/y6Rp/PivExOTmBTINhz6+/v7+voykLX+/ftXqVKFgdxt3rxv06a9zIzNmbPiwQPpDbMVFfWUakrr1pXG0xRkGw4PHjy4c6fEnrYFeXXp0qVHjx4xkDsvr9LC4xHM1qpVc65cuaXRaJikeHq69enTgUmEbMPhw4cPb926xUDWNm/efObMGQZy17Xr6+bTrNSUdu2aUjiU0DN1qYp70aLVTDpk29Hi9ddfx7MOZK9GjRre3t4M5C42Nl6lUrm7m/sj2ywsLB4/jrlw4XrNmpWZ6C1btj44uCKTDtmGwzJlyjCQux49ejAwA/v2nQgLezB+/CBm9kaNGkC1pklJyaVKibrniVqt6d+/S0CAD5MO2VaWnjp1asOGDQxk7fr16+hOYw7c3FxcXWU7mGdeVasWSMXEsWPnMxHjOObvL7EyiWzD4ZMnT9AjTfZ279599OhRBnL3+usNBw/uxeA5a2urzp1bnDhxnokSz/MNG/blKCRKitwqS7t27Uo5hozn9u7dSz+tra2PHz/OQC46duxI5xvt2bS0NNrdixcvpmkXF5f9+/czkJGQkOHp6bRvVcI/jUZDP21srI4dW8PMXsuWDWJi4h49euLt/eIZZx07fvjXXz+wkrZr15Fx495nUiO30mHLli0jIyNjY2MTExPpWklnEp1CQUFBDGSkQoUKtJefPXuWkpKivViqVBQdmzRpwkBeWrSoGxn5NDY2PjExOS0tXYiIQUHlGOhQBbKHh2vLlgOFl3Xq9Hz8OOaXX7awkta5c0sptgSWWzh89913/fz8DOfY29v36oVqFln58MMP3dzcDOeUKVOmT58+DORlwIDufn5Z8k/29nZvvmnuPS4MKZXKnTuXHTx4qkGDPgqFgu4L9+8/wUpUePjDCxeuMQmSWzh0dXWlmjTDOb6+vh06SKYfKLyK4ODgOnXqGM6ppsNAXkqXdu7QoZlhCqpcubLt2zdjYIBuESZP/lbooU/f1dOnsf/9d5mVnE8+me3mJskuMTJsSvP222/7+/sL05Q1RNFQlgYNGuTp6SlMU0kRRUO56t+/i59fZtdSa2vLN99szyCrZs36U4ZV/zImJv6vv46wEnL/fuTEiR/4+Ejy6VQyDIelSpXq3r071SEwXR1aSEgIA9mpVKlSw4YNhWlKJWYrLIJslCpl1717a+Ep6t7enpSUYmAgJGQ4lQupjtRw5tmz1xISEllJKFvWq3HjWkya5NnRggqIZcuWtbCwePPNNyXX2Bde0cCBA318fJycnN566y0G8tWnT0dfX2+6we3TB1nD7LZtW/zpp++0bt2oXDkfFxcHITRGRj45dOhfVuyuXLklrVHZsuGy3VZkc2jjkzuXEtNTNWrVi6FjNYxTsBfvog1kizjZ5uhe5bp+1hVMzXzF1XKfz3iO/mhmjMm3vAJ620uirunfq8cpFEoLzt7RoudIP1t7JnJ/fH0/5kmGWq3RqEwPK8wxU98oz9ONiskvRMNzCiNLX2wu952l4Zki1/3x0v31KgcDp1QoFZyto7LbYD9nr+K769q9O6RZs3EODsXXx3njNyw2SqNRM/11wPAL1H9XhleGrHswy3Fg+N1mvzhk3S85lhq5kmT5JLpP8FKmjj0TO52js9LKmgtqyDXtwkTr2bO48+evnd/vYZnmzastjF/8jB32Jq6rr7pmzpP8VS7dHKdQWjKbUlyzblxgTVacTp781seHbrDa5VyUW7/Dgxui71xKKh/sFFTXiVcaLBC+J91fRwcVr3jxUr+cFxZxmUs4w29MN204Q4gU2b9ULvtmM/dQtvV0c3NedXldyTfnrjO6EeGjZv+cBn+C4d9lVM73Gv+9WWXbPl3Bn0Wrr/7zdNW024O+rGBlxURrxaS7Di6W9Tu4ly1nn6FSm1rN6D1A5l+tW5RLwMn169TtXdNR+OW74/kHy7YLnr/5VW5wmELJEqPVl/+JXrfg7qBp5azs5VkP8eNkjZ29VYN2Ll4V7DXqzH2d8zwyeilgzMiJbPiubHsq22Zf7CbdjBf7hDPYTSzH6ZztCqFgnCbXz6Nf0/Bw1W9FwVQZ7PrpZ1dPxHGcsklnkT5TwtnZKflOE0dOU76hU+W6zho+++fkjO0Z7RzDQ13/zRuZ9/xiK+zonF9U1ve+OLO4zHBgeK7RtS45UX31ZOz+NUku7orSZXI714uNyXC48ZsHyXHqPuMCGBQje1dl2Yrau/5fptzt8XE5Dz8mQss/u1O3hUdQ48wCrC1TMnNl76z0qqBt6LFyVlj7d7wDqlkzeVnxGV+lrnuttvqHK5npvm7cqTT927gg/Ml9rttQUVy7s1n7FVOlKd4cq79kiH1P0bXOw0/bGm7d3LsN2rJar7MSZ7xmIfohH/0orecoUV6MzYN/FfudP4Uz8dm06IGDs5U+FoKgQg2nA+vl9uTFbUuZjb2FQSw0d73H+j+8rWbic+cci4/hu48syySoVovSp/eJosxtPBye+DPK1l62D7uQhGbd3VNTxHjixUSlBVZ3YJBVw04uaamalJJpzVdUnjzQ+FVBLMzC2lax73cmNmePUkWFJZOmKo0d1Wou/CorccbDYXKCytJKtqN7SwXP849upzORUat4d19bBjlQiiT8ejKTEXUGc/EScQa7JFhaK+JjRJc+TE3QWNtIuB6bU2gehJX83b/xImBqikoj0oSxGdGoebVKdAVElYpXpYux2FriVGqe06iYjNC+1qhk9RcVHNUBKC1FlztMS+OZQsJ7KiOdqdNL/ltFjah4aRtqodMkAECxQDgULz6ziTIAABQ5hEPxet7hSmwQoY3jtD0hkXGXOU6h7W8qNgrFK40/IFoKC06hLPlrHc5e8dLtGxHGHtTfGsdrBztByl3meA0l9ZnYaDSMl/Khp6Estbrk/wDjpUOOw0Wv5GUOGCEymYOGQE65jTonWagLkAJcsQuFiXCo4JQ4DUqarikNExtxBmkoKrjIZiXOxm08L+2zkr5VMTxrwXg41Kh5dLQoccJAf+LD4RJpFKf/AfKl4cW4kyVfOuTpi0VHCzBNOwi8QpRNaVA6NAlfjcxpT0jx7WSp19mI5B4D4VC8tM+v0eDyKhnYVeZBnLWlDAoO4VC8xFo6BOM42RWbc39IlnnixJjQl3xHC1HnDhVK+Z3a0iPS0iEvyuuBGMguqcqLMk9W8kSY0udze/yn+NGRxos3d8ijvUTJ0+4AEd7xceJs4CMKuFGQPW0TTvHtZo3Uiy/iaApk/HKr4XmNWJuWbt6yvk27hqzwLPp27nuDeueywp07t1q1rnfx4jlWvLTHt7m276W93LptAyYpYm0JbBYOHd5HJ+mzZ7HMLJVIZem06RPGjhvGCoU4OoqY+Aq1nyxvwXrrto1zvprK5MjZ2WXAO4M9PLxY8eKEUrrI5P3QAICilY9RaWR8xc63QmtKc/26CJ7eWDRcXUu/9+5QVhJEOMyJOBuai4FM253g3icLKoQpZdEAUVRXbO0wsCJoNlg4g7R9OnrIhQtnaeJ//9v1w/LfL106v3bdylGffjZ12viQkN4jPh77zz9HDx7ae/HSufj4uCpBwe+8M7h2rXpJSUkhPVoPHDCk/9vvC9tRq9VdQ1p16/rmkA9GxMREL1228PKVC6mpqfXrNx7Qf7Cvr/+rf6S7d2/v+HPT2XOnIyMfBviX79gxpFvXXsKi5OTk2XMmnzt3uly5wG5dMmfm8mHatO4w6IO+337zY40atSnfu3nLur17IP724AAAEABJREFUd0bcD/f3K1evXqP33/tIqdSO6XvvXhjVu964GapUWgQElH934If0N9J8+hJoBU9P7/UbVk+fNq/5a6+/8h8h1hFL89IGjP7qX1ev2L3rmPAyKiqy71udZ834umnTFnR/+tvvPy1auGLq9PFhYXfKlw98s9fbb7Tvkm0LtCMmTBwRGfVoyeJVBw/uzeUtx48fod8Vfu+uk5NzYGDlkSMmeHp6zZw1KTY2ZuHXy4V1Br7Xi6rUtm89ILykpUnJSR9+8Mn7g/ssXfLr2rUrjx0/7O7u0aplOzoIhT1r3orjGLxy5SLtuGvXrjg5uzRu9BqdhqVKlaL502dM5DiOTsC586alpCRXrVp96JCRVaoEC+9a/sO3/9u3y87WrnXrN8qWzcPFoSCoEKYW34MFFUo+TwOLZ7tiV6oYZOryxUycVtk2ePLU8Q0bVl+7fsXV1S04uOaQwSNKl3Zjr0xbtBVtZWleh/yhyxMdo+3adTp04D/6Zq2srJKTk3bs2PTZxBndu/WmeEbhJy0tbeKE6V/OXuTnF/D55FEU7eiIp0P/6NGD+u38d+YUxarWr79BV8BRYz48f+HMqE8n/fLTBhdn12EfD3zw8P6rf6QlS78+ffqfkZ9MmDvnO4qF3373Fe0wYdGCr2fev39vwfxlM6cvuBt2++Qp7ZU6lw9juNktW9b/vuaXXj3fWr92Z5cuPXf9tY0u9zSfLrjDR7xHFaorfli75PuV9IHpOktvp0WWlpZ37t6if7NnLqxRvTbLCxHemWsK77FT9M0kJiZ89/28cWOmHNx/ukXzNvPmz6B4mW21eQtm3LgROu+rxU6OTrm8hfbXF9PG0UG4cf1fU6fMjYp6tOi7uTS/Tp0Godcu0xHFdLuJ5tMEHQDCxi9dPl+vbkPaLE1/vXAWXVj/t+efzz+btfGP3ykdxfIKQ+Ln3f0HEWPHD0tNS138/Uo6Je/cuTlq9BCV7rHDFhYWV65e3Lf/r+XLfqM7Kmsra3393vYdm7bv+INO8KVLV3t7+6z+7UdmxjRqLk8Di2e7Yudy+TJ1Whm6cfPaZ5NG1q5df9Uvmz4ZMf727RtfzZvG8kIXcUo+Hho/fTltYjb/l2K6oaMQ2LfvwDbauzY/Gxubn1asHzP6c7rdoH9DP/w0JSWFLkO0ZosWbeirfBT5UHjjsWOH6MakQoWKVL6ku5VJn81s2KAJ1VV+NPRTRyfnzZvXvvpnmDJlzvz5S+vUrk+/kcqFlStV+ff0CZr/9OkTusz16zuwapVg2vKHQz6xtrYR3mLqwxhu9sLFs5UrV23fvjMlFDt36k7llYYNmtL8PzatsbK2HjtmchlvH/qTx439gm5m6XQVvg0qoU6fOq9Jk+b0LvbKRDuEdyEetxkZGVQUoLt++pbat+tMhe9bt64brrD6t58OHfof3UXRF5v7W35ZuYxK3nSnQvew1arVGPbR6JMnj127frVe3UZ0NNLtCK1DN1jly1ekg4H2I72MjHz05MnjunUyW2ZRcG3Zog2Fxpo169CvoxjM8kLblAZDG+bd/v27LS0sKRDSjTKdcWPHTLl56zqV0YWlKcnJdDbR7qDQSPemERHhwmV6y9b1tL9aNG/t6OBI1QN0pjMzxhWsKU0uly9Tp5Xh2y9fOk8XeapXo1IjXbG/nr+sX793mQSZKB1qE7MFveYFVa6mn6bC4veL5/fq/Uar1vU6dGpGc4Q2YE2btLC2thbKZHRdO/L3AaE0RsGSrkr6Q5wufLVq1hUuYa+K56kkN+DdnvQb6R/tv2exMTT70aMH9NPfv7x+RQpvwoSpD2OI6gHOnDlFJZI9e/+Mi4/zKVM2MLASzaerbcWKQXTGCqtRWdO3rL/+ekrVqnS4sDwyk2dHBAVlHicODo70kwp/TLfHyf4De1auWk53RfS1v/QtVKrQzyeVK2l3K9W/0SlapkxZusFiuuMquFpNui+m2jl6efHiWarSKVeugvCWSpWq6N9ub+8gbBaK2pUrF2jH0dVWeOnl5U37ixIrwktfvwA7OzthmnYK/UxIiKfT88GDCIqd+o0Y7jtzVLCWmblcvkydVoZvD65ei+44P/v8UwqrVNanXamvaJWWIkwKU5WpMEF1WSNHDa5Tu8GUz78Uburbtm8kLKIg0aRx86PHDvV+sz9dsOhAb9umI9Nd4KgQQGHMcIOvXrTSaDQTJ43MyEj/YPDwWrXqOdg7jBg5SFgUF/+MflK+Qb+yrY1t7h/GEN0l2dmVOn7iyFfzptPR07JlW0o7ubm5x0Q/9fHxNVzTxtY2OSU586uwtmZywRf2oP5GR6Og6x1Vb87V1YzZWNu89C2JiYlUG29tsKZwDaX7MPpJ91V0ze3Rvc+FC2fee3corUaV5zSfrrm1DUoVCkXB6jpl1+uweDof08lOd6vZTvbYmGhhwuhOoUw/HR62BmexzfOzuKhpH/8rvqY0um7sLN9MXb5yP630qLqVclJ//31gxY/fL132Td06DSj1mO0WNnecOO79TT3gqTA/2uEj+9LT0ylxaGurPWSz9Q2iiDJ12vjo6Kd/Hz1IhXEhSUv37LTy7FnfGK6pfOVkMdV50v3LgvlLaccIc+iUc3fzoAknR+1NKCUq9Csb7lqjH8YQnZxUR0r/wsLunD3776rVK5KSEr+c9Y1dqVKG22S6Sp6yPn6sAMRZWaoo2IdS5yXFQRXsVCUwd960lT9vdHFxzWVNofCdmpqin5Ok262lXbX5/Lp1G/7ww7dxcc/u3LlFt2VKpfLhw/v0kgqLb/V9lxUSXTNgWUXE4unb7VrarXr1WtkabwvnqSlUfKGdmGZwxqU8v/UsatrH/4qyKY2yAE+TN3X5yv20MkR1pPSPdiJVnm3esm7S559u2bxPX9x8KZGMf2S632HhnQjx8XFUqSXEQkKVkIZLGzd6jQ7uk6eOHTy0V185WaFCJcovUmpXSDfSP09P78DAyuzV0JWOfgrxj1Doon/CtJdXGfp5+fIF4SWVQSlXnPuHMbR37867d2/TBFXU9OjRt2ePfkLiiuoQQkMv09Yy/+SE+PB7d/W1cPnGi69pRl67QlpaWtENptAygtwLv/uKb6Q7jw5vdB05YgIV5Wd/OTn3lenEo4ygUAUqEKbL61K/dPxERj06cHAvZYLp9paqxKmGnFJWlJ+uV68RKzwY2jAfKpSv+PhxZM0adfQnu4uzK+URc3kLVQ/QBcFwdwsN4syWRs2p1fk/9kxdvnI/rfTOnz9z6l9tywyqJ2vfvvPHw8YkJCZEPY5keSLapjQs7wOqUlmbvtCz507H6lJ0hsqXr0jlrR1/bqZrIn1rVKiiyuXHz78syhE2adJix45NFMNatmgjzKRSXYMGTRYsmEkVrTR/2/Y/hn70zp49O17xwwT4l6cduWHjb7Rf6ZJHacv69RpF6poUurt7UCl+1arllJOny/Ss2Z8b/qVGP4yhAwf3fDFt3IkTf1PikFLKR48dpFwUze/SpScVE79eOJs+MIXeOXO/oCq+jh1CWMGIsmlG3q75VD1ONZ+UamW6avO161exvKC7qGnT5p2/cGbjH7/nvmb3kD7Hjh/evHkd7fRz5/9bumwh1ZFW1N1C0fFG9TmbN68VdhahiS1b15cvH5in5uC5wwCf+dOr19uU3Vi89GvKP9FZ+cOK794f3Edo+pSLVi3bUhWO0Pp33fpfr169xMxYPg48wyt2LpevXE4rvctXLkybPv7PnVuo5u9q6GU6syguehb7uCUFZ7IpjSaPTWm6dOpBcWXc+I9v37mZbVHr19u/03/Q6t9+pJQhXZI+GTGecnJr161a+M2Xwgotm2ubdFIINKwQmzN7UYsWbWbM+iykRxv6ftu06UClsVf7LIwqOT+fNOtq6KVuIa9Pmjxq8KCPu3btRft+4HvaXoafTZxRpUrwkKFvd+rSnIqtHTt0Mxw91uiH0RszejLF2s+njA7p3nr+1zObNmkxetTnNL+sj+/UL+bevXur71udPx09hOZ8u+gnoe9UQYg0G5WXT1UlqNpHQz9dseI7Sg7R3hz0nnZUpzwN10uRbMA7H/z402Kq6sxltXbtOg16f9iGP36jnf7VvGk1qtf+Ysoc/VLKET589KD6844uVBNOL2vXMuvmiCLh6OD4808bKIX/4Uf9B7zbk259xo2dQjs993f1f3tQp44hdKdLx9U/J48O+2g0y+NxJSf5+LMNr9i5XL5yP60Evd/s36lj98VLFnTv2XbU6CF2dqW+Wbji1WtKxYMzegD9OjNMo2G9Pg1gUHJ+nXYr5KOyZSvluUlqkfp+1K32/X28A4up5YKErJp2q+1bHkH1HVkR2707pFmzcQ4OZVgRWzxa3TTEM7CmA4PnNi68a++g7jNWXOMz/PyF2trWqtuwAjVWKEG/zbpV8zXWtGtxfKsnT37r49PR17ddzkUmm9IokAQpabqmNKIcpE0ETyYTId0z25js4EKQhXZUGvGlMBQSP/a0Y66K4EAzNUgbpxF9POzStaWpRRMmTGvWtCWTOp4TY2WpOBu8ioM5fy93797+5Hl3puy0T7I2/t107BhCdems8Ji6LKi1TU14C2PjjVJSZuyYl7TVEjkNL8I757wQ8/MONWqeF/34GmvX/mlqka2NLKryKBqK8DmjKBmaYOYPePLzCzB1SqampNjYGj8lLS0sWaHK5bKgVqmUxhJahf4Zip9SyRQYILDAJDw2u4M9UholBIVDY0R591IgeRrKX6lUmjoli/NUNc/LglrNxPqAWikxlTsU4ZOFzI44s3Taei/ciBojzrrtgsjrUP5QUjgFTspCUDgPeIIiIsJu3XSJ5HAjCuZK+7xDMT5oRtonpUKZ557uRUHCuUNzwInwrkQbD3GvZIT2WR/4ZuRO27JUhBl9Jm26J0aINRyCGIizo0UurQTNnK4pDb4ZKAGKgj3gqcTxPCfelqXaIbxxXpc0TpTNOHW5QwZGyHPEUpR3JQBZ3kJhPBziHlcMRNpwn8dDbk0QY9V2weFaIAFo7VEoTFSWSr1TJxQZHBcAYqMd1QU3qQWG3CHkFZ7cACAuKB0WCuPhUGmpUIiw+ZSZUSg4BSeukYKZrk+qwgLJQyMUSrkN9Ks9/rCrs1JacJaWotvPCiWzsJBwPLSwVChFcKkzfrDb2VtxTHQXYnOjUDAnNysmMhaWyqT4DAY5KDlW2kNcjx8pIAtLlpKEeJgNZ+couko1Gzslz0v4is1xvHPpkg/nxo/1irXskxPSGZScS0eeURm9lCsTm1KOylvn4hhkdeNMAqdg7v6iu30pCHtnRfgV7OssUpPVwY2Z2PgHsYRnqUyantxLp9xn1SasxBkPh9Wb2VvaKA+tf8yghISejqtS34mJT4eBvk/uS/XEKzoXjsRUqGnP5KXHUBbzCPv6hT2/PLR34PyrMrFp3Fn7jKcTf0YzCfp7S6RvoCgqIUx+iPem+cdEpuz+6RGD4hV+NXXtnKza7XwAABAASURBVDuNO7q+1l18ZUPG3Hy4niP81sy+c/HvWAaMPbiesnbu3dotXNr082DyYuvEeo9W0L4+uz+GmTd1Otu29H5aauo7Yn0S1OBZXMT1uH2/SumKHX0/fcP8sICqms5DmBi8ZCyA37+MiI9NV1ooMtLUWd9npMW9bshpXQ+N50uNDmCS8626ka3og3CmVjXcDscZ7++s32z2lU10oxRWy7Zytjmm1s/yLtN9D0xtkOOMf+3a58xwCo7nAms7tO7rxkQs7HLKvnVRapWaMuDpqaqcK7w4GLLM5fUjC+i/FiPHA82gr8Gg4bjuC8tyeGT/Vg22bGzpi9/xYpFuZs4DQD/Nnh85hvuLakT1H8zCkuN0n7N8sEO7d9xZcdm9O6RZs3EODmVYsXhwm/21klen8woLLj01e3N+o6eYqZNLN2Xs4pB192V/S+ajlTmN5sWvocy64SidCiWned76L9uxl/UX6X7ymfv0+efUTRrsWcMrEv0iC0uFKoN3dle8NYGJ3OpZLClOQ3sqIy3LnjL8S1nW70ShZBp1ltVYjt0qfL08xysMRl7Sr5N9dyt4puGY4WHAdPvX4IyzsNK2heU1vE95Zdehxdo06eTJb318Ovr6tsu56BWGxlGzM4fikxOz1ZkYiQLaaxjHvzQe8rojMevGjIe4F5ehrGeG7jDO2csmyy+Ni4sPvRbaqFFDY1dlYS1F9oFZdW/UXeCMra87ZZ9/EqPXVxO/wshXZTyGKi2U7j62FWvbMYl4cCMt4mZSRoaRcKg9GFj2oTKy3AcYnnlZv0DtPsjW9ZVmZN0pdGLynObBg4exsbHBwdWy3WEIe/ElvzdzkFGDUJd9NSZ8/sxdn/3t2lZFLu62QQ2Ke38VczgUPLzF7l1XZ2QYOUtNPRE6y1H+/Hsz+P5eLDdyg5j1mvDsWcKN63cbNKyhX07XGo3BW7Kets+DXo6N667KCvb8HH5+T/TiYq3/7ZwuHmonec7OSVnndSYV6hR27m+WkpL1rMwMTS++lRdT2b86nukH4H3+vSk4hYZOKJ7LOjJIljPD4L3aePjil+q+Tf7FZVP7k26jndy54Eas+OUSDl+hiZSS1W3jyJgjk5QLFx5t/XvbuG5dGBQZn0rW9I+VnC1bjsXGXXstpBWDIlYmkP6VWNvFs2cf/Xli+5iQOgxeRmnL6rVnRdCnPE/pPUk2SJZtN3yVSmVhgUEGZA572UyoVGoLC3T9gqKFcAgSRnvZ0tKSgdzpdjROZyhaCIcgYdjLZgKlQygGCIcgYdjLZgI7GooBwiFIGO1lpRjGOoQihtIhFAPZDkiIcGgOsJfNBMIhFAPZhsOMjAw0spA97GUzkZGB+x4ocqgsBQnDXjYT2NFQDBAOQcKwl80EKkuhGCAcgoRhL5sJXTjEjoaiJdsjDFklc4C9bCYod4hu+FDUUDoECcNeNhO6HY3KUihaCIcgYdjLZgK5QygG6HcIEoa9bCaQO4RigHAIEoa9bCZQWQrFQM6VpWhkIXtoSmMm0JQGigFyhyBh2MtmArlDKAYIhyBhajVSSmYBpzMUA4RDkDDsZTOB0iEUAzl3w8eFUvawl82ErikAdjQULZQOQcKwl80ESodQDBAOQcKwl80EdjQUA9keYU5OTjY2Ngxkzdvb2zw7Wpw69Z1Sac3MRnLyg9DQKLX6TwZQMPHxD3x8OhpdJNtw+PTpU7VazUDW7t27x8xPo0Zz1Oo0Zk42bFjk59e6evXqDKDAHBwCjM5H/QOAxLi4VGFmxsrK0cmpgptbLQZQZBAOAQAAEA4BAAAQDgEAABjCIQAAAEM4BAAAYAiHAAAADOEQAACAIRwCAAAwhEMAAACGcAgAAMAQDgEAABjCIQAAAEM4BAAAYAiHAAAADOEQAACAIRwCAAAwhEMAAACGcAgAAMAQDgEAABjCIQAAAEM4BAAAYAiHAAAATMbh0MPDY9euXRzHNW7cWKlUMpCjgIAAnucZyNf169fPnDkTHx/v7OzMAIoSJ9erSXp6+tatW//555+TJ0/Wrl2bgmKjRo0qVarEQC7o0G3QoMHp06cZyIsQAgVly5atW7duq1atatWqxQCKkmzDoSG6YlJQpNAYHR1NQbGxjpOTEwMpu3nz5hdffLFu3ToG0pczBApKlSrFAIqFWYRDPQqHQlykn97e3kKRsU6dOgwkaM+ePceOHZs1axYDaUIIBFExr3BoKDQ0VIiLV65c0RcZfXx8GEjEkiVL7Ozs3nvvPQbSYRgC6XSrV68eQiCIhPmGQ720tDR9kVFoeiNER0tLSwYiNnr06JCQkObNmzMQt2whUF8KtLe3ZwCigXCYRUREhBAX6WeNGjWEuBgUFMRAfLp167Z06VIU6MUJIRAkB+HQJDqNhbgYGRkpVKVSdHR1dWUgAqmpqW3atKHcIQPRuHHjhhD//vvvP4RAkByEw5d79uyZvsjo7u4uFBkp58Gg5Fy+fHnBggWrVq1iUKL0IZB4e3sL8Y/ODoRAkByEw7yhKiAhLp4/f15fZPTz82NQvLZv337x4sUpU6YwKHZGQyBxcHBgAJKFcJhPKpVKX2RUq9X6tqnW1tYMit7ChQu9vLzeeustBsXi5s2bVAWKEAgyhnBYCB48eKBvm1qlShWhyFi1alUGRebjjz8eOHBggwYNGBQZCoH6UqCnp6e+UwRCIMgSwmEhO3funBAaKUYKRUb66ebmxqBQvfHGG2vWrCldujSDQpUtBOpLgY6OjgxA1hAOi0pcXJy+yOjs7CxUpaI0Uyjou+3Zs+f+/fsZFAaEQACGcFg8bt26JcTF06dP67v5BwQEMMgXumqvWLHihx9+YJBfdEzqO0UgBAIwhMNiptFohCIjSU1N1bdNtbOzY/DKNm7cGB4ePm7cOAZ5oQ+BxN3dXd8pAiEQgCEclqDIyEh929SKFSsKRcbg4GAGLzNnzpzKlSv36NGDwcsYDYEET3QByAbhUBQuXLggxMWwsDB9kdHDw4OBMYMHDx4xYkTNmjUZGHP79m19pwiEQIBXhHAoLomJifoio4ODg75tKjN733333cqVK5VKpYuLS2xsrI+Pz/bt2xk8RyFQXwp0c3NDCATIK4RD8aILnBAXT5061bBhQyEuVqhQgZmlc+fOTZo06cmTJ/o5vM7Zs2eZuUIIBChECIfSoO+zkZCQoG+bam7DQnbv3j0iIkL/kg7doKCgNWvWMHOCEAhQRBAOJebx48f6tqkBAQFCaDSTLNrMmTO3bdvGcZzwknKrVIMaGBjI5A4hEKAYIBxK2OXLl4Ui482bN/VFRi8vLyZTR44cmTJlSnJyMk3b2dkNGzasb9++TKYMQ2Dp0qWFHhEIgQBFB+FQDihC6IuMNjY2+rapCoWCyUhsbOx77713//59mm7btu2cOXOYvOQMgQJnZ2cGAEUM4VBuwsLC9G1T69evLxQZZVOjOHLkyGPHjpUrV27Tpk1MFhACAUQC4VDO/v33X6HI+OzZM6G8SIqqtk3NDm95GhmWkpSgVqk0TMMy0jWU5hOOL07BeA3Tv2QcExKA9FJIBfLaec9X5jLn88ICHYWC02joBa/RaBQKpTDzxZrPf+q28nybz9/74vfqWFhR/pGzslU6OFr4VrZr2MGFFa87d+7oQ6CrqytCIIAYIByahadPnwpFRuLj4yOExtq1a7PC8M/O6Esn4tNT1UoLhYWVhZWdJf2jCKTWqLnn4UzBcRptyMp8rY1WnC78aedxwn+y0cYwDdPP53jd/3SBTn/Q0kv+eSQUpjN/0jrci1DKDKe1kVXJqzXpyer01HRVuppX8/bOlk06uVWsU4RD5RmGQBcXF30IpGkGACKAcGh2rl69KlSlhoaG6rv5U4w0ujIt7dat28SJE40uvfJP4rEdj9UZfClXO//aUh1DJy1Z/eDKk9T4VBt7i/5j/a0Kr/cKQiCAhCAcmq+0tDShKpWio1Kp1LdNtbCw0K9Tp04dS0vLFi1azJs3L9vb134V8expuquPk1dlmVzcI84/jn+aVLG2Y7v+xkN7amrqBx988PDhwwMHDpjayN27d4XHRCAEAkgLwiFo3bt3T982tVatWkJoHD16dFRUlLAC1az++OOP+vV//PwuZ6EMbOTDZOf63xH2zsq3J/hmm3/r1q0xY8bQF0X3B5SUNVwkhEABpWb1nSIQAgEkBOEQsqOSjVBkvHbtmr7Pu0ajqVChwurVq21tbX/+IszC2tq/jmxHGKeI6FvJruN7L/7AI0eOLFy48MGDB0z3VZw9ezZnCBS4uroyAJAghEMwiWpKDXsuqtVqX1/fTlUX2Ze29wkuzWTt1omH1rb8O5P8aHrNmjV0HxAdHS0sonDo5uaGEAggMwiHYFxISIjQ4Z3pAgD9tLa27lH3exdXt8DGvswMhB4JDwgqdfnJ6p07dyYlJRkuolrQffv2MQCQEQsGYExcXBwlyUqXLk21ozRBNaXl7DunPHY2k1hIqrTwv/S/u0eunVSpVMINgb6s/OzZMwYA8oLSIZi0YcOGcuXKBQQECA8iXjL2dtkqHk5lirBzntiEn3mckpQU2Drs1KlTV69ejY+Pp0BIJUU6a86dO8cAQEZQOgST+vTpo5/e8cMjpVJhVrGQ+Nf1uLL/blmnRm0+b0MvY2JihAfNX7hwgQGAvCAcwiuJuJnkVcGNidX87/uVD6jds8t4VthsHW1P/PkkqL62c76rTv369RkAyI6snngAReTi0XiqUy8d4MDMj291j6RENQMAuUM4hJe7evKZlbUlM0uWtgqFgju2PZoBgKyhshReLi5GVcq1FCsaarVq9/7loTeOP3sWWc6/ZpOGb1at3FRYNHVO+/athyQlP/vfwZ+srWwrV2zUrcNoR0dtnW3k4zvrN8+IenI3sHzdNi3eZ0XJ0toi4noyYzLvaglg5lA6hJdTZfCOHoU3snVWW3cuOPrPumYN35w0Zlv1aq+vXj/x4uWDwiKl0vLwsd85TjHjs/+N/2Tj3fALew9pB4pTqTJ+Wv2ps5PH+E82dGo3nNZJSHjKioyNvXVSvIoBgKwhHMLL8Rq+VGkbVgQyMtL+O7/r9dcGNm7Qo5SdU8O6XWvXaL/v8M/6Fdxcy7Zp8Z6trQMVCisHNrr/4BrNvHT10LO4qK4dRrk4e3l5lO/eeWxKagIrMlZ2yox0DQMAWUM4hJdQp9MPTqlkRSHiYahKlV4psKF+ToWAOo+ibiUlxwkvy/pU0S+ytXVMTUukiafREVaWNq4u3sJ8Rwc3ZydPVmQ4C5wmAPKH3CG8hFI7iHdRlY1SU7ThbclPQ7LNT0iMpsKibpLL+a7klHgr6yw9IC0tiqTwKuB4ztinAABZQTiEl7FknIJLT2FWtqzQCe1ienX7zM01y9hvLk5eubzLztYxLS3ZcE5qWhIrMup0jVKJAiKAzCEcwstRMEh4klTar/Abl7qX9rO0tKaJwPJ1hTkJiTE8z1tb5zb8jYuzd0ZGKtU62Ku3AAADH0lEQVSpensG0ssHj27EJzxhRSY1Kc3KBsVDAJnDPS+8nLUthcNEVgQo7LVr9cG+Qz/fCT+foUq/ePngilUjtuycl/u7qlVpbmFh9ce2OenpqXHxT37fONkus2a1SKSnqBxdzbTbJYD5QOkQXs6tjPXDsDRWNFq99k4Z70qHjq6+efu0jY19gG/1N7tNyv0ttjb2g/ov3PW/xZNnv25ladOp3fCzF/cWXfFNla4KqodOhwAyhydawMvFRbE1829XbR3AzM+zB4kPrkd/PL88AwBZQ2UpvJyTJ7OyVd67+JiZn8d3nnmUsWIAIHeoLIVXUrO58+m9uY3b+fNvo+/eM/7YI7VapVQaP9L69vgiuEoLVkgO/v3rwaOrjS6ytbZPSTOe/hz63pKyZYKMLmIalpGa8eYofwYAcofKUnhVP0+5a1nK1q+mu9Gl8fFPVboe+zmlZ6RZ6ZqP5mRfytXKqtC6DKakJJganiY9PdXUL3JwcLO0MF7+u3HsvquHRa+RPgwA5A7hEF6VOo0tn3S7WpsAZh6ehsU/DYsd+hWyhgBmAblDeFVKa1a1kdO1w/eYeYi6Hd3707IMAMwDwiHkQas33dzLWoeaQUS8ejCscUc3V280ogEwF6gshTw7fzju372xlZr7MjmiBOi1v8MGfl7e3hUj0QCYEbQshTyr1dLp4d3UqwfCPCqUdgtwYDJy//KTuMiklj09EAsBzA1Kh5BPt88n710TqbBQlA3ysPewZhL35HZc9P04Cws2eFY5BgDmB+EQCmTHskcRt5KUCqWtq41XOVdrJ4nVN8RHpTy99yw1MV3BsSr1HVv0cmMAYJYQDqEQHFjz9E5oYnqKmnFMacFxnIL+r1a95NDiOe3/Xr51Bc80L1+N5zQc/2pNwxScgmk0PE//5zhWysGiSn2nBm84MwAwYwiHUJhuXUgKD01KTlBnpGnSU1S5r8xZcLzq5YcfxVf1K6xG1bYa1Ss9ptjSxtLGVungalGptoNXObQdBQAthEMAAAC0LAUAAEA4BAAAYAiHAAAADOEQAACAIRwCAAAwhEMAAADyfwAAAP//WcZVewAAAAZJREFUAwD0aIZCDKlvdwAAAABJRU5ErkJggg==", "text/plain": [ "" ] diff --git a/agent-architectures/4_reflection.ipynb b/agent-architectures/4_reflection.ipynb index 1dd10ee..87583a6 100644 --- a/agent-architectures/4_reflection.ipynb +++ b/agent-architectures/4_reflection.ipynb @@ -202,7 +202,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -247,16 +247,25 @@ "Node: Travel Advisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Helsinki is the capital and largest city of Finland. It is located on the southern coast of the country, along the shores of the Gulf of Finland. Helsinki is known for its beautiful architecture, vibrant cultural scene, and maritime atmosphere. Some key points about Helsinki include:\n", + "Helsinki is the capital and largest city of Finland. It is located on the southern coast of Finland, along the shore of the Gulf of Finland, an arm of the Baltic Sea. Here are some key points about Helsinki:\n", "\n", - "- **History:** Founded in 1550 by King Gustav I of Sweden, Helsinki has evolved from a small fishing village into a major metropolitan area.\n", - "- **Culture:** The city hosts numerous festivals, museums, and theaters. Notable cultural institutions include the Ateneum Art Museum, the Helsinki Opera House, and the National Museum of Finland.\n", - "- **Architecture:** Helsinki features a mix of neoclassical, modernist, and contemporary architecture. The Senate Square with Helsinki Cathedral is one of the city’s iconic sights.\n", - "- **Nature:** Despite being a capital city, Helsinki is known for its green spaces and proximity to nature, including numerous parks and nearby islands.\n", - "- **Transportation:** The city has a comprehensive public transport system including trams, buses, and ferries, and it is well-connected by rail and air.\n", - "- **Economy:** Helsinki is the economic and political center of Finland, with key industries including technology, finance, and education.\n", + "1. **History:** Helsinki was founded in 1550 by King Gustav I of Sweden as a trading town to compete with the Hanseatic city of Tallinn (then Reval). It became the capital of Finland in 1812, when Finland was an autonomous Grand Duchy under Russian rule.\n", "\n", - "If you want more specific information about Helsinki—such as travel tips, history, culture, or current events—feel free to ask!\n", + "2. **Population:** As of recent estimates, Helsinki has a population of about 650,000 people, with the greater metropolitan area housing over 1.5 million residents, making it the most populous urban area in Finland.\n", + "\n", + "3. **Culture:** Helsinki is known for its vibrant cultural scene, with many museums, theaters, and galleries. Notable institutions include the Ateneum Art Museum, the Finnish National Opera, and the Helsinki Music Centre. The city also hosts numerous events and festivals throughout the year.\n", + "\n", + "4. **Architecture:** The city features a mix of neoclassical, modernist, and contemporary architecture. The neoclassical Senate Square with the Helsinki Cathedral is one of the city's landmarks. Helsinki is also famous for its design district and contributions to modern design, highlighted by events such as the annual Helsinki Design Week.\n", + "\n", + "5. **Economy:** Helsinki is a major economic hub in Finland, with strengths in technology, services, finance, and education. It is home to several multinational corporations and startups, especially in the technology sector.\n", + "\n", + "6. **Education:** The city hosts several universities, including the University of Helsinki, which is one of the largest and oldest universities in Finland.\n", + "\n", + "7. **Transportation:** Helsinki has an extensive public transportation network that includes buses, trams, metro, and ferries. Helsinki Airport is the main international gateway into Finland.\n", + "\n", + "8. **Environment:** The city is known for its green spaces, parks, and proximity to nature, including the nearby archipelago. Efforts are made to promote sustainability and environmental friendliness.\n", + "\n", + "If you have specific questions about Helsinki or want information on a particular aspect, feel free to ask!\n", "Node: Reflection\n", "Missing topics: ['sports']\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", @@ -265,43 +274,132 @@ "Node: Travel Advisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Sure! Here is some information about sports:\n", + "Certainly! Here's some information about sports:\n", + "\n", + "**Sports** refer to physical activities or games, often competitive, that require skill, physical effort, and sometimes strategy. They are generally organized either individually or in teams and played for recreation, competition, or health benefits.\n", + "\n", + "**Popular Types of Sports:**\n", + "- **Team Sports:** Soccer, basketball, baseball, rugby, volleyball\n", + "- **Individual Sports:** Tennis, golf, boxing, athletics (track and field), swimming\n", + "- **Adventure Sports:** Rock climbing, surfing, skiing, snowboarding\n", + "\n", + "**Benefits of Playing Sports:**\n", + "- Physical fitness and improved health\n", + "- Development of teamwork and leadership skills\n", + "- Stress relief and mental well-being\n", + "- Social interaction and community building\n", + "\n", + "**Major International Sporting Events:**\n", + "- The Olympic Games (Summer and Winter)\n", + "- FIFA World Cup (Soccer)\n", + "- Wimbledon (Tennis)\n", + "- Super Bowl (American Football)\n", + "- Tour de France (Cycling)\n", + "\n", + "If you want information on a specific sport or aspect of sports, please let me know!\n", + "Node: Reflection\n", + "Missing topics: ['cultural', 'historical']\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Sports are physical activities involving skill, competition, and often organized rules. They can be played individually or in teams and are enjoyed worldwide for recreation, fitness, and entertainment.\n", + "Extend output with information about following topics: cultural, historical\n", + "Node: Travel Advisor\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "There are many types of sports, including:\n", + "Certainly! Here is some information covering cultural and historical aspects:\n", "\n", - "- **Team Sports:** Such as soccer, basketball, baseball, and rugby, which involve cooperation and strategy among players.\n", - "- **Individual Sports:** Like tennis, golf, boxing, and athletics, focusing on personal performance.\n", - "- **Adventure Sports:** Including rock climbing, surfing, and skateboarding, which often involve natural environments and risk.\n", - "- **Mind Sports:** Such as chess and esports, which emphasize mental skill and strategy.\n", + "**Cultural Aspects:**\n", + "Culture encompasses the social behavior, norms, beliefs, traditions, arts, and customs of particular groups or societies. It shapes identity, influences communication styles, rituals, cuisine, language, and social practices. Understanding cultural backgrounds is essential for promoting mutual respect and effective intercultural communication. Key elements include festivals, traditional dress, music, dance, storytelling, and religious practices. Culture is dynamic and evolves over time as societies interact and adapt.\n", "\n", - "Sports have significant cultural, social, and health impacts. They promote teamwork, discipline, physical fitness, and can enhance mental well-being. Major international events like the Olympics and the FIFA World Cup bring countries together and showcase top athletic talent.\n", + "**Historical Aspects:**\n", + "History studies past events, civilizations, and developments that have shaped the present. It provides insight into human progress, conflicts, governance, social changes, technological advancements, and cultural evolution. Key historical periods include ancient civilizations, the Middle Ages, Renaissance, industrial revolution, and modern era. Examining history helps us understand causality, learn from past mistakes, and appreciate the diversity and interconnectedness of human experiences globally.\n", "\n", - "If you want to know about specific sports, famous athletes, rules, or recent developments, feel free to ask!\n", + "If you want information on specific cultures, historical periods, or regions, please let me know!\n", "Node: Reflection\n", - "Missing topics: ['historical']\n", + "Missing topics: ['sports']\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Extend output with information about following topics: historical\n", + "Extend output with information about following topics: sports\n", "Node: Travel Advisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Certainly! Here's an extended overview incorporating historical context on the topic:\n", + "Certainly! Here is some extended information about sports:\n", "\n", - "---\n", + "Sports encompass a wide range of physical activities and games that involve skill, competition, and physical exertion. They are often organized into various categories such as team sports, individual sports, indoor and outdoor sports, and recreational sports. Participation in sports can promote physical fitness, mental well-being, and social interaction.\n", "\n", - "**Historical Context**\n", + "**Popular Team Sports:**\n", + "- **Soccer (Football):** The most popular sport worldwide, played between two teams of eleven players with the objective of scoring goals by getting a ball into the opposing team’s net.\n", + "- **Basketball:** Played by two teams of five players each, aiming to score points by shooting a ball through the opponent’s hoop.\n", + "- **American Football:** A highly strategic game played primarily in the United States, involving two teams trying to advance an oval-shaped ball into the opponent’s end zone.\n", + "- **Cricket:** Widely followed in countries like India, Australia, and England, cricket involves batting, bowling, and fielding with the aim of scoring runs.\n", "\n", - "Understanding [the topic] requires a look into its historical development. Historically, [topic] has evolved significantly from its early roots in [ancient period or initial phase]. For example, during [specific era], key milestones such as [event or invention] shaped its trajectory. The industrial revolution brought about major changes by introducing [technological/structural innovation], which further influenced [topic].\n", + "**Popular Individual Sports:**\n", + "- **Tennis:** Played either one-on-one or in doubles, tennis involves hitting a ball over a net with a racket, aiming to win points by making the ball land in the opponent’s court.\n", + "- **Athletics (Track and Field):** Includes a variety of running, jumping, and throwing events, often featured prominently in the Olympic Games.\n", + "- **Golf:** A precision sport where players aim to hit a ball into a series of holes on a course using the fewest possible strokes.\n", + "- **Swimming:** Competitive swimming involves various strokes such as freestyle, breaststroke, backstroke, and butterfly.\n", "\n", - "In the 20th century, [topic] saw rapid advancements with the advent of [specific technology or methodology]. Pioneers like [notable person] contributed significantly to its progress by [their contribution]. The post-war period marked a surge in [applications/awareness], driven by socio-economic factors including [factor].\n", + "**Benefits of Sports:**\n", + "- Enhances cardiovascular health and overall physical fitness.\n", + "- Develops teamwork, discipline, and leadership skills.\n", + "- Provides stress relief and improves mental health.\n", + "- Encourages social connections and community engagement.\n", "\n", - "More recently, globalization and digitalization have transformed [topic] into a globally interconnected field, allowing for [modern development], and leading into current trends like [current trend], which continue to shape its future.\n", + "**Major Sporting Events:**\n", + "- **The Olympic Games:** A global multi-sport event held every four years featuring summer and winter sports.\n", + "- **FIFA World Cup:** The premier international soccer tournament held every four years.\n", + "- **Super Bowl:** The championship game of the National Football League (NFL) in the United States.\n", + "- **Wimbledon:** One of the four Grand Slam tennis tournaments, known for its grass courts and rich history.\n", + "\n", + "If you would like information on a specific sport or aspect of sports, please let me know!\n", + "Node: Reflection\n", + "Missing topics: ['cultural', 'historical']\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "Extend output with information about following topics: cultural, historical\n", + "Node: Travel Advisor\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "---\n", + "Sure! Here's some information covering the cultural and historical aspects:\n", + "\n", + "**Historical Context:** \n", + "The area has a rich history dating back to ancient times, with archaeological findings indicating early human settlements. Over the centuries, it has witnessed significant events such as trade route development, colonial influences, and pivotal battles that shaped its development. Key historical landmarks include ancient temples, fortresses, and traditional marketplaces that offer insights into the region’s past.\n", + "\n", + "**Cultural Significance:** \n", + "Culturally, the region is known for its diverse traditions and vibrant festivals that reflect the local heritage. Traditional music, dance, and crafts are integral to the community’s identity, often showcased during seasonal celebrations. Local cuisine is another hallmark, featuring unique dishes that blend indigenous ingredients and culinary techniques passed down through generations.\n", + "\n", + "If you have a specific region or topic in mind, feel free to let me know, and I can tailor the information accordingly!\n", + "Node: Reflection\n", + "Missing topics: ['sports']\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "Extend output with information about following topics: sports\n", + "Node: Travel Advisor\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "Certainly! Here is some information about various sports:\n", + "\n", + "**Football (Soccer):** Football is the world’s most popular sport, played by two teams of eleven players with a spherical ball. The objective is to score by getting the ball into the opposing goal. Major tournaments include the FIFA World Cup, UEFA Champions League, and domestic leagues like the English Premier League and La Liga.\n", + "\n", + "**Basketball:** Basketball is played by two teams of five players each on a rectangular court. The goal is to shoot the ball through the opponent's hoop to score points. The NBA (National Basketball Association) is the premier professional basketball league globally.\n", + "\n", + "**Tennis:** Tennis can be played individually against a single opponent (singles) or between two teams of two players each (doubles). The aim is to hit a ball over a net into the opponent's court such that they cannot return it. Major tournaments include the four Grand Slams: Wimbledon, the US Open, the French Open, and the Australian Open.\n", + "\n", + "**Cricket:** Cricket is a bat-and-ball game played between two teams of eleven players. It’s hugely popular in countries like India, Australia, England, and South Africa. Key formats include Test matches, One Day Internationals (ODIs), and Twenty20 (T20). The ICC Cricket World Cup is a major international event.\n", + "\n", + "**Athletics:** Athletics includes a variety of track and field events such as running, jumping, and throwing. Notable competitions are held at the Olympic Games and World Athletics Championships.\n", + "\n", + "**Rugby:** Rugby is played in two main forms: rugby union and rugby league, each with different rules and team sizes. It’s especially popular in countries like New Zealand, Australia, England, and South Africa. The Rugby World Cup is the premier international competition.\n", + "\n", + "If you want to know about a specific sport or upcoming events, feel free to ask!\n", + "Node: Reflection\n", + "Missing topics: ['cultural', 'historical']\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "Extend output with information about following topics: cultural, historical\n", + "Node: Travel Advisor\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "If you specify the particular topic you're interested in, I can provide a more focused historical extension.\n", + "Could you please specify which topics you'd like information on regarding cultural and historical aspects? That way, I can provide a detailed and relevant extension.\n", "Node: Reflection\n", "Missing topics: ['sports', 'cultural', 'historical']\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", @@ -310,18 +408,18 @@ "Node: Travel Advisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Sure! Here’s some extended information covering sports, cultural, and historical topics:\n", + "Certainly! Here is some information covering sports, cultural, and historical topics:\n", "\n", "**Sports:** \n", - "Sports have been an integral part of human society since ancient times, serving not only as physical activities but also as ways to build community, demonstrate skill, and entertain. Popular global sports include soccer (football), basketball, cricket, tennis, and athletics. Each sport has its own unique rules, styles, and cultures. For instance, soccer is known for its passionate fanbases and major events like the FIFA World Cup, while basketball’s NBA is renowned for showcasing athleticism and teamwork. Additionally, sports can promote health, teach discipline, and foster international cooperation through events like the Olympic Games.\n", + "Sports play a significant role in societies worldwide, promoting physical health, teamwork, and entertainment. Popular sports vary by region but often include soccer (football), basketball, cricket, tennis, and baseball. Major international events like the Olympics and the FIFA World Cup unite countries and showcase athletic excellence. Additionally, sports influence local economies and can foster community pride.\n", "\n", "**Cultural:** \n", - "Culture encompasses the social behaviors, norms, arts, traditions, languages, and values that characterize groups of people. It influences everything from cuisine and clothing to festivals and religious practices. For example, Japanese culture is known for its traditional tea ceremonies and cherry blossom festivals, while Brazilian culture features vibrant Carnival celebrations and samba music. Understanding cultural diversity is essential for global communication and respect, as it helps people appreciate different worldviews and ways of life.\n", + "Culture encompasses the customs, traditions, languages, arts, and social behaviors of particular groups or societies. It shapes identity and brings meaning to people's experiences. Festivals, music, dance, cuisine, and language are essential cultural expressions. In a globalized world, cultural exchange enriches societies, promotes understanding, and helps preserve heritage.\n", "\n", "**Historical:** \n", - "History is the study of past events and their impact on the present and future. It includes the examination of civilizations, significant figures, conflicts, innovations, and social changes. For example, the Renaissance was a cultural and intellectual revival in Europe from the 14th to 17th centuries that greatly influenced art, science, and philosophy. Similarly, understanding historical events like World War I and II helps explain geopolitical dynamics today. History is critical for learning from past successes and failures, shaping identity, and informing decision-making.\n", + "History is the study of past events, particularly in human affairs. It provides insight into how societies evolved and the causes and effects of significant events and movements. Understanding history helps contextualize current issues and can guide future decisions. Key historical themes include revolutions, colonization, technological advancements, social changes, and influential figures who shaped civilizations.\n", "\n", - "If you would like more detailed information on any of these topics, feel free to ask!\n", + "If you have a specific region, sport, cultural practice, or historical period you want to learn more about, please let me know!\n", "Node: Reflection\n", "Missing topics: []\n" ] diff --git a/agent-architectures/5_parallelism.ipynb b/agent-architectures/5_parallelism.ipynb index e1528ae..831aebe 100644 --- a/agent-architectures/5_parallelism.ipynb +++ b/agent-architectures/5_parallelism.ipynb @@ -13,21 +13,12 @@ "execution_count": 1, "id": "0d579b1e", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/km/4c7v4jmj5ydfnj183qz7wr7w0000gn/T/ipykernel_38907/700811828.py:4: LangGraphDeprecatedSinceV10: Importing Send from langgraph.constants is deprecated. Please use 'from langgraph.types import Send' instead. Deprecated in LangGraph V1.0 to be removed in V2.0.\n", - " from langgraph.constants import Send\n" - ] - } - ], + "outputs": [], "source": [ "from langchain_openai import AzureChatOpenAI\n", "from langchain_core.messages import HumanMessage\n", "from langgraph.types import Command\n", - "from langgraph.constants import Send\n", + "from langgraph.types import Send\n", "from typing import TypedDict, Literal\n", "from typing_extensions import Annotated\n", "import operator" @@ -214,7 +205,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -253,8 +244,8 @@ "\n", "Node: CityAdvice\n", "Node: Final\n", - "Cities: ['Helsinki', ' Turku', ' Oulu']\n", - "Facts: ['# Helsinki \\n1. Helsinki is known as the \"Daughter of the Baltic\" because of its coastal location on the Gulf of Finland. \\n2. The city hosts the world\\'s northernmost metro system, which opened in 1982. \\n3. Helsinki was once part of Sweden and then the Russian Empire before becoming the capital of independent Finland in 1917.', \"# Turku \\n1. Turku is the oldest city in Finland, founded in the late 13th century, and served as the country's capital until 1812. \\n2. The Turku Castle, dating back to the late 13th century, is one of the largest surviving medieval buildings in Finland and now operates as a museum. \\n3. Turku hosts the annual Medieval Market, one of the largest historical events in the Nordic countries, attracting thousands of visitors with reenactments, crafts, and performances.\", '# Oulu \\n1. Oulu is known as the \"Silicon Valley of the North\" due to its strong technology sector and numerous tech startups. \\n2. It hosts the annual Air Guitar World Championships, attracting participants and spectators from around the globe. \\n3. Oulu experiences the natural phenomenon of the midnight sun in summer, where the sun remains visible for almost 24 hours.']\n" + "Cities: ['Helsinki', ' Tampere', ' Turku']\n", + "Facts: ['# Helsinki \\n1. Helsinki was originally founded in 1550 by King Gustav I of Sweden as a trading town to compete with the Hanseatic city of Reval (now Tallinn). \\n2. The Helsinki Cathedral, an iconic landmark, was designed by Carl Ludvig Engel and completed in 1852, featuring neoclassical architecture that dominates Senate Square. \\n3. Helsinki is known as the \"Daughter of the Baltic Sea\" and is surrounded by over 300 islands, making it a city deeply connected to maritime culture and nature.', '# Tampere \\n1. Tampere is known as the \"Manchester of Finland\" due to its historical role as a major industrial hub, particularly in textiles and metalworking. \\n2. The city is home to the world\\'s first-ever Finnish sauna museum, Sauna from Finland, showcasing the cultural significance of sauna in Finnish life. \\n3. Tampere boasts a unique location between two large lakes, Näsijärvi and Pyhäjärvi, offering scenic waterfronts and numerous outdoor activities year-round.', '# Turku \\n1. Turku is the oldest city in Finland, founded around the late 13th century. \\n2. It was the official capital of Finland until 1812, before Helsinki took over the role. \\n3. The Turku Archipelago consists of over 20,000 islands, making it one of the largest archipelagos in the world.']\n" ] } ], @@ -281,17 +272,17 @@ "output_type": "stream", "text": [ "# Helsinki \n", - "1. Helsinki is known as the \"Daughter of the Baltic\" because of its coastal location on the Gulf of Finland. \n", - "2. The city hosts the world's northernmost metro system, which opened in 1982. \n", - "3. Helsinki was once part of Sweden and then the Russian Empire before becoming the capital of independent Finland in 1917.\n", + "1. Helsinki was originally founded in 1550 by King Gustav I of Sweden as a trading town to compete with the Hanseatic city of Reval (now Tallinn). \n", + "2. The Helsinki Cathedral, an iconic landmark, was designed by Carl Ludvig Engel and completed in 1852, featuring neoclassical architecture that dominates Senate Square. \n", + "3. Helsinki is known as the \"Daughter of the Baltic Sea\" and is surrounded by over 300 islands, making it a city deeply connected to maritime culture and nature.\n", + "# Tampere \n", + "1. Tampere is known as the \"Manchester of Finland\" due to its historical role as a major industrial hub, particularly in textiles and metalworking. \n", + "2. The city is home to the world's first-ever Finnish sauna museum, Sauna from Finland, showcasing the cultural significance of sauna in Finnish life. \n", + "3. Tampere boasts a unique location between two large lakes, Näsijärvi and Pyhäjärvi, offering scenic waterfronts and numerous outdoor activities year-round.\n", "# Turku \n", - "1. Turku is the oldest city in Finland, founded in the late 13th century, and served as the country's capital until 1812. \n", - "2. The Turku Castle, dating back to the late 13th century, is one of the largest surviving medieval buildings in Finland and now operates as a museum. \n", - "3. Turku hosts the annual Medieval Market, one of the largest historical events in the Nordic countries, attracting thousands of visitors with reenactments, crafts, and performances.\n", - "# Oulu \n", - "1. Oulu is known as the \"Silicon Valley of the North\" due to its strong technology sector and numerous tech startups. \n", - "2. It hosts the annual Air Guitar World Championships, attracting participants and spectators from around the globe. \n", - "3. Oulu experiences the natural phenomenon of the midnight sun in summer, where the sun remains visible for almost 24 hours.\n" + "1. Turku is the oldest city in Finland, founded around the late 13th century. \n", + "2. It was the official capital of Finland until 1812, before Helsinki took over the role. \n", + "3. The Turku Archipelago consists of over 20,000 islands, making it one of the largest archipelagos in the world.\n" ] } ], diff --git a/agent-architectures/6_supervisor.ipynb b/agent-architectures/6_supervisor.ipynb index 5b8c867..89b57c8 100644 --- a/agent-architectures/6_supervisor.ipynb +++ b/agent-architectures/6_supervisor.ipynb @@ -13,14 +13,14 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 13, "id": "cec0affe", "metadata": {}, "outputs": [], "source": [ + "from langchain.agents import create_agent\n", "from langchain_openai import AzureChatOpenAI\n", "from langgraph.checkpoint.memory import InMemorySaver\n", - "from langgraph.prebuilt import create_react_agent\n", "from langgraph_supervisor import create_supervisor\n", "from datetime import date" ] @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 14, "id": "94fc37ff", "metadata": {}, "outputs": [], @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 15, "id": "26a37efd", "metadata": {}, "outputs": [], @@ -93,17 +93,17 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "id": "50943583", "metadata": {}, "outputs": [], "source": [ "tools = [book_hotel, get_hotels]\n", "\n", - "hotel_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "hotel_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are a hotel booking agent. You can book hotels and check availability.\",\n", + " system_prompt=\"You are a hotel booking agent. You can book hotels and check availability.\",\n", " name=\"HotelBookingAgent\",\n", ")" ] @@ -118,17 +118,17 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 17, "id": "a39e99e0", "metadata": {}, "outputs": [], "source": [ "tools = [book_flight, get_flights_available]\n", "\n", - "flight_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "flight_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are a flight booking agent. You can book flights.\",\n", + " system_prompt=\"You are a flight booking agent. You can book flights.\",\n", " name=\"FlightBookingAgent\",\n", ")" ] @@ -143,17 +143,17 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 18, "id": "3f894a82", "metadata": {}, "outputs": [], "source": [ "tools = [book_event]\n", "\n", - "event_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "event_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are an event booking agent. You can book event tickets.\",\n", + " system_prompt=\"You are an event booking agent. You can book event tickets.\",\n", " name=\"EventBookingAgent\",\n", ")" ] @@ -168,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 19, "id": "f2e5d465", "metadata": {}, "outputs": [], @@ -200,18 +200,18 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 20, "id": "b163c38c", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] }, - "execution_count": 8, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -219,7 +219,7 @@ "source": [ "from IPython.display import Image\n", "\n", - "Image(app.get_graph().draw_mermaid_png())" + "Image(app.get_graph(xray=True).draw_mermaid_png())" ] }, { @@ -237,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "id": "ab913bb7", "metadata": {}, "outputs": [ @@ -251,29 +251,23 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", + " transfer_to_hotelbookingagent (call_Zg2h1eszP9j5KDyUZcT8Zfp6)\n", + " Call ID: call_Zg2h1eszP9j5KDyUZcT8Zfp6\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", + "Name: transfer_to_hotelbookingagent\n", "\n", - "Successfully transferred to FlightBookingAgent\n", + "Successfully transferred to HotelBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", + "For your trip to Helsinki starting on 2025-11-01, some available hotels are Holiday Inn, Marriott, and Hilton. Which one would you prefer for your 14-night stay? Also, please note that I assist with hotel bookings only, so you may need to arrange your flight from London to Helsinki and tickets for the Corteo show separately.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", + "Name: HotelBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", + " transfer_back_to_supervisor (9f56e810-9713-46a3-9d18-54efbbeae15c)\n", + " Call ID: 9f56e810-9713-46a3-9d18-54efbbeae15c\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -285,29 +279,23 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", + " transfer_to_hotelbookingagent (call_Zg2h1eszP9j5KDyUZcT8Zfp6)\n", + " Call ID: call_Zg2h1eszP9j5KDyUZcT8Zfp6\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", + "Name: transfer_to_hotelbookingagent\n", "\n", - "Successfully transferred to FlightBookingAgent\n", + "Successfully transferred to HotelBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", + "For your trip to Helsinki starting on 2025-11-01, some available hotels are Holiday Inn, Marriott, and Hilton. Which one would you prefer for your 14-night stay? Also, please note that I assist with hotel bookings only, so you may need to arrange your flight from London to Helsinki and tickets for the Corteo show separately.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", + "Name: HotelBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", + " transfer_back_to_supervisor (9f56e810-9713-46a3-9d18-54efbbeae15c)\n", + " Call ID: 9f56e810-9713-46a3-9d18-54efbbeae15c\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -315,38 +303,24 @@ "Successfully transferred back to supervisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", + " transfer_to_flightbookingagent (call_9vkCQDo7CgPGFqhB3RigePrh)\n", + " Call ID: call_9vkCQDo7CgPGFqhB3RigePrh\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_flightbookingagent\n", "\n", "Successfully transferred to FlightBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", "\n", - "Which flight would you like to book?\n", + "There are three available flights from London to Helsinki on 2025-11-01: Flight QF32, Flight QF4, and Flight QF128. Which one would you like to book? Also, please note I can only book flights; for hotels and show tickets, you might want to use the appropriate service.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: FlightBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", + " transfer_back_to_supervisor (3a819b67-1a8d-4962-b092-455f34fcc81a)\n", + " Call ID: 3a819b67-1a8d-4962-b092-455f34fcc81a\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -358,128 +332,23 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", + " transfer_to_hotelbookingagent (call_Zg2h1eszP9j5KDyUZcT8Zfp6)\n", + " Call ID: call_Zg2h1eszP9j5KDyUZcT8Zfp6\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_hotelbookingagent\n", "\n", "Successfully transferred to HotelBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", + "For your trip to Helsinki starting on 2025-11-01, some available hotels are Holiday Inn, Marriott, and Hilton. Which one would you prefer for your 14-night stay? Also, please note that I assist with hotel bookings only, so you may need to arrange your flight from London to Helsinki and tickets for the Corteo show separately.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: HotelBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Helsinki. I need a hotel for 14 nights, a flight from London to Helsinki on 2025-11-01, and tickets for the Corteo show of Cirque du Soleil on 2028-11-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", + " transfer_back_to_supervisor (9f56e810-9713-46a3-9d18-54efbbeae15c)\n", + " Call ID: 9f56e810-9713-46a3-9d18-54efbbeae15c\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -487,64 +356,24 @@ "Successfully transferred back to supervisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", + " transfer_to_flightbookingagent (call_9vkCQDo7CgPGFqhB3RigePrh)\n", + " Call ID: call_9vkCQDo7CgPGFqhB3RigePrh\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_flightbookingagent\n", "\n", "Successfully transferred to FlightBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", "\n", - "Which flight would you like to book?\n", + "There are three available flights from London to Helsinki on 2025-11-01: Flight QF32, Flight QF4, and Flight QF128. Which one would you like to book? Also, please note I can only book flights; for hotels and show tickets, you might want to use the appropriate service.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: FlightBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", + " transfer_back_to_supervisor (3a819b67-1a8d-4962-b092-455f34fcc81a)\n", + " Call ID: 3a819b67-1a8d-4962-b092-455f34fcc81a\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -553,26 +382,25 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_eventbookingagent (call_m1SJDJi1Qp03VhQc3F3rtpTl)\n", - " Call ID: call_m1SJDJi1Qp03VhQc3F3rtpTl\n", + " transfer_to_eventbookingagent (call_qdVtzbI8RSEY9HP9DLg02kcl)\n", + " Call ID: call_qdVtzbI8RSEY9HP9DLg02kcl\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_eventbookingagent\n", "\n", "Successfully transferred to EventBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", "\n", - "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", + "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 is booked. The ticket code is EVT123.\n", "\n", - "To proceed, please let me know which flight you would like to book from London to Helsinki on 2025-11-01 (options: Flight QF32, Flight QF4, Flight QF128), and which hotel you would like to stay in Helsinki for 14 nights starting from 2025-11-01 (options: Holiday Inn, Marriott, Hilton).\n", + "Please note, for the hotel stay and flight booking, you will need to complete those arrangements separately with the respective agents or services. If you need further assistance, feel free to ask!\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: EventBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (3bada93f-d61a-41cb-8efd-b9c7e78f3a45)\n", - " Call ID: 3bada93f-d61a-41cb-8efd-b9c7e78f3a45\n", + " transfer_back_to_supervisor (8717c762-6ed8-4758-9e87-f8140b86a245)\n", + " Call ID: 8717c762-6ed8-4758-9e87-f8140b86a245\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -584,172 +412,23 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", + " transfer_to_hotelbookingagent (call_Zg2h1eszP9j5KDyUZcT8Zfp6)\n", + " Call ID: call_Zg2h1eszP9j5KDyUZcT8Zfp6\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_hotelbookingagent\n", "\n", "Successfully transferred to HotelBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", + "For your trip to Helsinki starting on 2025-11-01, some available hotels are Holiday Inn, Marriott, and Hilton. Which one would you prefer for your 14-night stay? Also, please note that I assist with hotel bookings only, so you may need to arrange your flight from London to Helsinki and tickets for the Corteo show separately.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: HotelBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_eventbookingagent (call_m1SJDJi1Qp03VhQc3F3rtpTl)\n", - " Call ID: call_m1SJDJi1Qp03VhQc3F3rtpTl\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_eventbookingagent\n", - "\n", - "Successfully transferred to EventBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "To proceed, please let me know which flight you would like to book from London to Helsinki on 2025-11-01 (options: Flight QF32, Flight QF4, Flight QF128), and which hotel you would like to stay in Helsinki for 14 nights starting from 2025-11-01 (options: Holiday Inn, Marriott, Hilton).\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (3bada93f-d61a-41cb-8efd-b9c7e78f3a45)\n", - " Call ID: 3bada93f-d61a-41cb-8efd-b9c7e78f3a45\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "The ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "For your flight from London to Helsinki on 2025-11-01, you can choose from the following options:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "For your 14-night hotel stay in Helsinki starting 2025-11-01, you can choose from:\n", - "- Holiday Inn\n", - "- Marriott\n", - "- Hilton\n", - "\n", - "Please let me know your choices for the flight and hotel so I can proceed with bookings.\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Helsinki. I need a hotel for 14 nights, a flight from London to Helsinki on 2025-11-01, and tickets for the Corteo show of Cirque du Soleil on 2028-11-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", + " transfer_back_to_supervisor (9f56e810-9713-46a3-9d18-54efbbeae15c)\n", + " Call ID: 9f56e810-9713-46a3-9d18-54efbbeae15c\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -757,64 +436,24 @@ "Successfully transferred back to supervisor\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", + " transfer_to_flightbookingagent (call_9vkCQDo7CgPGFqhB3RigePrh)\n", + " Call ID: call_9vkCQDo7CgPGFqhB3RigePrh\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_flightbookingagent\n", "\n", "Successfully transferred to FlightBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", "\n", - "Which flight would you like to book?\n", + "There are three available flights from London to Helsinki on 2025-11-01: Flight QF32, Flight QF4, and Flight QF128. Which one would you like to book? Also, please note I can only book flights; for hotels and show tickets, you might want to use the appropriate service.\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: FlightBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", + " transfer_back_to_supervisor (3a819b67-1a8d-4962-b092-455f34fcc81a)\n", + " Call ID: 3a819b67-1a8d-4962-b092-455f34fcc81a\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -823,26 +462,25 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "Tool Calls:\n", - " transfer_to_eventbookingagent (call_m1SJDJi1Qp03VhQc3F3rtpTl)\n", - " Call ID: call_m1SJDJi1Qp03VhQc3F3rtpTl\n", + " transfer_to_eventbookingagent (call_qdVtzbI8RSEY9HP9DLg02kcl)\n", + " Call ID: call_qdVtzbI8RSEY9HP9DLg02kcl\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_to_eventbookingagent\n", "\n", "Successfully transferred to EventBookingAgent\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", "\n", - "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", + "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 is booked. The ticket code is EVT123.\n", "\n", - "To proceed, please let me know which flight you would like to book from London to Helsinki on 2025-11-01 (options: Flight QF32, Flight QF4, Flight QF128), and which hotel you would like to stay in Helsinki for 14 nights starting from 2025-11-01 (options: Holiday Inn, Marriott, Hilton).\n", + "Please note, for the hotel stay and flight booking, you will need to complete those arrangements separately with the respective agents or services. If you need further assistance, feel free to ask!\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: EventBookingAgent\n", "\n", "Transferring back to supervisor\n", "Tool Calls:\n", - " transfer_back_to_supervisor (3bada93f-d61a-41cb-8efd-b9c7e78f3a45)\n", - " Call ID: 3bada93f-d61a-41cb-8efd-b9c7e78f3a45\n", + " transfer_back_to_supervisor (8717c762-6ed8-4758-9e87-f8140b86a245)\n", + " Call ID: 8717c762-6ed8-4758-9e87-f8140b86a245\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: transfer_back_to_supervisor\n", @@ -851,484 +489,12 @@ "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Name: supervisor\n", "\n", - "The ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "For your flight from London to Helsinki on 2025-11-01, you can choose from the following options:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "For your 14-night hotel stay in Helsinki starting 2025-11-01, you can choose from:\n", - "- Holiday Inn\n", - "- Marriott\n", - "- Hilton\n", - "\n", - "Please let me know your choices for the flight and hotel so I can proceed with bookings.\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "take qf4, and i want to stay in the marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1eBmaFFfbYSrCkMye0kH1p2c)\n", - " Call ID: call_1eBmaFFfbYSrCkMye0kH1p2c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully with booking code FLY123.\n", - "\n", - "Unfortunately, I do not have the capability to directly book hotels. I recommend booking your stay at the Marriott in Helsinki separately through a hotel booking service.\n", - "\n", - "Is there anything else I can assist you with?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (42935805-5f68-4db6-8337-91139e60f4ef)\n", - " Call ID: 42935805-5f68-4db6-8337-91139e60f4ef\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Helsinki. I need a hotel for 14 nights, a flight from London to Helsinki on 2025-11-01, and tickets for the Corteo show of Cirque du Soleil on 2028-11-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_eventbookingagent (call_m1SJDJi1Qp03VhQc3F3rtpTl)\n", - " Call ID: call_m1SJDJi1Qp03VhQc3F3rtpTl\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_eventbookingagent\n", - "\n", - "Successfully transferred to EventBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "To proceed, please let me know which flight you would like to book from London to Helsinki on 2025-11-01 (options: Flight QF32, Flight QF4, Flight QF128), and which hotel you would like to stay in Helsinki for 14 nights starting from 2025-11-01 (options: Holiday Inn, Marriott, Hilton).\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (3bada93f-d61a-41cb-8efd-b9c7e78f3a45)\n", - " Call ID: 3bada93f-d61a-41cb-8efd-b9c7e78f3a45\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "The ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "For your flight from London to Helsinki on 2025-11-01, you can choose from the following options:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "For your 14-night hotel stay in Helsinki starting 2025-11-01, you can choose from:\n", - "- Holiday Inn\n", - "- Marriott\n", - "- Hilton\n", - "\n", - "Please let me know your choices for the flight and hotel so I can proceed with bookings.\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "take qf4, and i want to stay in the marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1eBmaFFfbYSrCkMye0kH1p2c)\n", - " Call ID: call_1eBmaFFfbYSrCkMye0kH1p2c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully with booking code FLY123.\n", - "\n", - "Unfortunately, I do not have the capability to directly book hotels. I recommend booking your stay at the Marriott in Helsinki separately through a hotel booking service.\n", - "\n", - "Is there anything else I can assist you with?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (42935805-5f68-4db6-8337-91139e60f4ef)\n", - " Call ID: 42935805-5f68-4db6-8337-91139e60f4ef\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully.\n", - "\n", - "Regarding your hotel stay at the Marriott in Helsinki for 14 nights, I will now transfer you to the HotelBookingAgent to assist with this booking.\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_fsZ5DTSHw1l1ciI9l9WvlA9i)\n", - " Call ID: call_fsZ5DTSHw1l1ciI9l9WvlA9i\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully.\n", - "I have also booked your hotel stay at the Marriott in Helsinki for 14 nights starting from 2025-11-01.\n", - "\n", - "Additionally, your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 is confirmed.\n", - "\n", - "If you need any further assistance, please let me know!\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (8cebb330-4727-4142-9d70-0ff841efd73a)\n", - " Call ID: 8cebb330-4727-4142-9d70-0ff841efd73a\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Helsinki. I need a hotel for 14 nights, a flight from London to Helsinki on 2025-11-01, and tickets for the Corteo show of Cirque du Soleil on 2028-11-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_XQcGXKfEGfcN8WWqhqurIA7c)\n", - " Call ID: call_XQcGXKfEGfcN8WWqhqurIA7c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book? Also, please note that I can assist with booking flights, but not hotels or show tickets.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (b6c62e61-4135-4bee-8584-817ab43fed82)\n", - " Call ID: b6c62e61-4135-4bee-8584-817ab43fed82\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "I have noted your flight request and will assist you in coordination with the respective agents:\n", - "\n", - "- For the flight from London to Helsinki on 2025-11-01, I will transfer you to the FlightBookingAgent.\n", - "- For the hotel booking for 14 nights in Helsinki, I will transfer you to the HotelBookingAgent.\n", - "- For the tickets for the Corteo show of Cirque du Soleil on 2028-11-10, I will transfer you to the EventBookingAgent.\n", - "\n", - "Let's start with the flight booking.\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1XeD1gAyaGWUmn8eD69iAn9P)\n", - " Call ID: call_1XeD1gAyaGWUmn8eD69iAn9P\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "I found three available flights from London to Helsinki on 2025-11-01:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "Which flight would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (65d667e1-95cf-4da3-8fb3-19cf875b5fd6)\n", - " Call ID: 65d667e1-95cf-4da3-8fb3-19cf875b5fd6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_jBZNHjTfirdRHJTE05j5XzB6)\n", - " Call ID: call_jBZNHjTfirdRHJTE05j5XzB6\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your stay in Helsinki starting on 2025-11-01 for 14 nights, the available hotels are Holiday Inn, Marriott, and Hilton. Which hotel would you like to book?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (1d028ac2-4b70-423b-98ce-20eaa50b0055)\n", - " Call ID: 1d028ac2-4b70-423b-98ce-20eaa50b0055\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_eventbookingagent (call_m1SJDJi1Qp03VhQc3F3rtpTl)\n", - " Call ID: call_m1SJDJi1Qp03VhQc3F3rtpTl\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_eventbookingagent\n", - "\n", - "Successfully transferred to EventBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "To proceed, please let me know which flight you would like to book from London to Helsinki on 2025-11-01 (options: Flight QF32, Flight QF4, Flight QF128), and which hotel you would like to stay in Helsinki for 14 nights starting from 2025-11-01 (options: Holiday Inn, Marriott, Hilton).\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (3bada93f-d61a-41cb-8efd-b9c7e78f3a45)\n", - " Call ID: 3bada93f-d61a-41cb-8efd-b9c7e78f3a45\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "The ticket for the Corteo show of Cirque du Soleil on 2028-11-10 has been successfully booked.\n", - "\n", - "For your flight from London to Helsinki on 2025-11-01, you can choose from the following options:\n", - "1. Flight QF32\n", - "2. Flight QF4\n", - "3. Flight QF128\n", - "\n", - "For your 14-night hotel stay in Helsinki starting 2025-11-01, you can choose from:\n", - "- Holiday Inn\n", - "- Marriott\n", - "- Hilton\n", - "\n", - "Please let me know your choices for the flight and hotel so I can proceed with bookings.\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "take qf4, and i want to stay in the marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_1eBmaFFfbYSrCkMye0kH1p2c)\n", - " Call ID: call_1eBmaFFfbYSrCkMye0kH1p2c\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully with booking code FLY123.\n", - "\n", - "Unfortunately, I do not have the capability to directly book hotels. I recommend booking your stay at the Marriott in Helsinki separately through a hotel booking service.\n", - "\n", - "Is there anything else I can assist you with?\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (42935805-5f68-4db6-8337-91139e60f4ef)\n", - " Call ID: 42935805-5f68-4db6-8337-91139e60f4ef\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully.\n", - "\n", - "Regarding your hotel stay at the Marriott in Helsinki for 14 nights, I will now transfer you to the HotelBookingAgent to assist with this booking.\n", - "Tool Calls:\n", - " transfer_to_hotelbookingagent (call_fsZ5DTSHw1l1ciI9l9WvlA9i)\n", - " Call ID: call_fsZ5DTSHw1l1ciI9l9WvlA9i\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_hotelbookingagent\n", - "\n", - "Successfully transferred to HotelBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Your flight QF4 from London to Helsinki on 2025-11-01 has been booked successfully.\n", - "I have also booked your hotel stay at the Marriott in Helsinki for 14 nights starting from 2025-11-01.\n", - "\n", - "Additionally, your ticket for the Corteo show of Cirque du Soleil on 2028-11-10 is confirmed.\n", - "\n", - "If you need any further assistance, please let me know!\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "Transferring back to supervisor\n", - "Tool Calls:\n", - " transfer_back_to_supervisor (8cebb330-4727-4142-9d70-0ff841efd73a)\n", - " Call ID: 8cebb330-4727-4142-9d70-0ff841efd73a\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_back_to_supervisor\n", - "\n", - "Successfully transferred back to supervisor\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: supervisor\n", - "\n", - "All your bookings are confirmed:\n", - "\n", - "- Flight QF4 from London to Helsinki on 2025-11-01\n", - "- Hotel stay at the Marriott in Helsinki for 14 nights starting 2025-11-01\n", - "- Ticket for the Corteo show of Cirque du Soleil on 2028-11-10\n", + "I have provided information and support for each part of your trip separately:\n", + "- For the hotel stay in Helsinki, you can choose among Holiday Inn, Marriott, or Hilton for 14 nights starting 2025-11-01.\n", + "- For the flight from London to Helsinki on 2025-11-01, available flights include QF32, QF4, and QF128.\n", + "- For the Corteo show of Cirque du Soleil on 2028-11-10, your ticket is already booked with ticket code EVT123.\n", "\n", - "If you need any more help with your trip, feel free to ask!\n" + "Please let me know if you want to proceed with booking any specific hotel or flight, or if you need further assistance!\n" ] } ], diff --git a/agent-architectures/7_swarm.ipynb b/agent-architectures/7_swarm.ipynb index a73b0ed..78edea2 100644 --- a/agent-architectures/7_swarm.ipynb +++ b/agent-architectures/7_swarm.ipynb @@ -23,10 +23,10 @@ "metadata": {}, "outputs": [], "source": [ + "from langchain.agents import create_agent\n", "from langchain_openai import AzureChatOpenAI\n", "from langgraph.checkpoint.memory import InMemorySaver\n", - "from langgraph.prebuilt import create_react_agent\n", - "from langgraph_swarm import create_handoff_tool, create_swarm\n", + "# from langgraph_swarm import create_handoff_tool, create_swarm\n", "from datetime import date" ] }, @@ -100,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "93de7d79", "metadata": {}, "outputs": [], @@ -131,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "a16147ae", "metadata": {}, "outputs": [], @@ -139,10 +139,10 @@ "tools = [book_hotel, get_hotels]\n", "tools.extend(hand_off_tools)\n", "\n", - "hotel_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "hotel_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are a hotel booking agent. You can book hotels and check availability.\",\n", + " system_prompt=\"You are a hotel booking agent. You can book hotels and check availability.\",\n", " name=\"HotelBookingAgent\",\n", ")" ] @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "988716e8", "metadata": {}, "outputs": [], @@ -165,10 +165,10 @@ "tools = [book_flight, get_flights_available]\n", "tools.extend(hand_off_tools)\n", "\n", - "flight_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "flight_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are a flight booking agent. You can book flights.\",\n", + " system_prompt=\"You are a flight booking agent. You can book flights.\",\n", " name=\"FlightBookingAgent\",\n", ")" ] @@ -183,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "3b0d560b", "metadata": {}, "outputs": [], @@ -191,10 +191,10 @@ "tools = [book_event]\n", "tools.extend(hand_off_tools)\n", "\n", - "event_booking_agent = create_react_agent(\n", - " model=llm.bind_tools(tools, parallel_tool_calls=False),\n", + "event_booking_agent = create_agent(\n", + " model=llm,\n", " tools=tools,\n", - " prompt=\"You are an event booking agent. You can book event tickets.\",\n", + " system_prompt=\"You are an event booking agent. You can book event tickets.\",\n", " name=\"EventBookingAgent\",\n", ")" ] @@ -213,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "a3c75c1b", "metadata": {}, "outputs": [], @@ -236,22 +236,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "b163c38c", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from IPython.display import Image\n", "\n", @@ -280,333 +268,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "bb7774be", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Perth. I need a hotel for 14 nights, a flight from London to Perth on 2025-08-01, and tickets for the Corteo show of Cirque du Soleil on 2028-08-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " get_hotels (call_BdJsvwMkdmQkaOuiM3fjbDSW)\n", - " Call ID: call_BdJsvwMkdmQkaOuiM3fjbDSW\n", - " Args:\n", - " destination: Perth\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_hotels\n", - "\n", - "[\"Holiday Inn\", \"Marriott\", \"Hilton\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your trip to Perth starting on 2025-08-01, the available hotels are Holiday Inn, Marriott, and Hilton. Which one would you like to book for 14 nights?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Perth. I need a hotel for 14 nights, a flight from London to Perth on 2025-08-01, and tickets for the Corteo show of Cirque du Soleil on 2028-08-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " get_hotels (call_BdJsvwMkdmQkaOuiM3fjbDSW)\n", - " Call ID: call_BdJsvwMkdmQkaOuiM3fjbDSW\n", - " Args:\n", - " destination: Perth\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_hotels\n", - "\n", - "[\"Holiday Inn\", \"Marriott\", \"Hilton\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your trip to Perth starting on 2025-08-01, the available hotels are Holiday Inn, Marriott, and Hilton. Which one would you like to book for 14 nights?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " book_hotel (call_AJYvXFC6ywhSzyXWerJLCw4g)\n", - " Call ID: call_AJYvXFC6ywhSzyXWerJLCw4g\n", - " Args:\n", - " destination: Perth\n", - " nights: 14\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_hotel\n", - "\n", - "Hotel booked in Perth for 14 nights starting from 2025-08-01. Booking Code: HLT123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_yVMo0yz2C75mtUk97MZq2Grf)\n", - " Call ID: call_yVMo0yz2C75mtUk97MZq2Grf\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Perth. I need a hotel for 14 nights, a flight from London to Perth on 2025-08-01, and tickets for the Corteo show of Cirque du Soleil on 2028-08-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " get_hotels (call_BdJsvwMkdmQkaOuiM3fjbDSW)\n", - " Call ID: call_BdJsvwMkdmQkaOuiM3fjbDSW\n", - " Args:\n", - " destination: Perth\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_hotels\n", - "\n", - "[\"Holiday Inn\", \"Marriott\", \"Hilton\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your trip to Perth starting on 2025-08-01, the available hotels are Holiday Inn, Marriott, and Hilton. Which one would you like to book for 14 nights?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " book_hotel (call_AJYvXFC6ywhSzyXWerJLCw4g)\n", - " Call ID: call_AJYvXFC6ywhSzyXWerJLCw4g\n", - " Args:\n", - " destination: Perth\n", - " nights: 14\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_hotel\n", - "\n", - "Hotel booked in Perth for 14 nights starting from 2025-08-01. Booking Code: HLT123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_yVMo0yz2C75mtUk97MZq2Grf)\n", - " Call ID: call_yVMo0yz2C75mtUk97MZq2Grf\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " get_flights_available (call_mHJM5PsxrqUU2v6eDI3LAu6I)\n", - " Call ID: call_mHJM5PsxrqUU2v6eDI3LAu6I\n", - " Args:\n", - " origin: London\n", - " destination: Perth\n", - " date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_flights_available\n", - "\n", - "[\"Flight QF32\", \"Flight QF4\", \"Flight QF128\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "The available flights from London to Perth on 2025-08-01 are Flight QF32, Flight QF4, and Flight QF128. Which flight would you like to book?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Perth. I need a hotel for 14 nights, a flight from London to Perth on 2025-08-01, and tickets for the Corteo show of Cirque du Soleil on 2028-08-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " get_hotels (call_BdJsvwMkdmQkaOuiM3fjbDSW)\n", - " Call ID: call_BdJsvwMkdmQkaOuiM3fjbDSW\n", - " Args:\n", - " destination: Perth\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_hotels\n", - "\n", - "[\"Holiday Inn\", \"Marriott\", \"Hilton\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your trip to Perth starting on 2025-08-01, the available hotels are Holiday Inn, Marriott, and Hilton. Which one would you like to book for 14 nights?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " book_hotel (call_AJYvXFC6ywhSzyXWerJLCw4g)\n", - " Call ID: call_AJYvXFC6ywhSzyXWerJLCw4g\n", - " Args:\n", - " destination: Perth\n", - " nights: 14\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_hotel\n", - "\n", - "Hotel booked in Perth for 14 nights starting from 2025-08-01. Booking Code: HLT123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_yVMo0yz2C75mtUk97MZq2Grf)\n", - " Call ID: call_yVMo0yz2C75mtUk97MZq2Grf\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " get_flights_available (call_mHJM5PsxrqUU2v6eDI3LAu6I)\n", - " Call ID: call_mHJM5PsxrqUU2v6eDI3LAu6I\n", - " Args:\n", - " origin: London\n", - " destination: Perth\n", - " date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_flights_available\n", - "\n", - "[\"Flight QF32\", \"Flight QF4\", \"Flight QF128\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "The available flights from London to Perth on 2025-08-01 are Flight QF32, Flight QF4, and Flight QF128. Which flight would you like to book?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "qf32\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " book_flight (call_1hWZ2HuhWAiNatSMtJjqV1rR)\n", - " Call ID: call_1hWZ2HuhWAiNatSMtJjqV1rR\n", - " Args:\n", - " flight_no: QF32\n", - " date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_flight\n", - "\n", - "Flight QF32 booked on 2025-08-01, Booking Code: FLY123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " transfer_to_eventbookingagent (call_4CBNCDYmoBjNGBm0KjJ3PcXJ)\n", - " Call ID: call_4CBNCDYmoBjNGBm0KjJ3PcXJ\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_eventbookingagent\n", - "\n", - "Successfully transferred to EventBookingAgent\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I need your help in a trip to Perth. I need a hotel for 14 nights, a flight from London to Perth on 2025-08-01, and tickets for the Corteo show of Cirque du Soleil on 2028-08-10.\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " get_hotels (call_BdJsvwMkdmQkaOuiM3fjbDSW)\n", - " Call ID: call_BdJsvwMkdmQkaOuiM3fjbDSW\n", - " Args:\n", - " destination: Perth\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_hotels\n", - "\n", - "[\"Holiday Inn\", \"Marriott\", \"Hilton\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "\n", - "For your trip to Perth starting on 2025-08-01, the available hotels are Holiday Inn, Marriott, and Hilton. Which one would you like to book for 14 nights?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "marriott\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " book_hotel (call_AJYvXFC6ywhSzyXWerJLCw4g)\n", - " Call ID: call_AJYvXFC6ywhSzyXWerJLCw4g\n", - " Args:\n", - " destination: Perth\n", - " nights: 14\n", - " start_date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_hotel\n", - "\n", - "Hotel booked in Perth for 14 nights starting from 2025-08-01. Booking Code: HLT123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: HotelBookingAgent\n", - "Tool Calls:\n", - " transfer_to_flightbookingagent (call_yVMo0yz2C75mtUk97MZq2Grf)\n", - " Call ID: call_yVMo0yz2C75mtUk97MZq2Grf\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_flightbookingagent\n", - "\n", - "Successfully transferred to FlightBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " get_flights_available (call_mHJM5PsxrqUU2v6eDI3LAu6I)\n", - " Call ID: call_mHJM5PsxrqUU2v6eDI3LAu6I\n", - " Args:\n", - " origin: London\n", - " destination: Perth\n", - " date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: get_flights_available\n", - "\n", - "[\"Flight QF32\", \"Flight QF4\", \"Flight QF128\"]\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "\n", - "The available flights from London to Perth on 2025-08-01 are Flight QF32, Flight QF4, and Flight QF128. Which flight would you like to book?\n", - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "qf32\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " book_flight (call_1hWZ2HuhWAiNatSMtJjqV1rR)\n", - " Call ID: call_1hWZ2HuhWAiNatSMtJjqV1rR\n", - " Args:\n", - " flight_no: QF32\n", - " date: 2025-08-01\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_flight\n", - "\n", - "Flight QF32 booked on 2025-08-01, Booking Code: FLY123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: FlightBookingAgent\n", - "Tool Calls:\n", - " transfer_to_eventbookingagent (call_4CBNCDYmoBjNGBm0KjJ3PcXJ)\n", - " Call ID: call_4CBNCDYmoBjNGBm0KjJ3PcXJ\n", - " Args:\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: transfer_to_eventbookingagent\n", - "\n", - "Successfully transferred to EventBookingAgent\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "Tool Calls:\n", - " book_event (call_MDZ8PnBWs8JCKOZM9AppvRYp)\n", - " Call ID: call_MDZ8PnBWs8JCKOZM9AppvRYp\n", - " Args:\n", - " event_name: Corteo\n", - " date: 2028-08-10\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: book_event\n", - "\n", - "Ticket booked for Corteo on 2028-08-10. Ticket Code: EVT123\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Name: EventBookingAgent\n", - "\n", - "Your trip to Perth is all set. The Marriott hotel is booked for 14 nights starting from 2025-08-01. Your flight QF32 from London to Perth on 2025-08-01 is confirmed. Additionally, your ticket for the Corteo show of Cirque du Soleil on 2028-08-10 is booked. If you need any more assistance, feel free to ask!\n" - ] - } - ], + "outputs": [], "source": [ "config = {\"configurable\": {\"thread_id\": \"1\"}}\n", "input_msg = input()\n", diff --git a/agent-architectures/8_planner.ipynb b/agent-architectures/8_planner.ipynb index a0283a7..06a37f9 100644 --- a/agent-architectures/8_planner.ipynb +++ b/agent-architectures/8_planner.ipynb @@ -31,7 +31,24 @@ "execution_count": 1, "id": "25b9ec62-0675-4715-811c-9b32c635b22f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ValidationError", + "evalue": "1 validation error for TavilySearchAPIWrapper\n Value error, Did not find tavily_api_key, please add an environment variable `TAVILY_API_KEY` which contains it, or pass `tavily_api_key` as a named parameter. [type=value_error, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.12/v/value_error", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValidationError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mlangchain_tavily\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m TavilySearch\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m tavily_tool = \u001b[43mTavilySearch\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 4\u001b[39m tools = [tavily_tool]\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/Repos/presentations/.venv/lib/python3.11/site-packages/langchain_tavily/tavily_search.py:340\u001b[39m, in \u001b[36mTavilySearch.__init__\u001b[39m\u001b[34m(self, **kwargs)\u001b[39m\n\u001b[32m 337\u001b[39m wrapper_kwargs[\u001b[33m\"\u001b[39m\u001b[33mapi_base_url\u001b[39m\u001b[33m\"\u001b[39m] = kwargs[\u001b[33m\"\u001b[39m\u001b[33mapi_base_url\u001b[39m\u001b[33m\"\u001b[39m]\n\u001b[32m 338\u001b[39m kwargs[\u001b[33m\"\u001b[39m\u001b[33mapi_wrapper\u001b[39m\u001b[33m\"\u001b[39m] = TavilySearchAPIWrapper(**wrapper_kwargs)\n\u001b[32m--> \u001b[39m\u001b[32m340\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[34;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/Repos/presentations/.venv/lib/python3.11/site-packages/langchain_core/tools/base.py:508\u001b[39m, in \u001b[36mBaseTool.__init__\u001b[39m\u001b[34m(self, **kwargs)\u001b[39m\n\u001b[32m 503\u001b[39m msg = (\n\u001b[32m 504\u001b[39m \u001b[33m\"\u001b[39m\u001b[33margs_schema must be a subclass of pydantic BaseModel or \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 505\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33ma JSON schema dict. Got: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkwargs[\u001b[33m'\u001b[39m\u001b[33margs_schema\u001b[39m\u001b[33m'\u001b[39m]\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 506\u001b[39m )\n\u001b[32m 507\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(msg)\n\u001b[32m--> \u001b[39m\u001b[32m508\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[34;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/Repos/presentations/.venv/lib/python3.11/site-packages/langchain_core/load/serializable.py:113\u001b[39m, in \u001b[36mSerializable.__init__\u001b[39m\u001b[34m(self, *args, **kwargs)\u001b[39m\n\u001b[32m 111\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, *args: Any, **kwargs: Any) -> \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 112\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\"\"\"\u001b[39;00m \u001b[38;5;66;03m# noqa: D419 # Intentional blank docstring\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m113\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m.\u001b[49m\u001b[34;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + " \u001b[31m[... skipping hidden 1 frame]\u001b[39m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Desktop/Repos/presentations/.venv/lib/python3.11/site-packages/pydantic/main.py:250\u001b[39m, in \u001b[36mBaseModel.__init__\u001b[39m\u001b[34m(self, **data)\u001b[39m\n\u001b[32m 248\u001b[39m \u001b[38;5;66;03m# `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks\u001b[39;00m\n\u001b[32m 249\u001b[39m __tracebackhide__ = \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m250\u001b[39m validated_self = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m__pydantic_validator__\u001b[49m\u001b[43m.\u001b[49m\u001b[43mvalidate_python\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mself_instance\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 251\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m validated_self:\n\u001b[32m 252\u001b[39m warnings.warn(\n\u001b[32m 253\u001b[39m \u001b[33m'\u001b[39m\u001b[33mA custom validator is returning a value other than `self`.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 254\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mReturning anything other than `self` from a top level model validator isn\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt supported when validating via `__init__`.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 255\u001b[39m \u001b[33m'\u001b[39m\u001b[33mSee the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.\u001b[39m\u001b[33m'\u001b[39m,\n\u001b[32m 256\u001b[39m stacklevel=\u001b[32m2\u001b[39m,\n\u001b[32m 257\u001b[39m )\n", + "\u001b[31mValidationError\u001b[39m: 1 validation error for TavilySearchAPIWrapper\n Value error, Did not find tavily_api_key, please add an environment variable `TAVILY_API_KEY` which contains it, or pass `tavily_api_key` as a named parameter. [type=value_error, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.12/v/value_error" + ] + } + ], "source": [ "from langchain_tavily import TavilySearch\n", "\n", @@ -49,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "d2cb767c", "metadata": {}, "outputs": [ @@ -111,19 +128,31 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "72d233ca-1dbf-4b43-b680-b3bf39e3691f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'tools' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 8\u001b[39m\n\u001b[32m 6\u001b[39m llm = AzureChatOpenAI(model=\u001b[33m\"\u001b[39m\u001b[33mgpt-4.1-mini\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 7\u001b[39m prompt = \u001b[33m\"\u001b[39m\u001b[33mYou are a helpful assistant.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m8\u001b[39m agent_executor = create_agent(llm, \u001b[43mtools\u001b[49m, prompt=prompt)\n", + "\u001b[31mNameError\u001b[39m: name 'tools' is not defined" + ] + } + ], "source": [ "from langchain_openai import AzureChatOpenAI\n", "\n", - "from langgraph.prebuilt import create_react_agent\n", + "from langchain.agents import create_agent\n", "\n", "# Choose the LLM that will drive the agent\n", "llm = AzureChatOpenAI(model=\"gpt-4.1-mini\")\n", "prompt = \"You are a helpful assistant.\"\n", - "agent_executor = create_react_agent(llm, tools, prompt=prompt)" + "agent_executor = create_agent(llm, tools, prompt=prompt)" ] }, { @@ -458,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "7363e528", "metadata": {}, "outputs": [ @@ -477,7 +506,7 @@ "source": [ "from IPython.display import Image\n", "\n", - "Image(app.get_graph().draw_mermaid_png())" + "Image(app.get_graph(xray=1).draw_mermaid_png())" ] }, { @@ -545,14 +574,6 @@ " print(\"\\nFinal response:\", v[\"response\"])\n", " break" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "628ce907", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/agent-architectures/requirements.txt b/agent-architectures/requirements.txt index 5b0f587..eb177b0 100644 --- a/agent-architectures/requirements.txt +++ b/agent-architectures/requirements.txt @@ -1,6 +1,7 @@ -langchain-openai==0.3.35 -langgraph==0.6.10 -langchain==0.3.27 -langgraph-supervisor==0.0.29 +langchain-openai==1.0.1 +langgraph==1.0.1 +langchain==1.0.2 +langchain-core==1.0.1 +langgraph-supervisor==0.0.30 langgraph-swarm==0.0.14 langchain-tavily==0.2.12 \ No newline at end of file