diff --git a/examples/multi_agent/agent_supervisor.ipynb b/examples/multi_agent/agent_supervisor.ipynb
index 329dc36f3..53c0d6b30 100644
--- a/examples/multi_agent/agent_supervisor.ipynb
+++ b/examples/multi_agent/agent_supervisor.ipynb
@@ -33,7 +33,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 1,
"id": "30c2f3de-c730-4aec-85a6-af2c2f058803",
"metadata": {},
"outputs": [],
@@ -68,7 +68,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"id": "f04c6778-403b-4b49-9b93-678e910d5cec",
"metadata": {},
"outputs": [],
@@ -97,7 +97,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 3,
"id": "c4823dd9-26bd-4e1a-8117-b97b2860211a",
"metadata": {},
"outputs": [],
@@ -124,12 +124,7 @@
" )\n",
" agent = create_openai_tools_agent(llm, tools, prompt)\n",
" executor = AgentExecutor(agent=agent, tools=tools)\n",
- " chain = executor | (\n",
- " # So the agents properly role-play in this simulation, we will\n",
- " # tag their final message as a human message\n",
- " lambda x: {\"messages\": [HumanMessage(content=x[\"output\"], name=name)]}\n",
- " )\n",
- " workflow.add_node(name, chain)"
+ " return executor"
]
},
{
@@ -142,7 +137,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"id": "80862241-a1a7-4726-bce5-f867b233832e",
"metadata": {},
"outputs": [],
@@ -164,12 +159,13 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 5,
"id": "311f0a58-b425-4496-adac-dc4cd8ffb912",
"metadata": {},
"outputs": [],
"source": [
"from langchain.output_parsers.openai_functions import JsonOutputFunctionsParser\n",
+ "from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder\n",
"\n",
"members = [\"Researcher\", \"Coder\"]\n",
"system_prompt = (\n",
@@ -212,6 +208,8 @@
" ]\n",
").partial(options=str(options), members=\", \".join(members))\n",
"\n",
+ "llm = ChatOpenAI(model=\"gpt-4-1106-preview\")\n",
+ "\n",
"supervisor_chain = (\n",
" prompt\n",
" | llm.bind_functions(functions=[function_def], function_call=\"route\")\n",
@@ -231,7 +229,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 6,
"id": "6a430af7-8fce-4e66-ba9e-d940c1bc48e8",
"metadata": {},
"outputs": [],
@@ -253,10 +251,6 @@
" next: str\n",
"\n",
"\n",
- "\n",
- "\n",
- "llm = ChatOpenAI(model=\"gpt-4-1106-preview\")\n",
- "\n",
"research_agent = create_agent(llm, [tavily_tool], \"You are a web researcher.\")\n",
"research_node = functools.partial(agent_node, agent=research_agent, name=\"Researcher\")\n",
"\n",
@@ -280,7 +274,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 7,
"id": "14778e86-077b-4e6a-893c-400e59b0cdbf",
"metadata": {},
"outputs": [],
@@ -311,7 +305,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 8,
"id": "56ba78e9-d9c1-457c-a073-d606d5d3e013",
"metadata": {},
"outputs": [
@@ -334,7 +328,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "{'Coder': {'messages': [HumanMessage(content=\"The code `print('Hello, World!')` was executed, and it printed `Hello, World!` to the terminal.\", name='Coder')]}}\n",
+ "{'Coder': {'messages': [HumanMessage(content=\"The code `print('Hello, World!')` was executed, and the output is:\\n\\n```\\nHello, World!\\n```\", name='Coder')]}}\n",
"----\n",
"{'supervisor': {'next': 'FINISH'}}\n",
"----\n"
@@ -356,7 +350,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 9,
"id": "45a92dfd-0e11-47f5-aad4-b68d24990e34",
"metadata": {},
"outputs": [
@@ -366,7 +360,7 @@
"text": [
"{'supervisor': {'next': 'Researcher'}}\n",
"----\n",
- "{'Researcher': {'messages': [HumanMessage(content='## Research Report on Pikas\\n\\nPikas are small, mountain-dwelling mammals native to Asia and North America. They are characterized by their short limbs, rounded ears, and stout bodies. Unlike rodents, with which they are sometimes confused, pikas are more closely related to rabbits and hares, belonging to the order Lagomorpha.\\n\\n### Physical Description\\nPikas are typically 15 to 23 cm (5.9 to 9.1 inches) in body length. They have an even coat of fur, no external tail, and resemble their close relatives, the rabbits, but with short, rounded ears. Their thick fur and small ears are adaptations to their cold habitats.\\n\\n### Habitat and Distribution\\nPikas inhabit mountainous regions where they have adapted to life in rocky terrains. These creatures can be found at high altitudes, with the large-eared pika of the Himalayas living at elevations of more than 6,000 meters.\\n\\n### Diet and Behavior\\nPikas are herbivorous and primarily feed on plants. They are known for their diligent behavior of collecting and storing food in their tunnels for winter. During the warmer months, pikas spend their days gathering grass in montane meadows and creating hay piles. These animals are also remarkable for their distinctive vocalizations used for communication.\\n\\n### Reproduction and Lifespan\\nDetails on pika reproduction and lifespan were not provided in the immediate search results, but like many small mammals, pikas would typically have a breeding season and a relatively short lifespan in the wild.\\n\\n### Conservation\\nPikas are currently facing challenges due to environmental changes. As their habitats are affected by the expansion of agriculture and the increasing temperatures due to climate change, pikas may find themselves in competition for resources. They are notably heat intolerant, which makes them particularly vulnerable to global warming.\\n\\n### Conclusion\\nPikas are fascinating creatures with unique adaptations to their high-altitude environments. Their role in the ecosystem, distinctive behaviors, and close relation to the rabbit make them an interesting subject for further study, especially in the context of environmental conservation.\\n\\n**Sources:**\\n- [Animals.net - Pika](https://animals.net/pika/)\\n- [OneKindPlanet - American Pika](https://www.onekindplanet.org/animal/american-pika/)\\n- [Facts.net - 12 Facts About Pika](https://facts.net/nature/animals/12-facts-about-pika/)\\n- [Wikipedia - Pika](https://en.wikipedia.org/wiki/Pika)\\n- [HowStuffWorks - Pikas](https://animals.howstuffworks.com/mammals/pika.htm)', name='Researcher')]}}\n",
+ "{'Researcher': {'messages': [HumanMessage(content='**Research Report on Pikas**\\n\\nPikas are small mammals related to rabbits, known for their distinctive chirping sounds. They inhabit some of the most challenging environments, particularly boulder fields at high elevations, such as those found along the treeless slopes of the Southern Rockies, where they can be found at altitudes of up to 14,000 feet. Pikas are well-adapted to cold climates and typically do not fare well in warmer temperatures.\\n\\nRecent studies have shown that pikas are being impacted by climate change. Research by Peter Billman, a Ph.D. student from the University of Connecticut, indicates that pikas have moved upslope by approximately 1,160 feet. This upslope retreat is a direct response to changing climatic conditions, as pikas seek cooler temperatures at higher elevations.\\n\\nPikas are also known to be industrious foragers, particularly during the summer months when they gather vegetation to create haypiles for winter sustenance. Their behavior is encapsulated in the saying, \"making hay while the sun shines,\" reflecting their proactive approach to survival in harsh conditions.\\n\\nThe effects of climate change on pikas are not limited to the Southern Rockies. Studies published in Global Change Biology suggest that climate change is influencing pikas even in areas where they were previously thought to be less vulnerable, such as the Northern Rockies. These findings point to a broader trend of pikas moving to higher elevations, a behavior that may indicate a search for cooler, more suitable habitats.\\n\\nMoreover, researchers are exploring the possibility that pikas at lower elevations may have developed warm adaptations that could be beneficial for their future survival, given the ongoing climatic shifts. This line of research could help conservationists understand how pikas might cope with a warming world.\\n\\nIn conclusion, pikas are a species that not only fascinate with their unique behaviors and adaptations but also serve as indicators of environmental changes. Their upslope migration in response to climate change highlights the urgency for understanding and mitigating the effects of global warming on mountain ecosystems and the species that inhabit them.\\n\\n**Sources:**\\n- [Colorado Sun](https://coloradosun.com/2023/08/27/colorado-pika-population-climate-change/)\\n- [Wildlife.org](https://wildlife.org/climate-change-affects-pikas-even-in-unlikely-areas/)', name='Researcher')]}}\n",
"----\n",
"{'supervisor': {'next': 'FINISH'}}\n",
"----\n"
diff --git a/examples/multi_agent/hierarchical_agent_teams.ipynb b/examples/multi_agent/hierarchical_agent_teams.ipynb
index d969b6654..a4794a319 100644
--- a/examples/multi_agent/hierarchical_agent_teams.ipynb
+++ b/examples/multi_agent/hierarchical_agent_teams.ipynb
@@ -42,7 +42,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 3,
"id": "30c2f3de-c730-4aec-85a6-af2c2f058803",
"metadata": {},
"outputs": [],
@@ -85,7 +85,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 19,
"id": "4024eb89-843d-4cc3-ab3f-e1eb4d031179",
"metadata": {},
"outputs": [],
@@ -108,7 +108,7 @@
" docs = loader.load()\n",
" return \"\\n\\n\".join(\n",
" [\n",
- " f'\\n{doc.page_content}\\n'\n",
+ " f'\\n{doc.page_content}\\n'\n",
" for doc in docs\n",
" ]\n",
" )"
@@ -129,7 +129,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 5,
"id": "f20a18ca-2709-4c12-84f3-88678591a9fa",
"metadata": {},
"outputs": [],
@@ -244,7 +244,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 20,
"id": "e09fb60f-1aac-455b-b67d-8d2e4ccfd747",
"metadata": {},
"outputs": [],
@@ -347,7 +347,7 @@
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 21,
"id": "53db0c78-e357-48ba-ae5f-3fc04735a3b7",
"metadata": {},
"outputs": [],
@@ -401,7 +401,7 @@
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 22,
"id": "1a7a1260-d9f6-4011-b2b1-13fab5126997",
"metadata": {},
"outputs": [],
@@ -455,7 +455,7 @@
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 10,
"id": "912b0604-a178-4246-a36f-2dedae606680",
"metadata": {},
"outputs": [
@@ -465,7 +465,7 @@
"text": [
"{'supervisor': {'next': 'Search'}}\n",
"---\n",
- "{'Search': {'messages': [HumanMessage(content='Taylor Swift\\'s next tour, titled \"The Eras Tour,\" began on March 17, 2023, in Glendale, Arizona. The tour is scheduled to continue with various dates throughout 2023 and has added new U.S. dates for 2024. The tour will also go international this year and the next, with dates yet to be announced for the international leg. For specific dates and locations, fans can check the official announcements and ticketing websites.\\n\\nTo get the most updated information on the tour dates and locations, fans should refer to Taylor Swift\\'s official channels or trusted ticketing platforms.', name='Search')]}}\n",
+ "{'Search': {'messages': [HumanMessage(content='Taylor Swift\\'s next tour, named \"The Eras Tour,\" has dates scheduled for both 2023 and 2024. Some of the upcoming dates mentioned in the search results include:\\n\\n- November 25-26, 2023, in São Paulo, Brazil at the Allianz Parque\\n- February 7-9, 2024, in Tokyo, Japan at the Tokyo Dome\\n\\nFor a complete and detailed list of all the dates and locations for Taylor Swift\\'s \"The Eras Tour,\" you would need to visit official sources or ticketing websites such as Ticketmaster, as the search results suggest additional dates have been added due to overwhelming demand. The tour is set to wrap up in Indianapolis on November 3, 2024. Keep in mind that the schedule may be subject to change, and it\\'s a good idea to verify the dates on an official ticketing or event site for the latest information.', name='Search')]}}\n",
"---\n",
"{'supervisor': {'next': 'FINISH'}}\n",
"---\n"
@@ -496,7 +496,7 @@
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 12,
"id": "1bcdbf44-9481-430c-8429-fa142ed8a626",
"metadata": {},
"outputs": [],
@@ -592,7 +592,7 @@
},
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": 13,
"id": "9c5c644f-8966-4d2e-98d2-80d73520e9fe",
"metadata": {},
"outputs": [],
@@ -645,7 +645,7 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 14,
"id": "9860fd46-c24d-40a5-a6ba-e8fddcd43369",
"metadata": {},
"outputs": [
@@ -655,11 +655,7 @@
"text": [
"{'supervisor': {'next': 'Note Taker'}}\n",
"---\n",
- "{'Note Taker': {'messages': [HumanMessage(content='The poem \"Whispers of the Ancient Wind\" is now written and saved to disk as follows:\\n\\n1. **Introduction**\\n In the hush of early dawn, where shadows softly tread,\\n\\n2. **Setting the Scene**\\n The whispers of the ancient wind stir the slumbering bed.\\n\\n3. **Rising Action**\\n It speaks in tongues of yesteryears, a wisdom deep and wide,\\n Through rustling leaves and bending boughs, it shares what time can\\'t hide.\\n\\n4. **Climax**\\n The gale then rises, fierce and bold, a truth it must impart,\\n With howling force and chilling breath, it seeks the willing heart.\\n\\n5. **Falling Action**\\n Yet as the gusts begin to wane, the message becomes clear,\\n\\n6. **Resolution**\\n In every gust and gentle breeze, the past is always near.\\n\\n7. **Conclusion**\\n So listen close when breezes blow, and hear the silent din,\\n Of stories old and lessons told, in whispers of the wind.\\n\\nThis structure captures the narrative flow of the poem, moving from the calm introduction to the intense climax, and finally to the insightful conclusion.', name='Note Taker')]}}\n",
- "---\n",
- "{'supervisor': {'next': 'Doc Writer'}}\n",
- "---\n",
- "{'Doc Writer': {'messages': [HumanMessage(content='The poem \"Whispers of the Ancient Wind\" has been successfully written and saved to disk with the file name \"WhispersOfTheAncientWind.txt\".', name='Doc Writer')]}}\n",
+ "{'Note Taker': {'messages': [HumanMessage(content='The outline and poem have been successfully written and saved. The poem, titled \"Whispers of the Wind,\" captures the essence of the wind\\'s journey from a gentle beginning to a powerful crescendo and then a calming end, concluding with the cyclical nature of this elemental force.\\n\\nHere is the completed poem:\\n\\n---\\n\\n**Whispers of the Wind**\\n\\nEmbracing the essence of nature\\'s breath,\\nA zephyr stirs, the dawn\\'s own cheer,\\nWhispering secrets, meant for no ear,\\nThe gentle beginnings, a soft caress.\\n\\nA gale ascends, midday\\'s fierce guest,\\nTwirling leaves in a wild, untamed dance,\\nNature\\'s raw power in its vast expanse,\\nThe crescendo of gusts, a forceful dance.\\n\\nAs dusk falls, the tempest does wane,\\nA soft sighing through the willow\\'s mane,\\nIn the quietude, peace finds its chance,\\nThe calming aftermath, a serene trance.\\n\\nThrough whispers, roars, and silent chants,\\nThe wind carries on, no pause nor glance,\\nIn its journey, a boundless, spirited lance,\\nThe enduring cycle, a timeless romance.\\n\\n---\\n\\nThe poem is a testament to the wind\\'s ever-present and ever-changing presence in the world around us.', name='Note Taker')]}}\n",
"---\n",
"{'supervisor': {'next': 'FINISH'}}\n",
"---\n"
@@ -690,7 +686,7 @@
},
{
"cell_type": "code",
- "execution_count": 40,
+ "execution_count": 23,
"id": "95ae7e52-92ed-41a3-88c4-21b6d7c8b041",
"metadata": {},
"outputs": [],
@@ -714,7 +710,7 @@
},
{
"cell_type": "code",
- "execution_count": 44,
+ "execution_count": 24,
"id": "4880e573-612f-4d24-97c1-2079382a4a2f",
"metadata": {},
"outputs": [],
@@ -759,7 +755,7 @@
},
{
"cell_type": "code",
- "execution_count": 47,
+ "execution_count": 25,
"id": "6b8badbf-d728-44bd-a2a7-5b4e587c92fe",
"metadata": {},
"outputs": [
@@ -769,11 +765,47 @@
"text": [
"{'supervisor': {'next': 'Research team'}}\n",
"---\n",
- "{'Research team': {'messages': [HumanMessage(content='# Research Report on North American Sturgeon\\n\\n## Overview\\nSturgeons are a group of fish that belong to the family Acipenseridae. There are 27 species of sturgeon found in rivers and seas throughout the world, with 9 species endemic to North America. These species are known for their longevity, late maturity, and distinctive physical characteristics, such as a heterocercal caudal fin. \\n\\n## North American Species\\nThe following are some of the sturgeon species found in North America:\\n\\n- **Atlantic Sturgeon (Acipenser oxyrinchus)**\\n - The largest of the three sturgeons found in New York State, capable of living 30 to 60 years, growing 6 to 14 feet in length, and weighing over 200 pounds.\\n- **Lake Sturgeon (Acipenser fulvescens)**\\n - It has fewer than a dozen large and stable populations in North America, with some expected to be evaluated for Endangered Species Act protection by 2024.\\n- **Pallid Sturgeon (Scaphirhynchus albus)**\\n- **White Sturgeon (Acipenser transmontanus)**\\n- **Green Sturgeon (Acipenser medirostris)**\\n\\n## Conservation Status\\nMany sturgeon species are now critically endangered due to overfishing, habitat loss, and pollution. Conservation efforts are aimed at restoring sturgeon populations to rivers and tributaries where they once spawned.\\n\\n## Chart: Sturgeon Species in North America\\n\\n| Species | Habitat | Size | Conservation Status |\\n|-------------------|--------------------------|---------------|----------------------|\\n| Atlantic Sturgeon | Eastern North America | 6-14 ft, 200+ lbs | Endangered |\\n| Lake Sturgeon | Great Lakes, Mississippi | Varies | Under Review (2024) |\\n| Pallid Sturgeon | Missouri River basin | Varies | Critically Endangered|\\n| White Sturgeon | Pacific Northwest | Varies | Not Listed |\\n| Green Sturgeon | West Coast | Varies | Threatened |\\n\\n## Conclusion\\nNorth American sturgeons are an integral part of the aquatic biodiversity and play a crucial role in the ecosystem. However, they face significant threats from human activities. Efforts to conserve and protect sturgeon species are vital for their survival and the health of their habitats.\\n\\n## References\\n- [American Oceans](https://www.americanoceans.org/facts/types-of-sturgeon/)\\n- [Earthwave Society](https://www.earthwave.org/sturgeon)\\n- [New York Natural Heritage Program](https://guides.nynhp.org/atlantic-sturgeon/)\\n- [Center for Biological Diversity](https://biologicaldiversity.org/w/news/press-releases/lake-sturgeon-will-get-endangered-species-decision-in-2024-2021-09-15/)\\n- [Wikipedia](https://en.wikipedia.org/wiki/Sturgeon)\\n\\n*(Please note that the sizes mentioned are approximate and can vary. The conservation status is also subject to change as new assessments are made.)*', name='Search')]}}\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.', name='Web Scraper')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='Based on the information gathered from the provided URLs, here is a detailed research report on the North American sturgeon along with a chart that summarizes some of the key data:\\n\\n**North American Sturgeon Research Report**\\n\\n**Overview:**\\nNorth American sturgeons are ancient fish that belong to the Acipenseridae family. These bony, bottom-dwelling fish are characterized by their elongated bodies, scutes (bony plates), and barbels near the mouth. They are anadromous, meaning they migrate from saltwater to freshwater to spawn.\\n\\n**Species and Distribution:**\\n- Atlantic Sturgeon (*Acipenser oxyrinchus*): Found along the East Coast from Canada to Florida.\\n- Green Sturgeon (*Acipenser medirostris*): Found on the West Coast from Alaska to California.\\n- Shortnose Sturgeon (*Acipenser brevirostrum*): Distributed along the East Coast in estuarine and riverine habitats.\\n\\n**Conservation Status:**\\n- Atlantic Sturgeon: Multiple distinct population segments (DPSs) listed as endangered or threatened under the Endangered Species Act (ESA).\\n- Green Sturgeon: Southern DPS listed as threatened under the ESA.\\n- Shortnose Sturgeon: Listed as endangered throughout its range under the ESA.\\n\\n**Threats:**\\n- Bycatch in commercial fisheries.\\n- Habitat degradation and loss due to dams, pollution, and development.\\n- Climate change affecting water temperatures and spawning conditions.\\n- Vessel strikes, particularly for Atlantic sturgeon in high-traffic rivers.\\n\\n**Conservation Efforts:**\\nEfforts include habitat restoration, removal of barriers to improve fish passage, protection from bycatch, and public education. Critical habitat has been designated for certain species, and regulations prohibit the retention of green sturgeon in recreational and commercial fisheries.\\n\\n**Chart Information:**\\nThe chart would include species names, conservation status, geographic distribution, and key threats.\\n\\n| Species | Conservation Status | Distribution | Key Threats |\\n|---------------------|---------------------|-------------------------------------|------------------------------------------------|\\n| Atlantic Sturgeon | Endangered/Threatened | East Coast (Canada to Florida) | Bycatch, habitat loss, vessel strikes |\\n| Green Sturgeon | Southern DPS Threatened | West Coast (Alaska to California) | Bycatch, habitat degradation, climate change |\\n| Shortnose Sturgeon | Endangered | East Coast estuarine and riverine habitats | Bycatch, habitat degradation, dams |\\n\\n**Conclusion:**\\nNorth American sturgeons face numerous threats that have led to a decline in their populations. However, ongoing conservation efforts, including habitat restoration and protective regulations, are crucial in supporting their recovery and ensuring the survival of these ancient and ecologically important species.')]}}\n",
"---\n",
"{'supervisor': {'next': 'Paper writing team'}}\n",
"---\n",
- "{'Paper writing team': {'messages': [HumanMessage(content='The research report on North American Sturgeon has been successfully written and saved under the file name \"NorthAmericanSturgeonResearchReport.txt\". This document offers a detailed examination of sturgeon species in North America, highlighting their conservation status and the importance of preserving these vital components of aquatic ecosystems. The report is now ready for review and any necessary revisions.', name='Doc Writer')]}}\n",
+ "{'Paper writing team': {'messages': [HumanMessage(content='The contents of the \"AnalysisOfWhispersOfTheWindPoem.txt\" file have been successfully retrieved. It appears to contain the structured paper that was conceptualized earlier, including the introduction, a detailed analysis of the poem\\'s structure and content, exploration of poetic devices and imagery, discussion on the philosophical and environmental implications, and the paper\\'s conclusion.\\n\\nWith this analysis, the paper provides a comprehensive examination of the poem \"Whispers of the Wind,\" capturing the essence of the poem\\'s use of the wind as a symbol to articulate themes related to the natural world. It reflects on how the poet utilizes language and form to convey the power and beauty of nature, as well as the philosophical undertones that underscore human connection with the environment.\\n\\nThe conclusion of the paper emphasizes the significance of the poem in fostering a greater appreciation for nature and highlights the relevance of its message in the context of contemporary environmental discourse. This analysis serves as an important contribution to the understanding of the poem\\'s artistic and thematic dimensions.', name='Doc Writer')]}}\n",
+ "---\n",
+ "{'supervisor': {'next': 'Research team'}}\n",
+ "---\n",
+ "{'Research team': {'messages': [HumanMessage(content='The contents of the \"AnalysisOfWhispersOfTheWindPoem.txt\" file have been successfully retrieved. It appears to contain the structured paper that was conceptualized earlier, including the introduction, a detailed analysis of the poem\\'s structure and content, exploration of poetic devices and imagery, discussion on the philosophical and environmental implications, and the paper\\'s conclusion.\\n\\nWith this analysis, the paper provides a comprehensive examination of the poem \"Whispers of the Wind,\" capturing the essence of the poem\\'s use of the wind as a symbol to articulate themes related to the natural world. It reflects on how the poet utilizes language and form to convey the power and beauty of nature, as well as the philosophical undertones that underscore human connection with the environment.\\n\\nThe conclusion of the paper emphasizes the significance of the poem in fostering a greater appreciation for nature and highlights the relevance of its message in the context of contemporary environmental discourse. This analysis serves as an important contribution to the understanding of the poem\\'s artistic and thematic dimensions.')]}}\n",
"---\n",
"{'supervisor': {'next': 'FINISH'}}\n",
"---\n"
@@ -797,7 +829,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "8ea8bcec-c049-4f85-862d-9991ef07d793",
+ "id": "fb1b06f5-648c-459c-84f3-431807373782",
"metadata": {},
"outputs": [],
"source": []
@@ -819,7 +851,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.2"
+ "version": "3.11.1"
}
},
"nbformat": 4,
diff --git a/examples/multi_agent/multi-agent-collaboration.ipynb b/examples/multi_agent/multi-agent-collaboration.ipynb
index c474211bf..7d787a95c 100644
--- a/examples/multi_agent/multi-agent-collaboration.ipynb
+++ b/examples/multi_agent/multi-agent-collaboration.ipynb
@@ -77,7 +77,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 3,
"id": "4325a10e-38dc-4a98-9004-e1525eaba377",
"metadata": {},
"outputs": [],
@@ -416,15 +416,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "{'Researcher': {'messages': [HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
+ "{'Researcher': {'messages': [HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP data for the past 5 years\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
"----\n",
- "{'call_tool': {'messages': [FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \\'Monthly GDP of the UK 2019-2023 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Quarterly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023Economy UK GDP - Statistics & Facts United Kingdom In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281734/gdp-growth-in-the-united-kingdom-uk/\\', \\'content\\': \"Annual growth of gross domestic product in the United Kingdom from 1949 to 2022 Additional Information Strategy and business building for the data-driven economy: Annual GDP growth in the UK 1949-2022 United Kingdom 1949 to 2022 Other statistics on the topicThe UK economy Economy RPI annual inflation rate UK 2000-2028 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023The United Kingdom\\'s economy grew by 4.3 percent in 2022, after a growth rate of 8.7 percent in 2021, and a record 10.4 percent decline in 2020, due to the economic fallout caused by...\"}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json')]}}\n",
+ "{'call_tool': {'messages': [FunctionMessage(content=\"tavily_search_results_json response: [{'url': 'https://www.statista.com/topics/3795/gdp-of-the-uk/', 'content': 'Monthly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023 Quarterly GDP per capita in the UK 2019-2023Monthly index of gross domestic product in the United Kingdom from January 2019 to November 2023 (2019=100) GVA of the UK 2022, by sector GVA of the UK 2022, by sector Gross value added...'}, {'url': 'https://www.statista.com/topics/6500/the-british-economy/', 'content': 'Monthly GDP growth of the UK 2020-2023 Quarterly GDP growth of the UK 2015-2023 Monthly growth of gross domestic product in the United Kingdom from January 2020 to September 2023 Monthly GDP of the UK 1997-2023Economy The UK economy - Statistics & Facts United Kingdom The gross domestic product of the British economy was 2.23 trillion British pounds in 2022 and was the fifth- largest global...'}, {'url': 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/november2023', 'content': 'data from January 2022 to September 2023, as published in our\\\\xa0GDP quarterly national accounts, UK: July to September Figure 1: UK GDP is estimated to have grown by 0.3% in November 2023 GDP monthly estimate, UK: November 2023 Source: Monthly GDP estimate from Office for National Statistics The main reasons for revisions in October 2023 are:Monthly GDP is estimated to have grown by 0.3% in November 2023, following an unrevised fall of 0.3% in October 2023. This release provides data for November 2023 and has revisions from January 2022 to September 2023, consistent with our Quarterly national accounts bulletin, published on 22 December 2023. October 2023 is also open for revision.'}, {'url': 'https://www.statista.com/statistics/375195/gdp-growth-forecast-uk/', 'content': 'Forecasted annual growth of gross domestic product in the United Kingdom from 2000 to 2028 Additional Information GDP growth forecast for the UK 2000-2028 Weak economic growth throughout 2023 United Kingdom 2000 to 2028 *Forecast data Other statistics on the topicThe UK economy Economy Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023In 2022 the gross domestic product (GDP) of the United Kingdom grew by four percent but is expected to grow by just 0.6 percent in 2023, and 0.7 percent in 2024. More robust growth is...'}, {'url': 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2023', 'content': 'GDP monthly estimate, UK: October 2023 Figure 1: UK GDP is estimated to have fallen by 0.3% in October 2023 Monthly estimate of gross domestic product (GDP) containing constant price gross value added (GVA) data for the UK. domestic product (GDP) in October 2023.1. Main points Monthly real gross domestic product (GDP) is estimated to have shown no growth in the three months to October 2023, compared with the three months to July 2023. Monthly GDP...'}]\", name='tavily_search_results_json')]}}\n",
"----\n",
- "{'Researcher': {'messages': [HumanMessage(content=\"The search results contain several snippets of information, but none of them have the complete data for the UK's GDP over the past five years in a structured format that would be suitable for generating a line graph. The snippets do provide some yearly growth rates and mention significant economic events, but they do not present the actual GDP values for each year.\\n\\nTo generate a line graph, we need the UK's GDP figures for each of the past five years in the same units (usually million GBP or billion GBP) so that we can plot them accurately. The search results mention the GDP of the UK in 2022 as approximately 2.2 trillion British pounds, but we need the figures for the previous years as well.\\n\\nGiven that the search results do not provide the required structured data, we would need to conduct an additional search or consult a database that provides historical GDP figures for the UK, such as the Office for National Statistics (ONS) or an economic statistics database. Once we have the GDP figures for each of the last five years, we can then proceed to generate the line graph.\\n\\nTo continue with the task, I would need to perform another search specifically asking for the UK's GDP figures for the years 2018, 2019, 2020, 2021, and 2022.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
+ "{'Researcher': {'messages': [HumanMessage(content=\"The search results provide information on the UK's GDP, including monthly and quarterly data from various years, but they do not provide a clear year-on-year GDP figure for each of the past five years. To graph the UK's GDP over the past five years, we need annual GDP figures for each year.\\n\\nI will attempt to extract the annual GDP figures mentioned in the search results and then graph them. However, please note that the information provided in the search results may be incomplete or not formatted in a way that allows for a straightforward extraction of annual GDP figures for each of the last five years. If necessary, I may need to perform additional searches to fill in any gaps.\\n\\nFrom the search results, we have the following relevant information regarding the UK's GDP:\\n\\n- The gross domestic product of the British economy was 2.23 trillion British pounds in 2022.\\n- In 2022, the gross domestic product (GDP) of the United Kingdom grew by four percent.\\n\\nUnfortunately, the search results do not provide explicit annual GDP figures for 2018, 2019, 2020, or 2021. Therefore, I will need to perform an additional search to find the missing GDP figures for these years. Let's proceed with that search.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
"----\n",
- "{'call_tool': {'messages': [FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \\'Monthly GDP of the UK 2019-2023 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Quarterly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023Economy UK GDP - Statistics & Facts United Kingdom In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281734/gdp-growth-in-the-united-kingdom-uk/\\', \\'content\\': \"Annual growth of gross domestic product in the United Kingdom from 1949 to 2022 Additional Information Strategy and business building for the data-driven economy: Annual GDP growth in the UK 1949-2022 United Kingdom 1949 to 2022 Other statistics on the topicThe UK economy Economy RPI annual inflation rate UK 2000-2028 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023The United Kingdom\\'s economy grew by 4.3 percent in 2022, after a growth rate of 8.7 percent in 2021, and a record 10.4 percent decline in 2020, due to the economic fallout caused by...\"}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json')]}}\n",
+ "{'call_tool': {'messages': [FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \"GDP of the UK 2021, by country Gross domestic product of the United Kingdom in 2021, by country (in million GBP) Monthly GDP of the UK 2019-2023 United Kingdom\\'s share of global gross domestic product (GDP) 2028 Quarterly GDP per capita in the UK 2019-2023In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14 trillion pounds in 2021, and 1.99 trillion in 2020. Although the ...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \"of UK GDP over 2020 and 2021 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 3: In 2021, nominal GDP in most of the G20 countries had recovered to its 2019 levelsIn 2021, the UK\\'s implied GDP deflator rose by 0.4%, the lowest among the developed countries shown (Figure 4). However, these comparisons are likely to reflect some of the measurement challenges over the coronavirus pandemic. Movements in the implied GDP deflator in 2020 and 2021 have been largely affected by the government consumption deflator.\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/december2021\\', \\'content\\': \\'GDP monthly estimate, UK : December 2021 gross domestic product (GDP), UK. data from January 2021 to November 2021. This is consistent with GDP first quarterly estimate, UK: October to December on gross domestic product (GDP) in December 2021, with output of these services increasing by 51% and 19% respectively2. Monthly GDP. Monthly real gross domestic product (GDP) is estimated to have fallen by 0.2% in December 2021, compared with a 0.7% growth in November 2021 (revised down from 0.9% growth). This release includes revisions to the monthly data back to January 2021, consistent with the first quarterly estimate of GDP.\\'}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/september2021\\', \\'content\\': \\'GDP monthly estimate, UK: September 2021 2021, while detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021. More detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021. while detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021.Source: Office for National Statistics - GDP monthly estimate. Download this chart. Image .csv .xls. Monthly real gross domestic product (GDP) grew by 0.6% in September 2021, and follows a revised 0.2% growth in August 2021 (down from 0.4% growth) and a revised 0.2% fall in July 2021 (down from a 0.1% fall).\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2021\\', \\'content\\': \\'GDP monthly estimate, UK : October 2021 Figure 1: UK GDP is estimated to have grown by 0.1% in October 2021, but remains 0.5% below its pre-pandemic level Monthly estimate of gross domestic product (GDP) containing constant price gross value added (GVA) data for the UK. Source: Office for National Statistics – GDP monthly estimate NotesTable 1: UK GDP in October 2021 was 0.5% below its pre-pandemic level, however services has now returned to its pre-pandemic levelChange in output, percentage change, February 2020 to October 2021, UK. Source: Office for National Statistics - GDP monthly estimate. This table uses data from the output measure of GDP.\\'}]', name='tavily_search_results_json')]}}\n",
"----\n",
- "{'Researcher': {'messages': [HumanMessage(content=\"The search results still do not provide the annual GDP figures for the UK for the last five years in a structured format that is suitable for creating a line graph. The snippets mention approximate GDP values and growth rates for certain years but do not give a year-by-year breakdown with exact numbers.\\n\\nTo proceed, we need the specific GDP values for 2018, 2019, 2020, 2021, and 2022. Since the search results from Tavily are not yielding the required data in a usable format, we would typically look for official economic reports or databases such as the UK's Office for National Statistics (ONS), which regularly publishes comprehensive GDP data.\\n\\nGiven the limitations of the tools at hand, I am unable to provide the exact GDP figures for the years in question to generate a line graph. Further action should involve directly accessing the ONS website or a similar authoritative source where annual GDP data for the UK is available in a structured format, and then using this data to plot the line graph.\\n\\nTo continue with the task, you would need to obtain the GDP figures for each of the past five years from a reliable source and then use that data to create the line graph.\", name='Researcher')], 'sender': 'Researcher'}}\n",
+ "{'Researcher': {'messages': [HumanMessage(content=\"Based on the search results, we can now extract some annual GDP figures for the UK:\\n\\n- In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds.\\n- In 2021, the gross domestic product of the United Kingdom was about 2.14 trillion British pounds.\\n- In 2020, the gross domestic product of the United Kingdom was about 1.99 trillion British pounds.\\n\\nUnfortunately, the search results still do not provide explicit figures for 2018 and 2019. To complete the dataset, we would need to perform another search or access historical economic data from a reliable source such as the Office for National Statistics (ONS) or an economic database. If additional searches are not possible, we may need to use these three data points to give a partial visualization of the trend. \\n\\nSince we cannot perform additional searches, I will provide the data points we have, and you will need to add the missing years' data manually if required:\\n\\n- 2020: 1.99 trillion GBP\\n- 2021: 2.14 trillion GBP\\n- 2022: 2.2 trillion GBP\\n\\nPlease note that the data for 2018 and 2019 is missing, and you would need to find these figures to complete the five-year view. With the data at hand, the line graph would only represent the years 2020 to 2022.\", name='Researcher')], 'sender': 'Researcher'}}\n",
"----\n"
]
},
@@ -439,13 +439,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "{'Chart Generator': {'messages': [HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\n\\\\n# Since the exact GDP data was not provided, we will use placeholder data for illustration purposes.\\\\n# These are not the actual GDP values for the UK.\\\\nyears = [2018, 2019, 2020, 2021, 2022]\\\\ngdp_values = [2600, 2700, 2300, 2500, 2700] # Placeholder values in billion GBP\\\\n\\\\nplt.figure(figsize=(10, 5))\\\\nplt.plot(years, gdp_values, marker=\\'o\\')\\\\nplt.title(\\'UK GDP Over the Past 5 Years (Placeholder Data)\\')\\\\nplt.xlabel(\\'Year\\')\\\\nplt.ylabel(\\'GDP in Billion GBP\\')\\\\nplt.grid(True)\\\\nplt.show()\"}', 'name': 'python_repl'}}, name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
+ "{'Chart Generator': {'messages': [HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\n\\\\n# Define the data\\\\nyears = [2020, 2021, 2022]\\\\ngdp_values = [1.99, 2.14, 2.2] # Trillion GBP\\\\n\\\\n# Create the line graph\\\\nplt.figure(figsize=(10, 5))\\\\nplt.plot(years, gdp_values, marker=\\'o\\')\\\\n\\\\n# Labeling the graph\\\\nplt.title(\\'UK GDP from 2020 to 2022\\')\\\\nplt.xlabel(\\'Year\\')\\\\nplt.ylabel(\\'GDP (Trillion GBP)\\')\\\\nplt.grid(True)\\\\nplt.xticks(years)\\\\nplt.tight_layout()\\\\n\\\\n# Display the graph\\\\nplt.show()\"}', 'name': 'python_repl'}}, name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
"----\n"
]
},
{
"data": {
- "image/png": "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xcXFpjEbN24UISEhol27dsLT01OMHTtW5Ofnm57fv39/k9f8+uuvIjY2VrRv316o1WoxefJkcenSJanikIScM87KyhLh4eHCzc1NODk5iT59+oh3331XXLlyRcpIWpSl8v3555/FoEGDRLt27YSLi4sYMWKEOHz4sNkcrfEclnO+PH8bLFy4sNk5unbtarav/fv3i+DgYOHo6Ci6detmto/GeX7/muPHj4shQ4YIlUol7rvvPvHee++1cALSknO+ycnJok+fPsLFxUWo1WoxcOBAs1tM2wJL5nurMUlJSeL3f5svKSkRjz32mHB2dhadOnUSf/nLX4Rer5ciCknIOd8vv/xSBAcHi/bt24t27dqJoKAg8fHHH5t9/IzcWSrfG/38mzRpktk81v7+qxDChu8lSUREREREJFN8zxYREREREZEE2GwRERERERFJgM0WERERERGRBNhsERERERERSYDNFhERERERkQTYbBEREREREUmAzRYREREREZEE2GwRERERERFJgM0WERERERGRBNhsERFRmyOEQGRkJKKjo5s8l5CQAHd3d5SVlVmhMiIiak3YbBERUZujUCiQlJSEzMxMrF692rS9uLgY8+bNw8qVK+Hr69ui+9Tr9S06HxERyR+bLSIiapP8/PywYsUK/N///R+Ki4shhMCLL76IqKgohISE4LHHHkP79u3h7e2NiRMn4pdffjG9du/evRgyZAjc3d3RsWNHPP744zhz5ozp+ZKSEigUCmzevBlDhw6Fk5MTPvvsM2scJhERWZFCCCGsXQQREZG1xMTEoLKyEn/84x/x1ltv4cSJE+jXrx+mTJmC559/HrW1tXjttddQX1+PtLQ0AMC2bdugUCjw4IMPorq6GgsWLEBJSQlycnKgVCpRUlKCgIAA+Pv7Y9myZQgJCYGTkxM6d+5s5aMlIiJLYrNFRERt2vnz59GvXz9cuHAB27ZtQ15eHg4ePIiUlBTTmLKyMvj5+aGwsBC9evVqMscvv/wCT09P5ObmIjAw0NRsffTRR5g9e7YlD4eIiGSElxESEVGb5uXlhWnTpqFPnz6IiYnB8ePHsX//frRv39709cADDwCA6VLB06dPIzY2Ft26dYNarYa/vz8AoLS01Gzuhx56yKLHQkRE8mJv7QKIiIiszd7eHvb2DT8Sq6ur8cQTT+D9999vMq7xMsAnnngCXbt2xSeffIIuXbrAaDQiMDAQV69eNRvfrl076YsnIiLZYrNFRER0ndDQUGzbtg3+/v6mBux6v/76KwoLC/HJJ5/gkUceAQCkp6dbukwiIrIBvIyQiIjoOnFxcbhw4QJiY2Nx9OhRnDlzBikpKZg8eTIMBgM8PDzQsWNH/POf/0RRURHS0tIwd+5ca5dNREQyxGaLiIjoOl26dMG3334Lg8GAqKgo9O/fH/Hx8XB3d4dSqYRSqcSmTZuQlZWFwMBAzJkzB0uXLrV22UREJEO8GyEREREREZEEuLJFREREREQkATZbREREREREEmCzRUREREREJAE2W0RERERERBJgs0VERERERCQBNltEREREREQSYLNFREREREQkATZbREREREREEmCzRUREREREJAE2W0RERERERBJgs0VERERERCSB/w+16X3+8YI1gAAAAABJRU5ErkJggg==",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABv/UlEQVR4nO3deVyVZf7/8fc57DsCAoIo4K5gWu6WtribRjbN1NSUTU0zhTOZLeaSS1bYbuWMTc20/DJr6qtmmaloroWWminuCu6CCrJvB879+8M8dRIVlMNheT0fDx55rvu67/O5j+TNm+u+r8tkGIYhAAAAAABQ48zOLgAAAAAAgIaK0A0AAAAAgIMQugEAAAAAcBBCNwAAAAAADkLoBgAAAADAQQjdAAAAAAA4CKEbAAAAAAAHIXQDAAAAAOAghG4AAAAAAByE0A0AgJOVl5frySefVFRUlMxmsxISEpxdEgAAqCGEbgBArZk2bZpMJpNOnz5d6fa4uDhdf/31ttcHDx6UyWTSyy+/bNfPMAz99a9/lclk0rRp0y75vqWlpXrzzTd17bXXqkmTJnJ3d1dERIRGjhypjz/+WBUVFee957kvNzc3hYSEqE+fPpo4caIOHz583vFXr1593j6xsbG65557lJaWdsn63n33Xb300kv63e9+pw8++ECPPvroJfdxlqKiIv3zn//UoEGD1KxZM/n5+alr166aM2eO3ed4jtVq1YsvvqiYmBh5enqqc+fO+vjjj8/r8/7772vkyJGKioqSj4+P4uLi9Oyzz6qkpKTSOv773/+qQ4cO8vT0VJs2bfTmm29Wqf7vvvtO06ZNU05OTrXP/WJWrlypP//5z2rbtq28vb0VGxurBx54QCdOnLhgHddee628vb0VHh6uf/zjHyooKLDr88MPP2jMmDHq1KmTfHx81KJFC/3+97/X3r177fpdzucHAKg9rs4uAACA6jAMQw8//LDefvttPf3005cM3adOndLQoUO1efNmDR48WJMnT1ZQUJAyMjK0YsUK/fGPf9T+/fv19NNP2+135513atiwYbJarTpz5ox++OEHzZo1S6+//rr++9//6o477jjvvf7xj3+oe/fuslgs2rJli95++2199dVX2r59uyIiIi5Y4zfffKPIyEi99tprl/WZ1Ka0tDT9/e9/10033aRx48bJ399fy5Yt08MPP6wNGzbogw8+sOs/adIkzZw5U3/5y1/UvXt3LVq0SH/84x9lMplsn2FRUZHuu+8+9erVS3/7298UGhqqlJQUTZ06VStXrtQ333wjk8lkO+a///1v/e1vf9Ntt92mcePGad26dfrHP/6hoqIijR8//qL1f/fdd5o+fbpGjx6twMDAGvtcxo8fr+zsbN1+++1q06aN0tLSNHv2bC1evFhbt25VeHi4re/WrVt10003qUOHDnr11Vd19OhRvfzyy9q3b5++/vprW78XXnhB3377rW6//XZ17txZGRkZmj17tq6++mpt2LBBcXFxl/X5AQBqmQEAQC2ZOnWqIck4depUpds7depk9O/f3/Y6PT3dkGS89NJLtrbExERDkjFp0qQqvefgwYMNs9lszJ8/v9LtP/zwgzF37tyLvuc5Bw8eNNq2bWu4u7sbW7dutbWvWrXKkGR89tlndv3feOMNQ5Lx/PPPX7TGG264wejUqdMlz8VisRilpaWX7OdIp06dMlJTU89rv++++wxJxr59+2xtR48eNdzc3IzExERbm9VqNa677jqjefPmRnl5uWEYhlFaWmp8++235x1z+vTphiQjOTnZ1lZUVGQEBwcbw4cPt+t71113GT4+PkZ2dvZF63/ppZcMSUZ6enqVzreq1qxZY1RUVJzXVtn36tChQ41mzZoZubm5trZ33nnHkGQsW7bM1vbtt9+e9/e9d+9ew8PDw7jrrrtsbdX5/AAAtY/bywEA9cYjjzyif/7zn5owYYKeffbZS/ZPSUnRsmXL9OCDD2rUqFGV9unWrZvuuuuuKr1/y5Yt9f7776usrEwvvvjiJfvfeOONkqT09PRKt5+7lX3VqlXasWOH7fb01atX291aP2vWLLVq1UoeHh7auXOnpLOj49ddd518fHwUGBioW265Rbt27bI7/rnb+ffu3au7775bAQEBatq0qZ5++mkZhqEjR47olltukb+/v8LDw/XKK69c8pxCQkLUqVOn89pvvfVWSbKrYdGiRbJYLHr44YdtbSaTSQ899JCOHj2qlJQUSZK7u7v69OlTpWOuWrVKWVlZdseUpMTERBUWFuqrr766YO3Tpk3TE088IUmKiYmxfd4HDx6UdPbZ+hkzZtg+6+joaE2cOFGlpaUX/UwkqV+/fjKbzee1BQUF2dWfl5en5ORk3X333fL397e133PPPfL19dWnn35qa+vTp4/c3d3tjtmmTRt16tTJ7pjV+fwAALWP0A0AqBceffRRvfHGGxo/fryef/75Ku3z5ZdfSpLuvvvuGqujd+/eatWqlZKTky/Z98CBA5Kk4ODgSrc3bdpUH374odq3b6/mzZvrww8/1IcffqgOHTrY+rz33nt688039eCDD+qVV15RUFCQVqxYocGDB+vkyZOaNm2axo0bp++++059+/a1Bchf+8Mf/iCr1aqZM2eqZ8+eevbZZzVr1iwNHDhQkZGReuGFF9S6dWs9/vjjWrt27WV9LhkZGZLOhvJzfvzxR/n4+NidjyT16NHDtv1yjimd/WXJr11zzTUym80XPeaoUaN05513SpJee+012+fdtGlTSdIDDzygKVOm6Oqrr9Zrr72m/v37KykpqdJHCaqioKBABQUFdvVv375d5eXl59Xv7u6uLl26XPIzMQxDmZmZdse8kMo+PwBA7eOZbgBAnTd79mwdOnRITzzxhGbOnFnl/Xbv3i1JtmdfzykpKbGbtMrV1bVaz/fGxcVp0aJFysvLsxutzM/P1+nTp2WxWPTjjz/qkUcekclk0m233VbpcXx8fHT33XfrP//5j1xcXOx+OXAuPB89elT79++3BUNJuuWWWxQUFKSUlBQFBQVJkhISEtS1a1dNnTr1vOeqe/TooX//+9+SpAcffFDR0dF67LHHlJSUZHsG+s4771RERITeffdd9evXr8qfhSSVlZVp1qxZiomJUffu3W3tJ06cUFhY2HnPEzdr1kySdPz48Yse98UXX5S/v7+GDh1qd0wXFxeFhoba9XV3d1dwcPBFj9m5c2ddffXV+vjjj5WQkKDo6Gjbtp9++kkffPCBHnjgAb3zzjuSpIcfflihoaF6+eWXtWrVKt1www0X/yB+Y9asWSorK9Mf/vAHu/qlXz6DX2vWrJnWrVt30WN+9NFHOnbsmJ555plLvn9lnx8AoPYx0g0AqPMyMzMlSW3btq3Wfnl5eZIkX19fu/a33npLTZs2tX1de+211TruuePl5+fbtf/5z39W06ZNFRERoeHDh6uwsFAffPDBeaOa1XHbbbfZBe4TJ05o69atGj16tC1wS2cD5cCBA7VkyZLzjvHAAw/Y/uzi4qJu3brJMAzdf//9tvbAwEC1a9euSrOt/9aYMWO0c+dOzZ49W66uv/w+v7i4WB4eHuf19/T0tG2/kOeff14rVqzQzJkz7X4hUlxcfN4t178+7sWOeTHnPrdx48bZtT/22GOSdNHb1iuzdu1aTZ8+Xb///e9tjxlIv5zzhT6Xi9W/e/duJSYmqnfv3rr33nsv+v4X+vwAALWPkW4AQJ1S2SzL48eP15IlS/TXv/5VgYGB+t3vflelY/n5+Uk6e5tvQECArf22226zjX4/9thjlS51dTHnRsnPHf+cKVOm6LrrrpOLi4tCQkLUoUMHuxB6OWJiYuxeHzp0SJLUrl278/p26NBBy5YtU2FhoXx8fGztLVq0sOsXEBAgT0/P8247DggIUFZWVrXqe+mll/TOO+9oxowZGjZsmN02Ly+vSp+HPreMlZeXV6XH/N///qfJkyfr/vvv10MPPXTeMcvKyirdr6Sk5ILHvJRDhw7JbDardevWdu3h4eEKDAy0fe5VsXv3bt16662Ki4vTf/7zH7tt5+q70OdyofozMjI0fPhwBQQE6P/+7//k4uJywfe/2OcHAKh9hG4AQK251AhnUVGRrc+v+fr66uuvv1a/fv101113yd/fX4MGDbrk+7Vv316SlJqaqr59+9rao6KiFBUVJUlq0qTJBdcNv5DU1FSFhoba3VouSfHx8RowYEC1jnUplxsif62ygHah0GYYRpWP+/7772v8+PH629/+psmTJ5+3vVmzZlq1apUMw7D7Zcq5W6wrW0YtOTlZ99xzj4YPH6633nqr0mNWVFTo5MmTdreYl5WVKSsr66JLs1XFlS6tdeTIEQ0aNEgBAQFasmTJeb+YOXdbeWXrd584caLS+nNzczV06FDl5ORo3bp1Fz3HS31+AIDax+3lAIBa07JlS0nSnj17zttWVFSkI0eO2Pr8VnBwsJYvX65mzZpp1KhRtpmvL+bmm2+WdPY52JqSkpKiAwcOVCn0O8LFPsPdu3crJCTEbpTbURYtWqQHHnhAo0aN0j//+c9K+3Tp0kVFRUXnzZ69ceNG2/bftt96663q1q2bPv3000rvEji3z6ZNm+zaN23aJKvVet4xf+tCobply5ayWq3at2+fXXtmZqZycnIu+H35a1lZWRo0aJBKS0u1bNmySp/bjouLk6ur63n1l5WVaevWrefVX1JSohEjRmjv3r1avHixOnbseMH3r8rnBwCofYRuAECtuemmm+Tu7q45c+bIarXabXv77bdVXl5+0UmfIiMjlZycLB8fHw0fPlzbt2+/6Pv17dtXAwcO1Ntvv61FixZV2qc6I7uHDh3S6NGj5e7ublt6qrY1a9ZMXbp00QcffKCcnBxbe2pqqpYvX37eLd6OsHbtWt1xxx3q16+fPvroo/OWyjrnlltukZubm/71r3/Z2gzD0FtvvaXIyEi7Za527dql4cOHKzo6WosXL77gCP+NN96ooKAgzZkzx659zpw58vb21vDhwy9a+7lfSPz6s5Nk+9xmzZpl1/7qq69K0iWPW1hYqGHDhunYsWNasmSJ2rRpU2m/gIAADRgwQHPnzrWbE+DDDz9UQUGBbr/9dltbRUWF/vCHPyglJUWfffaZevfufcH3r+rnBwCoffwKFABQa0JDQzVlyhRNnjxZ/fr108iRI+Xt7a3vvvtOH3/8sQYNGqQRI0Zc9Bht2rTRsmXLdP3112vw4MFav369YmNjL9h/7ty5GjJkiBISEjR06FANGDBATZo0UUZGhlasWKG1a9dWGvS3bNmiuXPnymq1KicnRz/88IPmz58vk8mkDz/8UJ07d77iz+NyvfTSSxo6dKh69+6t+++/X8XFxXrzzTcVEBCgadOmOfS9Dx06pJEjR8pkMul3v/udPvvsM7vtnTt3tn02zZs319ixY/XSSy/JYrGoe/fu+vzzz7Vu3Tp99NFHtlvc8/PzNXjwYJ05c0ZPPPHEeZOWtWrVyhY4vby8NGPGDCUmJur222/X4MGDtW7dOs2dO1fPPfec3eRylbnmmmskSZMmTdIdd9whNzc3jRgxQldddZXuvfdevf3228rJyVH//v31/fff64MPPlBCQsIlZy6/66679P333+vPf/6zdu3aZTe67+vrq4SEBNvr5557Tn369FH//v314IMP6ujRo3rllVc0aNAgDRkyxNbvscce0xdffKERI0YoOztbc+fOtXvPc7PdV+fzAwA4gQEAQC2bO3eu0atXL8PHx8fw8PAw2rdvb0yfPt0oKSmx65eenm5IMl566aXzjrFu3TrDy8vLiImJMY4dO3bR9ysuLjZmzZpl9O7d2/D39zdcXV2N8PBw4+abbzY++ugjo7y8/Lz3PPfl6upqBAUFGT179jQmTJhgHDp06Lzjr1q1ypBkfPbZZ5f1efTv39/o1KlTlc/dMAxjxYoVRt++fQ0vLy/D39/fGDFihLFz5067PlOnTjUkGadOnbJrv/feew0fH58q1fFb5871Ql9Tp061619RUWE8//zzRsuWLQ13d3ejU6dOxty5cys91wt93XvvvefV8fbbbxvt2rUz3N3djVatWhmvvfaaYbVaL1r7OTNmzDAiIyMNs9lsSDLS09MNwzAMi8ViTJ8+3YiJiTHc3NyMqKgoY8KECed9X1amZcuWF6y/ZcuW5/Vft26d0adPH8PT09No2rSpkZiYaOTl5dn16d+//0U/lyv5/AAAtcdkGNW4rw4AAAAAAFQZz3QDAAAAAOAghG4AAAAAAByE0A0AAAAAgIMQugEAAAAAcBBCNwAAAAAADkLoBgAAAADAQVydXUBdZLVadfz4cfn5+clkMjm7HAAAAABAHWMYhvLz8xURESGz+cLj2YTuShw/flxRUVHOLgMAAAAAUMcdOXJEzZs3v+B2Qncl/Pz8JJ398Pz9/Z1cTeUsFouWL1+uQYMGyc3NzdnlAAAaOK47AIDaVB+uO3l5eYqKirLlxwshdFfi3C3l/v7+dTp0e3t7y9/fv85+EwIAGg6uOwCA2lSfrjuXeiSZidQAAAAAAHAQQjcAAAAAAA5C6AYAAAAAwEEI3QAAAAAAOAihGwAAAAAAByF0AwAAAADgIIRuAAAAAAAchNANAAAAAICDELoBAAAAAHAQQjcAAAAAAA5C6AYAAAAAwEGcGrqTkpLUvXt3+fn5KTQ0VAkJCdqzZ89F93nnnXd03XXXqUmTJmrSpIkGDBig77//3q6PYRiaMmWKmjVrJi8vLw0YMED79u1z5KkAAAAAAGpAhdXQxvRsbT5t0sb0bFVYDWeXdEWcGrrXrFmjxMREbdiwQcnJybJYLBo0aJAKCwsvuM/q1at15513atWqVUpJSVFUVJQGDRqkY8eO2fq8+OKLeuONN/TWW29p48aN8vHx0eDBg1VSUlIbpwUAAAAAuAxLU0/o2he+0d3vbtL/2+eiu9/dpGtf+EZLU084u7TLZjIMo8782uDUqVMKDQ3VmjVr1K9fvyrtU1FRoSZNmmj27Nm65557ZBiGIiIi9Nhjj+nxxx+XJOXm5iosLEzvv/++7rjjjkseMy8vTwEBAcrNzZW/v/8VnZOjWCwWLVmyRMOGDZObm5uzywEANHBcdwAAjrY09YQemrtFvw2opp//O+fuqzUkrlltl3VBVc2NdeqZ7tzcXElSUFBQlfcpKiqSxWKx7ZOenq6MjAwNGDDA1icgIEA9e/ZUSkpKzRYMAAAAALhiFVZD07/ceV7glmRrm/7lznp5q7mrsws4x2q1auzYserbt6/i4uKqvN/48eMVERFhC9kZGRmSpLCwMLt+YWFhtm2/VVpaqtLSUtvrvLw8SWd/q2+xWKp1HrXlXF11tT4AQMPCdQcA4Ci5xRbN3XBYJ3Iv/DiwIelEbolS9p9Uz5iqD9I6UlWviXUmdCcmJio1NVXr16+v8j4zZ87UJ598otWrV8vT0/Oy3zspKUnTp08/r3358uXy9va+7OPWhuTkZGeXAABoRLjuAACuVHG5dCDfpH25Ju3PM+lYoWTYbiK/uOXrNiprV90Y7S4qKqpSvzoRuseMGaPFixdr7dq1at68eZX2efnllzVz5kytWLFCnTt3trWHh4dLkjIzM9Ws2S/3+2dmZqpLly6VHmvChAkaN26c7XVeXp5tgra6/Ex3cnKyBg4cyLN1AACH47oDALhchaXl2nw4RxvSsrUxPVupx/P027vEm/l76kTepSe+HnRdzzoz0n3uDulLcWroNgxDf//737Vw4UKtXr1aMTExVdrvxRdf1HPPPadly5apW7dudttiYmIUHh6ulStX2kJ2Xl6eNm7cqIceeqjS43l4eMjDw+O8djc3tzr/g0V9qBEA0HBw3QEAXEpxWYU2HzqjlLTTSjmQpW1Hc1X+m5QdHeyt3q2C1Ss2WL1jgxXs66FrX/hGGbkllT7XbZIUHuCp3q1D5WKu2qi4o1X1eujU0J2YmKh58+Zp0aJF8vPzsz1zHRAQIC8vL0nSPffco8jISCUlJUmSXnjhBU2ZMkXz5s1TdHS0bR9fX1/5+vrKZDJp7NixevbZZ9WmTRvFxMTo6aefVkREhBISEpxyngAAAADQUJVYKvTj4RylpGVpw4EsbT2So7IKq12f5k281Ds22Ba0IwK9zjvO1BEd9dDcLTJJdsHb9KvtdSVwV4dTQ/ecOXMkSddff71d+3vvvafRo0dLkg4fPiyz2Wy3T1lZmX73u9/Z7TN16lRNmzZNkvTkk0+qsLBQDz74oHJycnTttddq6dKlV/TcNwAAAABAKiu36qejOUo5kKWUA1nacviMSsvtQ3azAE/1jg1Wr1ZnR7Kjgi49V9aQuGaac/fVmv7lTrtJ1cIDPDV1RMc6tVxYddSpdbrrCtbpBgDAHtcdAGi8yius2nYsVykHsrQhLUubDp5RsaXCrk9TPw/bSHbv2GC1DPaWyXR5o9IVVkMp+09q+bqNGnRdzzp1S/mvVTU31omJ1AAAAAAAdUOF1dCO42dDdkpaln5Iz1ZhmX3IDvZxV69fjWS3aupz2SH7t1zMJvWMCVLWLkM9Y4LqZOCuDkI3AAAAADRiVquhXRl5tpHsjenZyi8pt+sT4OWmXrFBP49mh6htmG+NheyGjtANAAAAAI2IYRjam1mglAOnlfJzyM4pstj18fNwVc/YoLOzi7cKVodwf5nr+YizsxC6AQAAAKABMwxDB04V2mYX35CWpazCMrs+Pu4u6h4TZHsuu1NEQL2/rbuuIHQDAAAAQANiGIYOZRUpJS3Ldsv4yfxSuz6ebmZ1j/5lJDs+MkBuLuYLHBFXgtANAAAAAPXckewi20h2SlqW3ZJbkuTuatY1LZqcnV28VbCuah4od1dCdm0gdAMAAABAPXMit9i2TnZKWpaOnim22+7mYlLXqCa22cW7tgiUp5uLk6pt3AjdAAAAAFDHncwvsd0qnnIgSweziuy2u5pN6tw84Od1skN0Tcsm8nInZNcFhG4AAAAAqGOyCkq1IS1bKWmnlXIgSwdOFdptN5uk+MgA20h29+gg+XgQ7+oi/lYAAAAAwMlyiyzakJ5lu2V8T2a+3XaTSerYzN82u3j3mCD5e7o5qVpUB6EbAAAAAGpZXolF36dln538LC1LO0/kyTDs+7QL81PvVsHqFRusXrFBCvR2d06xuCKEbgAAAABwsILScv1wMNs2u3jqsVxZfxOyWzX1sT2T3Ss2SMG+Hs4pFjWK0A0AAAAANay4rEKbDmXbZhffdjRXFb9J2dHB3raR7N6xwQr193RStXAkQjcAAAAAXKESS4V+PJyjlLQspRw4ra1HcmSpsA/ZzZt42Z7J7t0qWM0CvJxULWoToRsAAAAAqqms3KqfjubYJj7bfPiMysqtdn2aBXiqd2ywbYbxqCBvJ1ULZyJ0AwAAAMAlWCqs2n4s17ZW9qaDZ1RsqbDr09TP45eR7NhgtQz2lslkclLFqCsI3QAAAADwGxVWQzuO59qeyf4hPVuFZfYhO9jH/ezM4j+H7FZNfQjZOA+hGwAAAECjZ7Ua2pWRZxvJ3pierfyScrs+gd5u6hkT9PNodojahvkSsnFJhG4AAAAAjY5hGNqbWaCUA6eV8nPIzimy2PXx83RVz5igs7OLtwpWh3B/mc2EbFQPoRsAAABAg2cYhg6cKlRKWpY2/DyanVVYZtfHx91F3W0j2cHqFBEgF0I2rhChGwAAAECDYxiGDmUV/byE19mQfTK/1K6Pp5tZ3aN/GcmOjwyQm4vZSRWjoSJ0AwAAAGgQjmQX2UayU9KydCK3xG67u6tZ17RoYlsn+6rmgXJ3JWTDsQjdAAAAAOqlE7nFtnWyU9KydPRMsd12NxeTukY1sc0u3rVFoDzdXJxULRorQjcAAACAeuFkfontVvGUA1k6mFVkt93VbFLn5gE/r5MdomtaNpGXOyEbzkXoBgAAAFAnZRWUakNatlLSTivlQJYOnCq02242SfGRAbaR7O7RQfLxIOKgbuE7EgAAAECdkFNUpg1p2baR7D2Z+XbbTSapYzN/2+zi3WOC5O/p5qRqgaohdAMAAABwirwSi75Py7bNML4rI0+GYd+nfbifbXbxnjFBCvR2d06xwGUidAMAAACoFQWl5frhYLZtdvHUY7my/iZktw71tY1k94wJUrCvh3OKBWoIoRsAAACAQxSXVWjToWzb7OLbjuaq4jcpOybExzaS3Ss2SKF+nk6qFnAMQjcAAACAGlFiqdCWw2dsI9lbj+TIUmEfsqOCvGwj2b1ig9UswMtJ1QK1g9ANAAAA4LKUlVu19UjOzyPZp7XlcI7Kyq12fSICPG2zi/duFazmTbydVC3gHIRuAAAAAFViqbBq29Fc2+zimw5lq8RiH7JD/Tx+Xif7bMhuEeQtk8nkpIoB5yN0AwAAAKhUhdVQ6rFc2+zimw5mq7Cswq5PsI+73Uh2bIgPIRv4FUI3AAAAAEmS1Wpo54k820j29+nZyi8tt+sT6O2mXjFnA3bvVsFqE+pLyAYugtANAAAANFJWq6G9J/PPPpN9IEsb07OVW2yx6+Pn6aqe50J2bLDah/vJbCZkA1VF6AYAAAAaCcMwdOBUgW0Jrw1p2couLLPr4+Puoh4xQT+H7BB1jPCXCyEbuGyEbgAAAKCBMgxDB7OKfhWys3Qqv9Suj5ebi7pFN7GNZMdHBsjVxeykioGGh9ANAAAANCBHsotsE59tSMvSidwSu+0ermZd07KJbeKzzs0D5e5KyAYchdANAAAA1GMncottz2SnpGXp6Jliu+3uLmZ1aRFoC9ldogLl6ebipGqBxofQDQAAANQjJ/NKbLeKpxzI0sGsIrvtrmaTror6JWRf3aKJvNwJ2YCzELoBAACAOux0QaktYKekZSntVKHddrNJim/+S8ju1rKJfDz4MR+oK/i/EQAAAKhDcorKtCEtWykHTislLUt7MwvstptMUqcIf1vI7h4dJD9PNydVC+BSCN0AAACAE+WVWPR9WrZt8rNdGXkyDPs+7cP91Cs2WH1aBatnTLACvAnZQH1B6AYAAABqUUFpuX44mK0NP98unnosV9bfhOzWob62keyeMUEK9vVwTrEArhihGwAAAHCg4rIKbTqUbXsme9vRXFX8JmXHhPio188hu1dskEL9PJ1ULYCaRugGAAAAalCJpUJbDp+xjWRvPZIjS4V9yI4K8rKNZPeODVF4ACEbaKgI3QAAAMAVKCu3auuRnJ9Hsk9ry+EclZVb7fpEBHiqV6tgW9Bu3sTbSdUCqG2EbgAAAKAaLBVWbTuaa1vGa9OhbJVY7EN2qJ/Hz6PYZ0N2iyBvmUwmJ1UMwJkI3QAAAMBFlFdYteN4nm128U0Hs1VYVmHXJ8TXXT1jfwnZsSE+hGwAkgjdAAAAgB2r1dDOE3m2kezv07OVX1pu1yfQ2029Yn5+JrtVsNqE+hKyAVSK0A0AAIBGzWo1tPdk/tlnsg9kaWN6tnKLLXZ9/Dxd1fNcyI4NVvtwP5nNhGwAl0boBgAAQKNiGIYOnCqwLeG1IS1b2YVldn18PVzVPbqJbXbxjhH+ciFkA7gMhG4AAAA0aIZh6GBW0a9CdpZO5Zfa9fFyc1E3W8gOVnxkgFxdzE6qGEBDQugGAABAg3Mk+5eQnXIgSxl5JXbbPVzNuqZlE9vEZ52bB8rdlZANoOYRugEAAFDvHc8ptgvZx3KK7ba7u5jVpUWgLWR3iQqUp5uLk6oF0JgQugEAAFDvnMwrsQXslLQsHcoqstvuajbpqqhfQvbVLZrIy52QDaD2EboBAABQ550uKLUt4ZWSlqW0U4V2280mKb75LyG7W8sm8vHgR10Azse/RAAAAKhzzhSWaWP6LyF7b2aB3XaTSeoU4W8L2d2jg+Tn6eakagHgwgjdAAAAcLrcYou+T8+2hezdGXkyDPs+7cP9bLOL94wJVoA3IRtA3UfoBgAAQK0rKC3XD+nZtueydxzPlfU3IbtNqO8vITs2WEE+7s4pFgCuAKEbAAAADldUVq5NB8/YQvb2Y7mq+E3Kjg3xUa+fQ3av2GA19fNwUrUAUHMI3QAAAKhxJZYKbTn0S8j+6WiOLBX2IbtFkLftmexescEKD/B0UrUA4DiEbgAAAFyx0vIKbT2cYwvZPx7JUVm51a5PZKCXev0csnu3ClZkoJeTqgWA2kPoBgAAQLVZKqzadjTHNvHZ5kNnVGKxD9lh/h62kezesSGKCvKSyWRyUsUA4ByEbgAAAFxSeYVVqcfzbCF708FsFZVV2PUJ8XX/ZSQ7NlgxIT6EbACNHqEbAAAA57FaDe088UvI/iE9W/ml5XZ9mni72YXs1qG+hGwA+A1CNwAAAGS1Gtp7Mv9syD6QpY3p2cotttj18fd0Vc/YYNst4+3C/GQ2E7IB4GII3QAAAI2QYRg6cKrANpK9IS1b2YVldn18PVzVIybIFrI7NPOXCyEbAKqF0A0AANAIGIahg1lFvwrZWTqVX2rXx9vdRd2ifwnZcRH+cnUxO6liAGgYCN0AAAAN1JHsX0J2yoEsZeSV2G33cDWrW3QTW8ju3DxQboRsAKhRhG4AAIAG4nhOsV3IPpZTbLfd3cWsLi0C1efnic+6tAiUh6uLk6oFgMaB0A0AAFBPncwrsQXslLQsHcoqstvuajapS1SgbXbxq1s2kacbIRsAahOhGwAAoJ44XVCqDb8K2WmnCu22u5hNio8MsIXsbtFN5O3Oj3sA4Ez8KwwAAFBHnSks08b0X0L23swCu+0mkxQXYR+y/TzdnFQtAKAyhG4AAIA6IrfYou/Ts20he3dGngzDvk/7cD/1aRWi3q2C1SMmSAFehGwAqMsI3QAAAE5SUFquH9Kzbc9l7zieK+tvQnabUF/bSHbP2GAF+bg7p1gAwGUhdAMAANSSorJybTp4xhaytx/LVcVvUnZsiI96/Ryye8UGq6mfh5OqBQDUBKeG7qSkJC1YsEC7d++Wl5eX+vTpoxdeeEHt2rW74D47duzQlClTtHnzZh06dEivvfaaxo4da9dn2rRpmj59ul1bu3bttHv3bkecBgAAQKVKLBXacuiXkP3T0RxZKuxDdosgb9s62b1bBSvM39NJ1QIAHMGpoXvNmjVKTExU9+7dVV5erokTJ2rQoEHauXOnfHx8Kt2nqKhIsbGxuv322/Xoo49e8NidOnXSihUrbK9dXRnUBwAAjlVaXqGth3NsIfvHIzkqK7fa9YkM9FKvX4XsyEAvJ1ULAKgNTk2iS5cutXv9/vvvKzQ0VJs3b1a/fv0q3ad79+7q3r27JOmpp5664LFdXV0VHh5ec8UCAAD8hqXCqm1Hc2wTn20+dEYlFvuQHebv8ctIdmyIooK8ZDKZnFQxAKC21anh39zcXElSUFDQFR9r3759ioiIkKenp3r37q2kpCS1aNGi0r6lpaUqLS21vc7Ly5MkWSwWWSyWK67FEc7VVVfrAwA0LFx3ziqvsGrHiXxtSMvWxvRsbT6co6KyCrs+Ib7u6hkdpJ6xTdQrJkjRwd52Ibu8vLy2ywaAeqc+XHeqWpvJMH67EIVzWK1WjRw5Ujk5OVq/fn2V9omOjtbYsWPPe6b766+/VkFBgdq1a6cTJ05o+vTpOnbsmFJTU+Xn53fecSp7BlyS5s2bJ29v78s6HwAAUP9ZDelYobQvz6R9uSal5ZtUUmE/Su3jaqi1v6E2AYba+BsK8zq7fjYAoGErKirSH//4R+Xm5srf3/+C/epM6H7ooYf09ddfa/369WrevHmV9rlQ6P6tnJwctWzZUq+++qruv//+87ZXNtIdFRWl06dPX/TDcyaLxaLk5GQNHDhQbm6szwkAcKzGct2xWg3tPVmgDenZ2piWre8PnlFeif3ItL+nq3pEN1HP2CD1iglS21Bfmc2kbACoSfXhupOXl6eQkJBLhu46cXv5mDFjtHjxYq1du7bKgbs6AgMD1bZtW+3fv7/S7R4eHvLwOH85Djc3tzr7F3xOfagRANBwNLTrjmEY2n+ywDbx2cb0bGUXltn18fVwVY+YINtz2R2a+cuFkA0AtaIuX3eqWpdTQ7dhGPr73/+uhQsXavXq1YqJiXHI+xQUFOjAgQP605/+5JDjAwCA+sEwDKWfLrSF7A1p2TpdUGrXx9vdRd2ifwnZcRH+cnUxO6liAEB959TQnZiYqHnz5mnRokXy8/NTRkaGJCkgIEBeXmeXz7jnnnsUGRmppKQkSVJZWZl27txp+/OxY8e0detW+fr6qnXr1pKkxx9/XCNGjFDLli11/PhxTZ06VS4uLrrzzjudcJYAAMBZDMPQkexipaSdtoXsjLwSuz4ermZ1i25iC9mdmwfKjZANAKghTg3dc+bMkSRdf/31du3vvfeeRo8eLUk6fPiwzOZfLnzHjx9X165dba9ffvllvfzyy+rfv79Wr14tSTp69KjuvPNOZWVlqWnTprr22mu1YcMGNW3a1KHnAwAAnO9YTvHZJbwOZGlDWpaO5RTbbXd3Matri8Cfl/AKVpcWgfJwdXFStQCAhs7pt5dfyrkgfU50dPQl9/vkk0+upCwAAFCPZOaV2EJ2SlqWDmcX2W13NZvUJeqXkH11yybydCNkAwBqR52YSA0AAKCqTuWXakPa2YC94UCW0k4X2m13MZsUHxlgC9ndopvI250feQAAzsEVCAAA1GlnCstsITvlQJb2nSyw2242SZ0i7EO2n2fdnOkWAND4ELoBAECdklts0cZfhezdGfnn9enQzN828VmPmCAFeBGyAQB1E6EbAAA4VX6JRT8czLY9k73jeJ5+O31L2zBfW8juGROsJj7uzikWAIBqInQDAIBaVVRWrh8OnrGF7NRjuaqw2qfs2KY+tpDdKzZYIb4eTqoWAIArQ+gGAAAOVWKp0OZDv4Tsn47kqPw3IbtlsLddyA7z93RStQAA1CxCNwAAuKgKq6GN6dnafNqk4PRs9W4dKhez6YL9S8srtPVwju2Z7B8P56iswmrXJzLQyzbxWe9WwYoI9HL0aQAA4BSEbgAAcEFLU09o+pc7dSK3RJKL/t++TWoW4KmpIzpqSFwzSZKlwqptR3NsI9mbDp5Rabl9yA7397QL2VFB3k44GwAAah+hGwAAVGpp6gk9NHeLfjOnmTJyS/S3uVuU0CVS2UVl2nQwW0VlFXZ9Qnw97EJ2dLC3TKYLj44DANBQEboBAMB5KqyGpn+587zALcnW9vnWY7a2IB939YoNsoXsVk19CdkAAIjQDQAAKvF9evbPt5Rf3L29W+rOni3UNtRP5os85w0AQGNF6AYAAOc5mX/pwC1JV7dsovbh/g6uBgCA+svs7AIAAEDdcqawTPO3HK1S31A/lvYCAOBiGOkGAACSJMMw9MVPx/XMlzuVVVh20b4mSeEBnuoRE1Q7xQEAUE8RugEAgI5kF2ny56las/eUJKltmK9u6RKpl5ftkSS7CdXOPbk9dUTHi67XDQAACN0AADRq5RVWvfftQb2avFfFlgq5u5r1jxtb68F+reTualarpj6/Wqf7rPDfrNMNAAAujNANAEAjlXosVxMWbNf2Y7mSpJ4xQUoaFa/Ypr62PkPimmlgx3Cl7D+p5es2atB1PdW7dSgj3AAAVBGhGwCARqa4rEKvrdir/65PV4XVkL+nqyYN76Dfd4uqdG1tF7NJPWOClLXLUM+YIAI3AADVQOgGAKARWbv3lCZ9vl1HsoslSTd3bqYpIzoyCzkAAA5C6AYAoBHIKijVs1/t0sIfj0mSIgO9NCOhk25sH+bkygAAaNgI3QAANGCGYWjBlmN69qudOlNkkdkkje4To8cGtZWPBz8GAADgaFxtAQBooA5lFWrSwlSt339aktQ+3E8v3NZZV0UFOrcwAAAaEUI3AAANjKXCqv+uT9esFXtVYrHKw9WssQPa6oHrYuTmYnZ2eQAANCqEbgAAGpCfjuToqQXbtetEniSpb+tgPX9rvFoG+zi5MgAAGidCNwAADUBhableWb5X73+XLqshBXq76enhHTXq6shKlwEDAAC1g9ANAEA9t2r3SU3+PFXHcs4uA5bQJUJP39xRwb4eTq4MAAAQugEAqKdO5ZfqmcU79eVPxyVJzZt46blb49W/bVMnVwYAAM4hdAMAUM8YhqFPNx3Rc1/tUl5Jucwm6YHrYjV2QBt5u3NpBwCgLuHKDABAPZJ2qkATF27XhrRsSVJcpL9mjuqsuMgAJ1cGAAAqc8Whu7S0VB4ePDMGAIAjlZVb9fbaA3rjm/0qK7fKy81F4wa21X19o+XKMmAAANRZ1Q7dX3/9tT755BOtW7dOR44ckdVqlY+Pj7p27apBgwbpvvvuU0REhCNqBQCgUdpy+IwmzN+uPZn5kqR+bZvquYQ4RQV5O7kyAABwKVUO3QsXLtT48eOVn5+vYcOGafz48YqIiJCXl5eys7OVmpqqFStWaMaMGRo9erRmzJihpk2ZyAUAgMuVX2LRS8v26MMNh2QYUrCPu6aM6KiRV0WwDBgAAPVElUP3iy++qNdee01Dhw6V2Xz+bWy///3vJUnHjh3Tm2++qblz5+rRRx+tuUoBAGhEkndm6unPU5WRVyJJ+t01zTVpWAc18XF3cmUAAKA6qhy6U1JSqtQvMjJSM2fOvOyCAABozE7mlWjqFzv0dWqGJKllsLeevzVefVuHOLkyAABwOar9THdeXp42btyosrIy9ejRg1vIAQCoAVaroY9/OKyZX+9Wfkm5XMwmPdgvVo/c1Eaebi7OLg8AAFymaoXurVu3atiwYcrMzJRhGPLz89Onn36qwYMHO6o+AAAavP0n8zVhwXb9cPCMJOmq5gFKGtVZHSP8nVwZAAC4UtUK3ePHj1dMTIzmz58vT09PzZgxQ2PGjNG+ffscVR8AAA1WaXmF5qw+oH+tOqCyCqu83V30xOB2uqd3tFzMTJQGAEBDUK3QvXnzZi1fvlxXX321JOndd99VUFCQ8vLy5O/Pb+MBAKiqHw5ma8KC7dp/skCSdGP7UM1IiFNkoJeTKwMAADWpWqE7OztbzZs3t70ODAyUj4+PsrKyCN0AAFRBbrFFLy7drY82HpYkhfh6aNrIjhoe34xlwAAAaICqPZHazp07lZGRYXttGIZ27dql/Px8W1vnzp1rpjoAABoIwzC0NDVDU7/YoZP5pZKkO7pHacLQDgrwdnNydQAAwFGqHbpvuukmGYZh13bzzTfLZDLJMAyZTCZVVFTUWIEAANR3J3KLNWXRDiXvzJQkxYb46PlR8eoVG+zkygAAgKNVK3Snp6c7qg4AABocq9XQ3I2H9OLSPSooLZer2aSHrm+lxBtaswwYAACNRLVCd8uWLR1VBwAADcqejHxNWLBNWw7nSJKubhGopFGd1S7cz7mFAQCAWlXt28t/q7CwUP/73/9UXFysQYMGqU2bNjVRFwAA9VKJpUKzv9mvt9YcULnVkK+Hq8YPaae7eraUmWXAAABodKoVug8fPqw//elP2rJli3r16qX//ve/GjhwoG2dbi8vL3399dfq16+fQ4oFAKAu25CWpYkLtivtdKEkaWDHMD1zSyc1C2AZMAAAGitzdTo//vjjKisr01tvvSVvb28NHjxYbdq00YkTJ5SZmamhQ4dq2rRpDioVAIC6KbfIovH/t013vL1BaacLFernobfuvlrv3NONwA0AQCNXrZHutWvX6osvvlCPHj00dOhQhYSE6N1331VYWJgk6emnn9ZNN93kkEIBAKhrDMPQ4m0nNP3LnTpdcHYZsLt6ttD4oe3l78kyYAAAoJqh++TJk7bJ1IKCguTt7W0L3JIUHh6uM2fO1GyFAADUQcdyivX056n6ZvdJSVLrUF8ljYpX9+ggJ1cGAADqkmpPpGYymSr9MwAAjUGF1dAH3x3Uy8v3qKisQu4uZiXe0Fp/uz5WHq4sAwYAAOxVO3RPmTJF3t7ekqSysjI999xzCggIkCQVFRXVbHUAANQhO4/nacKCbfrpaK4kqXt0EyWNilfrUJYBAwAAlatW6O7Xr5/27Nlje92nTx+lpaWd1wcAgIakxFKh11fu09tr01RhNeTn6aoJQzvoju5RLAMGAAAuqlqhe/Xq1Q4qAwCAumn9vtOa9Pl2Hco6ezfXsPhwTRvRSaH+nk6uDAAA1AfVvr0cAIDG4ExhmZ79apfmbzkqSWoW4KlnbonTwI5hl9gTAADgF9UK3Tk5Ofr444/10EMPSZLuuusuFRcX27a7uLjonXfeUWBgYI0WCQBAbTEMQ4u2Htczi3cqu7BMJpN0T6+WenxwO/mxDBgAAKgmc3U6v/POO1q/fr3t9RdffCGz2ayAgAAFBARo+/btmjVrVk3XCABArTiSXaR73/tBY/+3VdmFZWoX5qf5D/XR9FviCNwAAOCyVGuk+//+7//03HPP2bW9+OKLio2NlSQtXLhQzzzzjKZNm1ZjBQIA4GjlFVa99+1BvZq8V8WWCrm7mvXITW30l+ti5e5ard9PAwAA2KlW6E5LS1O7du1sr9u1ayd3d3fb66uuukr79u2rueoAAHCw1GO5Gj9/m3Ycz5Mk9Y4N1vOj4hUT4uPkygAAQENQrdBdWFio3NxcRUVFSZI2bdp03nar1Vpz1QEA4CBFZeV6LXmv/rs+XVZDCvBy06RhHXR7t+YymVgGDAAA1Ixqhe7Y2Fht2bJFcXFxlW7ftGmTYmJiaqQwAAAcZc3eU5q0cLuOnjk7GeiIqyI05eaOaurn4eTKAABAQ1Ot0H3rrbdq8uTJGjx4sMLC7JdMycjI0NSpU3XPPffUaIEAANSU0wWlenbxTn2+9bgkKTLQS88mxOmG9qFOrgwAADRU1QrdTz75pObPn682bdroT3/6k9q2bStJ2rNnj+bOnavIyEiNHz/eIYUCAHC5DMPQ/C3H9OxXO5VTZJHZJN3XN0bjBraVj0e1LoUAAADVUq2fNPz8/PTtt99qwoQJ+vjjj5WTkyNJCgwM1B//+Ec9//zz8vPzc0SdAABcloOnCzXp8+36dn+WJKlDM3/NHBWvq6ICnVsYAABoFKr96/0mTZrorbfe0pw5c3Tq1ClJUtOmTZl0BgBQp1gqrHpnXZpeX7FPpeVWebia9ejAtrr/2hi5ubAMGAAAqB2XfU+dyWRSaCjPwAEA6p6tR3L01Pxt2p2RL0m6tnWInrs1Ti2DWQYMAADULh5kAwA0GAWl5Xpl+R69/91BGYbUxNtNT9/cUbd2jeSOLAAA4BSEbgBAg/DN7kxNXpiq47klkqRRXSM1aXgHBfuyDBgAAHAeQjcAoF47mV+i6V/u1FfbTkiSooK89FxCvPq1berkygAAAAjdAIB6yjAMfbrpiJ77apfySsrlYjbpgWtj9MiANvJ25/IGAADqhsv+qWTlypVauXKlTp48KavVarft3XffveLCAAC4kAOnCjRxwXZtTM+WJMVHBihpVLziIgOcXBkAAIC9ywrd06dP1zPPPKNu3bqpWbNmTE4DAKgVZeVW/XvNAb25ar/Kyq3ycnPRY4PaanSfaLmyDBgAAKiDLit0v/XWW3r//ff1pz/9qabrAQCgUpsPndGEBdu0N7NAktS/bVM9mxCnqCBvJ1cGAABwYZcVusvKytSnT5+argUAgPPkl1j00rI9+nDDIRmGFOzjrikjOmrkVRHcaQUAAOq8y7oX74EHHtC8efNquhYAAOws25Ghga+u1f9LORu4b7+muVaM669burDuNgAAqB8ua6S7pKREb7/9tlasWKHOnTvLzc3Nbvurr75aI8UBABqnzLwSTV20Q0t3ZEiSooO99fyt8erTOsTJlQEAAFTPZYXubdu2qUuXLpKk1NRUu22MPAAALpfVamje94f1wte7lV9aLlezSQ/2i9U/bmojTzcXZ5cHAABQbZcVuletWlXTdQAAGrl9mfmasGC7Nh06I0m6KipQM0fFq0MzfydXBgAAcPmueH2Vo0eP6ujRo5e1b1JSkrp37y4/Pz+FhoYqISFBe/bsueg+O3bs0G233abo6GiZTCbNmjWr0n7//Oc/FR0dLU9PT/Xs2VPff//9ZdUIAHCs0vIKvZa8V8PeWKdNh87Ix91F00Z01IKH+hC4AQBAvXdZodtqteqZZ55RQECAWrZsqZYtWyowMFAzZsyQ1Wqt8nHWrFmjxMREbdiwQcnJybJYLBo0aJAKCwsvuE9RUZFiY2M1c+ZMhYeHV9rnf//7n8aNG6epU6dqy5YtuuqqqzR48GCdPHmy2ucKAHCc79OzNez1dXp95T5ZKgzd1D5UyeP6a3TfGLmYeVwJAADUf5d1e/mkSZP03//+VzNnzlTfvn0lSevXr9e0adNUUlKi5557rkrHWbp0qd3r999/X6Ghodq8ebP69etX6T7du3dX9+7dJUlPPfVUpX1effVV/eUvf9F9990n6ey64l999ZXefffdC+4DAKg9ucUWzfx6tz7+/rAkKcTXQ9NHdtKw+HDmBgEAAA3KZYXuDz74QP/5z380cuRIW1vnzp0VGRmphx9+uMqh+7dyc3MlSUFBQZe1v3R2DfHNmzdrwoQJtjaz2awBAwYoJSXlso8LALhyhmHo69QMTf1ih07ll0qS7uwRpaeGdFCAt9sl9gYAAKh/Lit0Z2dnq3379ue1t2/fXtnZ2ZdViNVq1dixY9W3b1/FxcVd1jEk6fTp06qoqFBYWJhde1hYmHbv3l3pPqWlpSotLbW9zsvLkyRZLBZZLJbLrsWRztVVV+sDgN86kVui6Yt3aeXuU5Kk2BBvzbilo3pEn/1FK/+e1W1cdwAAtak+XHeqWttlhe6rrrpKs2fP1htvvGHXPnv2bF111VWXc0glJiYqNTVV69evv6z9r0RSUpKmT59+Xvvy5cvl7e1d6/VUR3JysrNLAICLshrS+gyTFh82q9RqkovJ0IBIQwMj83R65wYt2ensClEdXHcAALWpLl93ioqKqtTvskL3iy++qOHDh2vFihXq3bu3JCklJUVHjhzRkiVLqn28MWPGaPHixVq7dq2aN29+OSXZhISEyMXFRZmZmXbtmZmZF5x4bcKECRo3bpztdV5enqKiojRo0CD5+9fNmXMtFouSk5M1cOBAublxSyaAumlPRr4mf7FTW4+cfXzo6haBenZkR7UJ83VyZagurjsAgNpUH6475+6QvpTLCt39+/fX3r179c9//tN2y/aoUaP08MMPKyIiosrHMQxDf//737Vw4UKtXr1aMTExl1OOHXd3d11zzTVauXKlEhISJJ29dX3lypUaM2ZMpft4eHjIw8PjvHY3N7c6+xd8Tn2oEUDjU2Kp0Oxv9uutNQdUbjXk6+Gq8UPb664eLWRmVvJ6jesOAKA21eXrTlXruqzQLUkRERGXPWHaOYmJiZo3b54WLVokPz8/ZWRkSJICAgLk5eUlSbrnnnsUGRmppKQkSWcnStu5c6ftz8eOHdPWrVvl6+ur1q1bS5LGjRune++9V926dVOPHj00a9YsFRYW2mYzBwA4zncHTmvSwlSlnz67/OPgTmGaPjJO4QGeTq4MAACg9lU5dG/btk1xcXEym83atm3bRft27ty5SsecM2eOJOn666+3a3/vvfc0evRoSdLhw4dlNv+ynPjx48fVtWtX2+uXX35ZL7/8svr376/Vq1dLkv7whz/o1KlTmjJlijIyMtSlSxctXbr0vMnVAAA1J6eoTM8v2aVPNx2VJIX5e2j6yDgNiav80R4AAIDGoMqhu0uXLsrIyFBoaKi6dOkik8kkwzDO62cymVRRUVGlY1a2/2+dC9LnREdHV2m/MWPGXPB2cgBAzTEMQ19uO6Fnvtyh0wVlkqS7e7XQk0Pay9+zbt4OBgAAUFuqHLrT09PVtGlT258BADh6pkhPf56qVXvOLgPWJtRXSaPi1e3nZcAAAAAauyqH7pYtW1b6ZwBA41NhNfTet+l6ZfleFVsq5O5iVuINrfW362Pl4eri7PIAAADqjCqH7i+++KLKBx05cuRlFQMAqPt2HM/VhAXbte3o2WXAekQH6flR8WodyjJgAAAAv1Xl0H1u+a1Lqc4z3QCA+qO4rEKzVu7Vf9alq8JqyM/TVROHddAfukWxDBgAAMAFVDl0W61WR9YBAKjD1u87rYkLt+twdpEkaXh8M00d0VGh/iwDBgAAcDGXvU43AKDhyy4s07Nf7dSCLcckSc0CPDXjljgN6MgSjAAAAFVR5dD9xhtvVPmg//jHPy6rGABA3WAYhj7fekwzFu9SdmGZTCbp3t7RenxwO/l68PtaAACAqqryT06vvfZalfqZTCZCNwDUY4ezijTp8+1at++0JKl9uJ+SRsWra4smTq4MAACg/qnWOt0AgIarvMKqd79N16vJe1Viscrd1axHbmqjB/vFys3F7OzyAAAA6iXuEQQAaPvRXD21YJt2HM+TJPWODdbzo+IVE+Lj5MoAAADqtyqH7nHjxmnGjBny8fHRuHHjLtr31VdfveLCAACOV1RWrleX79W736bLakgBXm6aNLyDbr+muUwmlgEDAAC4UlUO3T/++KMsFoskacuWLRf8YYwf0gCgfli956QmLUzVsZxiSdLIqyI0ZURHhfh6OLkyAACAhqPKoXvVqlW2P69evdoRtQAAasHpglLNWLxTi7YelyRFBnrp2VvjdEO7UCdXBgAA0PBU+5lui8UiLy8vbd26VXFxcY6oCQDgAIZh6P82H9VzS3Ypp8gis0n6c98YPTqwrXxYBgwAAMAhqv1Tlpubm1q0aKGKigpH1AMAcICDpws1ceF2fXcgS5LUsZm/Zt4Wr87NA51bGAAAQAN3WUMbkyZN0sSJE/Xhhx8qKCiopmsCANQQS4VVb69N0xsr96m03CpPN7MeHdBW918bI1eWAQMAAHC4aoXutWvXqnfv3po9e7b279+viIgItWzZUj4+9kvKbNmypUaLBABU34+Hz2jCgu3anZEvSbquTYieS4hXi2BvJ1cGAADQeFQrdN9www06ceKEEhISHFQOAOBKFZSW6+Vle/RBykEZhtTE201P39xRt3aNZIUJAACAWlat0G0YhiRp6tSpDikGAHBlVu7K1NOfp+p4bokkadTVkZo8vKOCfNydXBkAAEDjVO1nuhklAYC652R+iaZ/sVNfbT8hSWoR5K3nbo3TdW2aOrkyAACAxq3aoXv06NHy8PC4aJ8FCxZcdkEAgKqzWg39b9MRJS3ZpbyScrmYTXrguhiNvamtvNxdnF0eAABAo1ft0O3n5ycvLy9H1AIAqIb9Jws0ceF2fZ+eLUmKjwxQ0qh4xUUGOLkyAAAAnFPt0P3GG28oNDTUEbUAAKqgrNyqt9Yc0Oxv9quswipvdxc9Nqid7u3dkmXAAAAA6phqhW6e5wYA59p8KFtPzd+ufScLJEnXt2uqZxPi1LwJy4ABAADURZc1ezkAoHbllVj00tI9mrvxkAxDCvF115QRnTSiczN+IQoAAFCHVSt0r1q1SkFBQY6qBQBQiWU7MjRlUaoy80olSb/v1lwTh3VQoDfLgAEAANR1VQ7dn3zyie64444q9T1y5IgOHz6svn37XnZhANDYZeSWaOoXqVq2I1OSFB3sredHxatPqxAnVwYAAICqqvKMO3PmzFGHDh304osvateuXedtz83N1ZIlS/THP/5RV199tbKysmq0UABoLKxWQx9uOKSBr67Rsh2ZcjWblHhDKy0d24/ADQAAUM9UeaR7zZo1+uKLL/Tmm29qwoQJ8vHxUVhYmDw9PXXmzBllZGQoJCREo0ePVmpqqsLCwhxZNwA0SPsy8/XUgu3afOiMJKlLVKBm3hav9uH+Tq4MAAAAl6Naz3SPHDlSI0eO1OnTp7V+/XodOnRIxcXFCgkJUdeuXdW1a1eZzSxXAwDVVWKp0L9WH9Cc1ftlqTDk4+6iJ4e01929WsrFzERpAAAA9VW11+mWpJCQECUkJNRwKQDQOG1My9KEhduVdqpQkjSgQ6ieuSVOEYFeTq4MAAAAV+qyQjcA4MrlFls08+td+vj7I5Kkpn4emj6yk4bGhbMMGAAAQANB6AaAWmYYhpZsz9C0L3foVP7ZZcDu7NFCTw1trwAvNydXBwAAgJpE6AaAWnQ8p1hTFqVqxa6TkqTYpj5KujVePWODnVwZAAAAHIHQDQC1oMJq6MOUg3pp2R4VllXIzcWkh65vrcQbWsnD1cXZ5QEAAMBBqh268/LytHHjRpWVlalHjx5q2rSpI+oCgAZjd0aenpq/XVuP5EiSurVsoqRR8WoT5ufcwgAAAOBw1QrdW7du1bBhw5SZmSnDMOTn56dPP/1UgwcPdlR9AFBvlVgq9MbKfXp7bZrKrYb8PFw1fmh7/bFHC5lZBgwAAKBRqFboHj9+vGJiYjR//nx5enpqxowZGjNmjPbt2+eo+gCgXvpu/2lNXLhdB7OKJElDOoVr2shOCg/wdHJlAAAAqE3VCt2bN2/W8uXLdfXVV0uS3n33XQUFBSkvL0/+/v4OKRAA6pMzhWV6fskufbb5qCQpzN9Dz9wSp8Gdwp1cGQAAAJyhWqE7OztbzZs3t70ODAyUj4+PsrKyCN0AGjXDMPTFT8f1zJc7lVVYJpNJurtnSz0xpJ38PVkGDAAAoLGq9kRqO3fuVEZGhu21YRjatWuX8vPzbW2dO3eumeoAoB44kl2kpxelavWeU5KktmG+ShoVr2taBjm5MgAAADhbtUP3TTfdJMMw7NpuvvlmmUwmGYYhk8mkioqKGisQAOqq8gqr3v/uoF5ZvlfFlgq5u5j19xtb66/9W8nd1ezs8gAAAFAHVCt0p6enO6oOAKhXUo/lasKC7dp+LFeS1CMmSEmj4tWqqa+TKwMAAEBdUq3Q3bJlS0fVAQD1QnFZhWat2Kv/rE9XhdWQv6erJg7roN93i2IZMAAAAJyn2reXS9K+ffu0aNEiHTx4UCaTSTExMUpISFBsbGxN1wcAdca6fac0ceF2HckuliQN79xMU0d0VKgfy4ABAACgctUO3UlJSZoyZYqsVqtCQ0NlGIZOnTqlp556Ss8//7wef/xxR9QJAE6TXVimZxfv1IIfj0mSIgI8NSMhTjd1CHNyZQAAAKjrqjXTz6pVqzR58mRNmjRJp0+f1okTJ5SRkWEL3U899ZTWrl3rqFoBoFYZhqEFW47qpldWa8GPx2QySaP7RGv5uP4EbgAAAFRJtUa633rrLT3wwAOaNm2aXXtQUJCeeeYZZWRkaM6cOerXr19N1ggAte5wVpEmfb5d6/adliS1D/fTzNs6q0tUoHMLAwAAQL1SrdD9/fff68MPP7zg9j/96U+65557rrgoAHCW8gqr/rM+XbNW7FWJxSoPV7MeGdBGf7kuVm4uLAMGAACA6qlW6M7MzFR0dPQFt8fExCgjI+NKawIAp9h2NEdPzd+unSfyJEl9WgXr+VvjFR3i4+TKAAAAUF9VK3SXlJTI3d39gtvd3NxUVlZ2xUUBQG0qLC3Xq8l79d636bIaUqC3myYN66DfXdNcJhPLgAEAAODyVXv28v/85z/y9fWtdFt+fv4VFwQAtWnVnpOavDBVx3LOLgOW0CVCk2/uqBBfDydXBgAAgIagWqG7RYsWeueddy7ZBwDqulP5pXpm8U59+dNxSVLzJl56NiFO17cLdXJlAAAAaEiqFboPHjzooDIAoHYYhqHPNh/Vc1/tUm6xRWaTdP+1MXp0YFt5u1f75h8AAADgovgJE0CjkX66UBMXbFdKWpYkqVOEv2aO6qz45gFOrgwAAAANVbVCd3FxsVauXKmbb75ZkjRhwgSVlpbatru4uGjGjBny9PSs2SoB4AqUlVv1zro0vb5yn8rKrfJ0M2vcwLb6c98YubIMGAAAAByoWqH7gw8+0FdffWUL3bNnz1anTp3k5eUlSdq9e7ciIiL06KOP1nylAHAZfjx8Rk/N3649mWcneryuTYievzVeUUHeTq4MAAAAjUG1QvdHH32kJ5980q5t3rx5io2NlSTNnTtX//znPwndAJyuoLRcLy/bow9SDsowpCAfd025uaNu6RLBMmAAAACoNdUK3fv371d8fLzttaenp8zmX27N7NGjhxITE2uuOgC4DCt2ZurpRak6kVsiSRp1daQmD++oIB93J1cGAACAxqZaoTsnJ8fuGe5Tp07ZbbdarXbbAaA2ncwr0bQvd2jJ9gxJUosgbz1/a7yubRPi5MoAAADQWFUrdDdv3lypqalq165dpdu3bdum5s2b10hhAFBVVquhT344oqSvdym/pFwuZpP+cl2sHrmpjbzcXZxdHgAAABqxaoXuYcOGacqUKRo+fPh5M5QXFxdr+vTpGj58eI0WCAAXs/9kgSYu2K7vD2ZLkq5qHqCkUZ3VMcLfyZUBAAAA1QzdEydO1Keffqp27dppzJgxatu2rSRpz549mj17tsrLyzVx4kSHFAoAv1ZaXqG3Vqfpn6v2q6zCKm93Fz02qJ1G94mWi5mJ0gAAAFA3VCt0h4WF6bvvvtNDDz2kp556SoZhSJJMJpMGDhyof/3rXwoLC3NIoQBwzqaD2XpqwXbtP1kgSbqhXVPNSIhT8yYsAwYAAIC6pVqhW5JiYmK0dOlSZWdna//+/ZKk1q1bKygoqMaLA4Bfyyux6IWvd+ujjYclSSG+7po6opNu7tyMZcAAAABQJ1U7dJ8TFBSkHj161GQtAHBBS1MzNPWLVGXmnV0h4Q/dojRhWHsFerMMGAAAAOquyw7dAFAbMnJLNGVRqpbvzJQkxYT46Plb49W7VbCTKwMAAAAujdANoE6yWg19tPGQXli6RwWl5XI1m/S3/q005sbW8nRjGTAAAADUD4RuAHXO3sx8PTV/m7YczpEkdW0RqJmjOqtduJ9zCwMAAACqidANoM4osVToX6v2a86aA7JUGPL1cNWTQ9rprp4tWQYMAAAA9RKhG0CdsCEtSxMXblfaqUJJ0oAOYZqR0EnNArycXBkAAABw+QjdAJwqt8iipK936ZMfjkiSmvp56JmRnTQkLpxlwAAAAFDvEboBOIVhGPpq+wlN+2KnThecXQbsjz1baPyQ9grwcnNydQAAAEDNIHQDqHXHcoo15fNUrdx9UpLUqqmPZt7WWd2jg5xcGQAAAFCzCN0Aak2F1dD/Szmol5ftUWFZhdxcTEq8obUeur6VPFxZBgwAAAAND6EbQK3YdSJPTy3Yrp+O5EiSurVsopm3xat1KMuAAQAAoOEidANwqBJLhV5fuU/vrE1TudWQn4ernhrWXnd2byEzy4ABAACggTM7882TkpLUvXt3+fn5KTQ0VAkJCdqzZ88l9/vss8/Uvn17eXp6Kj4+XkuWLLHbPnr0aJlMJruvIUOGOOo0AFzAt/tPa/CstZqz+oDKrYaGxoVrxWP9dVfPlgRuAAAANApODd1r1qxRYmKiNmzYoOTkZFksFg0aNEiFhYUX3Oe7777TnXfeqfvvv18//vijEhISlJCQoNTUVLt+Q4YM0YkTJ2xfH3/8saNPB8DPzhSW6fHPftJd/9moQ1lFCvf31Nt/ukZz7r5GYf6ezi4PAAAAqDVOvb186dKldq/ff/99hYaGavPmzerXr1+l+7z++usaMmSInnjiCUnSjBkzlJycrNmzZ+utt96y9fPw8FB4eLjjigdwHsMw9MVPx/XMlzuVVVgmk0n6U6+WemJwO/l5sgwYAAAAGp869Ux3bm6uJCko6MLLBqWkpGjcuHF2bYMHD9bnn39u17Z69WqFhoaqSZMmuvHGG/Xss88qODi40mOWlpaqtLTU9jovL0+SZLFYZLFYLudUHO5cXXW1PjQ+R88Ua+qXO7V2X5YkqU2oj567pZO6tgiUxPcqUN9x3QEA1Kb6cN2pam11JnRbrVaNHTtWffv2VVxc3AX7ZWRkKCwszK4tLCxMGRkZttdDhgzRqFGjFBMTowMHDmjixIkaOnSoUlJS5OJy/rJESUlJmj59+nnty5cvl7e39xWcleMlJyc7uwQ0chWGtOaESV8fMavMapKrydDg5lbdGJGrE6nf6UTqpY8BoP7gugMAqE11+bpTVFRUpX51JnQnJiYqNTVV69evv+Jj3XHHHbY/x8fHq3PnzmrVqpVWr16tm2666bz+EyZMsBs9z8vLU1RUlAYNGiR/f/8rrscRLBaLkpOTNXDgQLm5cdsunGPH8TxNWrRDO47nS5J6RDfRs7d0VEyIj5MrA1DTuO4AAGpTfbjunLtD+lLqROgeM2aMFi9erLVr16p58+YX7RseHq7MzEy7tszMzIs+vx0bG6uQkBDt37+/0tDt4eEhDw+P89rd3Nzq7F/wOfWhRjQ8RWXlmrVin/67Pl0VVkP+nq6aNLyDft8tSiYTs5IDDRnXHQBAbarL152q1uXU2csNw9CYMWO0cOFCffPNN4qJibnkPr1799bKlSvt2pKTk9W7d+8L7nP06FFlZWWpWbNmV1wz0Nit3XtKg2et1dtr01RhNXRz52Za8Vh//aF7CwI3AAAA8BtOHelOTEzUvHnztGjRIvn5+dmeyw4ICJCXl5ck6Z577lFkZKSSkpIkSY888oj69++vV155RcOHD9cnn3yiTZs26e2335YkFRQUaPr06brtttsUHh6uAwcO6Mknn1Tr1q01ePBg55wo0ABkFZTq2a92aeGPxyRJkYFempHQSTe2D7vEngAAAEDj5dTQPWfOHEnS9ddfb9f+3nvvafTo0ZKkw4cPy2z+ZUC+T58+mjdvniZPnqyJEyeqTZs2+vzzz22Tr7m4uGjbtm364IMPlJOTo4iICA0aNEgzZsyo9BZyABdnGIYWbDmmZ7/aqTNFFplN0ug+MXpsUFv5eNSJJ1QAAACAOsupPzEbhnHJPqtXrz6v7fbbb9ftt99eaX8vLy8tW7bsSksDIOlQVqEmLUzV+v2nJUntw/30wm2ddVVUoHMLAwAAAOoJhqkAnMdSYdV/1qVr1oq9Ki23ysPVrLED2uqB62Lk5uLUqSAAAACAeoXQDcDOT0dy9NSC7dp14uwSCH1bB+u5hHhFswwYAAAAUG2EbgCSpMLScr2yfK/e/y5dVkMK9HbT08M7atTVkcxKDgAAAFwmQjcArdp9UpM/T9WxnGJJUkKXCD19c0cF+zL5IAAAAHAlCN1AI3Yqv1TTv9yhxdtOSJKaN/HSc7fGq3/bpk6uDAAAAGgYCN1AI2QYhj7ddETPfbVLeSXlMpukB66L1dgBbeTtzj8LAAAAQE3hp2ugkUk7VaCJC7drQ1q2JCku0l8zR3VWXGSAkysDAAAAGh5CN9BIlJVb9fbaA3rjm/0qK7fKy81F4wa21X19o+XKMmAAAACAQxC6gUZgy+EzmjB/u/Zk5kuS+rVtqucS4hQV5O3kygAAAICGjdANNGD5JRa9tGyPPtxwSIYhBfu4a8qIjhp5VQTLgAEAAAC1gNANNFDJOzP19OepysgrkST97prmmjSsg5r4uDu5MgAAAKDxIHQDDczJvBJN/WKHvk7NkCS1DPbW87fGq2/rECdXBgAAADQ+hG6ggbBaDX38w2HN/Hq38kvK5WI26cF+sXrkpjbydHNxdnkAAABAo0ToBhqA/SfzNWHBdv1w8Iwk6armAUoa1VkdI/ydXBkAAADQuBG6gXqstLxCc1Yf0L9WHVBZhVXe7i56YnA73dM7Wi5mJkoDAAAAnI3QDdRTPxzM1oQF27X/ZIEk6cb2oZqREKfIQC8nVwYAAADgHEI3UM/kFlv0wtLdmrfxsCQpxNdD00Z21PD4ZiwDBgAAANQxhG6gnjAMQ0tTMzT1ix06mV8qSbqje5QmDO2gAG83J1cHAAAAoDKEbqAeOJFbrCmLdih5Z6YkKTbER8+Pilev2GAnVwYAAADgYgjdQB1WYTX00cZDenHpHhWUlsvVbNJD17dS4g2tWQYMAAAAqAcI3UAdtScjX08t2KYfD+dIkq5uEaikUZ3VLtzPuYUBAAAAqDJCN1DHlFgqNPub/XprzQGVWw35erjqySHtdHfPljKzDBgAAABQrxC6gTpkQ1qWJi7YrrTThZKkgR3D9MwtndQsgGXAAAAAgPqI0A3UATlFZUpaslv/23REkhTq56FnbumkIXHNnFwZAAAAgCtB6AacyDAMLd52QtO/3KHTBWWSpLt6ttD4oe3l78kyYAAAAEB9R+gGnORYTrGe/jxV3+w+KUlqHeqrpFHx6h4d5OTKAAAAANQUQjdQyyqshj747qBeXr5HRWUVcncxK/GG1vrb9bHycGUZMAAAAKAhIXQDtWjn8TxNWLBNPx3NlSR1j26ipFHxah3KMmAAAABAQ0ToBmpBiaVCs1bs0zvr0lRhNeTn6aoJQzvoju5RLAMGAAAANGCEbsDB1u87rUmfb9ehrCJJ0rD4cE0b0Umh/p5OrgwAAACAoxG6AQc5U1imZ7/apflbjkqSwv09NSMhTgM7hjm5MgAAAAC1hdAN1DDDMLRo63E9s3insgvLZDJJ9/RqqccHt5Mfy4ABAAAAjQqhG6hBR7KLNOnzVK3de0qS1C7MT0m3xevqFk2cXBkAAAAAZyB0AzWgvMKqd79N16vJe1Viscrd1axHbmqjv1wXK3dXs7PLAwAAAOAkhG7gCqUey9X4+du043ieJKlXbJCevzVesU19nVwZAAAAAGcjdAOXqaisXK8l79V/16fLakgBXm6aNKyDbu/WXCYTy4ABAAAAIHQDl2XN3lOatHC7jp4pliSNuCpCU27uqKZ+Hk6uDAAAAEBdQugGquF0QalmLN6pRVuPS5IiA730bEKcbmgf6uTKAAAAANRFhG6gCgzD0Pwtx/TsVzuVU2SR2STd1zdG4wa2lY8H/xsBAAAAqBxpAbiEg6cLNenz7fp2f5YkqUMzf80cFa+rogKdWxgAAACAOo/QDVyApcKqd9al6fUV+1RabpWHq1mPDmyr+6+NkZsLy4ABAAAAuDRCN1CJrUdy9NT8bdqdkS9JurZ1iJ67NU4tg32cXBkAAACA+oTQDfxKQWm5Xlm+R+9/d1CGITXxdtPTN3fUrV0jWQYMAAAAQLURuoGffbM7U5MXpup4bokkaVTXSE0a3kHBviwDBgAAAODyELrR6J3ML9H0L3fqq20nJElRQV56LiFe/do2dXJlAAAAAOo7QjcaLcMw9L8fjuj5JbuUV1IuF7NJD1wbo0cGtJG3O/9rAAAAALhyJAs0SgdOFWjigu3amJ4tSYqPDFDSqHjFRQY4uTIAAAAADQmhG41KWblV/15zQG+u2q+ycqu83Fz02KC2Gt0nWq4sAwYAAACghhG60WhsPnRGExZs097MAklS/7ZN9WxCnKKCvJ1cGQAAAICGitCNBi+/xKIXl+7R3I2HZBhSsI+7pozoqJFXRbAMGAAAAACHInSjQVu2I0NTF+1QRt7ZZcB+d01zTRrWQU183J1cGQAAAIDGgNCNBikzr0RTF+3Q0h0ZkqToYG89f2u8+rQOcXJlAAAAABoTQjcaFKvV0LzvD+uFr3crv7RcrmaTHuwXq3/c1Eaebi7OLg8AAABAI0PoRoOxLzNfExZs16ZDZyRJV0UFauaoeHVo5u/kygAAAAA0VoRu1Hul5RX616oD+tfq/bJUGPJ2d9ETg9vpnt7RcjEzURoAAAAA5yF0o177Pj1bExZs04FThZKkm9qH6pmEOEUGejm5MgAAAAAgdKOeyi22aObXu/Xx94clSSG+Hpo+spOGxYezDBgAAACAOoPQjXrFMAx9nZqhqV/s0Kn8UknSnT2i9NSQDgrwdnNydQAAAABgj9CNeuN4TrGmLNqhFbsyJUmxIT56flS8esUGO7kyAAAAAKgcoRt1XoXV0NwNh/Ti0t0qLKuQm4tJD/VvpYdvaM0yYAAAAADqNEI36rTdGXmasGC7fjycI0m6pmUTJY2KV9swP+cWBgAAAABVQOhGnVRiqdCb3+zTv9ekqdxqyNfDVeOHttddPVrIzDJgAAAAAOoJQjfqnO8OnNakhalKP312GbBBHcP0zC1xCg/wdHJlAAAAAFA9hG7UGTlFZXp+yS59uumoJCnM30PTR8ZpSFy4kysDAAAAgMtD6IbTGYahL7ed0DNf7tDpgjJJ0t29WujJIe3l78kyYAAAAADqL0I3nOromSJN/jxVq/eckiS1CfVV0qh4dYsOcnJlAAAAAHDlCN1wigqrofe+Tdcry/eq2FIhdxezEm9orb9dHysPV5YBAwAAANAwELpR63Ycz9WEBdu17WiuJKlHdJCeHxWv1qG+Tq4MAAAAAGoWoRu1prisQrNW7tV/1qWrwmrIz9NVE4d10B+6RbEMGAAAAIAGidCNWrFu3ylNWpiqw9lFkqTh8c00dURHhfqzDBgAAACAhovQDYfKLizTs4t3asGPxyRJzQI8NeOWOA3oGObkygAAAADA8QjdcAjDMPT51mOasXiXsgvLZDJJ9/aO1uOD28nXg287AAAAAI0D6Qc17nBWkSZ9vl3r9p2WJLUP91PSqHh1bdHEyZUBAAAAQO0idKPGlFdY9d/16XptxV6VWKxydzXrkZva6MF+sXJzMTu7PAAAAACodYRu1IjtR3M1fv427TyRJ0nqHRus50fFKybEx8mVAQAAAIDzELpxRYrKyvXq8r1699t0WQ0pwMtNk4Z30O3XNJfJxDJgAAAAABo3p97zm5SUpO7du8vPz0+hoaFKSEjQnj17LrnfZ599pvbt28vT01Px8fFasmSJ3XbDMDRlyhQ1a9ZMXl5eGjBggPbt2+eo02i0Vu05qYGvrtV/1p8N3COvitDKx/rr992iCNwAAAAAICeH7jVr1igxMVEbNmxQcnKyLBaLBg0apMLCwgvu89133+nOO+/U/fffrx9//FEJCQlKSEhQamqqrc+LL76oN954Q2+99ZY2btwoHx8fDR48WCUlJbVxWg3e6YJS/ePjH3Xfez/oWE6xIgO99N593fXGnV0V4uvh7PIAAAAAoM5w6u3lS5cutXv9/vvvKzQ0VJs3b1a/fv0q3ef111/XkCFD9MQTT0iSZsyYoeTkZM2ePVtvvfWWDMPQrFmzNHnyZN1yyy2SpP/3//6fwsLC9Pnnn+uOO+5w7Ek1YIZh6LPNR/XcV7uUW2yR2ST9uW+MHh3YVj4sAwYAAAAA56lTU0rn5uZKkoKCgi7YJyUlRQMGDLBrGzx4sFJSUiRJ6enpysjIsOsTEBCgnj172vqg+g6eLtRd/9moJ/9vm3KLLerYzF+fJ/bV5Js7ErgBAAAA4ALqTFqyWq0aO3as+vbtq7i4uAv2y8jIUFhYmF1bWFiYMjIybNvPtV2oz2+VlpaqtLTU9jov7+wM3BaLRRaLpfonUwvO1eXo+iwVVv13/UHNXp2m0nKrPN3M+seNrTS6d0u5uZjr7OcDAKhZtXXdAQBAqh/XnarWVmdCd2JiolJTU7V+/fpaf++kpCRNnz79vPbly5fL29u71uupjuTkZIcd+2C+9Emai04UnZ0UrV2AVb+PLVdI3i4lL9vlsPcFANRdjrzuAADwW3X5ulNUVFSlfnUidI8ZM0aLFy/W2rVr1bx584v2DQ8PV2Zmpl1bZmamwsPDbdvPtTVr1syuT5cuXSo95oQJEzRu3Djb67y8PEVFRWnQoEHy9/e/nFNyOIvFouTkZA0cOFBubm41euyC0nK9umK/5u44LMOQmni7aeLQdrrlqmbMSg4AjZQjrzsAAPxWfbjunLtD+lKcGroNw9Df//53LVy4UKtXr1ZMTMwl9+ndu7dWrlypsWPH2tqSk5PVu3dvSVJMTIzCw8O1cuVKW8jOy8vTxo0b9dBDD1V6TA8PD3l4nD/rtpubW539Cz6npmtcuStTT3+equO5Z2d6H9U1UpNv7qggH/caew8AQP1VH66NAICGoy5fd6pal1NDd2JioubNm6dFixbJz8/P9sx1QECAvLy8JEn33HOPIiMjlZSUJEl65JFH1L9/f73yyisaPny4PvnkE23atElvv/22JMlkMmns2LF69tln1aZNG8XExOjpp59WRESEEhISnHKe9cHJ/BJN/2Knvtp+QpLUIshbz90ap+vaNHVyZQAAAABQfzk1dM+ZM0eSdP3119u1v/feexo9erQk6fDhwzKbf5lkvU+fPpo3b54mT56siRMnqk2bNvr888/tJl978sknVVhYqAcffFA5OTm69tprtXTpUnl6ejr8nOobq9XQ/zYdUdKSXcorKZeL2aQHrovR2JvaysvdxdnlAQAAAEC95vTbyy9l9erV57Xdfvvtuv322y+4j8lk0jPPPKNnnnnmSspr8PafLNDEhdv1fXq2JCk+MkBJo+IVFxng5MoAAAAAoGGoExOpoXaVlVv11poDmv3NfpVVWOXl5qLHBrXV6D7RcnWpU0u3AwAAAEC9RuhuZDYfytZT87dr38kCSdL17Zpqxi1xigqq20ujAQAAAEB9ROhuJPJKLHpx6W59tPHsMmAhvu6aMqKTRnRmGTAAAAAAcBRCdyOwNDVDU79IVWZeqSTp992aa+KwDgr0ZhkwAAAAAHAkQncDlpFboqlfpGrZjkxJUnSwt54fFa8+rUKcXBkAAAAANA6E7gbIajX00feH9eLXu5VfWi5Xs0l/7R+rv9/YRp5uLAMGAAAAALWF0F0PVVgNbUzP1ubTJgWnZ6t361C5mM8+l703M18TFmzX5kNnJEldogI187Z4tQ/3d2bJAAAAANAoEbrrmaWpJzT9y506kVsiyUX/b98mNQvw1ISh7bX/ZIHmrDkgS4UhH3cXPTmkve7u1dIWyAEAAAAAtYvQXY8sTT2hh+ZukfGb9hO5JfrHJ1ttrwd0CNUzt8QpItCrVusDAAAAANgjdNcTFVZD07/ceV7g/jWzSXrjjq4azjJgAAAAAFAnmJ1dAKrm+/Tsn28pvzCrIQX7ehC4AQAAAKCOIHTXEyfzLx64q9sPAAAAAOB4hO56ItTPs0b7AQAAAAAcj9BdT/SICVKzAE9d6MZxk6RmAZ7qERNUm2UBAAAAAC6C0F1PuJhNmjqioySdF7zPvZ46oiPLgwEAAABAHULorkeGxDXTnLuvVniA/S3k4QGemnP31RoS18xJlQEAAAAAKsOSYfXMkLhmGtgxXCn7T2r5uo0adF1P9W4dygg3AAAAANRBhO56yMVsUs+YIGXtMtQzJojADQAAAAB1FLeXAwAAAADgIIRuAAAAAAAchNANAAAAAICDELoBAAAAAHAQQjcAAAAAAA5C6AYAAAAAwEEI3QAAAAAAOAihGwAAAAAAByF0AwAAAADgIIRuAAAAAAAchNANAAAAAICDuDq7gLrIMAxJUl5enpMruTCLxaKioiLl5eXJzc3N2eUAABo4rjsAgNpUH6475/Liufx4IYTuSuTn50uSoqKinFwJAAAAAKAuy8/PV0BAwAW3m4xLxfJGyGq16vjx4/Lz85PJZHJ2OZXKy8tTVFSUjhw5In9/f2eXAwBo4LjuAABqU3247hiGofz8fEVERMhsvvCT24x0V8JsNqt58+bOLqNK/P396+w3IQCg4eG6AwCoTXX9unOxEe5zmEgNAAAAAAAHIXQDAAAAAOAghO56ysPDQ1OnTpWHh4ezSwEANAJcdwAAtakhXXeYSA0AAAAAAAdhpBsAAAAAAAchdAMAAAAA4CCEbgAAAAAAHITQ7URJSUnq3r27/Pz8FBoaqoSEBO3Zs8euT0lJiRITExUcHCxfX1/ddtttyszMtG3/6aefdOeddyoqKkpeXl7q0KGDXn/99fPea/Xq1br66qvl4eGh1q1b6/3333f06QEA6pDauuacOHFCf/zjH9W2bVuZzWaNHTu2Nk4PAFDH1NZ1Z8GCBRo4cKCaNm0qf39/9e7dW8uWLauVc6wqQrcTrVmzRomJidqwYYOSk5NlsVg0aNAgFRYW2vo8+uij+vLLL/XZZ59pzZo1On78uEaNGmXbvnnzZoWGhmru3LnasWOHJk2apAkTJmj27Nm2Punp6Ro+fLhuuOEGbd26VWPHjtUDDzxQ574ZAQCOU1vXnNLSUjVt2lSTJ0/WVVddVavnCACoO2rrurN27VoNHDhQS5Ys0ebNm3XDDTdoxIgR+vHHH2v1fC+G2cvrkFOnTik0NFRr1qxRv379lJubq6ZNm2revHn63e9+J0navXu3OnTooJSUFPXq1avS4yQmJmrXrl365ptvJEnjx4/XV199pdTUVFufO+64Qzk5OVq6dKnjTwwAUOc46prza9dff726dOmiWbNmOfJUAAD1QG1cd87p1KmT/vCHP2jKlCkOOZfqYqS7DsnNzZUkBQUFSTr7mx2LxaIBAwbY+rRv314tWrRQSkrKRY9z7hiSlJKSYncMSRo8ePBFjwEAaNgcdc0BAKAytXXdsVqtys/Pr1PXJldnF4CzrFarxo4dq759+youLk6SlJGRIXd3dwUGBtr1DQsLU0ZGRqXH+e677/S///1PX331la0tIyNDYWFh5x0jLy9PxcXF8vLyqtmTAQDUaY685gAA8Fu1ed15+eWXVVBQoN///vc1Vv+VInTXEYmJiUpNTdX69esv+xipqam65ZZbNHXqVA0aNKgGqwMANCRccwAAtam2rjvz5s3T9OnTtWjRIoWGhl72e9U0bi+vA8aMGaPFixdr1apVat68ua09PDxcZWVlysnJseufmZmp8PBwu7adO3fqpptu0oMPPqjJkyfbbQsPD7ebBfDcMfz9/RnlBoBGxtHXHAAAfq22rjuffPKJHnjgAX366afnPVrrbIRuJzIMQ2PGjNHChQv1zTffKCYmxm77NddcIzc3N61cudLWtmfPHh0+fFi9e/e2te3YsUM33HCD7r33Xj333HPnvU/v3r3tjiFJycnJdscAADRstXXNAQBAqt3rzscff6z77rtPH3/8sYYPH+6YE7oCzF7uRA8//LDmzZunRYsWqV27drb2gIAA2wj0Qw89pCVLluj999+Xv7+//v73v0s6+zyDdPY2ixtvvFGDBw/WSy+9ZDuGi4uLmjZtKunskmFxcXFKTEzUn//8Z33zzTf6xz/+oa+++kqDBw+urdMFADhRbV1zJGnr1q2SpAceeEDt2rXTE088IXd3d3Xs2NHRpwkAqCNq67ozb9483XvvvXr99dftlhvz8vJSQECAw8+zSgw4jaRKv9577z1bn+LiYuPhhx82mjRpYnh7exu33nqrceLECdv2qVOnVnqMli1b2r3XqlWrjC5duhju7u5GbGys3XsAABq+2rzmVKUPAKBhq63rTv/+/Svtc++999beyV4CI90AAAAAADgIz3QDAAAAAOAghG4AAAAAAByE0A0AAAAAgIMQugEAAAAAcBBCNwAAAAAADkLoBgAAAADAQQjdAAAAAAA4CKEbAAAAAAAHIXQDAAAAAOAghG4AABoRwzA0YMAADR48+Lxt//rXvxQYGKijR486oTIAABomQjcAAI2IyWTSe++9p40bN+rf//63rT09PV1PPvmk3nzzTTVv3rxG39NisdTo8QAAqE8I3QAANDJRUVF6/fXX9fjjjys9PV2GYej+++/XoEGD1LVrVw0dOlS+vr4KCwvTn/70J50+fdq279KlS3XttdcqMDBQwcHBuvnmm3XgwAHb9oMHD8pkMul///uf+vfvL09PT3300UfOOE0AAOoEk2EYhrOLAAAAtS8hIUG5ubkaNWqUZsyYoR07dqhTp0564IEHdM8996i4uFjjx49XeXm5vvnmG0nS/PnzZTKZ1LlzZxUUFGjKlCk6ePCgtm7dKrPZrIMHDyomJkbR0dF65ZVX1LVrV3l6eqpZs2ZOPlsAAJyD0A0AQCN18uRJderUSdnZ2Zo/f75SU1O1bt06LVu2zNbn6NGjioqK0p49e9S2bdvzjnH69Gk1bdpU27dvV1xcnC10z5o1S4888khtng4AAHUSt5cDANBIhYaG6q9//as6dOighIQE/fTTT1q1apV8fX1tX+3bt5ck2y3k+/bt05133qnY2Fj5+/srOjpaknT48GG7Y3fr1q1WzwUAgLrK1dkFAAAA53F1dZWr69kfBwoKCjRixAi98MIL5/U7d3v4iBEj1LJlS73zzjuKiIiQ1WpVXFycysrK7Pr7+Pg4vngAAOoBQjcAAJAkXX311Zo/f76io6NtQfzXsrKytGfPHr3zzju67rrrJEnr16+v7TIBAKhXuL0cAABIkhITE5Wdna0777xTP/zwgw4cOKBly5bpvvvuU0VFhZo0aaLg4GC9/fbb2r9/v7755huNGzfO2WUDAFCnEboBAIAkKSIiQt9++60qKio0aNAgxcfHa+zYsQoMDJTZbJbZbNYnn3yizZs3Ky4uTo8++qheeuklZ5cNAECdxuzlAAAAAAA4CCPdAAAAAAA4CKEbAAAAAAAHIXQDAAAAAOAghG4AAAAAAByE0A0AAAAAgIMQugEAAAAAcBBCNwAAAAAADkLoBgAAAADAQQjdAAAAAAA4CKEbAAAAAAAHIXQDAAAAAOAghG4AAAAAABzk/wNSUAV/Mj3WhwAAAABJRU5ErkJggg==",
"text/plain": [
""
]
@@ -457,33 +457,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "{'call_tool': {'messages': [FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\n\\n# Since the exact GDP data was not provided, we will use placeholder data for illustration purposes.\\n# These are not the actual GDP values for the UK.\\nyears = [2018, 2019, 2020, 2021, 2022]\\ngdp_values = [2600, 2700, 2300, 2500, 2700] # Placeholder values in billion GBP\\n\\nplt.figure(figsize=(10, 5))\\nplt.plot(years, gdp_values, marker='o')\\nplt.title('UK GDP Over the Past 5 Years (Placeholder Data)')\\nplt.xlabel('Year')\\nplt.ylabel('GDP in Billion GBP')\\nplt.grid(True)\\nplt.show()\\n```\\nStdout: \", name='python_repl')]}}\n",
+ "{'call_tool': {'messages': [FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\n\\n# Define the data\\nyears = [2020, 2021, 2022]\\ngdp_values = [1.99, 2.14, 2.2] # Trillion GBP\\n\\n# Create the line graph\\nplt.figure(figsize=(10, 5))\\nplt.plot(years, gdp_values, marker='o')\\n\\n# Labeling the graph\\nplt.title('UK GDP from 2020 to 2022')\\nplt.xlabel('Year')\\nplt.ylabel('GDP (Trillion GBP)')\\nplt.grid(True)\\nplt.xticks(years)\\nplt.tight_layout()\\n\\n# Display the graph\\nplt.show()\\n```\\nStdout: \", name='python_repl')]}}\n",
"----\n",
- "{'Chart Generator': {'messages': [HumanMessage(content=\"I have executed a sample Python code to illustrate how one would generate a line graph of the UK's GDP over the past five years. However, please note that due to the lack of actual GDP data in the search results, I have used placeholder values. These are not the actual GDP figures for the UK.\\n\\nHere is a line graph using the placeholder data:\\n\\n\\n\\nTo obtain the final graph with accurate data, you would need to replace the `gdp_values` list in the code with the actual GDP figures for the UK for the years 2018 through 2022. Once you have the correct values, you can execute the modified code to generate the correct line graph.\", name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
+ "{'Chart Generator': {'messages': [HumanMessage(content=\"Here is the line graph representing the UK's GDP from 2020 to 2022:\\n\\n[Please see the graph above]\\n\\nNote that the data for 2018 and 2019 is missing, and the graph only shows the years for which we have data. If you acquire the missing figures, you can manually add them to the graph to complete the five-year view.\", name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
"----\n",
- "{'Researcher': {'messages': [HumanMessage(content='I have plotted a line graph with placeholder data as an example. To finalize the graph with accurate GDP data for the UK, you would need to provide the actual GDP figures for the years 2018, 2019, 2020, 2021, and 2022. Once you have the correct data, you can replace the placeholder `gdp_values` in the code with the actual figures to generate the accurate line graph.', name='Researcher')], 'sender': 'Researcher'}}\n",
+ "{'Researcher': {'messages': [HumanMessage(content=\"FINAL ANSWER:\\n\\nHere is the line graph representing the UK's GDP from 2020 to 2022:\\n\\n[Please see the graph above]\\n\\nNote that the data for 2018 and 2019 is missing, and the graph only shows the years for which we have data. If you acquire the missing figures, you can manually add them to the graph to complete the five-year view.\", name='Researcher')], 'sender': 'Researcher'}}\n",
"----\n",
- "{'Chart Generator': {'messages': [HumanMessage(content=\"It seems there's been a misunderstanding. Let's try to retrieve the actual GDP data for the UK for the past five years and create the line graph with that data. I will now attempt to find the GDP values for the UK for the years 2018 through 2022 using a different approach. Please hold on while I look up this information.\", additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\nimport requests\\\\nfrom bs4 import BeautifulSoup\\\\n\\\\n# Attempt to scrape the GDP data from a reliable source\\\\nurl = \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/abmi/pgdp\\'\\\\n\\\\n# Send a GET request\\\\ndata = requests.get(url)\\\\n\\\\n# Check if the request was successful\\\\nif data.status_code == 200:\\\\n # Parse the HTML content\\\\n soup = BeautifulSoup(data.text, \\'html.parser\\')\\\\n # Find the data within the HTML\\\\n # This is a placeholder selector; actual selector needs to be determined based on the webpage structure\\\\n gdp_data = soup.select(\\'selector-for-gdp-data\\')\\\\n print(\\'Data found:\\', gdp_data)\\\\nelse:\\\\n print(\\'Failed to retrieve data, status code:\\', data.status_code)\"}', 'name': 'python_repl'}}, name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
- "----\n",
- "{'call_tool': {'messages': [FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\nimport requests\\nfrom bs4 import BeautifulSoup\\n\\n# Attempt to scrape the GDP data from a reliable source\\nurl = 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/abmi/pgdp'\\n\\n# Send a GET request\\ndata = requests.get(url)\\n\\n# Check if the request was successful\\nif data.status_code == 200:\\n # Parse the HTML content\\n soup = BeautifulSoup(data.text, 'html.parser')\\n # Find the data within the HTML\\n # This is a placeholder selector; actual selector needs to be determined based on the webpage structure\\n gdp_data = soup.select('selector-for-gdp-data')\\n print('Data found:', gdp_data)\\nelse:\\n print('Failed to retrieve data, status code:', data.status_code)\\n```\\nStdout: Data found: []\\n\", name='python_repl')]}}\n",
- "----\n",
- "{'Chart Generator': {'messages': [HumanMessage(content=\"It appears that the attempt to scrape the GDP data from the source provided was unsuccessful, as the placeholder selector did not match any elements on the web page. Web scraping requires knowledge of the specific structure of the page and the correct selectors to extract the data, which we do not have at this time.\\n\\nGiven the current limitations, we'll need to find another way to obtain the actual GDP data. Normally, this would involve manually downloading the data from a trusted source such as the Office for National Statistics (ONS) or accessing it through an API if available.\\n\\nSince we cannot directly scrape the data here and do not have access to an API, we'll need to obtain the GDP data from a trusted and accessible source and then proceed to generate the line graph using the actual figures.\\n\\nIf you can provide the GDP data for the UK for the years 2018 through 2022, I will be able to plot the line graph. Otherwise, we may need to conclude this task and attempt it again once the data is available.\", name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
- "----\n",
- "{'Researcher': {'messages': [HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
- "----\n",
- "{'call_tool': {'messages': [FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.focus-economics.com/country-indicator/united-kingdom/gdp/\\', \\'content\\': \\'United Kingdom GDP Chart Note: This chart displays Economic Growth (GDP, annual variation in %) for United Kingdom from 2013 to 2022.Source: UK United Kingdom GDP United Kingdom GDP Overview Latest News GDP forecasts and outlook for United Kingdom Economic Growth in United KingdomThe pandemic caused a historic contraction in 2020, but a strong recovery followed in 2021-2022, albeit with ongoing challenges from Brexit-related trade disruptions and soft global economic conditions. The United Kingdom recorded an average real GDP growth rate of 1.7% in the decade to 2022.\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}, {\\'url\\': \\'https://data.oecd.org/united-kingdom.htm\\', \\'content\\': \\'GDP Gross domestic product (GDP), US dollars/capita, 2022 Real GDP forecast, Annual growth rate (%), 2025 56 766 Selected indicators for United Kingdom Share Population Population, Million persons, 2002-2022 67.3 million 104.5 % of GDP Tax Tax on personal income, % of GDP, 2022 Unemployment <%unemployment-latest-value-info-bubble%> Data United Kingdom Previous editions Country statistical profile Further country information2018-2022 United Kingdom (red), DAC Countries (black) ODA grant equivalent % of gross national income ... % of GDP 2021 United Kingdom % of GDP: Total % of GDP 2002-2021 United Kingdom (red) Total % of GDP ... 2001-2020 United Kingdom (red) Men Years 2022: Overweight or obese population Indicator: 64.2 Measured % of population aged 15+\\'}]', name='tavily_search_results_json')]}}\n",
- "----\n",
- "{'Researcher': {'messages': [HumanMessage(content=\"The search results provide some information about the UK's GDP growth rates and the general economic situation, but they do not present the actual GDP values for the years 2018 through 2022 in a format that can be directly used to create a line graph.\\n\\nHowever, the snippets from the search results do offer some insights:\\n\\n- The UK's economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020 due to the pandemic.\\n- The UK's GDP in 2022 was approximately 2.2 trillion British pounds.\\n- There was a rebound in activity in the UK economy in 2021, in response to the easing of COVID-19 restrictions.\\n\\nTo generate the line graph, we need the actual GDP values for each of the past five years. Since the search has not provided the structured annual GDP data required for this, I will make another attempt to specifically find the GDP figures for the UK for the years 2018, 2019, 2020, 2021, and 2022.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018, 2019, 2020, 2021, 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher')], 'sender': 'Researcher'}}\n",
- "----\n",
- "{'call_tool': {'messages': [FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/latest\\', \\'content\\': \\'Figure 1: UK GDP is estimated to have grown by 0.3% in November 2023 GDP monthly estimate, UK: November 2023 data from January 2022 to September 2023, as published in our\\\\xa0GDP quarterly national accounts, UK: July to September (GDP) in November 2023.1. Main points Monthly real gross domestic product (GDP) is estimated to have shown no growth in the three months to October 2023, compared with the three months to July 2023. Monthly GDP is...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2022\\', \\'content\\': \\'GDP monthly estimate, UK: October 2022 Figure 1: UK GDP is estimated to have grown by 0.5% in October 2022 The 0.8% growth in construction output in October 2022 represents an increase of £123 million in monetary terms the contributions from the services sector to GDP in both September and October 2022.Monthly real gross domestic product (GDP) is estimated to have grown by 0.5% in October 2022 (Figure 1) following a fall of 0.6% in September 2022. Monthly GDP is now estimated to be 0.4% above its pre-coronavirus levels (February 2020). Estimates for September 2022 were affected by the bank holiday for the State Funeral of Her Majesty Queen ...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information UK economy expected to shrink in 2023 How big is the UK economy compared to others? United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s economic...\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/february2022\\', \\'content\\': \"GDP monthly estimate, UK : February 2022 Figure 1: UK monthly GDP is estimated to have grown by 0.1% in February 2022, and is now 1.5% above its pre-coronavirus Further detail on construction growth rates can be found in Construction output in Great Britain: February 2022. estimate of GDP release published on the same day, which will cover the period up to Quarter 1 (Jan to Mar) 2022.Gross domestic product (GDP) grew by 0.1% in February 2022, following 0.8% growth in January 2022. Services grew by 0.2% and was the main contributor to February\\'s growth in GDP; this was...\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 GDP output approach, Blue Book 2023 indicative data Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. Volume estimates for the NHS Test and Trace services and vaccine programmes and their impact on real GDP.UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json')]}}\n",
- "----\n",
- "{'Researcher': {'messages': [HumanMessage(content='The search results from Tavily do not provide the specific annual GDP figures for the UK for the years 2018 through 2022. While there is mention of growth rates and comparisons to pre-coronavirus levels, the exact GDP values in million GBP or any other standardized unit for each of those years are not included in a structured format that we can use directly to create a line graph.\\n\\nTo proceed, we would need the actual GDP values for the years 2018, 2019, 2020, 2021, and 2022 from a reliable source such as the Office for National Statistics (ONS) or other economic databases. Since the information is not available through the current search results, it would be necessary to access these figures from official economic reports or databases that offer historical GDP data in a structured format.\\n\\nOnce the GDP data for the specified years is obtained, it can be used to plot the line graph accurately. Without the exact figures, we are unable to complete the task at this moment.', name='Researcher')], 'sender': 'Researcher'}}\n",
- "----\n",
- "{'Chart Generator': {'messages': [HumanMessage(content=\"It seems we have reached an impasse in obtaining the actual GDP data for the UK for the past five years through the current means available. Normally, one would access this information through official statistical releases, economic databases, or APIs that provide such data in a structured format.\\n\\nGiven the limitations, we won't be able to proceed with creating the line graph with the actual GDP figures at this time. If you are able to provide the GDP data for the UK for the years 2018 through 2022, I can assist with plotting the line graph. Otherwise, this task may need to be revisited when the data is available through a different approach or tool.\", name='Chart Generator')], 'sender': 'Chart Generator'}}\n",
- "----\n",
- "{'Researcher': {'messages': [HumanMessage(content='FINAL ANSWER:\\n\\nUnfortunately, we have reached an impasse in obtaining the actual GDP data for the UK for the past five years through the current means available. Without the exact figures for the years 2018 through 2022, we are unable to complete the task of creating an accurate line graph at this time. If the GDP data for the UK for these years becomes available, I can assist with plotting the line graph. For now, this task may need to be revisited when the data is accessible through a different approach or tool.', name='Researcher')], 'sender': 'Researcher'}}\n",
- "----\n",
- "{'__end__': {'messages': [HumanMessage(content=\"Fetch the UK's GDP over the past 5 years, then draw a line graph of it. Once you code it up, finish.\"), HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \\'Monthly GDP of the UK 2019-2023 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Quarterly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023Economy UK GDP - Statistics & Facts United Kingdom In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281734/gdp-growth-in-the-united-kingdom-uk/\\', \\'content\\': \"Annual growth of gross domestic product in the United Kingdom from 1949 to 2022 Additional Information Strategy and business building for the data-driven economy: Annual GDP growth in the UK 1949-2022 United Kingdom 1949 to 2022 Other statistics on the topicThe UK economy Economy RPI annual inflation rate UK 2000-2028 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023The United Kingdom\\'s economy grew by 4.3 percent in 2022, after a growth rate of 8.7 percent in 2021, and a record 10.4 percent decline in 2020, due to the economic fallout caused by...\"}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json'), HumanMessage(content=\"The search results contain several snippets of information, but none of them have the complete data for the UK's GDP over the past five years in a structured format that would be suitable for generating a line graph. The snippets do provide some yearly growth rates and mention significant economic events, but they do not present the actual GDP values for each year.\\n\\nTo generate a line graph, we need the UK's GDP figures for each of the past five years in the same units (usually million GBP or billion GBP) so that we can plot them accurately. The search results mention the GDP of the UK in 2022 as approximately 2.2 trillion British pounds, but we need the figures for the previous years as well.\\n\\nGiven that the search results do not provide the required structured data, we would need to conduct an additional search or consult a database that provides historical GDP figures for the UK, such as the Office for National Statistics (ONS) or an economic statistics database. Once we have the GDP figures for each of the last five years, we can then proceed to generate the line graph.\\n\\nTo continue with the task, I would need to perform another search specifically asking for the UK's GDP figures for the years 2018, 2019, 2020, 2021, and 2022.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \\'Monthly GDP of the UK 2019-2023 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Quarterly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023Economy UK GDP - Statistics & Facts United Kingdom In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281734/gdp-growth-in-the-united-kingdom-uk/\\', \\'content\\': \"Annual growth of gross domestic product in the United Kingdom from 1949 to 2022 Additional Information Strategy and business building for the data-driven economy: Annual GDP growth in the UK 1949-2022 United Kingdom 1949 to 2022 Other statistics on the topicThe UK economy Economy RPI annual inflation rate UK 2000-2028 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023The United Kingdom\\'s economy grew by 4.3 percent in 2022, after a growth rate of 8.7 percent in 2021, and a record 10.4 percent decline in 2020, due to the economic fallout caused by...\"}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json'), HumanMessage(content=\"The search results still do not provide the annual GDP figures for the UK for the last five years in a structured format that is suitable for creating a line graph. The snippets mention approximate GDP values and growth rates for certain years but do not give a year-by-year breakdown with exact numbers.\\n\\nTo proceed, we need the specific GDP values for 2018, 2019, 2020, 2021, and 2022. Since the search results from Tavily are not yielding the required data in a usable format, we would typically look for official economic reports or databases such as the UK's Office for National Statistics (ONS), which regularly publishes comprehensive GDP data.\\n\\nGiven the limitations of the tools at hand, I am unable to provide the exact GDP figures for the years in question to generate a line graph. Further action should involve directly accessing the ONS website or a similar authoritative source where annual GDP data for the UK is available in a structured format, and then using this data to plot the line graph.\\n\\nTo continue with the task, you would need to obtain the GDP figures for each of the past five years from a reliable source and then use that data to create the line graph.\", name='Researcher'), HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\n\\\\n# Since the exact GDP data was not provided, we will use placeholder data for illustration purposes.\\\\n# These are not the actual GDP values for the UK.\\\\nyears = [2018, 2019, 2020, 2021, 2022]\\\\ngdp_values = [2600, 2700, 2300, 2500, 2700] # Placeholder values in billion GBP\\\\n\\\\nplt.figure(figsize=(10, 5))\\\\nplt.plot(years, gdp_values, marker=\\'o\\')\\\\nplt.title(\\'UK GDP Over the Past 5 Years (Placeholder Data)\\')\\\\nplt.xlabel(\\'Year\\')\\\\nplt.ylabel(\\'GDP in Billion GBP\\')\\\\nplt.grid(True)\\\\nplt.show()\"}', 'name': 'python_repl'}}, name='Chart Generator'), FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\n\\n# Since the exact GDP data was not provided, we will use placeholder data for illustration purposes.\\n# These are not the actual GDP values for the UK.\\nyears = [2018, 2019, 2020, 2021, 2022]\\ngdp_values = [2600, 2700, 2300, 2500, 2700] # Placeholder values in billion GBP\\n\\nplt.figure(figsize=(10, 5))\\nplt.plot(years, gdp_values, marker='o')\\nplt.title('UK GDP Over the Past 5 Years (Placeholder Data)')\\nplt.xlabel('Year')\\nplt.ylabel('GDP in Billion GBP')\\nplt.grid(True)\\nplt.show()\\n```\\nStdout: \", name='python_repl'), HumanMessage(content=\"I have executed a sample Python code to illustrate how one would generate a line graph of the UK's GDP over the past five years. However, please note that due to the lack of actual GDP data in the search results, I have used placeholder values. These are not the actual GDP figures for the UK.\\n\\nHere is a line graph using the placeholder data:\\n\\n\\n\\nTo obtain the final graph with accurate data, you would need to replace the `gdp_values` list in the code with the actual GDP figures for the UK for the years 2018 through 2022. Once you have the correct values, you can execute the modified code to generate the correct line graph.\", name='Chart Generator'), HumanMessage(content='I have plotted a line graph with placeholder data as an example. To finalize the graph with accurate GDP data for the UK, you would need to provide the actual GDP figures for the years 2018, 2019, 2020, 2021, and 2022. Once you have the correct data, you can replace the placeholder `gdp_values` in the code with the actual figures to generate the accurate line graph.', name='Researcher'), HumanMessage(content=\"It seems there's been a misunderstanding. Let's try to retrieve the actual GDP data for the UK for the past five years and create the line graph with that data. I will now attempt to find the GDP values for the UK for the years 2018 through 2022 using a different approach. Please hold on while I look up this information.\", additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\nimport requests\\\\nfrom bs4 import BeautifulSoup\\\\n\\\\n# Attempt to scrape the GDP data from a reliable source\\\\nurl = \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/abmi/pgdp\\'\\\\n\\\\n# Send a GET request\\\\ndata = requests.get(url)\\\\n\\\\n# Check if the request was successful\\\\nif data.status_code == 200:\\\\n # Parse the HTML content\\\\n soup = BeautifulSoup(data.text, \\'html.parser\\')\\\\n # Find the data within the HTML\\\\n # This is a placeholder selector; actual selector needs to be determined based on the webpage structure\\\\n gdp_data = soup.select(\\'selector-for-gdp-data\\')\\\\n print(\\'Data found:\\', gdp_data)\\\\nelse:\\\\n print(\\'Failed to retrieve data, status code:\\', data.status_code)\"}', 'name': 'python_repl'}}, name='Chart Generator'), FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\nimport requests\\nfrom bs4 import BeautifulSoup\\n\\n# Attempt to scrape the GDP data from a reliable source\\nurl = 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/timeseries/abmi/pgdp'\\n\\n# Send a GET request\\ndata = requests.get(url)\\n\\n# Check if the request was successful\\nif data.status_code == 200:\\n # Parse the HTML content\\n soup = BeautifulSoup(data.text, 'html.parser')\\n # Find the data within the HTML\\n # This is a placeholder selector; actual selector needs to be determined based on the webpage structure\\n gdp_data = soup.select('selector-for-gdp-data')\\n print('Data found:', gdp_data)\\nelse:\\n print('Failed to retrieve data, status code:', data.status_code)\\n```\\nStdout: Data found: []\\n\", name='python_repl'), HumanMessage(content=\"It appears that the attempt to scrape the GDP data from the source provided was unsuccessful, as the placeholder selector did not match any elements on the web page. Web scraping requires knowledge of the specific structure of the page and the correct selectors to extract the data, which we do not have at this time.\\n\\nGiven the current limitations, we'll need to find another way to obtain the actual GDP data. Normally, this would involve manually downloading the data from a trusted source such as the Office for National Statistics (ONS) or accessing it through an API if available.\\n\\nSince we cannot directly scrape the data here and do not have access to an API, we'll need to obtain the GDP data from a trusted and accessible source and then proceed to generate the line graph using the actual figures.\\n\\nIf you can provide the GDP data for the UK for the years 2018 through 2022, I will be able to plot the line graph. Otherwise, we may need to conclude this task and attempt it again once the data is available.\", name='Chart Generator'), HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.focus-economics.com/country-indicator/united-kingdom/gdp/\\', \\'content\\': \\'United Kingdom GDP Chart Note: This chart displays Economic Growth (GDP, annual variation in %) for United Kingdom from 2013 to 2022.Source: UK United Kingdom GDP United Kingdom GDP Overview Latest News GDP forecasts and outlook for United Kingdom Economic Growth in United KingdomThe pandemic caused a historic contraction in 2020, but a strong recovery followed in 2021-2022, albeit with ongoing challenges from Brexit-related trade disruptions and soft global economic conditions. The United Kingdom recorded an average real GDP growth rate of 1.7% in the decade to 2022.\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023 United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \\'of UK GDP over 2020 and 2021 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 National accounts at a glance A summary of recent trends and movements within the UK economy. Notice 23 January 2023Gross domestic product There was a rebound in activity in the UK economy in 2021, in response to the easing of coronavirus (COVID-19) restrictions through the year. Real gross domestic...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. GDP output approach, Blue Book 2023 indicative data Time series related to Gross Domestic Product (GDP)UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}, {\\'url\\': \\'https://data.oecd.org/united-kingdom.htm\\', \\'content\\': \\'GDP Gross domestic product (GDP), US dollars/capita, 2022 Real GDP forecast, Annual growth rate (%), 2025 56 766 Selected indicators for United Kingdom Share Population Population, Million persons, 2002-2022 67.3 million 104.5 % of GDP Tax Tax on personal income, % of GDP, 2022 Unemployment <%unemployment-latest-value-info-bubble%> Data United Kingdom Previous editions Country statistical profile Further country information2018-2022 United Kingdom (red), DAC Countries (black) ODA grant equivalent % of gross national income ... % of GDP 2021 United Kingdom % of GDP: Total % of GDP 2002-2021 United Kingdom (red) Total % of GDP ... 2001-2020 United Kingdom (red) Men Years 2022: Overweight or obese population Indicator: 64.2 Measured % of population aged 15+\\'}]', name='tavily_search_results_json'), HumanMessage(content=\"The search results provide some information about the UK's GDP growth rates and the general economic situation, but they do not present the actual GDP values for the years 2018 through 2022 in a format that can be directly used to create a line graph.\\n\\nHowever, the snippets from the search results do offer some insights:\\n\\n- The UK's economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020 due to the pandemic.\\n- The UK's GDP in 2022 was approximately 2.2 trillion British pounds.\\n- There was a rebound in activity in the UK economy in 2021, in response to the easing of COVID-19 restrictions.\\n\\nTo generate the line graph, we need the actual GDP values for each of the past five years. Since the search has not provided the structured annual GDP data required for this, I will make another attempt to specifically find the GDP figures for the UK for the years 2018, 2019, 2020, 2021, and 2022.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018, 2019, 2020, 2021, 2022\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/latest\\', \\'content\\': \\'Figure 1: UK GDP is estimated to have grown by 0.3% in November 2023 GDP monthly estimate, UK: November 2023 data from January 2022 to September 2023, as published in our\\\\xa0GDP quarterly national accounts, UK: July to September (GDP) in November 2023.1. Main points Monthly real gross domestic product (GDP) is estimated to have shown no growth in the three months to October 2023, compared with the three months to July 2023. Monthly GDP is...\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2022\\', \\'content\\': \\'GDP monthly estimate, UK: October 2022 Figure 1: UK GDP is estimated to have grown by 0.5% in October 2022 The 0.8% growth in construction output in October 2022 represents an increase of £123 million in monetary terms the contributions from the services sector to GDP in both September and October 2022.Monthly real gross domestic product (GDP) is estimated to have grown by 0.5% in October 2022 (Figure 1) following a fall of 0.6% in September 2022. Monthly GDP is now estimated to be 0.4% above its pre-coronavirus levels (February 2020). Estimates for September 2022 were affected by the bank holiday for the State Funeral of Her Majesty Queen ...\\'}, {\\'url\\': \\'https://www.statista.com/statistics/281744/gdp-of-the-united-kingdom/\\', \\'content\\': \"Strategy and business building for the data-driven economy: GDP of the UK 1948-2022 Gross domestic product of the United Kingdom from 1948 to 2022 (in million GBP) Additional Information UK economy expected to shrink in 2023 How big is the UK economy compared to others? United Kingdom 1948 to 2022Annual GDP growth figures show that the UK economy grew by 4.1 percent in 2022, after growing by 7.6 percent in 2021, and a record 9.4 percent fall in GDP in 2020. The UK\\'s economic...\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/february2022\\', \\'content\\': \"GDP monthly estimate, UK : February 2022 Figure 1: UK monthly GDP is estimated to have grown by 0.1% in February 2022, and is now 1.5% above its pre-coronavirus Further detail on construction growth rates can be found in Construction output in Great Britain: February 2022. estimate of GDP release published on the same day, which will cover the period up to Quarter 1 (Jan to Mar) 2022.Gross domestic product (GDP) grew by 0.1% in February 2022, following 0.8% growth in January 2022. Services grew by 0.2% and was the main contributor to February\\'s growth in GDP; this was...\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp\\', \\'content\\': \\'Spotlight GDP quarterly national accounts, UK: July to September 2023 GDP monthly estimate, UK: October 2023 GDP output approach, Blue Book 2023 indicative data Monthly index values for monthly gross domestic product (GDP) and the main sectors in the UK to four decimal places. Volume estimates for the NHS Test and Trace services and vaccine programmes and their impact on real GDP.UK GDP is now estimated to have shown no growth in Quarter 2 (Apr to June) 2023, revised down from a previously estimated increase of 0.2%, while growth in Quarter 1 (Jan to Mar) 2023 and all...\\'}]', name='tavily_search_results_json'), HumanMessage(content='The search results from Tavily do not provide the specific annual GDP figures for the UK for the years 2018 through 2022. While there is mention of growth rates and comparisons to pre-coronavirus levels, the exact GDP values in million GBP or any other standardized unit for each of those years are not included in a structured format that we can use directly to create a line graph.\\n\\nTo proceed, we would need the actual GDP values for the years 2018, 2019, 2020, 2021, and 2022 from a reliable source such as the Office for National Statistics (ONS) or other economic databases. Since the information is not available through the current search results, it would be necessary to access these figures from official economic reports or databases that offer historical GDP data in a structured format.\\n\\nOnce the GDP data for the specified years is obtained, it can be used to plot the line graph accurately. Without the exact figures, we are unable to complete the task at this moment.', name='Researcher'), HumanMessage(content=\"It seems we have reached an impasse in obtaining the actual GDP data for the UK for the past five years through the current means available. Normally, one would access this information through official statistical releases, economic databases, or APIs that provide such data in a structured format.\\n\\nGiven the limitations, we won't be able to proceed with creating the line graph with the actual GDP figures at this time. If you are able to provide the GDP data for the UK for the years 2018 through 2022, I can assist with plotting the line graph. Otherwise, this task may need to be revisited when the data is available through a different approach or tool.\", name='Chart Generator'), HumanMessage(content='FINAL ANSWER:\\n\\nUnfortunately, we have reached an impasse in obtaining the actual GDP data for the UK for the past five years through the current means available. Without the exact figures for the years 2018 through 2022, we are unable to complete the task of creating an accurate line graph at this time. If the GDP data for the UK for these years becomes available, I can assist with plotting the line graph. For now, this task may need to be revisited when the data is accessible through a different approach or tool.', name='Researcher')], 'sender': 'Researcher'}}\n",
+ "{'__end__': {'messages': [HumanMessage(content=\"Fetch the UK's GDP over the past 5 years, then draw a line graph of it. Once you code it up, finish.\"), HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP data for the past 5 years\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content=\"tavily_search_results_json response: [{'url': 'https://www.statista.com/topics/3795/gdp-of-the-uk/', 'content': 'Monthly GDP of the UK 2019-2023 Monthly GDP growth of the UK 2019-2023 Quarterly GDP growth of the UK 2019-2023 Quarterly GDP per capita in the UK 2019-2023Monthly index of gross domestic product in the United Kingdom from January 2019 to November 2023 (2019=100) GVA of the UK 2022, by sector GVA of the UK 2022, by sector Gross value added...'}, {'url': 'https://www.statista.com/topics/6500/the-british-economy/', 'content': 'Monthly GDP growth of the UK 2020-2023 Quarterly GDP growth of the UK 2015-2023 Monthly growth of gross domestic product in the United Kingdom from January 2020 to September 2023 Monthly GDP of the UK 1997-2023Economy The UK economy - Statistics & Facts United Kingdom The gross domestic product of the British economy was 2.23 trillion British pounds in 2022 and was the fifth- largest global...'}, {'url': 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/november2023', 'content': 'data from January 2022 to September 2023, as published in our\\\\xa0GDP quarterly national accounts, UK: July to September Figure 1: UK GDP is estimated to have grown by 0.3% in November 2023 GDP monthly estimate, UK: November 2023 Source: Monthly GDP estimate from Office for National Statistics The main reasons for revisions in October 2023 are:Monthly GDP is estimated to have grown by 0.3% in November 2023, following an unrevised fall of 0.3% in October 2023. This release provides data for November 2023 and has revisions from January 2022 to September 2023, consistent with our Quarterly national accounts bulletin, published on 22 December 2023. October 2023 is also open for revision.'}, {'url': 'https://www.statista.com/statistics/375195/gdp-growth-forecast-uk/', 'content': 'Forecasted annual growth of gross domestic product in the United Kingdom from 2000 to 2028 Additional Information GDP growth forecast for the UK 2000-2028 Weak economic growth throughout 2023 United Kingdom 2000 to 2028 *Forecast data Other statistics on the topicThe UK economy Economy Economy Average annual earnings for full-time employees in the UK 1999-2023 Economy Inflation rate in the UK 1989-2023In 2022 the gross domestic product (GDP) of the United Kingdom grew by four percent but is expected to grow by just 0.6 percent in 2023, and 0.7 percent in 2024. More robust growth is...'}, {'url': 'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2023', 'content': 'GDP monthly estimate, UK: October 2023 Figure 1: UK GDP is estimated to have fallen by 0.3% in October 2023 Monthly estimate of gross domestic product (GDP) containing constant price gross value added (GVA) data for the UK. domestic product (GDP) in October 2023.1. Main points Monthly real gross domestic product (GDP) is estimated to have shown no growth in the three months to October 2023, compared with the three months to July 2023. Monthly GDP...'}]\", name='tavily_search_results_json'), HumanMessage(content=\"The search results provide information on the UK's GDP, including monthly and quarterly data from various years, but they do not provide a clear year-on-year GDP figure for each of the past five years. To graph the UK's GDP over the past five years, we need annual GDP figures for each year.\\n\\nI will attempt to extract the annual GDP figures mentioned in the search results and then graph them. However, please note that the information provided in the search results may be incomplete or not formatted in a way that allows for a straightforward extraction of annual GDP figures for each of the last five years. If necessary, I may need to perform additional searches to fill in any gaps.\\n\\nFrom the search results, we have the following relevant information regarding the UK's GDP:\\n\\n- The gross domestic product of the British economy was 2.23 trillion British pounds in 2022.\\n- In 2022, the gross domestic product (GDP) of the United Kingdom grew by four percent.\\n\\nUnfortunately, the search results do not provide explicit annual GDP figures for 2018, 2019, 2020, or 2021. Therefore, I will need to perform an additional search to find the missing GDP figures for these years. Let's proceed with that search.\", additional_kwargs={'function_call': {'arguments': '{\"query\":\"UK GDP 2018 2019 2020 2021\"}', 'name': 'tavily_search_results_json'}}, name='Researcher'), FunctionMessage(content='tavily_search_results_json response: [{\\'url\\': \\'https://www.statista.com/topics/3795/gdp-of-the-uk/\\', \\'content\\': \"GDP of the UK 2021, by country Gross domestic product of the United Kingdom in 2021, by country (in million GBP) Monthly GDP of the UK 2019-2023 United Kingdom\\'s share of global gross domestic product (GDP) 2028 Quarterly GDP per capita in the UK 2019-2023In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds, compared with 2.14 trillion pounds in 2021, and 1.99 trillion in 2020. Although the ...\"}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/compendium/unitedkingdomnationalaccountsthebluebook/2022/nationalaccountsataglance\\', \\'content\\': \"of UK GDP over 2020 and 2021 Figure 1: The UK economy increased by 7.5% in 2021, having seen the largest fall in over 300 years in 2020 accounts at a glance, UK National Accounts, The Blue Book: 2022 Figure 3: In 2021, nominal GDP in most of the G20 countries had recovered to its 2019 levelsIn 2021, the UK\\'s implied GDP deflator rose by 0.4%, the lowest among the developed countries shown (Figure 4). However, these comparisons are likely to reflect some of the measurement challenges over the coronavirus pandemic. Movements in the implied GDP deflator in 2020 and 2021 have been largely affected by the government consumption deflator.\"}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/december2021\\', \\'content\\': \\'GDP monthly estimate, UK : December 2021 gross domestic product (GDP), UK. data from January 2021 to November 2021. This is consistent with GDP first quarterly estimate, UK: October to December on gross domestic product (GDP) in December 2021, with output of these services increasing by 51% and 19% respectively2. Monthly GDP. Monthly real gross domestic product (GDP) is estimated to have fallen by 0.2% in December 2021, compared with a 0.7% growth in November 2021 (revised down from 0.9% growth). This release includes revisions to the monthly data back to January 2021, consistent with the first quarterly estimate of GDP.\\'}, {\\'url\\': \\'https://www.beta.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/september2021\\', \\'content\\': \\'GDP monthly estimate, UK: September 2021 2021, while detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021. More detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021. while detail on the quarterly path can also be found in GDP first quarterly estimate, UK: July to September 2021.Source: Office for National Statistics - GDP monthly estimate. Download this chart. Image .csv .xls. Monthly real gross domestic product (GDP) grew by 0.6% in September 2021, and follows a revised 0.2% growth in August 2021 (down from 0.4% growth) and a revised 0.2% fall in July 2021 (down from a 0.1% fall).\\'}, {\\'url\\': \\'https://www.ons.gov.uk/economy/grossdomesticproductgdp/bulletins/gdpmonthlyestimateuk/october2021\\', \\'content\\': \\'GDP monthly estimate, UK : October 2021 Figure 1: UK GDP is estimated to have grown by 0.1% in October 2021, but remains 0.5% below its pre-pandemic level Monthly estimate of gross domestic product (GDP) containing constant price gross value added (GVA) data for the UK. Source: Office for National Statistics – GDP monthly estimate NotesTable 1: UK GDP in October 2021 was 0.5% below its pre-pandemic level, however services has now returned to its pre-pandemic levelChange in output, percentage change, February 2020 to October 2021, UK. Source: Office for National Statistics - GDP monthly estimate. This table uses data from the output measure of GDP.\\'}]', name='tavily_search_results_json'), HumanMessage(content=\"Based on the search results, we can now extract some annual GDP figures for the UK:\\n\\n- In 2022, the gross domestic product of the United Kingdom amounted to approximately 2.2 trillion British pounds.\\n- In 2021, the gross domestic product of the United Kingdom was about 2.14 trillion British pounds.\\n- In 2020, the gross domestic product of the United Kingdom was about 1.99 trillion British pounds.\\n\\nUnfortunately, the search results still do not provide explicit figures for 2018 and 2019. To complete the dataset, we would need to perform another search or access historical economic data from a reliable source such as the Office for National Statistics (ONS) or an economic database. If additional searches are not possible, we may need to use these three data points to give a partial visualization of the trend. \\n\\nSince we cannot perform additional searches, I will provide the data points we have, and you will need to add the missing years' data manually if required:\\n\\n- 2020: 1.99 trillion GBP\\n- 2021: 2.14 trillion GBP\\n- 2022: 2.2 trillion GBP\\n\\nPlease note that the data for 2018 and 2019 is missing, and you would need to find these figures to complete the five-year view. With the data at hand, the line graph would only represent the years 2020 to 2022.\", name='Researcher'), HumanMessage(content='', additional_kwargs={'function_call': {'arguments': '{\"code\":\"import matplotlib.pyplot as plt\\\\n\\\\n# Define the data\\\\nyears = [2020, 2021, 2022]\\\\ngdp_values = [1.99, 2.14, 2.2] # Trillion GBP\\\\n\\\\n# Create the line graph\\\\nplt.figure(figsize=(10, 5))\\\\nplt.plot(years, gdp_values, marker=\\'o\\')\\\\n\\\\n# Labeling the graph\\\\nplt.title(\\'UK GDP from 2020 to 2022\\')\\\\nplt.xlabel(\\'Year\\')\\\\nplt.ylabel(\\'GDP (Trillion GBP)\\')\\\\nplt.grid(True)\\\\nplt.xticks(years)\\\\nplt.tight_layout()\\\\n\\\\n# Display the graph\\\\nplt.show()\"}', 'name': 'python_repl'}}, name='Chart Generator'), FunctionMessage(content=\"python_repl response: Succesfully executed:\\n```python\\nimport matplotlib.pyplot as plt\\n\\n# Define the data\\nyears = [2020, 2021, 2022]\\ngdp_values = [1.99, 2.14, 2.2] # Trillion GBP\\n\\n# Create the line graph\\nplt.figure(figsize=(10, 5))\\nplt.plot(years, gdp_values, marker='o')\\n\\n# Labeling the graph\\nplt.title('UK GDP from 2020 to 2022')\\nplt.xlabel('Year')\\nplt.ylabel('GDP (Trillion GBP)')\\nplt.grid(True)\\nplt.xticks(years)\\nplt.tight_layout()\\n\\n# Display the graph\\nplt.show()\\n```\\nStdout: \", name='python_repl'), HumanMessage(content=\"Here is the line graph representing the UK's GDP from 2020 to 2022:\\n\\n[Please see the graph above]\\n\\nNote that the data for 2018 and 2019 is missing, and the graph only shows the years for which we have data. If you acquire the missing figures, you can manually add them to the graph to complete the five-year view.\", name='Chart Generator'), HumanMessage(content=\"FINAL ANSWER:\\n\\nHere is the line graph representing the UK's GDP from 2020 to 2022:\\n\\n[Please see the graph above]\\n\\nNote that the data for 2018 and 2019 is missing, and the graph only shows the years for which we have data. If you acquire the missing figures, you can manually add them to the graph to complete the five-year view.\", name='Researcher')], 'sender': 'Researcher'}}\n",
"----\n"
]
}