From 4c883df123aee143eb410dd755aa3cf77ad8a997 Mon Sep 17 00:00:00 2001 From: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com> Date: Thu, 18 Jan 2024 15:51:42 -0800 Subject: [PATCH] Add hierarchical example --- .../multi-agent/agent_supervisor.ipynb | 4 +- .../hierarchical_agent_teams.ipynb | 637 ++++++++++++++++++ .../multi-agent/img/hierarchical-diagram.png | Bin 0 -> 110777 bytes 3 files changed, 639 insertions(+), 2 deletions(-) create mode 100644 examples/advanced_agents/multi-agent/hierarchical_agent_teams.ipynb create mode 100644 examples/advanced_agents/multi-agent/img/hierarchical-diagram.png diff --git a/examples/advanced_agents/multi-agent/agent_supervisor.ipynb b/examples/advanced_agents/multi-agent/agent_supervisor.ipynb index 1723198b4..21acbcbc5 100644 --- a/examples/advanced_agents/multi-agent/agent_supervisor.ipynb +++ b/examples/advanced_agents/multi-agent/agent_supervisor.ipynb @@ -5,9 +5,9 @@ "id": "a3e3ebc4-57af-4fe4-bdd3-36aff67bf276", "metadata": {}, "source": [ - "## Multi-agent Example 2: Agent Team Supervisor\n", + "## Multi-agent Example 3: Agent Team Supervisor\n", "\n", - "The prevoius example routed messages automatically based on the output of the initial researcher agent.\n", + "The previous example routed messages automatically based on the output of the initial researcher agent.\n", "\n", "We can also choose to use an LLM to orchestrate the different agents.\n", "\n", diff --git a/examples/advanced_agents/multi-agent/hierarchical_agent_teams.ipynb b/examples/advanced_agents/multi-agent/hierarchical_agent_teams.ipynb new file mode 100644 index 000000000..64942f416 --- /dev/null +++ b/examples/advanced_agents/multi-agent/hierarchical_agent_teams.ipynb @@ -0,0 +1,637 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a3e3ebc4-57af-4fe4-bdd3-36aff67bf276", + "metadata": {}, + "source": [ + "## Agent Teams\n", + "\n", + "In our previous example ([Agent Supervisor](./agent_supervisor.ipynb)), we introduced the concept of a single supervisor node to route work between different worker nodes.\n", + "\n", + "But what if the job for a single worker becomes too complex? Or what if the number of workers becomes too large?\n", + "\n", + "For some applications, the system may be more effective if work is distributed hierarchically.\n", + "\n", + "You can do this by composing different subgraphs and creating a top-level supervisor, along with mid-level supervisors.\n", + "\n", + "\n", + "To do this, let's build a simple research assistant! The graph will look something like the following:\n", + "\n", + "![diagram](./img/hierarchical-diagram.png)\n", + "\n", + "\n", + "\n", + "In the rest of this notebook, you will:\n", + "1. Define some utilities to help create the graph and their relations\n", + "2. Write the tools and agent implementations.\n", + "3. Generate each team's sub-graph.\n", + "4. Compose everything together.\n", + "\n", + "But before all of that, some setup:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d30b6f7-3bec-4d9f-af50-43dfdc81ae6c", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture --no-stderr\n", + "%pip install -U langchain langchain_openai langsmith pandas" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "30c2f3de-c730-4aec-85a6-af2c2f058803", + "metadata": {}, + "outputs": [], + "source": [ + "import getpass\n", + "import os\n", + "import uuid\n", + "\n", + "\n", + "def _set_if_undefined(var: str):\n", + " if not os.environ.get(var):\n", + " os.environ[var] = getpass(f\"Please provide your {var}\")\n", + "\n", + "\n", + "_set_if_undefined(\"OPENAI_API_KEY\")\n", + "_set_if_undefined(\"LANGCHAIN_API_KEY\")\n", + "_set_if_undefined(\"TAVILY_API_KEY\")\n", + "\n", + "# Optional, add tracing in LangSmith\n", + "os.environ[\"LANGCHAIN_TRACING_V2\"] = \"true\"\n", + "os.environ[\"LANGCHAIN_PROJECT\"] = \"Multi-agent Collaboration\"" + ] + }, + { + "cell_type": "markdown", + "id": "504ee1c6-2b6a-439d-9046-df54e1e15698", + "metadata": {}, + "source": [ + "## Define Utilities\n", + "\n", + "We are going to create a few utility functions to help us:\n", + "\n", + "1. Create an agent and add it to a graph.\n", + "2. Create a supervisor for the sub-graph.\n", + "\n", + "These will simplify the graph compositional code at the end for us so it's easier to see what's going on." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e09fb60f-1aac-455b-b67d-8d2e4ccfd747", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Any, Callable, List, Optional, TypedDict, Union\n", + "\n", + "from langchain.agents import AgentExecutor, create_openai_functions_agent\n", + "from langchain.output_parsers.openai_functions import JsonOutputFunctionsParser\n", + "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n", + "from langchain_core.runnables import Runnable\n", + "from langchain_core.tools import BaseTool\n", + "from langchain_openai import ChatOpenAI\n", + "\n", + "from langgraph.graph import END, StateGraph\n", + "\n", + "\n", + "class WorkerAgent(TypedDict):\n", + " name: str\n", + " description: str\n", + "\n", + "\n", + "def create_worker_agent(\n", + " graph_builder: StateGraph,\n", + " name: str,\n", + " llm: ChatOpenAI,\n", + " tools: list,\n", + " system_prompt: str,\n", + " prelude: Optional[Union[Runnable, Callable]] = None, # Optional required steps\n", + ") -> str:\n", + " \"\"\"Create a function-calling agent and add it to the graph.\"\"\"\n", + " system_prompt += \"\\nYou are one of the following team members: {team_members}\"\n", + " prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\n", + " \"system\",\n", + " system_prompt,\n", + " ),\n", + " MessagesPlaceholder(variable_name=\"messages\"),\n", + " MessagesPlaceholder(variable_name=\"agent_scratchpad\"),\n", + " ]\n", + " )\n", + " agent = create_openai_functions_agent(llm, tools, prompt)\n", + " executor = AgentExecutor(agent=agent, tools=tools)\n", + " chain = executor | (\n", + " lambda x: {\"messages\": [HumanMessage(content=x[\"output\"], name=name)]}\n", + " )\n", + " if prelude is not None:\n", + " chain = prelude | chain\n", + " graph_builder.add_node(name, chain)\n", + " return name\n", + "\n", + "\n", + "def create_team_supervisor(\n", + " graph_builder: StateGraph, llm: ChatOpenAI, system_prompt: str\n", + ") -> str:\n", + " \"\"\"An LLM-based router.\"\"\"\n", + " supervisor_id = uuid.uuid4().hex[:4]\n", + " supervisor_name = f\"supervisor - {supervisor_id}\"\n", + " members = list(graph_builder.nodes)\n", + " options = [\"FINISH\"] + members\n", + " function_def = {\n", + " \"name\": \"route\",\n", + " \"description\": \"Select the next role.\",\n", + " \"parameters\": {\n", + " \"title\": \"routeSchema\",\n", + " \"type\": \"object\",\n", + " \"properties\": {\n", + " \"next\": {\n", + " \"title\": \"Next\",\n", + " \"anyOf\": [\n", + " {\"enum\": options},\n", + " ],\n", + " }\n", + " },\n", + " \"required\": [\"next\"],\n", + " },\n", + " }\n", + " prompt = ChatPromptTemplate.from_messages(\n", + " [\n", + " (\"system\", system_prompt),\n", + " MessagesPlaceholder(variable_name=\"messages\"),\n", + " (\n", + " \"system\",\n", + " \"Given the conversation above, who should act next?\"\n", + " \" Or should we FINISH? Select one of: {options}\",\n", + " ),\n", + " ]\n", + " ).partial(options=str(options), team_members=\", \".join(members))\n", + " chain = (\n", + " prompt\n", + " | llm.bind_functions(functions=[function_def], function_call=\"route\")\n", + " | JsonOutputFunctionsParser()\n", + " )\n", + " graph_builder.add_node(supervisor_name, chain)\n", + " conditional_map = {k: k for k in members}\n", + " conditional_map[\"FINISH\"] = END\n", + "\n", + " for member in members:\n", + " graph_builder.add_edge(member, supervisor_name)\n", + " graph_builder.add_conditional_edges(\n", + " supervisor_name, lambda x: x[\"next\"], conditional_map\n", + " )\n", + " return supervisor_name" + ] + }, + { + "cell_type": "markdown", + "id": "00282b1f-bb4d-4ee7-9bae-e8e6f586f12e", + "metadata": {}, + "source": [ + "## Define agents + tools\n", + "\n", + "### Research Team\n", + "\n", + "The research team can use a search engine and web scraper to find information on the web." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f04c6778-403b-4b49-9b93-678e910d5cec", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Annotated, List, Tuple, Union\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from langchain_community.document_loaders import WebBaseLoader\n", + "from langchain_community.tools.tavily_search import TavilySearchResults\n", + "from langchain_core.tools import tool\n", + "from langsmith import trace\n", + "\n", + "tavily_tool = TavilySearchResults(max_results=5)\n", + "\n", + "\n", + "@tool\n", + "def scrape_webpages(urls: List[str]) -> str:\n", + " \"\"\"Use requests and bs4 to scrape the provided web pages for detailed information.\"\"\"\n", + " loader = WebBaseLoader(urls)\n", + " docs = loader.load()\n", + " return \"\\n\\n\".join(\n", + " [\n", + " f'\\n{doc.page_content}\\n'\n", + " for doc in docs\n", + " ]\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "53db0c78-e357-48ba-ae5f-3fc04735a3b7", + "metadata": {}, + "outputs": [], + "source": [ + "import operator\n", + "\n", + "from langchain_core.messages import AIMessage, BaseMessage, HumanMessage\n", + "from langchain_openai.chat_models import ChatOpenAI\n", + "\n", + "\n", + "# Research team graph\n", + "class State(TypedDict):\n", + " messages: Annotated[List[BaseMessage], operator.add]\n", + " team_members: List[str]\n", + " final_response: AIMessage\n", + " next: str\n", + "\n", + "\n", + "research_graph = StateGraph(State)\n", + "llm = ChatOpenAI(model=\"gpt-4-1106-preview\")\n", + "create_worker_agent(\n", + " research_graph,\n", + " \"Search\",\n", + " llm,\n", + " [tavily_tool],\n", + " \"You are a research assistant who can search for things using a search engine.\",\n", + ")\n", + "create_worker_agent(\n", + " research_graph,\n", + " \"Web Scraper\",\n", + " llm,\n", + " [tavily_tool],\n", + " \"You are a research assistant who can scrape specified urls for more detailed information.\",\n", + ")\n", + "supervisor_node = create_team_supervisor(\n", + " research_graph,\n", + " llm,\n", + " \"You are a supervisor tasked with managing a conversation between the\"\n", + " \" following workers: {team_members}. Given the following user request,\"\n", + " \" respond with the worker to act next. Each worker will perform a\"\n", + " \" task and respond with their results and status. When finished,\"\n", + " \" respond with FINISH.\",\n", + ")\n", + "\n", + "research_graph.set_entry_point(supervisor_node)\n", + "\n", + "\n", + "def return_final_response(state):\n", + " return {\"final_response\": state[\"messages\"][-1]}\n", + "\n", + "\n", + "research_chain = research_graph.compile() | return_final_response" + ] + }, + { + "cell_type": "markdown", + "id": "749b99ab-f6f0-4c5d-a90b-10102465d186", + "metadata": {}, + "source": [ + "## Document Writing Team\n", + "\n", + "We will construct a graph in a similar fashion. This time using different tools.\n", + "\n", + "Note that we are giving file-system access to our agent here, which is not safe in all cases." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "202806d6-80bf-4153-ac16-ed6059236f2a", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "from tempfile import TemporaryDirectory\n", + "from typing import Dict\n", + "\n", + "_TEMP_DIRECTORY = TemporaryDirectory()\n", + "WORKING_DIRECTORY = Path(_TEMP_DIRECTORY.name)\n", + "\n", + "\n", + "@tool\n", + "def create_outline(\n", + " points: Annotated[List[str], \"List of main points or sections.\"],\n", + " subpoints: Annotated[\n", + " List[List[str]],\n", + " \"List of lists, each containing subpoints for the corresponding main point.\",\n", + " ],\n", + " file_name: Annotated[str, \"File path to save the outline.\"],\n", + ") -> Annotated[str, \"Path of the saved outline file.\"]:\n", + " \"\"\"Create and save an outline.\"\"\"\n", + " if len(points) != len(subpoints):\n", + " raise ValueError(\"Each main point must have a corresponding list of subpoints.\")\n", + "\n", + " with (WORKING_DIRECTORY / file_name).open(\"w\") as file:\n", + " for i, point in enumerate(points):\n", + " file.write(f\"{i + 1}. {point}\\n\")\n", + " for j, subpoint in enumerate(subpoints[i]):\n", + " file.write(f\"\\t{j + 1}. {subpoint}\\n\")\n", + " return f\"Outline saved to {file_name}\"\n", + "\n", + "\n", + "@tool\n", + "def read_document(\n", + " file_name: Annotated[str, \"File path to save the document.\"],\n", + " start: Annotated[Optional[int], \"The start line. Default is 0\"] = None,\n", + " end: Annotated[Optional[int], \"The end line. Default is None\"] = None,\n", + ") -> str:\n", + " \"\"\"Read the specified document.\"\"\"\n", + " with (WORKING_DIRECTORY / file_name).open(\"r\") as file:\n", + " lines = file.readlines()\n", + " if start is not None:\n", + " start = 0\n", + " return \"\\n\".join(lines[start:end])\n", + "\n", + "\n", + "@tool\n", + "def write_document(\n", + " content: Annotated[str, \"Text content to be written into the document.\"],\n", + " file_name: Annotated[str, \"File path to save the document.\"],\n", + ") -> Annotated[str, \"Path of the saved document file.\"]:\n", + " \"\"\"Create and save a text document.\"\"\"\n", + " with (WORKING_DIRECTORY / file_name).open(\"w\") as file:\n", + " file.write(content)\n", + " return f\"Document saved to {file_name}\"\n", + "\n", + "\n", + "@tool\n", + "def edit_document(\n", + " file_name: Annotated[str, \"Path of the document to be edited.\"],\n", + " inserts: Annotated[\n", + " Dict[int, str],\n", + " \"Dictionary where key is the line number (1-indexed) and value is the text to be inserted at that line.\",\n", + " ],\n", + ") -> Annotated[str, \"Path of the edited document file.\"]:\n", + " \"\"\"Edit a document by inserting text at specific line numbers.\"\"\"\n", + " # Read the contents of the file\n", + "\n", + " with (WORKING_DIRECTORY / file_name).open(\"r\") as file:\n", + " lines = file.readlines()\n", + "\n", + " # Adjust the line numbers for 0-indexing and sort\n", + " sorted_inserts = sorted(inserts.items())\n", + "\n", + " # Perform the insertions\n", + " for line_number, text in sorted_inserts:\n", + " if 1 <= line_number <= len(lines) + 1:\n", + " # Insert the text at the specified line number\n", + " lines.insert(line_number - 1, text + \"\\n\")\n", + " else:\n", + " return f\"Error: Line number {line_number} is out of range.\"\n", + "\n", + " # Write the modified content back to the file\n", + " with (WORKING_DIRECTORY / file_name).open(\"w\") as file:\n", + " file.writelines(lines)\n", + "\n", + " return f\"Document edited and saved to {file_name}\"\n", + "\n", + "\n", + "@tool\n", + "def create_plot(\n", + " data: Annotated[\n", + " Union[List[float], List[int]],\n", + " \"Numerical values for bar heights or line points.\",\n", + " ],\n", + " file_name: Annotated[str, \"File path to save the figure.\"],\n", + " labels: Annotated[\n", + " Union[List[str], None], \"Bar or point labels, defaults to None.\"\n", + " ] = None,\n", + " title: Annotated[str, \"Title of the plot.\"] = \"Plot\",\n", + " xlabel: Annotated[str, \"Label for the X-axis.\"] = \"X\",\n", + " ylabel: Annotated[str, \"Label for the Y-axis.\"] = \"Y\",\n", + " color: Annotated[Union[str, List[str]], \"Color(s) for the bars or line.\"] = \"blue\",\n", + " plot_type: Annotated[str, \"Type of plot ('bar' or 'line').\"] = \"bar\",\n", + ") -> Annotated[str, \"Path of the saved figure file.\"]:\n", + " \"\"\"Create a line or bar chart.\"\"\"\n", + " if plot_type not in [\"bar\", \"line\"]:\n", + " raise ValueError(\"Invalid plot_type. Expected 'bar' or 'line'.\")\n", + "\n", + " fig, ax = plt.subplots(figsize=(10, 6))\n", + " x_positions = range(len(data))\n", + "\n", + " if labels and len(labels) == len(data):\n", + " plt.xticks(x_positions, labels)\n", + "\n", + " if plot_type == \"bar\":\n", + " ax.bar(x_positions, data, color=color)\n", + " elif plot_type == \"line\":\n", + " ax.plot(x_positions, data, color=color, marker=\"o\") # 'o' for circular markers\n", + "\n", + " ax.set_title(title)\n", + " ax.set_xlabel(xlabel)\n", + " ax.set_ylabel(ylabel)\n", + " fig.savefig(str(WORKING_DIRECTORY / file_name))\n", + " plt.close(fig)\n", + " return f'Saved \"{title}\" plot to {file_name}'" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1bcdbf44-9481-430c-8429-fa142ed8a626", + "metadata": {}, + "outputs": [], + "source": [ + "import operator\n", + "from pathlib import Path\n", + "\n", + "\n", + "# Research team graph\n", + "class AuthoringState(TypedDict):\n", + " messages: Annotated[List[BaseMessage], operator.add]\n", + " team_members: str\n", + " final_response: AIMessage\n", + " next: str\n", + " current_files: str\n", + "\n", + "\n", + "authoring_graph = StateGraph(AuthoringState)\n", + "\n", + "\n", + "def prelude(state):\n", + " written_files = []\n", + " if not WORKING_DIRECTORY.exists():\n", + " WORKING_DIRECTORY.mkdir()\n", + " try:\n", + " written_files = [\n", + " f.relative_to(WORKING_DIRECTORY) for f in WORKING_DIRECTORY.rglob(\"*\")\n", + " ]\n", + " except:\n", + " pass\n", + " if not written_files:\n", + " return {**state, \"current_files\": \"No files written.\"}\n", + " return {\n", + " **state,\n", + " \"current_files\": \"\\nBelow are files your team has written to the directory:\\n\"\n", + " + \"\\n\".join([f\" - {f}\" for f in written_files]),\n", + " }\n", + "\n", + "\n", + "llm = ChatOpenAI(model=\"gpt-4-1106-preview\")\n", + "create_worker_agent(\n", + " authoring_graph,\n", + " \"Author Docs\",\n", + " llm,\n", + " [write_document, edit_document, read_document],\n", + " \"You are an expert writing a research document.\\n\"\n", + " \"Below are files currently in your directory:\\n{current_files}\",\n", + " prelude=prelude,\n", + ")\n", + "create_worker_agent(\n", + " authoring_graph,\n", + " \"Outline + Notetaker\",\n", + " llm,\n", + " [create_outline, read_document],\n", + " \"You are an expert senior researcher tasked with writing a paper outline and\"\n", + " \" taking notes to craft a perfect paper.{current_files}\",\n", + " prelude=prelude,\n", + ")\n", + "create_worker_agent(\n", + " authoring_graph,\n", + " \"Generate Charts\",\n", + " llm,\n", + " [read_document, create_plot],\n", + " \"You are a data viz expert tasked with generating charts for a research project.\"\n", + " \"{current_files}\",\n", + ")\n", + "\n", + "supervisor_node = create_team_supervisor(\n", + " authoring_graph,\n", + " llm,\n", + " \"You are a supervisor tasked with managing a conversation between the\"\n", + " \" following workers: {team_members}. Given the following user request,\"\n", + " \" respond with the worker to act next. Each worker will perform a\"\n", + " \" task and respond with their results and status. When finished,\"\n", + " \" respond with FINISH.\",\n", + ")\n", + "\n", + "authoring_graph.set_entry_point(supervisor_node)\n", + "\n", + "\n", + "def enter_chain(message: str):\n", + " return {\n", + " \"messages\": [HumanMessage(content=\"Write a short report on pikas\")],\n", + " \"team_members\": \"\\n\".join(sorted(authoring_graph.nodes)),\n", + " }\n", + "\n", + "\n", + "def return_final_response(state):\n", + " return {\"final_response\": state[\"messages\"][-1]}\n", + "\n", + "\n", + "authoring_chain = enter_chain | authoring_graph.compile() | return_final_response" + ] + }, + { + "cell_type": "markdown", + "id": "f4b5b08d-9a9a-474a-94b4-f7aaa8ff19e6", + "metadata": {}, + "source": [ + "## Adding Hierarchy\n", + "\n", + "We've created two graphs already. Now let's put them together.\n", + "\n", + "We'll create a third graph to orchestrate the previous two, and add some connectors to define how state is shared between the different graphs." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "95ae7e52-92ed-41a3-88c4-21b6d7c8b041", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.messages import AIMessage, BaseMessage, HumanMessage\n", + "from langchain_openai.chat_models import ChatOpenAI\n", + "\n", + "\n", + "# Research team graph\n", + "class State(TypedDict):\n", + " messages: Annotated[List[BaseMessage], operator.add]\n", + " next: str\n", + "\n", + "\n", + "def join_graph(response):\n", + " return {\"messages\": [response[\"final_response\"]]}\n", + "\n", + "\n", + "super_graph = StateGraph(State)\n", + "super_graph.add_node(\"Research team\", research_chain | join_graph)\n", + "super_graph.add_node(\"Paper writing team\", authoring_chain | join_graph)\n", + "llm = ChatOpenAI(model=\"gpt-4-1106-preview\")\n", + "supervisor_node = create_team_supervisor(\n", + " super_graph,\n", + " llm,\n", + " \"You are a supervisor tasked with managing a conversation between the\"\n", + " \" following teams: {team_members}. Given the following user request,\"\n", + " \" respond with the worker to act next. Each worker will perform a\"\n", + " \" task and respond with their results and status. When finished,\"\n", + " \" respond with FINISH.\",\n", + ")\n", + "\n", + "super_graph.set_entry_point(supervisor_node)\n", + "super_graph = super_graph.compile()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b8badbf-d728-44bd-a2a7-5b4e587c92fe", + "metadata": {}, + "outputs": [], + "source": [ + "results = super_graph.invoke(\n", + " {\n", + " \"messages\": [\n", + " HumanMessage(\n", + " content=\"Research and write a report about the climate impacts\"\n", + " \" on crop yields in Bangladesh in 2023. Write the paper and include plots.\",\n", + " )\n", + " ]\n", + " },\n", + " # {\"recursion_limit\": 150},\n", + ")\n", + "results[\"messages\"][-1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6ffcc7f-7b78-4ca5-8e0a-7c0ac08300fc", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/advanced_agents/multi-agent/img/hierarchical-diagram.png b/examples/advanced_agents/multi-agent/img/hierarchical-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..b3fa81275dadd96bfd203b9fb92ae01173a94252 GIT binary patch literal 110777 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 z zo=4z;r?{(t7=9{LA$#t=c?vKku4OSB-Cz0C=Rt=ciwL{^InVuR5bLZoa=C~veeJ>b zoVrl`Imu(aTu1Ugnffojq(kKiXNdLX(IWPX7XOFAPAbW6P1o@Sg9!-5E36z}vy~3^ zBRz#KJs7pfObA$Cx!%Fxqs8x6WYE)LEvW=@6-+3A_GS;*t`lFJI9?ZvFSRc~1^CWF z%otxOcCDJvvz##dju6_vt#{||3AJ@hyC}8uk;~~*%|%_%c;XygImTGoK(!tL>G8Kg z_d|G2LRT*gL)zBm*YIkl{O}4Oh7K9s5d`Jwq1Sa^)dzs0a86$HR~xX0R=e+78hRGz z80DPX17=Pr6Ub$yt(sNneV7^ZO^`{!Qp77{%Quyl14@&?mX$?=JWOjXS}0=GFZw-!_P! zJj`kPEZ7=4#T5hbd~0y6Mkg1b;NgokhjuX4;aRQ=4dIW#J8YGdxc_UtC_pY#IK8T4 zsf@K@CKjiF(|tlKQg}7oyu@FDD&LIkEk)9rkJNVt-$Me_RXQR=hK|yQfS#6jIbKTUYqxkmw! zy8#O0$9^$YpJZ&sj{T{YT*S6MPVSYInm~;Q4r(h_1Kv!aUIyDWPD!JLT*aqef8#No-rxk=g3idw^Y=VKC zL@8KwU5-h2*^TBwh7b<26n7TOE!y3nW?ffMHKdPT0gWvW_kb*Y4l@&<;*k;xY?>IJdL&nB=wE8aG%gXz87X6p2-=~9zoT3xtMFc5EH_a z|LRtb%aBo^fq_uW75S+Jnd&wVK#H!#IgLGE;bEMyS$Cc2xw(pE+(t@*AuNfr z?1eS5^BO_WA3%tW59imd@jSFvUDi3@e|Oay zbgXvA{SmrD9`+JfM$DxedD$UuPP1`A0m9vXhbzzTzf$uwuGH?tscfNiP^Nw`YpGTF zh;l#|9L4P=Z}-1$qu)Wa=Ovrlzx1u1NH~hC~mrx zCEMNE&?@iKqX~w5dm4B%xW{25B#+c&3D9*X{C?t;fsKF4&&jiVUf^qN^&F?&k03>r z`fO5gH2Q8T)vzhn>2mjv7r3;dQ{t#6d~aZE&DLebOI0#`VuH3HbF@vOc1gwV5rU9> zWAU>1;vF{@Bz$>veBHU){wC#%G>Y*o4vN8_F{qHd-;9o-6hBfy;o}JsR1-M#)}doP z3Pz8(7etNywz4P~h0~}pz*co@E2LMn;%@Ier*AOsrf7VVo$f>$A*4=fw~$)r33$7L z9!=~9Z`8<1MQKUtPasB4n8wF8;O+y%pEa`Ymgc`zy!2|C@)hpozHaiRg`q%3zu%zK zXKaG4ak+qpZgmsjafPLZJ@n)~r%qoz^tpm&LsjYvkFMFdN^is*Y(fk#59odp-Z#c^ z2EX4%hY-1lh!1paGuC+p9lxO!nIFBL2#S6&*Rc(Lk;gp|;pjNukGYtV5o_T zH>i~~wDdL>KjX&N!oiN8*^lUuuV3J{5K9Wi2>8ocFY)_Fe8`=3Ab(P!{S^Y$hO-S%m#^~1 zDkdsGZ5Z2(XX_xym}Y)>es}2vjx#Bi4c+N6@yFYo7~47okruD<96IYLJf_92H-$h_ zym?vevcO49FhId(3Bk8Wik0VohedsN`jc22TjT9m$~UzFRs-$7cM_FgIm{@%DNt#C z!Bx94(2$Vq_vt`M5Wu-zN)AuzYcPpUhpltr#2&NwlHxFQx6y=)Nc|hk*8aTqfLclB z3EWW1Q)cFmQdt^7lmkgB~-yOm*EW8oxI z9bf!ELdSSjAClV3H$Cl3JP&{8rse&?xDbylR8c@%Xznti%$@SYUZ&%dv!W>jq&F)AJd`S>mL@bTD!M72IL@C9Ih%um|6Hc;%LE#byYM;-uV zPRh}*6g=}-QZkII4RM9KDZ%zx+ZOHy0{lqjhQacK=vL4%xUlovlunvSpi%co)uo~j z)^q%5utL*Lvh`t9Z^g$Hnaz?g1SNV8TmvcVeQ*;5A_GB)Lhhb~Y}o*9jK601^Rrz* zE;ZwZoH<1Gun?Y~c%$)a&4nH;c0%_QbFY*e> zyl{lKknNau@NZ)A^m>QS#Quc{0&^N{IkGQ$Pc}{3^%O8) zu!0}%t+GV<+h2tMcoOuUD@cH&Jq#l8Ck7xcZzAKgkSbsuL%UwMdYLsVw#*_Z9u7AD zF=sW+hAIw!3rO8G;1n*DmCvy}gVR1rQK7wzNPP0$<$es;`i2WQkw{{DOS((%FYtA7 zx;{YS$D+$Z>O?tsUrmEnzs|AQSg*baN@dgmbW@5)-399IVAh2B(n;@Qlc3t5Mvh=Q z{^JR7FH$RXW7QmNOCa}I=*i~j#9qm8FvyBMpO;_27vrh?cFi^dO8m%ZrH3@5Y{9iI zX2+|AYIcNvPsk0A0B`C^fQvIjYe=_B{Sykiwau|Guh(r*qnleI8o?_NiN(!=L-AB0 z*R&)FGReR0Mi3(b0FunEeo8Aj8uSFhXXQcF=DXC$&q8MUkD8wIhho**87w1Gzdclg z>6Y4dI0HZ~+3Fn6^S)R~3bO)lUHTc-Jjn!fp0 zng_R*i9KOkc1 zRSp_LGHS=}JHtv7B-RffWb(*5esZspHG^RZXu6TKd5*jDdwk6MSVyb`x>2~rsF;%~_;K)sqI z32EM6p#1#zE_CV6m(FNw>Gb&+aFZ_g&^)Fh2=Wyg5RqOkmgV%orG{+YqKHi7LI&Cj zd!m#4ldydcs`;0MBrb3yf@)V5t1nK^bX#GZU_{eflsqnUo82M0I;38);WDjY5@3=Z zHhv5D{6$aFJx%&YIN(3EmxnOXkczZpum}Gn#JO_~NzN;RE?MqcC1dCogSkp)@(#pn zT~Gr1vg0c(82)r=ncbo1#)CFpE!_Titc9q@r~kA7QiKo*WFKFeImR6r=(X&r#0!!Y z&|jQ0!+0%eEU5Q>&l=0OfG;lk=Z&Tp$j2hn6rDBW``x3QG~t^ZjoA^HIr(NFP$Ba* z{-O0=?T|SKY3?hS1w;Ag0K=PT84wzRXZ!aK*7>bF(;_h>OwjMnH>VBLrIAPQJ zZoY=38o0$SujCa1rGb1J7qQggt~^S-yo2-9LyiFy8|heFtf+lUa2_Jn9`IJU4JI?@ z2A~=PZ5!G$EOBD90n7@AiA^R{<>7LgkTG^&gSpBQKBs5mlnIhpOnymRwId|qD3p8A z3R45V3zk8nS74(YQCEn=ohHcGv?y4d;S~E08qxhALGiY06&TSIw&iJt4ovLnuv4?5 z@ns@Jxi+`OzQPf*9*WTNcRG=MebDVLeHj^jzU^{>l=a!G@)v8k=mq;VJP}juv_kUT z!Uhp0l#AUpZ0`%rfr&31ddcRX#9djArrw@aPOZ5o4U}Sj;PQ-IoxWX_8hl&M+MJn< zaBk4fhRbXnSd%;hjtt|Yb_zb*w^J9-uS?o=n;{G#MP-= z0Zi8N=*^f_4(jv5i9TcA6D@Yz>QP0km!E95QraG|HJXbNBIj`WdNjE=3yvytE8z#B zv)6J+#Vf6_Xvy(ELEJM#a+2rHtK#bWIE{rL7DQQVT*A=;U_Y6c^;tMc^jMEg08yRn zI@XRTA}RlJOnZdlwZ5{RZMMvXa~#iY_Z<*fOTZvXRh_|p5Se$@mTx8%ES$r!&vFby} zz8IN&coa$lej_cL&I(`!bu92rcP7mph{UWH)ND&50qJ0PvWj0p?Sq8`%UT1!+R;N2 zN)acQj0YBMgrU*A!SP+sGyQk~z%7zq?9Qm@_{_y427>H!WSm3uskGgKPO;Czo4Q5# zjDNh5h@9DcB6yG^4qA&}kYu78r?)YX>1kkET1LZ=9_0Ft@9RD$zPP_^IhW&7iSxy< zR)R#sm_?`3Qm9Oj6n&Ba0JB4ad<(?o5-XYOrpp6I$SEP}l-rl|CwJN1yzZjq2@{m0 zY{12Z;oqa1-M^?EYZKt!z-_F)&Kq}ZD7F!Nd7FMX0ny zOx~L4bS5zS2}_iR6*AU=yY!kv50y;4kJD$iy-FB=TVqbR;EGY3XMYYCtPG2)^K+6Q zOCdvQ7p$f7r#ZNh<30q5)nKvJpr&(Jh6$xIi%?>EQzskU!1B-RZB?7TWmC6Gd79jX z0;_Tley&f?&{Ow3YtXO2+g*f>5lV-czEj^Ko4j~w;68}T*RZ7=A~s(OLLnMtEliA4 zPyHhab`BmPP!DB;mfX$5ig+LATl8goz?%80VuCJ!@?JIoo_`a^4@~?Knt`q!+m;v5ySq?yl zww%Up#Ilb;Eh`{~6vZX-$;6nS&ij5cb;SF41|A0(FTDDCLzj9!DZb60j5ml;`U!_$ zx+Gm27X4jf;6qsArgN{BX}!IXo^4{gj*0)k%|Oikch2k&@iC}Q6Zp=jp>Z=g~zG- z&>kb%^Ou}H6`V|y$>I<;^21N~iE1-PPdI$tkW&>h3g6;iB+~KEL3%fQjf>A@%=Z?w zy&bYOb6QD#r|fJDv?3SYqmFSmzc8bb`>X`})QuMF;#*P`r#HT&{NM9X`nZco{lTbw zJ$k~RFb$j>`kO<&RMWgcvYU4s9MShOv>cVVUtiJ+wu+2ad6~P!mK_~16Xe>FhHj@B z;Cn%-MmKh;#bK4DMN5Zy8#gNYq) zMa+9QzwLR7)1U4ZC=tg;uJ+$`XnL^0^TF0EKGRRh_|I9VHT=*NNszr$!6H|9lS;ih zmDXrk1RMR-8{d_8`8H=TfVk9 z?mGh1Wg;so93ooL0!{plqn)NQkCvk078X1j&DD45FN?FB+j$AwNF&YQt>?g=oQEPxLGMKB#(Jc&W)J9V)O`_xi zuKqL~NY_4i1OH{W4E~cbB3Mw@iG+d$OW0!nrqlE@QVBXx+3O323jW!(1@0l zxtd~trHNfvqx@>&r^|M?uRJxaQKZ_sd3I?6@E!5sEWqf0GraEHTkvlEirn>J6C-dLce$iVs0&S8aZ13= z%WcelaMRVnJ;Y>)Qb}IiMo07GpBC|DXzk3zx<7Tm>Be1{!!zbH=njHdHeg9flj^ck zO^KvTCGRj2@u$k^6AR9mz-$ophOIbZOZ$(bxMs^7$Fq`{ZH{-w8d`5##v0dp58ku> zYJ7W5;h^ua%Qzvad=yi`<!|!oeTR(kW=4&$@urx-jIr5T41BzF}l|nzpgl0q?Uv_qg*h_+T-r| zrCVVQZ~65yUeIP4?>R(+E9Do>dr@H*YcH-8e$89S>2BfT(-ynDwn3YOk+A}>e7j7D zv@Ej3!AOa*f<7s=eS*96E1pMoV(E@@MuZ0)92H z47wK__e*5dmVPo3k&=rXC_T{Ss0_Ei?!Sa2Z_o!px)Xs@$r~Cy3#$bOVoLL%)~L^f;I4lB*!q~u5Es<5#+eXw{IJmddRs%h z0RxymO)_=2zh+684MUzZ1-nT?#T}Zesfzof^Zf+KxS{c?6jPQggRBk(m|Ps*V>M~D(l^~MsMhf91v8qjwYd_1VQCn()U8V3s7^_i089iw$? zr=1K-tYasr1*{qnDZBNbbQ-iNaUFwDuJV1ipDDNpl23fTn>-883ohSyQ?>7OVw`tG z01~)W2`MBQUafSftp5fPy{DnsDn&T4`BT1#cet7|~YKG2D9rYYxiA6h-LW`wDJ|6gZpQxVx^-4%>?A6L#G-CpLaIOpIAeY+P$Knsv3U z)gf>EK`6+XGhxf&kP{Zif`(cUi!W{|f zpD)@76R^2}9b;aBMuf?M!!Hx6^xeb7miu`7Rt`atDMUL8@!78r5Qu47;{YRc3VIc? zuS;hPubBbz4>oT5Tdb~-m~N}6gfpRB~csLhr z-YnzIQwHC81P`@=_{bF_v$c`pU6zoK;Aafofml?8@_jqLvzFjjJ#fcPbH{BR*T1{r z0z_dgXR`AKwwSF(!M56;$;t5wWDGGr#vP9(Y{5}6P7$>bVp_%X4`)UE_fzIjxa=$->=-#vO*kbtUzdfFujd;_z9GBj`vrihXT z)=v(`|J2(F7Rj-z?JEXm2LAHPX?#VH-K@!~IYt1J^mQW?Ud~FJ*N1n3SH22LkmB%& z_!U{2s^Jeo$p&l27SOo;;4~RZeap#?vF)5e4?U1r4W(Gy zQ@%L+@K!!&hF_2JfA-|Rv%@3@%pf^%NsS%VPzWz>5wsL zOtSxac3n9ya)(@KD`M>hN^GO*Z2mIGcJ}?2%zJAUB-(!Kxd4hN9 z3am8Khhz8{lFNdnW(#t9(J6w)Bf``a9X~RDsMKI=)ja5 z#ItZ|bLZa-{%bPOziKl83zqfU&O1c#NbGo)MJN0$VM&`2`Ol=gRbdb^TL7RF!DFB! znV@g~?c&;(^y1G{zEE*;7=q-KGt)-|LN7vjRvrsXlxvv<|7{&54$o3u>wESEdsDS@ zs{Z*Ld~FF`p$p(oA(glZpk6pfbN%+Oh*g9A3N7bA(J@-6{yb?Td@c7BD%Gw6?S-yf zdw=$)Aj$u%p;80>uNl;}_xn~gsQz_!itmqEw@_tr8=U~?wN(QA#7wAixT9c2f5W}l z_^}bRC`F-wN@rtre+7`)9?DGtBwn@zpsA~%J3e=n5<^Ws|44F-K55NgdI6!KV(KC2 zPL(f&gsp~w^hPwq?P~J|ox_|%>(QnNSAge4ivu*ZlX@rlvI)cyvea0FdIb4cyC6xo z)y1^%&P2eG>iXrGC_s7eEIfBa}3~qT4aPK#_1Ca68k?OoevY{ z5B5@f;GicddUmp{tErn!@4JVL`Ka9o?jToyMu`#!9q;WI&BV-tm%uA(IoDxdehT#` z7eYL?rVj6~yuJWk+o?QejC5|gw5i71wUbMD0L zW3R_AsML>oo>c>T_5B7+=koS5s}3B}=rV(Ay^KbnjN7S$b@t@uvG$%HNfnJKC^Hs7 zdUV4H8=ecRkQC@1;I4Rn^Y+G6c`zn#Lj%aEqECS)XxgpST8K?>h<9XM9dz>)@CSH2 z0Gt*VxW!_-?{SKgF0}(eWFt2=L-;zir&7E?DZaX(;1rCxIwyYRg4~6vnBM@NNpsPo zlB`;kOm+<2rfL}D8z`s&)W3c*l0)|@YbZB^7*!omTd&xjY3%;+CSQ5rxu-uqf0BP@etQERUX@Aj(~vWfDX zel7-?Y879LfD~yo;3HNZqEWN1AG?=~UVNQAn84?65?rW-D|U!wP|vDs!E3takVIrNwa&gmKY(Z(@ROF{On#b=%Mql!uN>}B+3-_RA9OU?A-UHv zbSPlKL*75Fn%w2?$=Bu(5fu;+nA3s)NGxcnoBdQf?5KDZ1gsUUtSfhS07ND10W2YL z!4otf zA`BfzpUTYKb}p?P=frr{820Z!%{@$J~I zvD}Va$B*nbrM6>4I9+yt_i&5p4y08Vk0f;e04ltqbCsF&)a5l=U$l8u1^I@fCl>-G zc2Z7U_W$hHO1gy5II52NFUHpGGJu^&2800S`UTKBg(AU8k3|02e{tp_QN+3C`ORnA z9Wo3)^m3QyJl`N66=KL49rJv>#BD-G3n)X21v(5;s_2Dfj!vz8hm+sYwe3$_!XK!v5=znC zy0QsqF$T^+R9N&Tu5fF9DV80?VRWA)AW3~}lAT(=IZy;kS<*?No~(DrpUeW)+r zwPs*+3icPr0FYCg#Z?RwnYgL|ZdCmEgEfv*3|A8NWMqqNfE4@9^#Q7N`#>=+NOJ0EH5VBku$OnjCLo=l;LPT&Q8)oQjx72Di=tz zkOVMCYO5`b{Y}};>3sQ1HchxahSxr$#>}N0svzYI!21*WHTsIA1E-*x`}Ma`Zm2(u zEHR!Jn}1tu>~~aYyY2JH_#M&oQtAa?rHs07*>!}Qc!LFGaI)qbIe z*wfTqz3Jl-V2+t8{U@L|k2zk-5hQD%RoOyWI^;p4X}ygn z*eyCpjVrn&j;*8dsQZE@{%HP9ct}->TMEg9Kg+#zcPCG?|$STv~VP3BLQ+ z&*3i`Uq#&Xu9`bWSqK6*1456O(?4sIe>h3BXUVAMrc90?f~gnK@(R(wi*ilB^*aPX zvz2;#92@^WQ&@0Jnf0tER4@M1vK?*a5Qq43o0+;6O+d!*o9^w*`^q8Qh*zIfvUn(o zNfigVk%2Kh_N?l1&RanDxtgn#zSq4DZ!2P`xySJ6yS&6(H3G5)*O9)&C`bsj>kyL> z83xc>POdwbw#jcA3B7$>HFVTePF(r))&euo%BgO^rS%mjWtA&$a+x1@g=BjRf5laR zjfNt=M3+G1+BecWiGpSfqf|f%c@<Bkx1y z=Q({7fEw8Ptt}Xc9iRO$gnb-T%ntzu*;a4{^!?ht5*~@Xi(R2veYj^!f$!%OKgS2r1#GLOrEvje=GTBOU96!PoM7! z3GB}M(FzjM*U|B^ZbFGCsw&hbpFsv&%AVW+p!>RhwS1kzXT=O&a{LK?;HyRMMP zdhkZO(lNd3N(%`$vi_o3qUa&_8@GD$&k-dqc--%Xui z2Lq7?D?{!WaYrfcEh*nkTfK%Ie1#A3B!qe|f$qiW^IY^=(DQ~>py%#T!<|N!S3bF$ z>%xgh8U7xO{XzdVJ@r(}_ezL!O>Gh(WjFL73R%+p4pM(34c<~(W5gp1mzcQm#;Ov>AXIHLmJT-r%EU% zl4>Q1jO)CXx)0G$cJg|=T*sy?q!!Ssw5(M&F%N@qZH^eP8ntdhdFw_D?FYi+Ek!l= z2kV>@8)e$i4$SKTw8HxN44!y#@MbKTLrs-r$8wMWGGC*c2*Ikfu_DD|^Gt(#)_4uK z_e}KT7G?TaWB7aaAZ`(#h%0cRPG5OdhTM-$Ov~HAvPHh~HAEkF7E3d~4ig-Fod4uq zV(>l2Aef$qBc=B9>K<0bz(<)a9D98G_Emf8-;DF!+&*9u(EdQwGE!W*PG+YeUWi~u zPb~iURd?0mLX*U_c%Bd)tvUU209JDrvjJ?IG6cODloj9E_3dyoE^G&|{8F?o4fw}U zj`lI`$)^L^FwwK`GW8)o^_S?l8*j@PH9jVw9aca$PLWZ}rBRv~Orlrr%9_h4Cni<- zWO7aGD@j;fHIY#uIGiaCy>>53DqY#%Y)@$oIYZS&PivV`@*AiaAB_bB-{xacXQSK} zzg8*8vIyje|1_pa>`u5~H-m|LNp8b=g>2{o35RsA5; zr5+6>;YZg_`(NdDoOyIdrkU%PNRtKK17XX}1bfCRG^+;^jwkgrZ}8z?7FoN zIO3qh3?WDlLkLJoHw>wSfQ592w1jl%07Hu)-3>~Egdj+lw1k9ocY~te9-rrZ&-u>( zz%ci{_gZVOy{_No3yWl)SpV{Fd%_FNO3MOKO-fG({hu9hn%^-<7XH|Q0qdymHCQ#K zwULK;>HRWI+8E3rRZt;9{{w@fscq+k=|Zc?0L&q!mo}M0|L&H+unC(+))wY$y*ILpKdwPu zyUEwbTfZzPyCn?&hc)+6yZj#X*Y@v)6C;NNX zj(%aLp@~Oy^apQ(??6xAd>2&E4W#P3Bt^bq+NWg=ghg>3gF^|ApKp+o!&dM49tYRw z+e$L3WQ3?%3rSatVJTZC5&j}>x_cB0Y(InSWJTTCNoYv<>fy~up7!$7(oOWc%7~BnuJ^`?+@v8$ zP8V3OR)@wZPxQ4@^~Z+svgnmIv^B3YmW%^)gFg{+hZ@xTft2JE@1h;gpu2u!@D(H} zQur2yPD8&FI;2ey{rZNnRN0k>KgCa+KtIAI8I)`_Q%&&d&NYF1MrjbO*W_|B2~F5? z^&sm2D5n{Zx$gA(q(mLLRyUCa36FWxAPllzoO$dE8uM+m) z?%?h0P3%W~KR2=Br!z7@F|H`J*s!W$diTsH%$Q5W#mIS?pD=|W(p4Xg^6)Li_LI<0 zGK-1mt;P}{{525FK}3glk)%9awL<^gL=O_hL4lLN15zU2hG$z}C;U{qfMU z33xktd{cM!ATCWgq#0AgDfEn4Lav;1xQ(AUGp4o|jK1yK-B*xhMG^80&l3N+@W)Wi zwtZM=x8d7=mHI1;09TR%$5foh?x7|vpJX+>%*%cDAp=Bx;V7tCm41EgJvIbJ+c_}E zTQzixO09@}apNRQlIvoPsZwoJ<^1K3Ne&&H;0yniO*=tRXcT2B;dYg$HSAc~Bd0x( z-JmBLKX4c0gWnh)<)ej2+DwRN-HU9yf%~12lt)Q9MsKr%-`Mu17k1)&n z0R0_(L2xkfDqKv}u3aQD9#5nxXPo_`sKLraM%&hk&T1gRJZ|~1b?K-qqJJ0McdQ8o z(0$VPvH3xc*KzW}P{noqs_gUF;CYo4L9`TM#Us7evz9B2bPG?%Jh9y$uOQk?@imwB zGE|)PDmUbjyqvt0ga>j+b3O|3-d!YL(P1lwyH~=VchD4L>^_Z-PV~&;CFhA~!uW@{ z)ACWTccIG%_Fbr;k2O`Hy@hKxN?q1iews=k?~bgSpyD5)gRao`wV5#^v=`51g9Un0 z9ctGM#o(l_vSopfoup4J&+HRBJ(eB^vmkV}UZ+Jmgx|~@i6-WZ++^*Es7)D*Qs+rs z-?Liua*3NHAz7)YU75!XVxw8TO}vcePhGf6V%1Q-w)KxtFXJ4tAWAEEPcqI_zus)k zmpYH}*fHWV0pbb9u=ZU)v2;#@{@r#Uxg2w(rPwQ*4P4r5Wa*TdWeE%Cofk*W^$c!? z)G?Ih)Z#e_T6_{SaZ)e;97_M;{|Uf;BR6`#RFWn~QPzh);b3i04@=A6dTsaadq|-S zod<6{d)hpjBf$*w3kq&a1PohA6=LNiLOkp#6bC$% zmz(3h?j8BF2bYS1d4yV1!UsyQRUM=mtq@3kOt~>X%eig&Z689cNf$i$BD{)CN%HlE zJ(NN{@_!&*ZZwghN{u-0-ZSPi_ClgY*yie&#CfhjPf=OKg~;pKLfO8yY;8CECOivM z8BiiW`<)N+w~`0mU~Et@g5=tA6^QzrMI zXxK09U`-`@szvvbx#Je8Xx>LiKIV6(BM4_(xvKWPmcyWDUw-D^ldxZFQ?Mk7A~?7X zPdcP9ROjXN+Ngt@Uw<99>+TYquWtJw9=b{O6MIovZ1F0~Wc3srTs^qGO=R-fA#P(s zi7EiuqxXJAs%w2%WWh__ z6WD)&{K`LbGaX(P7D6oJ;t5j7RoRbeYk- zx3GE+FN5aMP|GWBN*Dt)38qbD2znK^scmA(IB`%RP0C{;cgK`&K;EE&l=^ur8j~7o z7XAY1O*va08!)7;fQWG>XLC>)Xon0IiVO%HM7)8mpJQrNm>QIs71Iz#2j1=C35R4a z6XHKlyequM(MjGe+aGh+B>iYv5qa1;7PU(1%wQ8)Fd z&LBjbNM`47H)}bIdm=n@&CvqWwsxmP6!LJ3Ghx5tbAqGTZIwc8UGkO@N;twSz7fZ$ z#h!IDtgZL=sCxb-Yu%XXlG##v=x}+7ZQ^GuOg%Z9L8rlkQnG`4hDk6tq-(gbxSi|| z+)q)I6zKWpJoQwugj&AuVWxi*EC2{>yJ~phDe&}ur<}n17%B5SMXN3=AF_!_RH?E!!in8KhtUBHii~s=4aq;%?qHr;Pv)>K1vmGYF}1z3D41>n2kQL%ZgIbcW~|!L z;gXqN*j-M(Ww7lAhno99oChQ9A)kEr#2+jR-J8}c#PUdlF0;ZJ(LyT3Ebk~*9Bsia zpa04`#c%Mgok~z1>A09!52g!w0z)CW{DyHosQ0nkoqJzR7W6Pn zwqXe=E<0IdPp5zE{=L8fchC|~%L!Uui%`5G_!KbMQ^18XV-(0cxl+BTz$A1316l63%@|9GVsL8c_aNAJ`j8f)F%yDB|MbDDjvHA$bNR7xOCsn6)55F zWTIv2GB(Xc`offu?;6qOG-RTO@vJLD%B`<*`UMdQ`5&(%+L*qO(p+^)Dtlu7%3weD z1lv6pX{b?6A8I?~QbD|Ekw(iK+?gYyTL+AMXYUlN5WD1{VSPvMo9}liX0g`}Jh!inLl)S_wKk5TL;tjKaaYP|?Ydv28Qa{YCQ=Gko~L~qIciF? z9X{^Dmuv7RJSk;K=Yb*2G0o&w=xXGy^^6I#-o>X3)ph19C%s>+=aHCx*VvP1XLe*w zw6aNif^Z?0$WG!MyTACVP)Il&Oo9Q)iwxdXyh7Yg*6=w2A;Yam`2E%Enj#G<`;jsN z#JjP3zVlQKPxkEd7EeH~036ymtQheg#$Lm>{t) zBc9s#+1zAnm5w@N>dsze++mRL7)ERA9j&N0zTVF(yqlW|3V6Qf3(HC_)NA3x)^kw= z37A`IQ1X(8Vg%MHYbL*4cyASXf*Yu%ao9K~Up>;nAaZahUrsrTU)eI+2Vb8|ueH#U zv~zf<0jO`9J0iZom3(j15aI=Jn&#?NWGf_90paVDih*` za~D8%%N6C(tDL5cX$Lw%v%5Os@W&|(Ud&q}tO`r!Vrj|dU=gm~njOKcF@xB`g!JLA zV3_}=JfSI(EXreicla`4k2*8W(gf3QjlpL%l_yti)IL=G`D;-$Y%r9o^Tx(q8h^@N zXqLz|^tdD6XWrwmczozNv;?c(bzr`A+*;`~4C#Hu++m?u@Ia|7cU6XvgeLHq_r{QS zl;la5lD=^bd1C@HDmzL_tmYkTXfn8=3rX~}<+Jg_!$hB2ZlkwB!;35mn2UB8Yx`z^ zx3askX{nQ>{12n@aZgQ5Bqcs&df}fxM=bX-7w+6j;(HZ{>IXMPTDCA%kk@}%5`s-K{D*o2-B}cHPYUeeQ0N!Dk z#Xc3vTcy!}YUL(@CdF>DCMn+q6<%;{L_B^fHEHV2aF4coVp8rtZ!qb7Io#`Yd@YOK zE=F1o(Z4cUnyMBt!TfY$tQL2uf5)yGlXz)Mjfl4}cX0Z-_`|ySw$>lX-w!<3eyaC^ zyPqL#$vt-PR?b5eOX8>q7p<0~v#jVyHkWcq>-etp3r1MJqF2%n0cqsuAu6-)j3+Hv z-Gey+ZkR-g>q59+a$oX;Nt4Sx-C#>GxySGn`1*+VK9k9?>e(B=wq%R5J8~lMy zgy#pUc^}+Q4z`Gf-k63GbYATV84Mm5K^gPeDtQu`AYB#x)mqW*Qts6qU7|gjDZ&e& z<8}Bd`iaxDh>Af`@L9K$h)T}vmbnK7-SvW(NwwVWh5ahfp77!>F|)*(*0!T?W81T4S|W-%;?|k2AfOmy-90^ z(;H7}LPrSoUf7v(BGH{t{2m#pHul}|ft9QHk@$`T`9!u4wq$*Sr5kV43!EU3zt;Zj zz49Ln;45^a9p z)6O=G-XMw2+I#YW$Dqj_4}I3TwXBLt=+F4d=S~^*T)9K^OiiAO5Uq^146u;DM zl~CmQ)2~SlW}wpuMat7$Bt|nLQ%!e>Aalg)F!@Krcw(+8!tY% zzA?U*RNQp4%2lR(ab~tE@q} z%oN0`9gh`L%YOtB(S%OM`$ol2nA5=9;r6Ze5k7k+mS!~O2?EA3CY+8DydH}MC>AEk zSGNg1EvX~L?89{p6xZk3Q@$5Z^iD*f3D`YPTVkX*P!7^jJGZY0-5j?N^HZ{=S=Gt6 zRmI0dBnNqiG+b~wd1rjsKgj*zYrc6+U%34;5y_?~PudSW0af=Cto>G{+K=A_RVAN@ z_B{Zj_TgaYB4+<^EtG(Yq28p~LYfp;!Wf#p4>@Aj+P%TPqpMfk8s>n4r5`!_|p1&KSY&Vln4%n}b_@qB0S zf%PM_d(y7PnNnhwzRAs>E!+>!sax-Lhu@97VDgXTpc{tKB|O6CxsWYCU0WJnH#)m* zVC_Ny~Z$ zrrYYU36weV!?4fDK!dvyv~w2YrdIP{li!UZbGeMg`bJC4+$4jW`o6^8o$sI9eHOeX z+d|6iQfyKwNsQCm_p|R5wwlOW9nibX|zjgvB8JMRB!)CvQ>|Kc9 z`tI3a*m6$@s z29%p|SZ$ewntvHPUr!ADO?YgI(lFAKepE6a(g6~)Bt6e*8Xqp<7T})uW(xAJNcF6f zyDDam`Z0)6qeq(;%~Q}BG_6QD-mSE5UN!kgC{{*7CT>z`xF*d5L)QEE$jXyi7g_bC z*Z5yKZ`>2N`ti&`Zd(2h5q?TK0nsW&aBa^8D4<=*=-IN;-!Nv=kLO)BSXLJb z76ZC04w!2=F}Q}Y4kuhT7vp(TzFB6o*W9l1)M4c0qt8Q|xFCj{^e>n$59Yu%4~^3l zQmQEbOwo?TA@TAK<<&Mhw zHGTa!rTR#3%%(_5r&^LysuaK38$`~pYDsu-3?ds#tU2gr2>uq2_~4GpC%Z;0o>x5O z6IWGjUL21-N1nhL3403oVyB*Z*^J8Ltutr7MiC2@+s6U$MFLi1xPBlYj4hRsWX-*2 z*a3r`ZBzjfYbK%!FOzf6(|Ceq;a1EjQ8L7QDdxA0657$^>82Aucis8!g9b$tE@`Y2 zVynX(fqDVC$sxQc#U@yLsV$KHrjYsX>hk|mfWZf-A^hW|=6^toJG*+7k4%~Ptj{E3 z`mY`4?AEdThg!?0ghzPqQ1)&o{@y4*!hh};fSI^~iSji0sAQ(-6>rM~ZiMo`;+}t| z{tA+CVxsu(^OHJ@@@0yzW9KA3%V*326w|@L?-=Zy16H3C9=iEl!RXKBY3XB+JK_Hf z68+D}pmK%^z$2=UXe!aY;|mZh?@h#{kdx`I8veo#O=h4$7n^|m>9^N7h%5i!XTOmV z#ibMK`OAY#kP1i!lXjE9BR1v%jJ}Qm2*CFF41vqI$(NT+;Omp#CY{KvZP_I)puuI^ zD9{blrpG?^ugDDTkp`j4|3Vl?gPQ?Od3_7mPxNE$Za)XspEmB!yiBISPP53!Aii&A ze1u>~?234BOgD%T8FxEKm>8gYuJ1zrLuD0Gk!=7X? z?YbAs5GAhy>`uRcV+Vp=2n!4=wV6QIlo;apb|K9QG)*_uz!sR@9$6p0#qfV0nj)kB z6(z!Z48|{CVi(TfeLS(s>WXK@k8XgEtSQqhehaaX#Th^`oK!Myi-M1_hVA(Z5{0e+ z!1QQ@47%J4Yb;)q_3ZCz=11;&vpy11$ z=lR&d()#mFeGi3x&zc9ZkuZ*+RVX!9d?ZFHlfXCqkWRPbF8HMw(z)Lq(CXL3Vz;L% z%+t!GQU759sBkOV#H-!^wg`SF4>m{Nr6QuRmRFUq94iyYHR+~FiiT{+<1Bg{Z+x4q zcip5_)XxuMXIH7B;2{F+O5KX!_t+KIm)=}q-dhntBi!G_7>C`d&Ey1V9Jx5m5Sl>; zXy1MDw=39R32}nR^$}9F{~R#KRPlVU;D-byJ${GRoFU$KfC65JgJo3Rf=9q%8+0M%}| zDtIksk9I^j@r+dmHoVg;@8aL5-$Vjmt*A9%a;7@@NzbrThkOhC)ke zgI_)AoJ;`^a3AVuc-_gO0Xg%RZRrDTQxUw6uI=+7+GlCNeHI_e=dCW8m(98^Ro;)S z3jnA(u<@g;O3^x`j#(`_LMlH{L*+wA-sG6qd!G`3U8iPKSEpR^BE_@Y0~Z7AH-ZcRglaH%lQQabfc*SEonJ}m$NtmWZAs0mp|6?__WBTJ<8a#nl0!+m0Z8o+-+tsuof2bAx ze}snp@cMn6vQ0%0D1yTG0bvn+d-qbW*67M|VI-N?UV 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

{vpA^;w2Y$UC& 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≷P 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