diff --git a/README.md b/README.md index 459d3b03..e8fab2d3 100644 --- a/README.md +++ b/README.md @@ -233,6 +233,114 @@ session.register_tool(name='Adder', tool=addition_tool) **Note:** `@flotool` comes with inherent error handling capabilities to retry if an exception is thrown. Use `unsafe=True` to disable error handling +## Output Parsing and formatting + +FloAI now supports output parsing using JSON or YAML formatter. You can now defined your output formatter using `pydantic` and use the same in code or directly make it part of the Agent Definition Yaml (ADY) + +### Using Agent Defintion YAML + +We have added parser key to your agent schema, which gives you the output. The following is the schema of the parser + +```yaml +name: SchemaName +fields: + - name: field_name + type: data_type + description: field_description + values: + - value: + description: value_description +``` + +### Supported Field Types + +#### Primitive Types + +- str: String values +- int: Integer values +- bool: Boolean values +- float: Floating-point values + +##### Complex Types + +- array: Lists of items +- object: Nested objects +- literal: Enumerated values + + +Here an example of a simple summarization agent yaml that produces output a structured manner. + +```yaml +apiVersion: flo/alpha-v1 +kind: FloAgent +name: SummarizationFlo +agent: + name: SummaryAgent + kind: llm + role: Book summarizer agent + job: > + You are an given a paragraph from a book + and your job is to understand the information in it and extract summary + parser: + name: BookSummary + fields: + - name: long_summary + type: str + description: A comprehensive summary of the book, with all the major topics discussed + - name: short_summary + type: str + description: A short summary of the book in less than 20 words +``` + +As you can see here, the `parser` key makes sure that output of this agent will be the given key value format. + +### Using parser with code + +You can define parser as json in code and use it easily, here is an example: + +```python +format = { + 'name': 'NameFormat', + 'fields': [ + { + 'type': 'str', + 'description': 'The first name of the person', + 'name': 'first_name', + }, + { + 'type': 'str', + 'description': 'The middle name of the person', + 'name': 'middle_name', + }, + { + 'type': 'literal', + 'description': 'The last name of the person, the value can be either of Vishnu or Satis', + 'name': 'last_name', + 'values': [ + {'value': 'Vishnu', 'description': 'If the first_name starts with K'}, + {'value': 'Satis', 'description': 'If the first_name starts with M'}, + ], + 'default_value_prompt': 'If none of the above value is suited, please use value other than the above in snake-case', + }, + ], +} + +researcher = FloAgent.create( + session, + name='Researcher', + role='Internet Researcher', + job='What is the first name, last name and middle name of the the person user asks about', + tools=[TavilySearchResults()], + parser=FloJsonParser.create(json_dict=format) +) + + +Flo.set_log_level('DEBUG') +flo: Flo = Flo.create(session, researcher) +result = flo.invoke('Mahatma Gandhi') + +``` + ## 📊 Tool Logging and Data Collection FloAI provides built-in capabilities for logging tool calls and collecting data through the `FloExecutionLogger` and `DataCollector` classes, facilitating the creation of valuable training data. diff --git a/examples/agent_of_flo_ai.ipynb b/examples/agent_of_flo_ai.ipynb index db8c61d7..2e5b7894 100644 --- a/examples/agent_of_flo_ai.ipynb +++ b/examples/agent_of_flo_ai.ipynb @@ -65,14 +65,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/dm/s5_62l556k50wxl3ghqxjmj80000gp/T/ipykernel_95315/343469746.py:6: DeprecationWarning: `log_level` is deprecated and will be removed in a future version. Please use `Flo.set_log_level()` instead.\n", + "/var/folders/dm/s5_62l556k50wxl3ghqxjmj80000gp/T/ipykernel_49907/343469746.py:6: DeprecationWarning: `log_level` is deprecated and will be removed in a future version. Please use `Flo.set_log_level()` instead.\n", " session = FloSession(\n" ] }, { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -137,13 +137,13 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/dm/s5_62l556k50wxl3ghqxjmj80000gp/T/ipykernel_96844/728288705.py:2: DeprecationWarning: `log_level` is deprecated and will be removed in a future version. Please use `Flo.set_log_level()` instead.\n", + "/var/folders/dm/s5_62l556k50wxl3ghqxjmj80000gp/T/ipykernel_49907/728288705.py:2: DeprecationWarning: `log_level` is deprecated and will be removed in a future version. Please use `Flo.set_log_level()` instead.\n", " flo = Flo.build(session, simple_weather_checking_agent, log_level=\"ERROR\")\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -161,39 +161,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n", - "\u001b[32;1m\u001b[1;3m\n", - "Invoking: `tavily_search_results_json` with `{'query': 'New Delhi India weather October 2023'}`\n", - "\n", - "\n", - "\u001b[0m\u001b[36;1m\u001b[1;3m[{'url': 'https://www.weatherapi.com/', 'content': \"{'location': {'name': 'New Delhi', 'region': 'Delhi', 'country': 'India', 'lat': 28.6, 'lon': 77.2, 'tz_id': 'Asia/Kolkata', 'localtime_epoch': 1727343896, 'localtime': '2024-09-26 15:14'}, 'current': {'last_updated_epoch': 1727343000, 'last_updated': '2024-09-26 15:00', 'temp_c': 33.4, 'temp_f': 92.1, 'is_day': 1, 'condition': {'text': 'Mist', 'icon': '//cdn.weatherapi.com/weather/64x64/day/143.png', 'code': 1030}, 'wind_mph': 6.7, 'wind_kph': 10.8, 'wind_degree': 107, 'wind_dir': 'ESE', 'pressure_mb': 1004.0, 'pressure_in': 29.65, 'precip_mm': 0.0, 'precip_in': 0.0, 'humidity': 59, 'cloud': 75, 'feelslike_c': 36.5, 'feelslike_f': 97.7, 'windchill_c': 34.7, 'windchill_f': 94.5, 'heatindex_c': 39.2, 'heatindex_f': 102.5, 'dewpoint_c': 21.3, 'dewpoint_f': 70.3, 'vis_km': 4.0, 'vis_miles': 2.0, 'uv': 8.0, 'gust_mph': 7.7, 'gust_kph': 12.4}}\"}, {'url': 'https://weatherspark.com/h/m/109174/2023/10/Historical-Weather-in-October-2023-in-New-Delhi-India', 'content': 'New Delhi Temperature History October 2023. The daily range of reported temperatures (gray bars) and 24-hour highs (red ticks) and lows (blue ticks), placed over the daily average high (faint red line) and low (faint blue line) temperature, with 25th to 75th and 10th to 90th percentile bands.'}, {'url': 'https://www.meteoprog.com/weather/Delhi/month/october/', 'content': 'Delhi (India) weather in October 2023 ☀️ Accurate weather forecast for Delhi in October ⛅ Detailed forecast By month Current temperature \"near me\" Weather news ⊳ Widget of weather ⊳ Water temperature | METEOPROG'}, {'url': 'https://world-weather.info/forecast/india/delhi/october-2023/', 'content': 'Extended weather forecast in Delhi. Hourly Week 10 days 14 days 30 days Year. Detailed ⚡ Delhi Weather Forecast for October 2023 - day/night 🌡️ temperatures, precipitations - World-Weather.info.'}, {'url': 'https://weather-and-climate.com/New-Delhi-October-averages', 'content': 'New Delhi, monthly averages in October. Min Temperature 20°C. Max Temperature 34°C. Chance of Rain 3%. Precipitation 14 mm. Rainy days 1 day. Humidity 44%. Windspeed 4 km/h. Sunshine 262 hours.'}]\u001b[0m\u001b[32;1m\u001b[1;3mThe current weather in New Delhi, India is as follows:\n", - "\n", - "- **Temperature**: 33.4°C (92.1°F)\n", - "- **Condition**: Mist\n", - "- **Feels Like**: 36.5°C (97.7°F)\n", - "- **Humidity**: 59%\n", - "- **Wind**: 10.8 kph (6.7 mph) from the East-Southeast\n", - "- **Visibility**: 4 km\n", - "- **Pressure**: 1004 mb\n", - "\n", - "For more detailed forecasts and historical data, you can check the following links:\n", - "- [Weather API](https://www.weatherapi.com/)\n", - "- [Weather Spark](https://weatherspark.com/h/m/109174/2023/10/Historical-Weather-in-October-2023-in-New-Delhi-India)\n", - "- [Meteoprog](https://www.meteoprog.com/weather/Delhi/month/october/)\n", - "- [World Weather Info](https://world-weather.info/forecast/india/delhi/october-2023/)\n", - "- [Weather and Climate](https://weather-and-climate.com/New-Delhi-October-averages)\u001b[0m\n", - "\n", - "\u001b[1m> Finished chain.\u001b[0m\n", - "{'messages': [HumanMessage(content='Whats the whether in New Delhi, India ?')], 'output': 'The current weather in New Delhi, India is as follows:\\n\\n- **Temperature**: 33.4°C (92.1°F)\\n- **Condition**: Mist\\n- **Feels Like**: 36.5°C (97.7°F)\\n- **Humidity**: 59%\\n- **Wind**: 10.8 kph (6.7 mph) from the East-Southeast\\n- **Visibility**: 4 km\\n- **Pressure**: 1004 mb\\n\\nFor more detailed forecasts and historical data, you can check the following links:\\n- [Weather API](https://www.weatherapi.com/)\\n- [Weather Spark](https://weatherspark.com/h/m/109174/2023/10/Historical-Weather-in-October-2023-in-New-Delhi-India)\\n- [Meteoprog](https://www.meteoprog.com/weather/Delhi/month/october/)\\n- [World Weather Info](https://world-weather.info/forecast/india/delhi/october-2023/)\\n- [Weather and Climate](https://weather-and-climate.com/New-Delhi-October-averages)'}\n" + "ename": "RateLimitError", + "evalue": "Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mRateLimitError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[5], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mflo\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mWhats the whether in New Delhi, India ?\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28mprint\u001b[39m(result)\n", + "File \u001b[0;32m~/Documents/hub/flo/flo_ai/core.py:53\u001b[0m, in \u001b[0;36mFlo.invoke\u001b[0;34m(self, query, config)\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvalidate_invoke(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msession)\n\u001b[1;32m 52\u001b[0m get_logger()\u001b[38;5;241m.\u001b[39minfo(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInvoking query: \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mquery\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msession)\n\u001b[0;32m---> 53\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrunnable\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43mquery\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/flo_ai/models/flo_node.py:39\u001b[0m, in \u001b[0;36mFloNode.invoke\u001b[0;34m(self, query, config)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21minvoke\u001b[39m(\u001b[38;5;28mself\u001b[39m, query, config):\n\u001b[0;32m---> 39\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[43mSTATE_NAME_MESSAGES\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mHumanMessage\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcontent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mquery\u001b[49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/flo_ai/models/flo_node.py:170\u001b[0m, in \u001b[0;36mFloNode.Builder.__teamflo_agent_node\u001b[0;34m(state, agent, name, session, model_name, data_collector)\u001b[0m\n\u001b[1;32m 162\u001b[0m [\n\u001b[1;32m 163\u001b[0m callback\u001b[38;5;241m.\u001b[39mon_agent_error(name, model_name, e, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{})\n\u001b[1;32m 164\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m callback \u001b[38;5;129;01min\u001b[39;00m agent_cbs\n\u001b[1;32m 165\u001b[0m ]\n\u001b[1;32m 166\u001b[0m [\n\u001b[1;32m 167\u001b[0m callback\u001b[38;5;241m.\u001b[39mon_agent_error(name, model_name, e, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{})\n\u001b[1;32m 168\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m callback \u001b[38;5;129;01min\u001b[39;00m flo_cbs\n\u001b[1;32m 169\u001b[0m ]\n\u001b[0;32m--> 170\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 171\u001b[0m [\n\u001b[1;32m 172\u001b[0m callback\u001b[38;5;241m.\u001b[39mon_agent_end(name, model_name, output, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{})\n\u001b[1;32m 173\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m callback \u001b[38;5;129;01min\u001b[39;00m agent_cbs\n\u001b[1;32m 174\u001b[0m ]\n\u001b[1;32m 175\u001b[0m [\n\u001b[1;32m 176\u001b[0m callback\u001b[38;5;241m.\u001b[39mon_agent_start(name, model_name, output, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{})\n\u001b[1;32m 177\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m callback \u001b[38;5;129;01min\u001b[39;00m flo_cbs\n\u001b[1;32m 178\u001b[0m ]\n", + "File \u001b[0;32m~/Documents/hub/flo/flo_ai/models/flo_node.py:154\u001b[0m, in \u001b[0;36mFloNode.Builder.__teamflo_agent_node\u001b[0;34m(state, agent, name, session, model_name, data_collector)\u001b[0m\n\u001b[1;32m 149\u001b[0m [\n\u001b[1;32m 150\u001b[0m callback\u001b[38;5;241m.\u001b[39mon_agent_start(name, model_name, state[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmessages\u001b[39m\u001b[38;5;124m'\u001b[39m], \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{})\n\u001b[1;32m 151\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m callback \u001b[38;5;129;01min\u001b[39;00m flo_cbs\n\u001b[1;32m 152\u001b[0m ]\n\u001b[1;32m 153\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 154\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43magent\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minvoke\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 155\u001b[0m output \u001b[38;5;241m=\u001b[39m result \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(result, \u001b[38;5;28mstr\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m result[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124moutput\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 156\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m data_collector \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/chains/base.py:170\u001b[0m, in \u001b[0;36mChain.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 169\u001b[0m run_manager\u001b[38;5;241m.\u001b[39mon_chain_error(e)\n\u001b[0;32m--> 170\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 171\u001b[0m run_manager\u001b[38;5;241m.\u001b[39mon_chain_end(outputs)\n\u001b[1;32m 173\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m include_run_info:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/chains/base.py:160\u001b[0m, in \u001b[0;36mChain.invoke\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 158\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_inputs(inputs)\n\u001b[1;32m 159\u001b[0m outputs \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m--> 160\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call\u001b[49m\u001b[43m(\u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_manager\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 161\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m new_arg_supported\n\u001b[1;32m 162\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_call(inputs)\n\u001b[1;32m 163\u001b[0m )\n\u001b[1;32m 165\u001b[0m final_outputs: Dict[\u001b[38;5;28mstr\u001b[39m, Any] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprep_outputs(\n\u001b[1;32m 166\u001b[0m inputs, outputs, return_only_outputs\n\u001b[1;32m 167\u001b[0m )\n\u001b[1;32m 168\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/agents/agent.py:1629\u001b[0m, in \u001b[0;36mAgentExecutor._call\u001b[0;34m(self, inputs, run_manager)\u001b[0m\n\u001b[1;32m 1627\u001b[0m \u001b[38;5;66;03m# We now enter the agent loop (until it returns something).\u001b[39;00m\n\u001b[1;32m 1628\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_should_continue(iterations, time_elapsed):\n\u001b[0;32m-> 1629\u001b[0m next_step_output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_take_next_step\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1630\u001b[0m \u001b[43m \u001b[49m\u001b[43mname_to_tool_map\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1631\u001b[0m \u001b[43m \u001b[49m\u001b[43mcolor_mapping\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1632\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1633\u001b[0m \u001b[43m \u001b[49m\u001b[43mintermediate_steps\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1634\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_manager\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1635\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1636\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(next_step_output, AgentFinish):\n\u001b[1;32m 1637\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_return(\n\u001b[1;32m 1638\u001b[0m next_step_output, intermediate_steps, run_manager\u001b[38;5;241m=\u001b[39mrun_manager\n\u001b[1;32m 1639\u001b[0m )\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/agents/agent.py:1335\u001b[0m, in \u001b[0;36mAgentExecutor._take_next_step\u001b[0;34m(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)\u001b[0m\n\u001b[1;32m 1326\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_take_next_step\u001b[39m(\n\u001b[1;32m 1327\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 1328\u001b[0m name_to_tool_map: Dict[\u001b[38;5;28mstr\u001b[39m, BaseTool],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1332\u001b[0m run_manager: Optional[CallbackManagerForChainRun] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 1333\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Union[AgentFinish, List[Tuple[AgentAction, \u001b[38;5;28mstr\u001b[39m]]]:\n\u001b[1;32m 1334\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_consume_next_step(\n\u001b[0;32m-> 1335\u001b[0m [\n\u001b[1;32m 1336\u001b[0m a\n\u001b[1;32m 1337\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iter_next_step(\n\u001b[1;32m 1338\u001b[0m name_to_tool_map,\n\u001b[1;32m 1339\u001b[0m color_mapping,\n\u001b[1;32m 1340\u001b[0m inputs,\n\u001b[1;32m 1341\u001b[0m intermediate_steps,\n\u001b[1;32m 1342\u001b[0m run_manager,\n\u001b[1;32m 1343\u001b[0m )\n\u001b[1;32m 1344\u001b[0m ]\n\u001b[1;32m 1345\u001b[0m )\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/agents/agent.py:1335\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1326\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_take_next_step\u001b[39m(\n\u001b[1;32m 1327\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 1328\u001b[0m name_to_tool_map: Dict[\u001b[38;5;28mstr\u001b[39m, BaseTool],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1332\u001b[0m run_manager: Optional[CallbackManagerForChainRun] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 1333\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Union[AgentFinish, List[Tuple[AgentAction, \u001b[38;5;28mstr\u001b[39m]]]:\n\u001b[1;32m 1334\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_consume_next_step(\n\u001b[0;32m-> 1335\u001b[0m [\n\u001b[1;32m 1336\u001b[0m a\n\u001b[1;32m 1337\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iter_next_step(\n\u001b[1;32m 1338\u001b[0m name_to_tool_map,\n\u001b[1;32m 1339\u001b[0m color_mapping,\n\u001b[1;32m 1340\u001b[0m inputs,\n\u001b[1;32m 1341\u001b[0m intermediate_steps,\n\u001b[1;32m 1342\u001b[0m run_manager,\n\u001b[1;32m 1343\u001b[0m )\n\u001b[1;32m 1344\u001b[0m ]\n\u001b[1;32m 1345\u001b[0m )\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/agents/agent.py:1363\u001b[0m, in \u001b[0;36mAgentExecutor._iter_next_step\u001b[0;34m(self, name_to_tool_map, color_mapping, inputs, intermediate_steps, run_manager)\u001b[0m\n\u001b[1;32m 1360\u001b[0m intermediate_steps \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_prepare_intermediate_steps(intermediate_steps)\n\u001b[1;32m 1362\u001b[0m \u001b[38;5;66;03m# Call the LLM to see what to do.\u001b[39;00m\n\u001b[0;32m-> 1363\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_action_agent\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplan\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1364\u001b[0m \u001b[43m \u001b[49m\u001b[43mintermediate_steps\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1365\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrun_manager\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mrun_manager\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 1366\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1367\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1368\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m OutputParserException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 1369\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_parsing_errors, \u001b[38;5;28mbool\u001b[39m):\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain/agents/agent.py:580\u001b[0m, in \u001b[0;36mRunnableMultiActionAgent.plan\u001b[0;34m(self, intermediate_steps, callbacks, **kwargs)\u001b[0m\n\u001b[1;32m 572\u001b[0m final_output: Any \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 573\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstream_runnable:\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Use streaming to make sure that the underlying LLM is invoked in a\u001b[39;00m\n\u001b[1;32m 575\u001b[0m \u001b[38;5;66;03m# streaming\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 578\u001b[0m \u001b[38;5;66;03m# Because the response from the plan is not a generator, we need to\u001b[39;00m\n\u001b[1;32m 579\u001b[0m \u001b[38;5;66;03m# accumulate the output into final output and return that.\u001b[39;00m\n\u001b[0;32m--> 580\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m chunk \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrunnable\u001b[38;5;241m.\u001b[39mstream(inputs, config\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcallbacks\u001b[39m\u001b[38;5;124m\"\u001b[39m: callbacks}):\n\u001b[1;32m 581\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m final_output \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 582\u001b[0m final_output \u001b[38;5;241m=\u001b[39m chunk\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:3407\u001b[0m, in \u001b[0;36mRunnableSequence.stream\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 3401\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstream\u001b[39m(\n\u001b[1;32m 3402\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 3403\u001b[0m \u001b[38;5;28minput\u001b[39m: Input,\n\u001b[1;32m 3404\u001b[0m config: Optional[RunnableConfig] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 3405\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Optional[Any],\n\u001b[1;32m 3406\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Iterator[Output]:\n\u001b[0;32m-> 3407\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtransform(\u001b[38;5;28miter\u001b[39m([\u001b[38;5;28minput\u001b[39m]), config, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:3394\u001b[0m, in \u001b[0;36mRunnableSequence.transform\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 3388\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mtransform\u001b[39m(\n\u001b[1;32m 3389\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 3390\u001b[0m \u001b[38;5;28minput\u001b[39m: Iterator[Input],\n\u001b[1;32m 3391\u001b[0m config: Optional[RunnableConfig] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 3392\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Optional[Any],\n\u001b[1;32m 3393\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Iterator[Output]:\n\u001b[0;32m-> 3394\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_transform_stream_with_config(\n\u001b[1;32m 3395\u001b[0m \u001b[38;5;28minput\u001b[39m,\n\u001b[1;32m 3396\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_transform,\n\u001b[1;32m 3397\u001b[0m patch_config(config, run_name\u001b[38;5;241m=\u001b[39m(config \u001b[38;5;129;01mor\u001b[39;00m {})\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun_name\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mname),\n\u001b[1;32m 3398\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3399\u001b[0m )\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:2197\u001b[0m, in \u001b[0;36mRunnable._transform_stream_with_config\u001b[0;34m(self, input, transformer, config, run_type, **kwargs)\u001b[0m\n\u001b[1;32m 2195\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 2196\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[0;32m-> 2197\u001b[0m chunk: Output \u001b[38;5;241m=\u001b[39m \u001b[43mcontext\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43miterator\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m 2198\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m chunk\n\u001b[1;32m 2199\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m final_output_supported:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:3357\u001b[0m, in \u001b[0;36mRunnableSequence._transform\u001b[0;34m(self, input, run_manager, config, **kwargs)\u001b[0m\n\u001b[1;32m 3354\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 3355\u001b[0m final_pipeline \u001b[38;5;241m=\u001b[39m step\u001b[38;5;241m.\u001b[39mtransform(final_pipeline, config)\n\u001b[0;32m-> 3357\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m final_pipeline\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:1413\u001b[0m, in \u001b[0;36mRunnable.transform\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 1410\u001b[0m final: Input\n\u001b[1;32m 1411\u001b[0m got_first_val \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m-> 1413\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m ichunk \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28minput\u001b[39m:\n\u001b[1;32m 1414\u001b[0m \u001b[38;5;66;03m# The default implementation of transform is to buffer input and\u001b[39;00m\n\u001b[1;32m 1415\u001b[0m \u001b[38;5;66;03m# then call stream.\u001b[39;00m\n\u001b[1;32m 1416\u001b[0m \u001b[38;5;66;03m# It'll attempt to gather all input into a single chunk using\u001b[39;00m\n\u001b[1;32m 1417\u001b[0m \u001b[38;5;66;03m# the `+` operator.\u001b[39;00m\n\u001b[1;32m 1418\u001b[0m \u001b[38;5;66;03m# If the input is not addable, then we'll assume that we can\u001b[39;00m\n\u001b[1;32m 1419\u001b[0m \u001b[38;5;66;03m# only operate on the last chunk,\u001b[39;00m\n\u001b[1;32m 1420\u001b[0m \u001b[38;5;66;03m# and we'll iterate until we get to the last chunk.\u001b[39;00m\n\u001b[1;32m 1421\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m got_first_val:\n\u001b[1;32m 1422\u001b[0m final \u001b[38;5;241m=\u001b[39m ichunk\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:5561\u001b[0m, in \u001b[0;36mRunnableBindingBase.transform\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 5555\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mtransform\u001b[39m(\n\u001b[1;32m 5556\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 5557\u001b[0m \u001b[38;5;28minput\u001b[39m: Iterator[Input],\n\u001b[1;32m 5558\u001b[0m config: Optional[RunnableConfig] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 5559\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[1;32m 5560\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Iterator[Output]:\n\u001b[0;32m-> 5561\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbound\u001b[38;5;241m.\u001b[39mtransform(\n\u001b[1;32m 5562\u001b[0m \u001b[38;5;28minput\u001b[39m,\n\u001b[1;32m 5563\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_merge_configs(config),\n\u001b[1;32m 5564\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m{\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs},\n\u001b[1;32m 5565\u001b[0m )\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/runnables/base.py:1431\u001b[0m, in \u001b[0;36mRunnable.transform\u001b[0;34m(self, input, config, **kwargs)\u001b[0m\n\u001b[1;32m 1428\u001b[0m final \u001b[38;5;241m=\u001b[39m ichunk\n\u001b[1;32m 1430\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m got_first_val:\n\u001b[0;32m-> 1431\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstream(final, config, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/language_models/chat_models.py:420\u001b[0m, in \u001b[0;36mBaseChatModel.stream\u001b[0;34m(self, input, config, stop, **kwargs)\u001b[0m\n\u001b[1;32m 413\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 414\u001b[0m run_manager\u001b[38;5;241m.\u001b[39mon_llm_error(\n\u001b[1;32m 415\u001b[0m e,\n\u001b[1;32m 416\u001b[0m response\u001b[38;5;241m=\u001b[39mLLMResult(\n\u001b[1;32m 417\u001b[0m generations\u001b[38;5;241m=\u001b[39m[[generation]] \u001b[38;5;28;01mif\u001b[39;00m generation \u001b[38;5;28;01melse\u001b[39;00m []\n\u001b[1;32m 418\u001b[0m ),\n\u001b[1;32m 419\u001b[0m )\n\u001b[0;32m--> 420\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 421\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 422\u001b[0m run_manager\u001b[38;5;241m.\u001b[39mon_llm_end(LLMResult(generations\u001b[38;5;241m=\u001b[39m[[generation]]))\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_core/language_models/chat_models.py:400\u001b[0m, in \u001b[0;36mBaseChatModel.stream\u001b[0;34m(self, input, config, stop, **kwargs)\u001b[0m\n\u001b[1;32m 397\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrate_limiter\u001b[38;5;241m.\u001b[39macquire(blocking\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 400\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m chunk \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_stream(messages, stop\u001b[38;5;241m=\u001b[39mstop, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 401\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chunk\u001b[38;5;241m.\u001b[39mmessage\u001b[38;5;241m.\u001b[39mid \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 402\u001b[0m chunk\u001b[38;5;241m.\u001b[39mmessage\u001b[38;5;241m.\u001b[39mid \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrun-\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mrun_manager\u001b[38;5;241m.\u001b[39mrun_id\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/langchain_openai/chat_models/base.py:668\u001b[0m, in \u001b[0;36mBaseChatOpenAI._stream\u001b[0;34m(self, messages, stop, run_manager, **kwargs)\u001b[0m\n\u001b[1;32m 666\u001b[0m base_generation_info \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mheaders\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28mdict\u001b[39m(raw_response\u001b[38;5;241m.\u001b[39mheaders)}\n\u001b[1;32m 667\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 668\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpayload\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 669\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m response:\n\u001b[1;32m 670\u001b[0m is_first_chunk \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_utils/_utils.py:275\u001b[0m, in \u001b[0;36mrequired_args..inner..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 273\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMissing required argument: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mquote(missing[\u001b[38;5;241m0\u001b[39m])\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 274\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(msg)\n\u001b[0;32m--> 275\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/resources/chat/completions.py:859\u001b[0m, in \u001b[0;36mCompletions.create\u001b[0;34m(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, reasoning_effort, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, extra_headers, extra_query, extra_body, timeout)\u001b[0m\n\u001b[1;32m 817\u001b[0m \u001b[38;5;129m@required_args\u001b[39m([\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmessages\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodel\u001b[39m\u001b[38;5;124m\"\u001b[39m], [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmessages\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodel\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstream\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[1;32m 818\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate\u001b[39m(\n\u001b[1;32m 819\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 856\u001b[0m timeout: \u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m httpx\u001b[38;5;241m.\u001b[39mTimeout \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m|\u001b[39m NotGiven \u001b[38;5;241m=\u001b[39m NOT_GIVEN,\n\u001b[1;32m 857\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ChatCompletion \u001b[38;5;241m|\u001b[39m Stream[ChatCompletionChunk]:\n\u001b[1;32m 858\u001b[0m validate_response_format(response_format)\n\u001b[0;32m--> 859\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_post\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 860\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/chat/completions\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 861\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmaybe_transform\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 862\u001b[0m \u001b[43m \u001b[49m\u001b[43m{\u001b[49m\n\u001b[1;32m 863\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmessages\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 864\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmodel\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 865\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43maudio\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43maudio\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 866\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfrequency_penalty\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfrequency_penalty\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 867\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfunction_call\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunction_call\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 868\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfunctions\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunctions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 869\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlogit_bias\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlogit_bias\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 870\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlogprobs\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlogprobs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 871\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmax_completion_tokens\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_completion_tokens\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 872\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmax_tokens\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 873\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmetadata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 874\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmodalities\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodalities\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 875\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 876\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mparallel_tool_calls\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mparallel_tool_calls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 877\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mprediction\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mprediction\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 878\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpresence_penalty\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mpresence_penalty\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 879\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mreasoning_effort\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mreasoning_effort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 880\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mresponse_format\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mresponse_format\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 881\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mseed\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mseed\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 882\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mservice_tier\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mservice_tier\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 883\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstop\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 884\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstore\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstore\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 885\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstream\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 886\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstream_options\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 887\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtemperature\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 888\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtool_choice\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtool_choice\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 889\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtools\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtools\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 890\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtop_logprobs\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_logprobs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 891\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtop_p\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_p\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 892\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43muser\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 893\u001b[0m \u001b[43m \u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 894\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompletion_create_params\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCompletionCreateParams\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 895\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 896\u001b[0m \u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmake_request_options\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 897\u001b[0m \u001b[43m \u001b[49m\u001b[43mextra_headers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_headers\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_query\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_query\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_body\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_body\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\n\u001b[1;32m 898\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 899\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mChatCompletion\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 900\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 901\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mStream\u001b[49m\u001b[43m[\u001b[49m\u001b[43mChatCompletionChunk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 902\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1280\u001b[0m, in \u001b[0;36mSyncAPIClient.post\u001b[0;34m(self, path, cast_to, body, options, files, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1266\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpost\u001b[39m(\n\u001b[1;32m 1267\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 1268\u001b[0m path: \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1275\u001b[0m stream_cls: \u001b[38;5;28mtype\u001b[39m[_StreamT] \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 1276\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ResponseT \u001b[38;5;241m|\u001b[39m _StreamT:\n\u001b[1;32m 1277\u001b[0m opts \u001b[38;5;241m=\u001b[39m FinalRequestOptions\u001b[38;5;241m.\u001b[39mconstruct(\n\u001b[1;32m 1278\u001b[0m method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpost\u001b[39m\u001b[38;5;124m\"\u001b[39m, url\u001b[38;5;241m=\u001b[39mpath, json_data\u001b[38;5;241m=\u001b[39mbody, files\u001b[38;5;241m=\u001b[39mto_httpx_files(files), \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39moptions\n\u001b[1;32m 1279\u001b[0m )\n\u001b[0;32m-> 1280\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m cast(ResponseT, \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mopts\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m)\u001b[49m)\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:957\u001b[0m, in \u001b[0;36mSyncAPIClient.request\u001b[0;34m(self, cast_to, options, remaining_retries, stream, stream_cls)\u001b[0m\n\u001b[1;32m 954\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 955\u001b[0m retries_taken \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m--> 957\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 958\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 959\u001b[0m \u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 960\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 961\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 962\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries_taken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 963\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1046\u001b[0m, in \u001b[0;36mSyncAPIClient._request\u001b[0;34m(self, cast_to, options, retries_taken, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1044\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m remaining_retries \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_should_retry(err\u001b[38;5;241m.\u001b[39mresponse):\n\u001b[1;32m 1045\u001b[0m err\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mclose()\n\u001b[0;32m-> 1046\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_retry_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1047\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1048\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1049\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries_taken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1050\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_headers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1051\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1052\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1053\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1055\u001b[0m \u001b[38;5;66;03m# If the response is streamed then we need to explicitly read the response\u001b[39;00m\n\u001b[1;32m 1056\u001b[0m \u001b[38;5;66;03m# to completion before attempting to access the response text.\u001b[39;00m\n\u001b[1;32m 1057\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m err\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mis_closed:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1095\u001b[0m, in \u001b[0;36mSyncAPIClient._retry_request\u001b[0;34m(self, options, cast_to, retries_taken, response_headers, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1091\u001b[0m \u001b[38;5;66;03m# In a synchronous context we are blocking the entire thread. Up to the library user to run the client in a\u001b[39;00m\n\u001b[1;32m 1092\u001b[0m \u001b[38;5;66;03m# different thread if necessary.\u001b[39;00m\n\u001b[1;32m 1093\u001b[0m time\u001b[38;5;241m.\u001b[39msleep(timeout)\n\u001b[0;32m-> 1095\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1096\u001b[0m \u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1097\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1098\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries_taken\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1099\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1100\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1101\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1046\u001b[0m, in \u001b[0;36mSyncAPIClient._request\u001b[0;34m(self, cast_to, options, retries_taken, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1044\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m remaining_retries \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_should_retry(err\u001b[38;5;241m.\u001b[39mresponse):\n\u001b[1;32m 1045\u001b[0m err\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mclose()\n\u001b[0;32m-> 1046\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_retry_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1047\u001b[0m \u001b[43m \u001b[49m\u001b[43minput_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1048\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1049\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries_taken\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1050\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_headers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1051\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1052\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1053\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1055\u001b[0m \u001b[38;5;66;03m# If the response is streamed then we need to explicitly read the response\u001b[39;00m\n\u001b[1;32m 1056\u001b[0m \u001b[38;5;66;03m# to completion before attempting to access the response text.\u001b[39;00m\n\u001b[1;32m 1057\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m err\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mis_closed:\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1095\u001b[0m, in \u001b[0;36mSyncAPIClient._retry_request\u001b[0;34m(self, options, cast_to, retries_taken, response_headers, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1091\u001b[0m \u001b[38;5;66;03m# In a synchronous context we are blocking the entire thread. Up to the library user to run the client in a\u001b[39;00m\n\u001b[1;32m 1092\u001b[0m \u001b[38;5;66;03m# different thread if necessary.\u001b[39;00m\n\u001b[1;32m 1093\u001b[0m time\u001b[38;5;241m.\u001b[39msleep(timeout)\n\u001b[0;32m-> 1095\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1096\u001b[0m \u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1097\u001b[0m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1098\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries_taken\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1099\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1100\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1101\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/Documents/hub/flo/.venv/lib/python3.9/site-packages/openai/_base_client.py:1061\u001b[0m, in \u001b[0;36mSyncAPIClient._request\u001b[0;34m(self, cast_to, options, retries_taken, stream, stream_cls)\u001b[0m\n\u001b[1;32m 1058\u001b[0m err\u001b[38;5;241m.\u001b[39mresponse\u001b[38;5;241m.\u001b[39mread()\n\u001b[1;32m 1060\u001b[0m log\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRe-raising status error\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m-> 1061\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_status_error_from_response(err\u001b[38;5;241m.\u001b[39mresponse) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1063\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process_response(\n\u001b[1;32m 1064\u001b[0m cast_to\u001b[38;5;241m=\u001b[39mcast_to,\n\u001b[1;32m 1065\u001b[0m options\u001b[38;5;241m=\u001b[39moptions,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1069\u001b[0m retries_taken\u001b[38;5;241m=\u001b[39mretries_taken,\n\u001b[1;32m 1070\u001b[0m )\n", + "\u001b[0;31mRateLimitError\u001b[0m: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}" ] } ], @@ -525,20 +534,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024-09-26 15:54:42,618 - BUILDER - INFO - Building Flo instance from YAML\n", - "2024-09-26 15:54:42,624 - COMMON - INFO - Flo instance created for session 61LQSb1Ceb4ieNvy\n" - ] - }, { "data": { - "image/jpeg": "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", + "image/png": "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", "text/plain": [ "" ] @@ -680,7 +681,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.6" + "version": "3.9.19" } }, "nbformat": 4, diff --git a/examples/agentic_rag.ipynb b/examples/agentic_rag.ipynb index a32b2abd..cc3e97ce 100644 --- a/examples/agentic_rag.ipynb +++ b/examples/agentic_rag.ipynb @@ -243,7 +243,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.6" + "version": "3.9.19" } }, "nbformat": 4, diff --git a/examples/build_agents_by_code.ipynb b/examples/build_agents_by_code.ipynb index 4849e26a..83eacedf 100644 --- a/examples/build_agents_by_code.ipynb +++ b/examples/build_agents_by_code.ipynb @@ -1,265 +1,265 @@ { - "cells": [ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Code to create agents and teams\n", + "\n", + "This notebook shows the code flow to create agents and teams using flo-ai" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Code to create agents and teams\n", - "\n", - "This notebook shows the code flow to create agents and teams using flo-ai" - ] - }, - { - "cell_type": "code", + "data": { + "text/plain": [ + "True" + ] + }, "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from flo_ai import FloSupervisor, FloAgent, FloSession, FloTeam, FloLinear, Flo, FloLLMAgent\n", - "from langchain_openai import ChatOpenAI\n", - "from flo_ai.models.flo_reflection_agent import FloReflectionAgent\n", - "from flo_ai.models.delegate import Delegate\n", - "from langchain_community.tools.tavily_search.tool import TavilySearchResults\n", - "from dotenv import load_dotenv\n", - "\n", - "load_dotenv()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Code to create a simple tea, with 2 agents, each agent having one tool of itself" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "llm = ChatOpenAI(temperature=0, model_name='gpt-4o')\n", - "session = FloSession(llm).register_tool(\n", - " name=\"TavilySearchResults\",\n", - " tool=TavilySearchResults()\n", - ")\n", - "\n", - "researcher = FloAgent.create(\n", - " session,\n", - " name=\"Researcher\", \n", - " role=\"Internet Researcher\", # optional\n", - " job=\"Do a research on the internet and find articles of relevent to the topic asked by the user\", \n", - " tools=[TavilySearchResults()]\n", - ")\n", - "\n", - "blogger = FloAgent.create(\n", - " session, \n", - " name=\"BlogWriter\", \n", - " role=\"Thought Leader\", # optional\n", - " job=\"Able to write a blog using information provided\", \n", - " tools=[TavilySearchResults()]\n", - ")\n", - "\n", - "marketing_team = FloTeam.create(session, \"Marketing\", [researcher, blogger])\n", - "head_of_marketing = FloSupervisor.create(session, \"Head-of-Marketing\", marketing_team)\n", - "marketing_flo = Flo.create(session, routed_team=head_of_marketing)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "marketing_flo.draw()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A second team created for doing editorial suggestions" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "chief_editorial = FloLLMAgent.create(\n", - " session, \n", - " name=\"Senior-Editor\", \n", - " job=\"Have a look at the article created and give editorial suggestions\"\n", - ")\n", - "\n", - "edit_team = FloTeam.create(\n", - " session, \n", - " name=\"Editorial-Team\", \n", - " members=[chief_editorial]\n", - ")\n", - "\n", - "editor = FloSupervisor.create(\n", - " session, \n", - " name=\"Editor-Team-Routing\", \n", - " team=edit_team\n", - ")\n", - "\n", - "editorial_flo = Flo.create(session, routed_team=editor)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAREAAAD5CAIAAACPlpaCAAAAAXNSR0IArs4c6QAAIABJREFUeJzt3XdcE/f/B/BPFiRkscOSDSIIAiIOtGpFBYuo1VpUtHWP1pY6Wqu2qFWrgHVUQVusbRVHHVWxfB2IYh24tSIqAiJ7BULIIMkl+f0RfxEhQAKBuwuf58M/kuPu8k7MK3f3ubvPh6BUKgEEQVojol0ABOEMzAwE6QZmBoJ0AzMDQbqBmYEg3cDMQJBuyGgXgFdiAVJbKRPxEVGDXI4oERkOmuwJBEA2ItCZZBMWiWVOYVlQ0K4Ilwjw/IxOGmplLx8JXmULG0VyGp1kwiKbMEkMMzIiwcHHSCAAiVghbEBEfDmRBMQCuYsP3a0fw9LOGO3S8ARmRlsyqeJmKpfPlZnbGLn0pdu50tCuqLOqSySvngp5VVKlEgyOsGCZw82OVmBmtPLfdd7Ns9wh4y38hpmiXYv+5T5ouHWO22cgM3isBdq14ADMTPvSD1eaWlGCRpujXUjXenaH//xOw6TP7dEuBOtgu1k7Un8ps3enGXxgAAB9glnBYebJawrQLgTr4HamLce3F/cbbuoZyES7kO7Dq5Ye314yf7Mr2oVgF8xMqzKOVXEcjX0Gs9EupLuV5olvn+d++LkD2oVgFMyMZjlZ9UK+fMAYw98l0+j5XX49VzYwDDYJaACPZzS7cry6/ygztKtAjdcA1ou7DfVcGdqFYBHMjAa3/uEODDMnkghoF4KmIeMtb6bWoF0FFsHMNCdtVFQVN/aEhrK2ufszSGRCTakE7UIwB2amuYJsgQmj+y7DKy8vLysrQ2vxtplZG+U9FnTRyvELZqa5V0+ELr707nmtkpKSyMjInJwcVBZvl0tf+qtsYRetHL9gZt6hVCr5dYhL327KDIIgHWu3VC3V4cW1ZGlnbMIi8WqkXfcSeATvBXiHgIeIG+SkLjj6b2xs3LJly7Vr1wAAAQEBK1asUCqVU6ZMAQCsWrUKABAREbFu3brKysrExMQbN24IBAInJ6fZs2eHhYWp1jB16lQ3Nzc3N7ejR482NjYeOHBg2rRpzRbXe9kAAH4NYmpp1BVrximYmXcI+XI6i9QVaz5w4MC5c+cWLVpkaWl57tw5Go1mYmKycePGtWvXLlq0KCgoyNzcXLXpePr06ZQpU0xNTTMyMtauXdurVy8fHx/VSm7dutXY2Lh9+3aRSOTk5NRycb2js8hCPtIVa8YvmJl3COsROrtLPpOysjIajfbpp5+SyeSJEyeqJnp5eQEAnJ2d/f39VVPs7e2PHz9OIBAAABMmTAgNDb169ao6M2QyefPmzTQarbXF9Q5mpiV4PPMOpQJQqF3ymYSHhzc2Ni5dujQvL6/tOXNzc5ctWxYWFjZp0iS5XM7lctV/6tu3rzow3YNs3KNPUmkEM/MOExaJX9MlJ7+HDBmyc+dOLpcbFRW1ceNGBNH843337t1PPvlEKpXGxsbGxcWx2WyFQqH+azcHBgDQwEVojC7ZWcUvuG/2ji7dFRkyZMigQYOOHDmyfft2W1vbuXPntpwnOTnZwcFhx44dZDIZlZA0I+QjdFY3tSLiBdzOvIPBJjHNu+R3RCqVAgCIROKMGTOsrKyeP38OAKBSqQCA6upq9Ww8Hs/T01MVGKlUKhKJmm5nmmm5uN4ZUYkMU/jD+g74cbyDRCESiYSi5yJHLxP9rvno0aOZmZnjxo2rrq6urq729vYGAHA4HHt7+0OHDtFotPr6+qioqKCgoNTU1DNnzrDZ7JSUFD6fn5+fr1QqVa0CzbRc3NhYn71h8GtlFYWNsIeNZuB2prkuOvnt4OAglUq3b99++vTpqKiomTNnAgAIBMLmzZvpdHpCQkJqamptbe3ixYsHDx4cHx8fFxc3cODArVu31tTU3Lt3T+M6Wy6u35q785IIHIH3zzTHr5VdO1UdMc8O7ULQl3Gssnd/pr27nje5eAf3zZpjmVNoDFJOFt97EEvjDEqlcuTIkRr/ZGZmVldX13L68OHD169fr+9Km9u9e/eJEydaTjc2NpZINFyebGFhcfLkydbWVpov5lXJYGBagtsZDcRCecrm1/M2tXpPfGuXEstkMgpFQy9hNBrNzKzL72Crr68XCjXsVUqlUiMjDRe/EIlEGxub1tZ2YmdJSKSFrQvuu3HTO5gZze6l11LppL49rzMAlaIXwoJs4YjJ1mgXgkWwDUCzoFDzlw8EJS9FaBeCAmE9kn64CgamNTAzrZr0mf353ytEPe9qq5Qtr6d/44h2FdgF983aopAr/9z4etwcG+teVLRr6Q5igTxly+tZ3zkZGcPrZVoFM9O+Y9uKA9839Qgw8J4BywpEab9VTPvakc6CraltgZnRyvUzNWUF4pDxlvbuBtiOxC2X3Ezl0lnk96PgMUz7YGa0Vfm68WYq15RDsXWmuvSlG9Nwv/cilytfZQurihoLc0RDxls4e8NT/lqBmdFN0QvRi3sNr7KF9u40BptMZ5NMWGQ6iyyX4+BjJAJCoxgR8uVCPoJIlc/v8F360j0Cme79GGiXhicwMx1Umi/ilkuF9XIRHyEQCGKhXL/rf/z4sY+Pj+oCZ30hkQgkCoHOItFZZFMOxckLblg6AmYGo0JDQ0+cOGFqaoBDROEdPD8DQbqBmYEg3cDMYFTv3r3RLgHSDGYGo168eIF2CZBmMDMYxWb30EuqsQ9mBqPq6+vRLgHSDGYGozgcDtolQJrBzGBUZWUl2iVAmsHMYJS6j2YIa2BmMOrp06dolwBpBjODUaj3Ogu1BmYGo8RiMdolQJrBzECQbmBmMAq2AWAWzAxGwTYAzIKZgSDdwMxgVDf0VQt1DMwMRmnsKx3CApgZjPL09ES7BEgzmBmMys3NRbsESDOYGQjSDcwMRsF7zjALZgaj4D1nmAUzA0G6gZmBIN3AzGCUt7c32iVAmsHMYFROTg7aJUCawcxAkG5gZiBINzAzGAXPz2AWzAxGwfMzmAUzA0G6gZnBKCcnJ7RLgDSDmcGo169fo10CpBnMDATpBmYGo0gk3I+lbqhgZjBKLtfzQNCQvsDMYBTs3wyzYGYwCvZvhlkwMxgF+9DALIJSqUS7Buit8PBwCoUCACgvL7e2tiaRSEql0tLS8sCBA2iXBr1BRrsA6B1EIrGsrEz1WDXUmYmJSUxMDNp1QW/BfTNsCQgIaLbld3FxGTVqFHoVQc3BzGDLjBkzbGxs1E9pNNrMmTNRrQhqDmYGW/r06ePn56fe1Hh4eISGhqJdFPQOmBnMmTlzpq2trepIZvr06WiXAzUHM4M53t7eqk2Ni4sL3MhgEKbbzXjVUl41olD0uNbwsPc+KcmVTRwzqSBbiHYt3Y0AAMuCbGZtRCQR0K5FM4yen3n9TPjwCo/PRRw8TQQ8BO1yoO5DY5IqXzdSTYjeg1jeA1lol6MBFrczxbmi2+frRs+0I1PgrmMPpVQqr52okCNK3xDM9YuAuS9lVVHj9b9rwuc4wMD0ZAQCYfhHtoXPRM/vNqBdS3OY+17eu1w3KNIa7SogTBgSycm+Va/E2AEt5jLz+pnI1MoI7SogTDAyJvK5MiEfW7cSYSszQr7c3MYI7pVBata9aA21MrSreAe2vp0EAhDUwVYy6C2xAAEAW43O2MoMBGEfzAwE6QZmBoJ0AzMDQbqBmYEg3cDMQJBuYGYgSDcwMxCkG5gZCNINzAwE6QZmBoJ0g8V7znRyNTN9/YZVzSZGz5gzd86SZhM3bl6bm/vsz99PAgAKCvJivpr/9dexQ0NGAAAEAkFZeYmnh1fn67l0KW3zlu81/mnkiNHff/dj519CGzHLFjx+/AAAQCaTORzbkSNGz5g+h0qldniFOc+y3Vw9jI2N1VO2bF1XWJi/N+mgnkrGDdxnRuWDcROtrd92C+bnG9D2/GQymcFgkklv3v68BVGDBw3TS2bc3Dxnf7pI9fjipX8EgoYPJ0Wpnrq4uHV+/dozNTWb/OE0sVj06PH9Qym/lZQUxX6/pWOrOn8hdWvc+tOn0ptmxoRONzGh669e3DCQzIwdE+Hr66/9/I6OzodTzqqfSqXSjr2uUqkkEN656tbV1d3V1V31ODv7UUVl+ayZ8zq28k6ysLCMnjFH9Xj12q+uZqYvreWam1t0YFUSiaTlxC8+X6nrepRKZVl5qb2dQwdqwA4DyUxrMq5c/OPPXyory52dXBUKhWqi6lcTABAftyeo/8Co6RF1dbWnzxw/feY4h2Nz9PA5AACXW5O0d/vtOzcQBPHt679oYYwqCapdwR/WJxw7fvD586fToj6ZM3uxlsU0NjYm799zOeO8VCrp5eA0derM90eOAQBUVVXuP5B4+/YNoVDQq5fT9GmzQ0eFqRYZP2HE0s9WXr5y4eHDuwwGM3RUuJ9fwIHf95aUFLk4u3311erenn20eWn/fv1v3fq3sqrC3Nyitbe29Mu5NCotbutu1SLH/jq4d9/O82k3rly9uGPnFgDAxA9DAQDffB0bNnZ81PSIysqKvn37/bxzv6rOmC+/vX79Stbt63Q6Y3zE5E9mzVetJ+dZ9p7EbQUFLy3MLZ1d3PLyXqQcPIPrUdwMpA2AV19XVVWp+qeemH75/A8bV1uYWy79fOWAAYPzC16qpgf4D1gwf6l6tnWxcUwma9jQkbt2JK+LjVN9uZetWHT/wZ0F879YFrO6hlu9bMWiBsHbG9N3/rw1YtykuK27x0dM1rJChUKxZu1Xt25dmzF99lcxq93de/+wcXXa/84AABA58vz50wmRUxYvjGGx2Js2r332/O3gM9u2bxoy+L2dO5L9fAOOn0jZsXPLvDmfbflxl7hRvH79Nwii1e1GFRVlAABrK067b62lgcEhUz+KBgD8uGnHrh3JA4NDAADLl631cO/ddLYtW2Pd3Xvv2P7r6NBxv/+xLyvrOgCgsrJixcrFZDJ5zbcbAwIG3LiRGTl+Cq4DYzjbme9j3+4nXLqQRSaTJRLJ7j0Jfn4B8XF7VP9JpaXFefm5AAAOx6afX6B6fq/e3mQy2cLCUr13dyk9raiocFtCUmDAAACAr2/A9OjIU6eOqn87J038eOzYCJ0qvPZvxn9PHh5JSbW0tAIAhI4KE4tFJ08dGRc+wc7W/vffjqv28cLDJ0yaHHrjxtU+Xm/GOQsPi5wQOQUAsHDhl5nXLs+YPmfw4GEAgBnTZv+4NbasrMTR0VnjK8pksqqqSqlM+ujRvX/STg8NGWFhYZl67lTbb60lMzNzOzsHAECfPn3ZbFPVxAFBg44fPyRuFKtnGxc+Ycb02QAAdzfPf9JO37l3a9CgoZfS08Ricex3W8zNLUJChj/+70HW7evTp32q00eHNQaSmQXzlzo7uaoeqxLyJPtRfT1vyuTp6l81otY/b48f32fQGapvFQDAxsbW0dH5RW6OeobAwGD1Y4lEUlvHVT22tuK09iOalXUdQZDp0ZHqKXK5nE5nqB7n5ef+/se+Fy9yVNNra7nq2YyN3zR2GVGMAABGRm86S7Cy5gAA6ut5AIAGQYNA0AAAIJPIVlZveiApKir8eNoHqschIcO/+XqdNm+tw6hUmuoBiUSysrLm1lQDAKqrK+l0uuogikAg2Nk5VFaWd/610GUgmenr069ZG0BVVQUAwMbGrgNrEwgFbFOzplNYLLbqS6BiQjNRP8559mTZ8jcNZSf+Om9hYalxnXV1XAsLy58S9jadSCKTAQAPHt79ZtXSAP+gr1fG0k3o369bqVAqdCr45MnDf/z5KwCgVy8nVWM6AMDeziEm5ttnz7J/O5D03tD3GQyGNm9NL8gkslwhBwDY2/cSCoUFBXmuru4ymSwv74W/f5B+X6v7GUhmWjJlmwEAeLw6Ledv2p+olaV1Ts6Tpn+treVymrRlN+Xq4v7DhgTVYyaz1X4fmUwWj1fH4dg2ba5VOXgw2c7OYfOmHWQyGQBA+/8fbO29P3Ksu3tvAACtSZipNFpQ/4FB/Qc+fnx/d+K2oKBB5uYWbby1Zg2ALXWgy9WxYyKOn0hZvTZmzOgPHj2+jyDIp7MW6LoSrDGQNoCW3Nw8iURi+uX/aTMzjUrjcmvUT318/Boa+M+eZaue5ue/LC0tbq0tm802HRoyQvVPvePUUmBgsFwuP5t6Qj1FLH5zMFDP57m7eaoCI5VKRWKRuolPS46OzqoC+jfZaVRbtmyNTCbduWtr22/NlG3GrX37IaiaDVRUMa7RfXPEZpt+/tkKY2Pqq1f5Qf0H/brvsIODo64rwRoD2c5cuHju4aN76qfBwUO8enuHh0X+k3ZaKpEEBw/hcmtu375uZqb57ISvb8DljPOHj/zOZLJ8vP1CR4WnHD6wbsM3M6PnEYnEgweTTU3NJkR+1JkKR4eOSz13au++neUVZZ4eXnl5uddvXPn9txNUKtXfP+jChdS0/51hMdnHT6Y0NPALX+W3PPPTYXa29nNmL05M2n41M72NtzZgwOB/t1/56/ghf/+gmzcz/0k7rV6DT99+JBJpd2JC+NhIiVQSOV7b1sJnz5/Gxa//4vOvyRQKkUgsLy81N7eA7WaY0PQ/GADAYDC9ensv/XylkZFR+uXz9+5n9e3r7+bm2fTYuqmFC76ora05eCjZlG22ZMkyV1f3+K17EpN+Stq7XaFQ+PkGfLZkuZmZeWcqpFAo8Vv3/Jr8c0bGhXPnTjk4OEaOn6Latsz5dHEtt+bn3fFMJivigw+nTon+acfmh4/uqY/UO2/yh9OuXL206+e4AP+g1t5aeFhkSUnR0WN/HjyU/N6wUVM/ik45/GbgW3s7h+XL1iTv37N7T4KHh5f2mbHh2Nra2m+NX/92FCr33ol7/lC9cZzC1rgAogb5kbiiqStc0C4E0hu5XK7asMjl8n+vX1m/YdWxI/9YW3O0XPz8gZKhkZa2rh2/Uk7vcBx3CPuKigq//Gr+4EHD3N08JVLJtWuXqVQqg8FEu65OgZmBuhCdzhj1flhW1r+X0tMYDKZvX/+YmG9NTEy0WBS7YGagLmRhYfn5Z8s//2w52oXok8G2NUNQF4GZgSDdwMxAkG5gZiBINzAzEKQbmBkI0g3MDATpBmYGgnQDMwNBuoGZgSDdYCszRCIwt2l+GyPUkzFMKSQK2kW8C1uZodJJ9VypgIet8eAhFBU8abCww9bPKLYyAwDwDGRWvhZrMSNk+CqLxB7+DBJJP/er6gvmMjMkwiL7Rl1loQjtQiCUScTyf09WjJhqjXYhzWHrPk0VhVx5JL7YI5DJMDUytzUGmCsQ6kIEIuBVSQU82f1L3Flrnah0zHUegMXMqDzKrCt+IVYCUFvewQ7I9UUqlRIAoLTep0xXEIvFVCpVX91odACCIAiCdGb4jY5hW1IIRODgTgsa3akOGLoOdjODBVKptKysLC0tbcmS5qPZdKmzZ88mJCRER0cvWIBmb2Bnz56l0+mjRo1CsQYMwtzxDHb89NNPdXV1dnZ23RwYAMCxY8dEIlF6enpVVVU3v3RTkZGRqsBMnTr19u3bKFaCKTAzmv36668cDofD4bTRzV8XOXv2bElJCQCgoKDgr7/+6uZX1ygpKSkrKwsAwOPx0K4FfXDfrLmkpKTFixcLhUI6HZ1BvKKiovLy8lSPnZ2dExMTra2x0nZ08eLFmzdvxsbGonighTq4nXnHqlWrvLy8AABoBeb06dPFxcXqp4WFhceOHUOlEo3GjBnTv3//mpqayspKLWY3TDAzb6j2gjZu3Dhy5EgUyzh06FCzgfiuXr2KqS/o+PHjrayslErl2LFj1dvDHgVmBggEgqCgIG9vb9XYtOgWU1paqlQqlUqlQqFQPSgsLExJSUG3qpZsbGxSUlJycnIAAHV12g6+YBh69PEMgiA8Hk8ul3M42naF2m2ioqL27t1ramqKdiHtO3r0aElJyYoVK9AupJv03O1Mfn5+SEgIg8HAYGAAADU1NVrMhQlRUVH29vYVFRV8Ph/tWrpDz81McXHx7du3u/88t0GaNm0ah8MRiUQLFiww+PboHpeZhw8ffvzxxwCAESNGoF1LW1oOh4ZxBALBxsZm4cKFqampaNfStXpcZtLS0jB4SN1Ss9YzvOjfv//MmTMBAKtXr7516xba5XSJnpKZoqIiVWvymjVrUG8c04aPjw/aJXTKt99+m5KSousgh7jQIzLT0NDw5Zdfjhs3Du1CdFBWVkYk4vh/h8lk7t69m0Ag3Lp169KlS2iXo084/l/R0uvXr2Uy2d9//60a7BsvSkpKDKB9gkAgDB48+PLly4Z0iachZ0YgEIwaNcrMzMzcHKN3YrRGKpX6+Ph0/+WhXWTLli0ODg4AgBs3bqBdix4YbGYaGxsfPHhw8uRJFouFdi06Ky0txV27Wdvs7e1VDTAYuVK7MwwzMwkJCQiCvPfee7g4j97Sf//9h80zrZ20adMmZ2dnAACmrqDTlQFm5siRI/b29vg6emmmqKhoyJAhaFfRJYKDg1VXxJ48eRLtWjrIAK83Ky4u7tWrF9pVdByCICEhIYZ00KzR5s2bv/76a1y0+zdjONsZBEEmTJgAAMB1YAAAZ86cmTNnDtpVdLnVq1cTicSMjAy0C9GZ4WxnkpOT586dawD3Dw4ePDgzM9NgGs3axufzx4wZc/PmTRydjDKEzCgUitraWktLS7QL0YOkpCQzM7OoqCi0C+k+MplMLBbjqHkTN+Fuw+jRo/G4W9xSdnZ2VlZWjwoMAIBCobBYrG3btuGmMU2Jc6dOnSovL0e7Cv2YOXMmj8dDuwrUfPLJJ5WVlWhX0T5D2DczDAsWLFi4cGH//v3RLgRqB473zerq6lQNZQYgOTk5IiICBqampiYxMRHtKtqB48ykpKQsX74c7Sr0YMeOHcbGxpGRkWgXgj5LS0s7O7vffvsN7ULaAvfNULZ+/XovLy/VraMQLuB1O1NUVPTy5Uu0q+isuLi4ESNGwMA0IxAInjx5gnYVrcJrZg4ePIjlj1Uba9ascXJyGj58ONqFYA6Dwdi1a9eDBw/QLkQzvGbGxsYmMDAQ7So6buXKlcOGDYNbmNZ89913tbW1aFehGTye6W4KhWLChAnff//9gAED0K4F6gi8bmcyMzNx1Gue2uvXrwcOHLhv3z4YmHYdPXoUm/1B4zUz165du379OtpV6CY9PX3Dhg137961s7NDuxYc4HK5165dQ7sKDfB6mVZYWJhQKES7Ch0kJSUVFhbu378f7UJwY8qUKRUVFWhXoQE8nukOmzZt4nA48+bNQ7sQSA/wum+GIAgues0qLy8fM2bM8OHDYWB0VV5evmPHDrSr0ACvmSGTyYmJiUVFRWgX0pbMzMz58+cfOXJk6NChaNeCPyKR6ObNm2hXoQFej2cAANHR0VgevCE+Pp5EIp07dw7tQvDK1tYWm2PawOMZ/ZPJZHPmzPnggw962t1jPQSOM1NVVTVjxgxjY2MejycWi+/fv492RQAAcPv27f3798fExKgGG4Q6jMvlnjhxYuHChWgX0hz+9s2io6NfvnyJIIiqO2DVRDs7u/z8fDc3N3RrS0xMzM7O/uWXX9AtwzA0NDRcvHgRg5nBXxvAoUOHbGxsCARC0y5mTExM0A2MTCb78ssvjY2NsX/LFF6YmZlNmzYN7So0wF9mAACzZs1q2k2JUqkMCAhAsZ47d+4MGzZs7ty5c+fORbEMA8Nms6dMmYJ2FRrgMjOTJ08ePnw4iURSPWUymYMGDUKrmJ07d2ZkZGRlZfn5+aFVg0Hicrn79u1DuwoNcJkZAEBsbGzv3r1VDRhMJhOVA26hUBgdHW1mZrZq1aruf3WDpzqeQbsKDfCaGQDAtm3bbGxslEqljY2NtbV1N796ZmZmeHj4mjVrZs2a1c0v3UNg9nhGq7ZmRKYQC7A4MGJWVlZ8fPyUKVO6+cPdt29fVVXVd99915mVKJWAZY6/dkuoncw8u8P/79/62gopjUHqxqowTalUIghCoVA6uR4LW+PSPJF7P8bgCAs6G4bnjfnz5z98+LDZRIVCgZ1bndvKzJ2LtTVlMv/h5kzzzn4/II0QmaKuSnLlcPnkGAdTyx7RqXm7Hjx4sHLlyvr6+qYT3dzcjh07hl5R72j1eOb2+dr6amTYJA4MTNchU4hW9rSpK11PbC8RNSBol4MJgYGBnp6eTadQqdSJEyeiV1FzmjNTVyWtKZUMiujuA+sea+Q025vnuGhXgRWzZ89uev7N3t5+8uTJqFb0Ds2ZqSmVKJW4H8gFR0ytjPIf4+m20y4VHBysPnlAIpEiIiIwNRqP5swI6uVWvXA/OD2OGFFJtq60hjq4e/bGrFmzmEymatQ6rPVopTkzMolC1ojFxmUDVlMqwf8YbXoTHBzs4+NDJBInTpyIqY0MLq9rhjBIKlGUvBQJeIiIL1cogF7aM4Z5LWGIB1uBkelH9DCWE8WYaMIgmbBIbAuKg4dJZ1YFMwN1ypPr9bkPBFUljRwXJiJTkozIJCOyUqmH75URzX7gEHuRRB9VAgAaFNUViFwmJZHF1b+UO/vQewcyXP0YHVgTzAzUQY+u8m6k1th4sI3N2X08bNAuRwfmThb8KtHjm6Kb/9QOm2jh1Ieu0+IwM5DOakolF1OqyDRj7/edCUT8HYQRSURTWwYADJq59N+ztTl3BeGzODos3pW1QQboxb2G1OQKay+OtbsFHgPTFJVp5OBnoyAz9q0qEPC0PQaDmYF0UPhM9CCzwSXYgUwxnOsP6WZU9yEOR+KLJGK5NvPDzEDaenKj/uY/PFtvHXZj8IJEIXkMdfpzY5E2WxuYGUgrFYWNDzP5dj4GGBg1l2D7w1vb72USZgZqHyJVXD1Z4xhg4MMZkI1IDn6ci4eq2p4NZgZq37XTXAqjU+cB8cLElFpZLC16IWpjHpgZqB1CPpL3SGDhyEa7kG5i6Wr+799tDQemt8yUlBZ/uyZm/IQRYeNCFi6KfvLkUYdXhSBI9KxJSXv10Cf81cz0kaOCmv3b/5uGLsg2bl4769M3F5wXFORFThh5/cZvaGgSAAALdklEQVRV1VOBQJD78nnni8Gp+5d5HA9ztKvQbENcxIkzW/S7ThrL2JhJfZUtaG0G/ZzTFIvFX3/9mUQqmfrRTKlUcu9eFqET1xsSCAQmk0Wl6u3C6g/GTbS2fnui2s+3nc7QyGQyg8Ekk958OPMWRA0eNMzTw0tf9eDL8zt810EOaFfRrUhUo9yHQpe+mq+s0U9mnmQ/Kq8o+2FDwtCQEQCAuXOWdGZtJBIpac8fui6lVCpbC+rYMRG+vv7ar8rR0flwyln1U6lUqmsx7ZaEF+WvxFQGhWxkOGdjtMGyMsm72eqo0frJjETSCACgUDRcs93Y2Ji8f8/ljPNSqaSXg9PUqTPfHzkGAHDi5OGMKxc/mjJj//493NoaDw+vFcvWOjo6l1eUTZ8RCQCInjFHlT0utyZp7/bbd24gCOLb13/RwhhXV3cAwM5dWzOvXV6xbG3i3u2lpcUJ8Yn9A4N1KjvjysU//vylsrLc2clVoXhz78P5C6lb49YDAOLj9gT1Hxg1PaKurvb0meOnzxzncGyOHj7XRklXM9PXb1j1w/qEY8cPPn/+dFrUJ3NmL9bLJ4yW4lwxw7ojFzJqI6/gftqlxLKKXCbD3N0lKHz0YhbTEgCwdtOoyeO/yX52NefFDRqVMWjApDEj34x4JZfL06/uz7p3WioVu7n2l8kau6IwEoVkbk8vKxDbudJa/lU/xzN+vgFUKvWXX3cVFRU2na5QKNas/erWrWszps/+Kma1u3vvHzauTvvfGdVfnz3L/uuvg8uXr92wPqG6qvLHrbEAADNT8x82JJDJb8Lc2Ni4bMWi+w/uLJj/xbKY1TXc6mUrFjUIGlR/FQoF+w8kxny56ocNCYEBrY6EzKuvq6qqVP1TT0y/fP6HjastzC2Xfr5ywIDB+QUvVdMD/AcsmL9UPdu62DgmkzVs6MhdO5LXxca1WxIAYOfPWyPGTYrbunt8BIbuyO2YqmIpidwlDUUv8+/++ucXHGuXqRPXvDdkekHhw70HPpNK32Tg6Kn1djaeS+buDewXfjHj15wXN1TT/z4Xf+nqfi/PIZMiVhhRqOLGhjZfpOOkEgW/VqbxT/rZzrDZprHfb92yNXb23KkjR46ZN+czGxtbAMC1fzP+e/LwSEqqpaUVACB0VJhYLDp56si48AmqBTdt3G5ubgEA+PDDqMSk7fX8ejaLPTRkhHqX5lJ6WlFR4baEJFUkfH0DpkdHnjp19JNZ81V7TSuWre3Tp2/b5X0fu1L9+NKFLDKZLJFIdu9J8PMLiI/bo+rDtrS0OC8/FwDA4dj08wtUz+/V25tMJltYWKr37touCQAwaeLHY8dG6OWDRZ2oAaFbd8mO2el/tg0KmjQp4s2oTJ7uA+N3ffwiL8vXewQAIDgwctTwTwEAdjaed+6fyc3L8u4dUlL2POve36OGzw4PXQQACAr4IP9VV3XgRDIiC+s1X0qjt+uaBw0MOfjn36dOHf3r+MEbN65u2byrX7/ArKzrCIJMj45UzyaXy+n0t9t6KvXNto/DsQUAcGuq2ax32jQfP77PoDPU2xAbG1tHR+cXuTn/vzi1aWAkEklt3ZueKKytOOoOnRfMX+rs5Kp6rJr4JPtRfT1vyuTp6nmIJG2/GW2XBAAI1HEXEcsaRQq2sf4vfq+tK6+sflVTW5x173TT6bz6NzsCRkZvvhgkEonNsq7nVwMAnuRcBQC8N+Rt/48EQledLCEbkYStXEejz4+DyWB+Mmt+eFjkFzFzd+2O2//r0bo6roWF5U8Je5vORiJreFEKmQIAkCuaJ1sgFLBNzZpOYbHY3Jpq1WMa7Z0TbTnPnixbvkj1+MRf5y0sLFWP+/r0a9YGUFVVAQCwsenIie22SwIAmNAM5/SfUqEEQP+jejUIuACA0SPn+XmPbDqdybRsOTORSFYo5AAAHq+CSmXQTbrpTFFrvcjo/yfE2prz/sixR47+IZPJmEwWj1fH4dgaGxt3bG1WltY5OU+aTqmt5XKsNd/h5Ori/sOGBNVjJpOlcR4VU7YZAIDHq9OyjKY9J+pUEt6ZMEmIRG6s201Z7aNRmQAAmUxibeWs/VJ0ulljo0CGSCnkLu8hAJHImaaa06G3TVvTg+D8/FwqlUokEgMDg+Vy+dnUE+o/icVinVbr4+PX0MB/9iz7/9f8srS0uLWGYzbbdGjICNW/tjtecHPzJBKJ6Zf/p00NNCqNy317YlinkvDOhEWWSbS6Ql4nVpaOpmybuw9SJdI33we5HEEQzcfcag72XgCAh/9d0Hs9LSkQhM7SnBn9bGfq63nTZozvHzjQ0dH52bPsh4/uTZ/2KYlEGh06LvXcqb37dpZXlHl6eOXl5V6/ceX3305of74ydFR4yuED6zZ8MzN6HpFIPHgw2dTUbELkRzqVd+HiuYeP7qmfBgcP8ertHR4W+U/aaalEEhw8hMutuX37upmZhcbFfX0DLmecP3zkdyaT5ePtp5eS8ILjaFz8Sv+ZIRAIE8Z99ceRb37eN3dw8IcKhfzew7T+/mFNj1Va6ucTmn71t5NntlRUFtjbehYWP+E3VLcxf2dQKIBl2ZWZkclkgwcNe/T4/r37Wfb2vZYvW/PBuIkAAAqFEr91z6/JP2dkXDh37pSDg2Pk+ClkTcczrSGTyfFb9yQm/ZS0d7tCofDzDfhsyXIzM90u5fgn7Z0DTQaD6dXbe+nnK42MjNIvn793P6tvX383N8/aWs09WS5c8EVtbc3BQ8mmbLMlS5a5urp3viS86OVJe5pVbeag/0MIX+8Rc6J/unD5l7Np26lUhouzv6tzO9dnkEikeTN3/H0u/tbdk1Rjhp/P+3QTU70Xptox41U02jprODnTah/ndy7UShtBvxGG+T3ApuM/FU79yoHRyj40ipLXvnIKsqN0QesZZtWW8Fl0Weh0zX0v96APAuqYPgNZ1VViUztmazP8l53x15lNLadTyMYyRHNXS0vnJ3OsXfRVYdqlxJt3TracTqMyWzvpuXTBfk7rzQ8KidRjWKtXP8DMQO0ICjU9EFvYRmZ6ew5etuRgy+kIIiOTNQ8qwWbps/v84SEzBgVpGDhAqQStXe7XRgHCuka5RObk1WpbIcwM1A5jGqlviGnFa56lk+aDB2MjmrGR5l3/7kE3YevxpA33Ve3o6RpOE6nBe86g9g2dYCEXibUZRhLvhLUiB3eqrUtbPwEwM5BWxsywfnWnFO0qupZEJKvO477/sVXbs8HMQFox4xgNm2Be/Kgc7UK6UN6tkhnfOrY7G8wMpC2PAGboNMvixwYYG4lQlnO5cOGPrhSj9hMBMwPpwNaZ+t5E89x/iyTCDt67ikENNcLynMoFP7qQKVrFAWYG0o2Tl8mMVb0E5bXlz6tkEnwPzCbgil/fL2VQJZ9+76RlYGBbM9QRdBZ58lL75/f410+XMa1MqCwq05pOxE9/51Ix0lAtVCIyIEfCZ1lbO+rWWwvMDNRBXkEsryBW7oOG3IfC5xnVVs4MmVRJopDIVCOAvVZpJaKQIwgilZMpBEGtxNWX7hHAdHDvyJ1OMDNQp3gGMj0DmQCAsnyxoB4R8eUyqaJRiLnBWClUAp1JNWGRWBZkK/tOdQMGMwPph50bmpcCdCfNmTGiEhQAN7unhsHS3hh+5Ligua2AaUapfq3bDZVQZzSK5JWvxQw23OzjgObMWPcyxnn/jzhTVylx9++qrvcg/Wp1O2PvTr12sqLb6+mh0lPKhk5o61paCDs036ep8vRW/ctHgn7DLcw4Rl3UmWIPJ+Qj9VWSy0fKZ69zpjHgjhk+tJUZAMCrp8JHmbyKV40kMtxX0zOrXsa8KqmbLz1kghX8eHGkncyoScSYa3HHO6VSSTXpWf3tGwZtMwNBkAo8SoEg3cDMQJBuYGYgSDcwMxCkG5gZCNINzAwE6eb/ACPYVgmFaM4WAAAAAElFTkSuQmCC", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "editorial_flo.draw()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "journal_company = FloTeam.create(session, \"Newspaper\", [marketing_flo, editorial_flo])\n", - "\n", - "r3 = FloLinear.create(\n", - " session,\n", - " \"linear-router\",\n", - " journal_company\n", - ")\n", - "\n", - "master_flo = Flo.create(session, routed_team=r3)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhUAAAM+CAIAAAAimmRoAAAAAXNSR0IArs4c6QAAIABJREFUeJzs3XVcFPn/B/D3Brt0d6uIgSIqimILFnYXdrdn1xlnnGef3d1dp6InJiZ2oSAKonTXsvn7Y/xy/hRrhB12eT0f/rE7OzP7Ztfd187n85nP8FQqFQEAAPwkPtcFAACARkJ+AAAAG8gPAABgA/kBAABsID8AAIAN5AcAALAh5LoAKBI5mfLUeFlOpjwnQyGXqxRyDRilzeeTUIevbyzQNxKYWOoYmelwXREAfAsP539ok/QkWcSjrDdPsuVypUiXr28k1DcWGBoL5TINeJcFQl5OljwnQ5GTqSBSSSWq0pUNSlc2sLATc10aABQA+aEl8nIVN04lZ2fKza1FpSob2LnqcV3Rr0p4J4l8kp2WJBPweb5tLAyMcawMULwgP7TBwyupd86l+ra2qORrwnUthS8sNOPGyWTP+ibe/uZc1wIA/0F+aLxzO+JsnMVVG5lxXUjRenYj/fWT7DZD7LkuBAA+wvgrzXZ0VUwZTwOtDw8i8vA1qVLfZPuct1wXAgAf4fhDg+1bFO0TYF66kiHXhahPQozkn82x/WaX4roQAEB+aKzzu+JcKhqUq27EdSHqFvUi+9HVdDRkAXAO+aGRHl9LU8hUVRtrf7NVgZ6GpOflKqqjOx2AU+j/0DwKuer6iaQSGx5EVKmOycMr6TmZcq4LASjRkB+a58bpJN9WllxXwTHf1hY3TiVzXQVAiYb80DA5WfL0RJlXQ1OuC+FYhZrGcpkyJT6P60IASi7kh4aJfJKtzjOxnz59mpfH/jv6Fzf/NhMLUeST7CLaOQB8F/JDw7x5kl2qsoF6nuvUqVN9+/bNzc3lZPPvKlXJ4M1T5AcAZ5AfmkQuU+ZkKlwrqik/WB86MIP6iu7Ig2HrqssX8LIzZEX6LADwNZiTTpNkJMvlMmVR7FkikSxcuPDq1atEVLVq1QkTJoSGhi5cuJCI/P39iWjWrFmtW7eOj49fu3ZtSEhIVlaWi4tLv379mjdvTkRpaWn+/v5jxox5+fLl5cuXy5cv37Zt2y83L/SyVUrKSJYbGGOmdwAOID80SXaGvIg6P7Zt23b69OmhQ4daWlqePn1aT0+vTp06gYGBu3fvXrFihaGhobOzMxHJ5fJnz5516tTJ1NQ0ODh4xowZTk5OHh4ezE62bNnSuXPn9evXCwQCGxubLzcvdAbGguwMRVHsGQC+C/mhSYouPz58+KCnp9e3b1+hUNiuXTtmoaOjIxFVqlTJ1PTjcC8HB4dDhw7xeDwiatu2rb+//+XLl/Pzo3LlyiNGjMjf55ebFzp9Y2FOBs4CAeAG+j80iUpJOrq8othzixYtJBLJqFGjIiIivr3mq1evxo0b17x58/bt2ysUiuTk/07CqFmzZlHU9g0iMQ/zJwBwBfmhSfSNBBnJRfJz29fX9++//05OTu7Wrdu8efPk8oKf5e7du3369JFKpbNmzVq0aJGJiYlS+V9/jJ6eui9alZEi1zMUqPlJAYCB9itNYmAszC6y5hpfX99atWrt27dv+fLldnZ2AwYMYJZ/OkPa5s2bHR0dV6xYIRQKfzAwinSCtaJr0AOA78LxhyYxNBUYGBfJz22pVEpEfD6/Z8+eVlZWYWFh+fGQmJiYv1paWpq7uzsTHlKpNCcn59Pjj898uXmh09UXGJrh+AOAG/jtpkl0DYSyPNWHyFz70oXcUrR///4rV64EBAQkJiYmJiZWrFiRiKpUqSIQCJYsWdKmTZu8vLyOHTt6e3ufOnXqxIkTJiYme/bsycjIeP369deOML7cvHBrTo7NS0uUmViICne3APCDBLNnz+a6BvgJeTmKhHd5zuX1C3e3ycnJ9+7dO3v2bGRkZJs2bYYMGcLn842NjW1sbC5cuHDt2rWMjIxWrVpVqVIlMjJy//79oaGhTZo06dq1a1BQUPny5S0sLHbu3Fm3bl0meBhfbl64Nb+4nWlkLnRyL+SXAgB+EK7/oWFSE6Q3TycH9LfjuhDu/bs3vpKvia2rLteFAJRQaL/SMGbWIoEO79W9TPevXHlQIpEw54R/ydHRMSYm5svlDRo0mDNnTmFX+rnVq1cfPnz4y+VisbjAmU7s7e337t37tb1Fh+VkZ8gRHgAcwvGH5slMlR1Z+b7vLNcCH1WpVLGxsQU+xOMV/Hbr6emZmRX51ajS09OzswuY7lAqlYpEBfRhMCexf21v+xZHN+lhY+kgLuwyAeBHIT800u2zySZWOuW9jbkuhBuRT7I+vM6t286K60IASjSM39VIPi0sHl9Lj4+ScF0IB9ISpSEnkxEeAJxDfmiqLr85HVvzXiYtkul4i7N9i951n+TEdRUAgPYrTaZQqLbNetN+hIOFXYnoBshKk+9bHN1vlqtQhN89ANxDfmi8vX9F12ppXrqSIdeFFK2YVzkX9sb3mOws1sMJ5wDFAvJDG1w9mpgYk+fb2sKulLpnMFSDxJi8G6eSjC10GnWx5roWAPgP8kNLfIjMvXEq2cpBZOuqV6qSgUhX41t4FHJV5JOshHeSd69yfVtbOpfDeeYAxQvyQ6tEvch+eS/zzdNs5/L6+kZCA2OBgYlQz1Dw9UkOixE+n5ebJc/JUGRnyKV5ylf3MktXNixbzbBMZS1vmgPQUMgP7RQTkZMSK83OUGSny4koL7eQA+T+/fteXl58fmEe5eiIeHwBT99YYGAsNLPWcS5vUIg7B4BCh/wANnx9fS9duiQWl4hxXwBQII1vJQcAAE4gPwAAgA3kB7Dh4eHB4/G4rgIAuIT8ADaePXuGnjOAEg75AWyYmZnh+AOghEN+ABupqak4/gAo4ZAfwIazszOOPwBKOOQHsBEdHY3jD4ASDvkBbHh6enJdAgBwDPkBbDx+/JjrEgCAY8gPAABgA/kBbLi6uqL/HKCEQ34AG2/fvkX/OUAJh/wAAAA2kB/AhkgkQvsVQAmH/AA2pFIp2q8ASjjkBwAAsIH8AAAANpAfAADABvIDAADYQH4AG4aGhhh/BVDCIT+AjaysLIy/AijhkB8AAMAG8gPYwPWjAAD5AWzg+lEAgPwAAAA2kB8AAMAG8gMAANhAfgAAABvID2DD09OT6xIAgGPID2Dj8ePHXJcAABxDfgAAABvIDwAAYAP5AQAAbCA/AACADeQHsFGlShWuSwAAjiE/gI1Hjx5xXQIAcAz5AQAAbCA/AACADeQHAACwgfwAAAA2kB/Ahr6+Pq4/CFDCIT+AjZycHFx/EKCEQ34AAAAbyA8AAGAD+QEAAGwgP4ANMzMz9J8DlHDCApdmZr7NyHir9mJAY6SmJsfEXBGLdbguBAD+Y23traNjqLanKzg/oqOD3r07Y2TkoLY6QLMolYqoqMMikYDrQgDgo4SEp40bbzUxcVPbMxacH0Tk5OTr4dFFbXWAZuHze/j6jhOLRVwXAgAfnT8/Uc3PiP4PYKNKlXJEOP8DoERDfgAbjx69JEL/OUCJhvwAAAA2kB9QjFy/fm/y5KWfLjl69MKKFTtZ7Grv3tPe3p1zcnJ/aqusrOywsMhPl5w4EezvPyAuLpFFDQDaDfkBbJiZGRfF6R/h4dEhIQ/y8qT5S0JCHoSFvSn8Z/qKbt0mnDgR/OkSsVjH0FCfz8cnBeBz+FQAG6mpGUUxfWJ4eJREknf79mPmrkwmu3PnyWcHBD+C9dyOUqnssyXNm9c7fnyVtbXFT+0nOvoDuwIANMhXx+8CqF9ERDQRXb58p359byK6d+95bq6EiN6/j3dwsCGikyeDDx4MioiI1tfXrV3ba8KEvmZmJkT011+bL168NWPG0OXLd7x7F7d27e//f7dRfftOb9WqwZQpg4hIIslbs2bvuXPX8/JkLi52vXq1adq0DhG1ajUsJSX90KGgQ4eCbG0tT59eN3v2mtOnLxPRrVv7hELh+PGLXFzshULBsWP/ymTyunWrTZky0NDQgIiSklIXL956+/ZjHR2hj4/nxYu3Tp5cY2Vlzt1rCVDkkB/ARunSjoXefiWTyaKiPjg52V69ek+hUAgEguvX79vbW8fFJYWFvWHy48mTcFdX+4CAeikp6fv3n83OzlmxYiqzeVZWztq1+6ZMGZSbK6lRozITRUSUnZ0zefIyNzfn8eP7EpFSqfztt4UfPiT269fe3NwkNPTZtGkrcnPz2rZtvGjR+JEj51evXrFnz1YikQ4RdevWQqlUnjlzNb/I3btPNW3qu2LF1DdvYubN22BlZT5mTC+FQjF27MLk5LQpUwYmJaWtXr3X29sD4QFaD/kBbERGxhR6+1VkZIxCoRg4sNOsWasfPXpZrVrFkJD7TZv6Xr589+XLN35+tYho2rTB+fNuCYXCrVuP5uVJmdMYpVLZjBlDK1Uq+9lu585dn5GRtW7dTB0dHSIKDr794EHYqVMfDw6aN6+XkyPZt++ftm0bV6zoJhQKLC3NvLwqMNuWL1+6dGnHT/fm7Gw3d+5oHo/n4eEWHHz75s2HY8b0evo0PCwscuHCcf7+tYno7dv3J09eksvlQiE+X6DN8P8bigvmiKFOnaqVKpW9dOm2lZXZu3dxjRr5vHsXl9+FLpPJ9u8/e+bM1bi4JF1dsVKpTE1Nt7W1IiJdXfGX4bF//9l//705alTP/A6M69fvy+XyNm1G5K+jUCgNDfV/sEhdXXF+gNnZWT169JKI4uOTicjR0YZZ7uxsp1QqpVIZ8gO0G/5/AxsCgaDQ26/Cw6PMzU1MTY39/WsfOHDW3t7a1tbSw8PNzc350KEgpld87NiFz5+/Hjy4s6dnueDg2zt3nlAqPx4H6evrfrnPjRsPubk5HzhwrmvXFrq6YiJKTk6ztDRbv37Wp6sJhWwm8tLRESoUCiJycrIloocPw8qXL01ET5+GW1mZ6+vrsX0lADQD8gPYUCgUhd5+FRERXbq0ExH5+9dasWLnnj2nGzasSURubs4pKelJSalRUR/u3Hkyb97o5s3rEVF0dOx39zlqVE8/P59OnX7buvXo8OHdicjY2DA1NcPOzuprk3exGLtVoUKZWrWqrFy5OzY2MTU148qV0Pnzx/zsTgA0DsbvAhteXuVVKmXh7jMiItrNzZmIbG2tKlUqGxeXxPR5MAvDwiLT0jKZPglm/bS0DKY//Bv7bN/ez9bWqk+ftrt2nYyJiSOimjUrKxSKw4fP56/DDPFi6OnpJiWlsSh+4sT+zs52UVEfzMyMt22bx3SEAGg35Aew8fBhGI9XmP95pFJpUlJqmTJOzF1//9rm5iZVqpQjIgcHG11dcVjYm8qVy4pEOqtX7w0Jub99+7ENGw7l95p8W+/ebS0tzZYt20FEAQH1PDzc/v571+LFW0+durR06bbOnX+TSPKYNatWrXD9+v3t248dPXohIiLqB4uXy+V9+kz196/dokU9Dw+3jIzsrKzsX3gxADQD2q+ADQ+PMoXb/5GRkU1E+fnh51crOjqWOeubz+eXLu0YFvZm4MBO8+ePWbp0+6RJDz093TdsmLV+/YH9+88yzVzfIBaLxo7tPXny0hs3Hvj6Vl2zZsaqVXuDgkKOHr3g7GzfqVPT/P6P0aN7JiWlbt58xMzMeNy4Pm5uLj9SvFAorFWryubNR+RyObPEyMjg4MFlGMIL2o1XYGvvs2cbiNJw/Q/4TEDAEB0dIRG9f59ga2spEPAVCqW9vfXGjXO4Lo1jzAkrTPfJ+/fx3bpNmDdv9HeDDaAQnT8/0cdnYbG4fhTAl/h8wfv3CcztuLgkZtTT5MkDua6LY3l50j59ptraWlarVlEk0nnw4IVEkmdra8l1XQBFC/kBP6Fy5bKfzURbpoxzvXrVuauoWODxqGXLBkFBIevXHxCJdNzcnBcuHJffzw+grZAf8BO6dWvx9Gl4bOzHCDExMezTpx3XRXFPJBL16tWmV682XBcCoFYYfwU/oUqV8uXKueb3mbm7uzZsWIProgCAG8gP+DmBgW0sLc2YE/F69mzFdTkAwBnkB/wcL6/ylSq5qVQqd3eXunVLes8HQEmG/g8NI5WoEt9T3s9dlbWQtWjQIzHKoI1/QOTTIriG1A8TicnSnnQNiuA6iADwA5AfmiRol+rtM5V9aXFRXPvvZ5Tu1OQ3eTI9DeGyCB0xL+aVxLEcr2mgSiBAigCoG/JDM8hlqqOreBVqW/q2Mea6luIlNjLnwNL4TqNVIl1ECIBaof9DMxxbS9X8rV0rIjw+Z1dav157+0MruK4DoORBfmiAiEdKc1t9GxcDrgsppkytxU7ljJ7fKeT5gAHg25AfGiAxhsT6BV+sAhh6RqKEKLRfAagV8kMD5OXyTS2QH99iaqmTl4v/zABqhY+cBpDlkkLO8YirYk6hIEk2XiIAtUJ+AAAAG8gPAABgA/kBAABsID8AAIAN5AcAALCB/AAAADaQHwAAwAbyAwAA2EB+AAAAG8gPAABgA/kBAABsID/gW56/eJqXl8fV5gBQnCE/4KvOBZ0aMbKvRMLyYuu/uDkAFHPID/gq1ocOKpXqVzYHAI2A658DEZFEIlmxcuGNG1eJyNOz6sjhEx4+Cl3x90IiatfBn4gmT5rVvFnrhIT4LdvW3r4dkp2d5eTk0qN7P3+/5kSUnp7WroP/0CFjwiNehoRcLlu2fECLtl9uzvVfCQCFCfkBRER7920LCjrdr+9QCwvLoPOn9fT0fGrW6dI58OCh3X/OX2FgYOjo6ExEcoU8LOxZ2zadTIxNr14Pnr9ghoODU4XyHsxOdu/e0rZt56VL1gsEAmsrmy83BwBtgvwAIqLYuA96eno9uvcVCoUtA9oxC+3tHYmoQoVKJiamH5fYOWzfeojH4xFRixZt23f0Dwm5nJ8fFStWHjhgRP4+v9wcALQJ+j+AiMjfr4VEIpk8ZVRkZMS314x4/Wr67+M6dWneq097hUKRkpKc/1C1ajWLvlIAKC6QH0BE5FPT988Ff6ekJg8Y1G3J0nlyubzA1e4/uDt8RB+ZVDpp4qw5sxYZG5soVcr8R3V19dRYMgBwDO1X8JFPTd8a3rWOHN23dt1yGxu7XoEDmOXMYCrGrl2b7e0dF8xfIRQKiUjvBwLj080BQJvg+AOIiKRSKRHx+fzOnXpaWlqFh4flx0NSUmL+aukZaW5l3JnwkEqlObk5SqXya/v8cnMA0CY4/gAioqPH9ofcuNLEPyA5OTEpKbFcuYpE5FGpikAgWL12SYtmbfKkeW1ad/Ty8g4KOnXm7AljI5NDR/ZkZma8ffP6a0cYX26u9j8LAIoQjj+AmLFSMql03frl/5w53qFDt65dehGRg73j+HHT372LWr1myeXLF4iof99hNbxrr1q9eOXqRdWr+cye+VdyStKDh6EF7vPLzQFAm/AK/PH47NkGojQPjy5clASfu7CLrF0sS1cx4rqQ4ut9RM7LO/Fth3FdBwB3zp+f6OOz0MTETW3PiPYrbSORSDp3bV7gQ/Z2jh9iY75c7uvbYOrkOUVd2KbNq0+eOvzlcpGOWCorYKYTWxv7TRv3FnVVAMAa8kPbiMXijRsK/trl8Qo+3PyRYVS/rkuXXq1adfhyuUwq1RGJvlwu4AvUUBUAsIb80DY8Hs/O1p7rKgpgYmxiYmzCdRUAUGjQfw4AAGwgPwAAgA3kBwAAsIH8AAAANpAfAADABvIDAADYQH4AAAAbyA8AAGAD+QEAAGwgPwAAgA3khwYwMCUe5oL6Jh6RsSXXRQCUMMgPDWBgokyIzuW6imIt4V2uvhEulAugVsgPDeBUjrLTC5jhHPKlJ0tcKyI/ANQK+aEBzG34pTwUVw/Hcl1IMRVyIs7GSWbjjP/MAGqF+ds1g2c9lY4479y26DJVTC0cdMW6+K4khUyZECOJCc90dJNVbYiDDwB1Q35ojAo1VeY2sic3kqOe89KTlNwWkyeRinULuOiTOpnZCPSNlF71lU7uSFMADiA/NImNC9/GhYhURDxuK/H17Xfp0naxmNsIYUIU4QHADXz2AACADeQHAACwgfwANry8yhOhyxqgREN+ABsPH4Zx3gcDANxCfgAb5cqV4iE+AEo25Aew8fLlGxWarwBKNuQHsOHh4YbjD4ASDvkBbDx7FoHjD4ASDvkBbFSsWAbHHwAlHPID2Hj+/DWOPwBKOOQHAACwgfwANqytzXH+IEAJh/wANhISUnD+IEAJh/wANnD+IAAgP4ANnD8IAMgPAABgA/kBbJQvj/YrgJIO+QFshIWh/QqgpEN+ABvW1hY4/gAo4ZAfwEZCQjKOPwBKOOQHAACwgfwANnD+BwAgP4ANnP8BAMgPAABgA/kBAABsID+ADU9Pd8y/C1DCIT+AjcePX2H+XYASDvkBAABsID8AAIAN5AewgfM/AAD5AWzg/A8AQH4AAAAbyA9go0qVchi/C1DCIT+AjUePXmL8LkAJh/wAAAA2kB/AhqurA8ZfAZRwyA9g4+3b9xh/BVDCIT+AjQoVSuP4A6CEQ34AGy9eROL4A6CEQ34AG9bWFjj+ACjhhFwXAJqkS5dxYrEOn8+PiYnr3Xuqjo6Qx+MZGRmsWfM716UBgLohP+AnvH4dzfvfcUdERDQRiUTCceP6cV0XAHAA7VfwE6pXr6j6//0eLi72nTo15a4iAOAM8gN+QmBga1NT4/y7Ojo6Xbu24LQiAOAM8gN+Qv36NUqXdsw/BHF2tmvXzp/rogCAG8gP+Dn5hyBisU7PngFclwMAnEF+wM9p0KCGm5uzSqVydLRt08aP63IAgDMYf1XIpHmqvBwtPzOiU7v2Ua/Tu3funJnKdSlFTKRLYj2uiwAorpAfhebxNdXDKyqFnMfjaf2Z2Z7d6i1Le0ZHnmn5XyoU8RQyZaU6vOp+Wv6bAIAF5EfhuH5cIMkR+/U0MzYXcV0LFKbMVFnEg7Tzu3Ka9lJyXQtA8YL+j0Jw9SjJlfo+LW0QHtrHyEynamMrY0vjoJ04BAH4f5AfvyouSpmTJaruZ8l1IVCEPHzNhCLdqBc4BAH4D/LjVyXFkECAZkDtJxQJE2O4LgKgOEF+/KrsTJ6loz7XVUCRs7DXzc0RcF0FQDGCH86/SpJNPD6aNbSfXKbKydDy8WYAPwXHHwAAwAbyAwAA2EB+AAAAG8gPAABgA/kBAABsID8AAIAN5AcAALCB/AAAADaQHwAAwAbyAwAA2EB+AAAAG8gPDvQb0GX8hGGfLgm9d7uRn/fNm9cKZf8x79818vO+GBzEYtuIiFejxw5s0bLuhInDC1whJyenY+dmSuV/U37FxEQPGRrI4rnCI16y+KuzsrJehYd9uuTM2RPtOvjHx8exqAEAWEN+wH9kMtmMmeNUKtWsmX/16zu0wHXevIlISUl+9uxx/pJbt6+/eftaLperp8iBg7udPXvi0yUikdjAwJDPx39mALXCRw7+8zYqMj4+bujgMbV86nh4eBa4zuvIcCK6dv1S/pJbt67LZLK3byN/6rlUKpZz2Uql0s+W+Ps137PruJWV9U/tJyYmml0BAMDA/O3FUWzch7Vrl927f1skEruXLd+///Dy5SoS0ZMnD3ft3vzk6UMiKl/OY+jQseXcKzCbpKWlrlm7NOTGFZFIXNXL+9v7P3/+nz37tn34EGNhYdkyoH3PHv34fP7OXZu3bV9PRCNH9zc2Njlx7GKB2755E0FEISGXhw/7jWnOevT4PhGFR4S5ubkT0dlzJ48fPxj5JkJPT79mjdojR0wwNTUjostX/p3zx5S5c5YcOLQrLOxZ92596tVrnL/b3NzcocN7iUXiVSu3isViiUSyecuai8HnpNI8J0eXLl16NW7UlIi69WiVmppy/MSh4ycO2djY7t97euGi2UFBp4noQtAtoVB4+Mje4EvnO3fquWXLmuSUpLJly08YN8PZ2ZWIkpOTVq1efO/ebaGOTvXqPlevXty8cR/zEACwgPzghkwuS0iIz7+bnp6Wfzs5OWnU6P4ODk4jR0zg8Xjnz/8zZuzA9Wt3lSpVJi7uQ540r1fgQD6ff+LEoSlTR+/bc0pXV1cqlU6YNPz9+3ddOgfa2tqfOHHoG08dFHR64aLZfn7NB/Qf/vz5k63b1hFRr8ABjRo2UalU23dsGDxoVKlSbl/b/HVkuIOD0/v3716/Di9Tpuz9B3fkcrmDvWN4eFiL5m2I6PnzJ87Ork2aBKSmphw9tj87J/vP+SvyN/971V8D+4/o32+Yo4NzWnpq/vJly+enpqZsWL9bLBYrlcrpM36Li/vQs0c/U1Pzhw9D586bJpHkBrRoO3vWokmTR3pVqd65U08dkYiIOrTvplQqL1w4k7+rFy+eHjy4a/z4GXK5fNmy+X/+NWvdmh0KhWLa9LEpqcljxkxJSUnatHl1VS9vhAfAr0B+cOPJk4ddu7cs8KFduzebmZovXbxOKBQSURP/gMDe7U6fOTZqxAR//xZNmgQwq5UrV3Hc+KFPnj6s4V3r+ImDr1+HL160xru6DxF5VPTs069TgTtXqVSbt66pXNlrxrR5RFS/XuPMzIz9B3Z07NDdycmFabOq4lmtYsXKX6v8TWREx47d//337PWQy2XKlL1163qFCpXKupULj3jJrDDut2k8Ho+5LRQKd+/ZmpeXJxaLmSXt23Vt1qwVczs/P46fOHQxOGjhnyvtbO2J6Oq14MdPHuzbc8rS0oppnsrNzTlydF9Ai7bly1UUCoUWFpaVK3sx27qXLe/qUvqzIufPW25ubkFEHTp0W7tueXpG+rvot6/Cw2bNXNiwgT8RRUe/PXvupFQqFYlEP/ymAcD/g/zgRpkyZQf0+2+AU8TrV8xxABHdvh2SkBgf0Kpe/qMymSwxIZ6IeDzeteuXDh7aHRX1Rl9fn4hSU5KZ3ojSpd2Y8CAivuC/y6zm5eWlpCYzt62tbD58iElKSuzapVf+CjVq1D5z9kTM+2j3suW/rDM27gNzw9TETE9PLz4+Lis7y9W1TIMG/tevX+rTe9DtOyEdO3QXi3Uv/HtGqVTy+XyZTHb02P4L/55IHd5LAAAgAElEQVRJSIgTi3WVSmVaWqqNjS2zn2rVan72FC9fPd+7b3uNGrVr1qjNLLl167pcLu8R2CZ/HYVCYWBg+OMvr66uHnPDxsaOiJKTEhMS44nI3t6RWe7o6KxUKnNzc5AfAKwhP7hhYmxau/Z/CaHzybdYSmpy7dr1Bg8c9en6zLcn00XRsUP3wQNHJackzfljilKlJKKEhLiyBX37E9HzF0/Gjf84kurwwXNZ2VlEZGpqnr+CkZExESUlJhSYHz16fvwSnzF9vl/jZkznR+lSbvb2jnv3bb9+/XJSUmK9eo2TEhNyc3NjYqKdnFymTR/78tXzPr0HV6zoee1a8P4DO5kiGfp6n18rftfuLaVKlbl792Z4xMuybuWIKDU12cLCctmS9Z+uJhCy+b+qI9QhIoVS4eDgxBz2MX/mixdPLS2tTExMWewTABjIj2LHyMg4PT3ty6b5vLy8vfu2tQxoN3LEeCL6tPvE1MQsNTWlwL2VLuU2948l+Xtmbnza3cJsmP/QZ/K3Ledeken80NHRsbd3FAqF9nYOq9cuKVOmrIO9I7P5q/CwlJTke/fvTJ82z9+vORG9/4ExTr6168+auXDo8F6rVi9euWIzU0xaWqqNjV1+q9dnWIzdKudeoYZ3rY2bVsbHx6alp4bcuDJj+vyf3QkAfArjd4udatVqPn366OWrF/lLcnNziUgiyc3Ly3P/34Cr9Iw0ImLO4ytbtvzLl8/fvYv6cm8mJqZ16zRk/olEIgsLS1sbuzt3QvJXuHLlX11dXTe3cgUWk78tMzr2zZsIJycXpmOmQQP/+Pi4+vX8iMjYyNjS0io8PIypKv9Q5tMivyagRVuhUDhqxMQnTx5e+Pcs8wooFIqTpw5/9gow9HT1kpOTfuYV/WjUyImOjs7vYqJMTcxWr9rGdIQAAGs4/ih2+vQefOvW9YmTRnTpHGhmZn7nzg2FUjHvj6UmJqalS7sdPbbf3NwiOytrx86NfD4/MjKCiLp373v+wj9jfhvUqWMPC3PLi8HnvrH/vn2GLFw0e/GSuTVq1L5//871kMt9eg/W09P7kdpeR4a7lXFnbjdo4L9v/456dRsxd0uXcgsPD+vUsYdIJNq0eXXLlu0jI8P37tvGdLk7/K/j4WuqVKnWqGGTDRv/ruPboIl/wKnTR9dv+Ds27oN72fIREa+uh1zavvWwrq4uEVWuXPVi8Lm9+7YbGRl7VPQsXfqrQ8U+JZfLh4/s07lToIODE4/Hy8zMyMrKMjT8iT4VAPgMjj+KHQd7x9Urt3p4eO7Zu3XN2qVp6an+fi2Yh36fvkBPV++PuVMPHNo1bNhvvQIHBAWdkslkDvaOfy1cZWVpvX3Hhl27N5cuXfYb+2/WrNXYMVMePb4/f8GMu3dvDh40qk/vQT9SmEwmi4mJdnUtw9wt516hZo3apUp9vFuqlFtExEsrK+sZ0+eHR4TNnjPp3r3by5ZuqFWr7tFj+39k/0MGj8nOztq9Z4uOjs7iv9a0atk+ODho2fIF9x/cadO6k/B//R9DBo+u6uW9a/fmvXu3vf/w7kf2zIwE865ea9fuzfPmT587b9qkySN79GwdHf32BzcHgC/xCmxKfvZsA1Gah0cXLkrSMFeOqPSMLCr4mHBdCHyHQqEQCARM98mH2PcDB3UL7DmgZ49+P7j568eZ8W+TmvX6gVUBuHD+/EQfn4UmJj90RF4o0H4FJUJeXt7wkX2srW2reFbT0RE9efJAIpGU+t+xFACwgPyAEoHH4zVt0jI4OGjb9vUikahUKbdZMxf6+tbnui4ADYb8gBJBJBJ17dLr0xMnAeAXof8cAADYQH4AAAAbyA8AAGAD+QEAAGwgPwAAgA3kBwAAsIH8AAAANpAfAADABvIDAADYQH4A/KiEhORXrzBlL8BHyI9fpWdAIjGP6yqgyAmEPIksfdas1Skp6US0Y8eJe/eecV0UAJeQH7/KwFQVH53DdRVQ5JLeS6rXdN23b4mZmTFzQaotW44QUU5O7rJlO27ffsR1gQDqhvz4VTbOpJTLua4CipxcKrVxJmYqXyIaMKDj2rUziUgsFtnYmF+4cJOI3r2L/eOPddev3+O6WAB1QH78Kkt7vpmN9ObpeK4LgSJ0/2KSUChxcCvg8yIQCHr2bD1jxlAisrW1rFLF/eXLt0QUGvp04sTF164hS0BrYf72QlArgHc/OOfq4ZgKtSwt7MV8PrpDtEfyB0nEwxQ9g7w6Hb7/turo6LRt68fcrlKlXEZGdkZGFhH988+VkyeDe/duV6dOValUJhLpFH3hAEUO+VE4qjWmV/fzQs+/z0whxfdas1RECoWCiIQCgZrq+xkyuVxH+NX/GAqlks/n8UizM1Iml3965eZPL+Is/uTLXaTL1zNUVqqj8qj10++Ujo5O48Y+zO2AgPq2tpZyuZyIVqzYef/+80WLJjg72yUnp1lYmP7qHwPAEeRHoXGvxnevRqSiPMlX17l162GtWl7h4VEhIfc7dGhibGyo1hK/JzExdebMVW/exMyePaJWrSoFrjNgwMxp04aUKeOk9uoK08OHrxct2hIbm/TZchsby/37l+TfFekSj1cIbbw8Hq96dQ/m9qRJA8LDo/T0xET0xx/rXr+OXr9+lqOjbVxcoq2t1a8/F4DaID8KG4/Eep8vY5osWrQY4uvr1aCRVyVPl0qeLtyU93VXr4YuX74jOjrWwECfJ5B9+VcwGvlVdXY1/9qjmsKndoWRo7ssWrQlMTElf6FKpTp2Yrsanr1s2Y/v/t9/T42NTWSyZMeOE2fOXD1y5G9LS7PHj196epZTQyUAvwL950Xr/v3nAwf+/uFDAhEdOrT899+HcV1RwTZtOrxw4aZ37+J4PB6PR/KvjygbMKCjoaGBeqsrEo0a1Rw8uJO5uUn+EoGAP2jQzAMHzubm5qmtDDs7K1NTYyKaPHngP/+sNzTUJ6INGw76+HQjIqVSee3avawsDBCH4gj5USRevHjNDOIMD48aMaKHq6sDETFfDcXQpElL9u49nZDw8Ze4QqFUKlUFrqlUKo8f/1e91RWh9u2b9OzZknlfVCrVnTsHJ07sHxX1oXPnsVOmLLt1S92ndBga6uvqiolozZrfb9/ezzR8HTlyvmXLoUSUmys5fz4kLS1TzVUBfA3yozDJ5QoievDgxfz5G83NTYmoa9cWVatW4Lqub+nS5bcrV0IzM7PzlyiVSpms4OOPpKTUDRsOqbG6ItenT/vWrRvp6+vx+Xwicnd3nTRpwOnT6/z8au3adXL06AUbNhyIi/u8m0RteDzeihVTr1zZSUR8Pv/SpTuzZ69mfqCcPHkpLS2Dq8IA0P9RaBQKxZw5a5OS0tau/b1sWZfdu//iuqIfdfDg8rp1A+VyOXNaHPNLnBke9iVdXfGUKQPVW2CRGz++b2ZmdkjI/U8XNmni26SJb3x88okTwQMGzChXrlSzZnWbNavDXZkkFov+/PM35rapqfGDB8/j45MGDer87783k5JSmzWrY2Zm8r19ABQm3qejGPM9e7aBKM3DowsXJWkSqVR2+PD51q0bCgT8S5futGzZgOuK2KtevRMTIXw+7/ffh7du3ZDrioqRO3ceHz9+8cqV0K5dWzRt6lu+fGmuK/pPZOS7I0cuVK5ctnnzegcPnpPJZK1aNTQxMeK6LlC38+cn+vgsNDFxU9szov2KpdTUdCIaMGBGbGyCvr6uvr6eRofHgQNnBwzoGBp6yMzMWCaTfy083r+Pv3Dhhtqr417Nmp4LFvx28eJWJyfbuXPX9+gx8dSpSxKJ+rrZv6F0aaeJE/s3b16PiLy8ysfHpzx9GkFEO3Yc37HjeHo6+kugqOD446e9fv3u999XDhnSpUGDGlzXUmj8/PodObLS1PQ7P1qvXLl74kTwsmWT1VVXMfXy5ZurV0O3bz/eoEGN9u39atSozHVFBXj16u25c9fr1KlavbrHpk2H+Hx+x45Nv/sWg+ZS//GHYPbs2V8uTUy8RySxtvZQWx3F39u37y9cuOnh4fbmTUzTpr75p4NpgWPH/jUw0G/a9PuN+zwez87OysXFXi11FV+WlmbVq3sMGNBRLpcfOHBu7dr9OTm5Tk62BgbFaIidhYWpj4+nvb01EZmYGL569VZfX9fe3nrTpkMPH4aVKePEjPUCrfH69QVHR39dXXO1PSP6z39IYmLK+PGLxo7tTUTalByMI0cuLFo04UfWdHGxR3h8qlmzus2a1Y2LSzx+PLhPn2l161atWdOzSRNfruv6nJubi5vbx5MWGzWqef78jcjImKpVK6xbt18sFnXu3MzISBvO6QE1Q//Htxw6FNSu3SgiMjIyOHLk73r1qnNdUeE7d+6ai4u9vf0PzZzx5k1Myez/+DZbW6uhQ7uePbuhadM6Fy/eqls3cPHirRER0VzXVTA3N5fhw7szw8obN/bJzZVERX0gopUrd+3YcSI39+vT7wD8fzj+KEBU1AeRSMfOzio9PXPjxtnMuFWuiyoqwcG3hw3r9oMrx8Ymnjx5qRj+vi4matSoXKNG5dxcyYkTwdu2HYuK+tC+vV/bto2FX5+PklvlypUqV64Uc7tx41rBwbfev09wc3NetGiLi4t9x45NhcLiOMUnFBPF9L81h7ZvP3by5KWtW+cR0cCBnbgup2hduXJXLleUKuX4g+uXLu3o51eriIvSeHp6ut26BXTrRi9evD527GKdOoHduwf4+dWqXNmd69K+pVKlspUqlWVu+/nVunjxVnp6poWF6R9/rK1e3UOjhxdCEcH4q4+Cgq7n5cnatGn04sXrChXKcF2OmvTpM23q1IHF6mwGrXT+/I29e0/n5Uk7dWrWsWMTrsv5Of/+ezM09OmUKYOio2P37j3dqlXD/JiBYgXnf3Dj0qXbV66E1q1bjYhKTniEhNyvXLnsT4WHVCrbvftUURalnZo29d2+fcGcOSNfvoysVy9w1ao9GjT1iL9/7SlTBhGRnZ1lmTLOoaFPiejMmaubNh2Ki0vkujrgUonOj1OnLvXoMZGIatf2WrBg7KdTsZYECxZsDAxs/VObiEQ627cfZ86dhJ/l7u46bdqQS5d2GBnpd+w4dtWqPQkJyVwX9RN0dHQ6d27Wt297IqpRo5JCobxyJZRpBT158hI63kugEpof0dGxzOWStL57/Gs2bz7cqlVDW1vLn91wxIjueXnSoimqRBAKBX37tr94cWv58qX69Jn211+bs7Kyf2C74sXKynzo0K5du7ZgRnU/ePD81KnLRHT+fMi9e8+4rg7UpMTlR0RElJ9fP6lUSkT9+3fQjktZ/KzY2MRnzyJ+fNjVp9q398dl8gpFkya+Z89uKFXKcfjwufv2/cN1Oey5ujrMmjWiS5fmRKSvr7tx48GnT8OZ4xLMnqLdSlB+MD+LkpPTjhxZmX8uVck0YsRc5lxIFiIios+fDynsikquLl2a79y58P37hH79pmtBd0LdutU3bJjj4eFGRI8fv2rffnRMTDwzcxrXpUHhKyn5MX78ojNnrhKRj0+VEj4F0IYNB/r378j6NHIHB+s//lhX2EWVdBMm9Pvtt96LF2978uQV17UUAmYi51GjegYHb7O0NCWiuXPXd+06nrkKFtfVQaHR/vmvwsOjLCxMjY0Nevb8ub5irXTw4Lm4uKT+/Tuw3oOOjrBMGSdDQ319fQ2/BnoxY2Nj2axZncmTl5Yr52plpb4pjIoac+5kq1YNa9SoZGpqHBX1YebMVTk5uRUrqm+YaQmh/vmvtPn4QyaTjRmzQKlUMiOsuC6He/fvP3/x4vXkyb96AagGDWpYWpoVUlHw/2zfvmDNmn3h4VFcF1L4mKs4u7k5T58+hJlu69Gjlxs2HNCgoczwGa3Nj8zM7Pv3n48Y0SN/eoYS7sGD50uXbps1a0Sh7G3y5KWfXvIWCtH8+WOGDCmgVUBr2NlZNWtWl4jKlXPl8fgHDwYR0e3b6r7aPPw67cyPs2evZWXl+PhUcXd35bqWYuHlyzcnTlzas2dxYe2wbt1qS5duL6y9wadMTIxGjeq5ZcsRrgspcrq64sGDOw8e3JmI3r79UKNGl2I76SQUSAvzIyEhOSTkvp0dxph+FBn5burU5bNnF86RB6N160bTpw8ucPIb+HWlSjncuPGQ6yrUqmvXFrdv7zc01COi2bPXPH78kuuK4Pu0MD8yMrLnzRvDdRXFxZ07T5Yu3X706MpC37NCobxz53Gh7xaIyNOzHJ/PUygUXBeiVnw+nzm1qF07P2a0JLpGijlty489e065uTlzXUVxcerUpW3bjq5Z83tR7FxXV5yenjV16vKi2HkJFxMTn5SUKhCU0LnTvbzKMzNuJSSkDBkyGychFltalR/79v3D42nVX/Qr9u8/c+/e83XrZhXdUzRtWmfEiO7x8Zo0iZNGePXqLbrumBnDBg3q9ODBC64LgYJp1betmZlxq1a4SgER0bRpy5VKZeH2eRTI0dHWxsaCaW2AwnLt2j1cZ4Xh7V2pYcOaRDRq1PyS1qBX/GlVfjRvXs/Y2JDrKrjXvfuEBg1q9ujRSm3PGBn5DrPmFZa3b98/fRretGkdrgspXsaP7zt//kauq4D/R6vyY86cNSV8avGIiKhBg2bOmTOyWTO1fvuMHNkzKytHnc+oxY4fvzhiRHeuqyh2XF0dZs4cxnUV8P9oVX7w+XzmggQl06lTl6ZPX7l27UxOms4bNKjBnFeo/qfWJmfOXE1OTmvcGI1XBbt9+/GkSUu4rgI+0qr8GDUq0MurPNdVcOPvv3feu/f8wIGlOjpcXtO+e/eAWbNWc1iARktKSv37711z547mupDiy8fHk2kv5boQICLi8rum0JmaGpXAuXWlUln//jM6dGgyZow/17WQl1cF5oK4V67cZY5I4MdNn/73tm3zua6iuFu0aALXJcBHWnX8QURxcYktW5agRtLQ0KcNGvSePn1whw7chweDuZhjXFzSn39u4roWTRIYOHns2F729tZcF1LcZWZmJyencV0FkBbmh62t1fTpQ4KCrnNdiDrs3n1q06bDN2/uq1ChDNe1fK5r1xaNG/sQEc4O+REjR86bOLF/MXwfi6GrV0MPHjzLdRVAWpgfROTr68XM7qndhg6do1AoNmwovhO1Mk3VDx48X7t2H9e1FGvDhs2ZMKFflSrluC5EMyiVytzcPK6rANLO/CAiuVy+bNkOrqsoKk+evKpZs+uAAR369GnHdS3f17x5PbFYFBYWickWC9Snz9R+/Tow18aAH9G6daNx4/pyXQWQ1uaHUCj08HCbNk0Lp2batOnQ0aMXbt7cW6NGZa5r+VEDBnR0crJLSkrFhdM/0737hIkT+9esqTFvZXEgk8kkEhx/FAvamR9E1KxZnZkzh8vlcq4LKTRKpXLQoJkKhXLWrBEaN7OegYGelZX5pUt3QkLuc11LsfD+fYK3d+clSyZWqlSW61o0zMmTl7S4dUGzaG1+MAOBgoJCZDIZc7du3Z5cV8TezZsPhwyZPWxYt6FDu3JdC3t//vmbjY2FRJJXwsfvX758Z8GCDaGhhxwcbLiuRfMIBAKhUMN+P2krrTr/40v29tbDhv2RlJT67l0cEf311+Zfv/q3+q1YsTMiInrTpj+4LqQQuLm5qFSqyZOXjR3bu06dqvnLGzXqs3jxJG9vD06rU4f16w+Eh0cV0aT6WqxXr8kvXnzsRePxeAcPnlOpVA4ONidPruG6tJJLm48/iKhq1QphYZExMfE8Ho+I3ryJ4bqin5OSkj5t2goLC9PVq2dwXUuh4fF4hw4tz8zMyl/SoEHvzMycLVsOc1qXOixYsFEg4C9dOonrQjRPr16t9fTEPB6P+Swz8xU1b679Iy2LM23Oj3btRlav3kkikeYvSUvTpAvRXLhwo2vXcf37d+jVqw3XtRS+5s3rEdGQIbMDAoZmZ+cSUURE9PXr97iuq6h8+BDv7z+gYcMagwZ15roWjdS0ad3SpR0/XeLsbNu1awvuKgLtzY8hQ2ZlZeV+uoTH40mlspQUzZigd+bMVffuPbtwYYt2X05xw4bZCQkfTzBMSUnfvPkQ1xUViXPnri1fvuvQoWW+vlV/YHUoWGBga3193fy7jRrVsrAw5bSikk5r82PDhjnjxvUuU8ZZT++//3A5OZLY2ERO6/q+V6/eNmkywMfHk7mEp3arXfu/icp5PF5UVOyFCzc4rajwLVq05dq1+4sXTzAzM+G6Fs3WpEmd/BNlXFzsu3ZtznVFJZ3W5gcRBQQ0OHhw2fDh3VxdHcRiERFlZeXExRXr/Nix48SsWasPHFjWsqX2X0jRz6+fTPb/BlhnZGRv3XqUu4oKmVwuDwyc7OJiP3/+GK5r0RKBga1NTIyIqFGjmlZW5lyXU9Jpc34wundvuX37/D592jo720kkee/fJ3BdUcGUSuXQoXPS0zP27Vtibl4ifqhWruzu7u5qa2tpZmasqytmhta8exd36tQlrksrBE+fhtepEzh9+mC00Reipk3ruLjYOzradOsWwHUtQLwCZ5V49mwDUZqHRxe11ZH4XvUgmB8frczNKqpZLlSkkssVOsJiOmRZrlDw+Xz+/8aWfJuhKZ/HIwc3nk8LpVjvhzbhUOQT1fNb/NxsSo0v4PrVKiLV/0M8HhXbt+nHyeTyn/orTK34BiY8z3oqJ/eiLKswZKer7gTxY98oFXIqug/s1yiUSpVKJeTiFFojc76JBVVtRHal1P/k33f+/EQfn4UmJm5qe8Zi8Sl9+5x34xTfs4FFRV+RnmGxKKmY4/MpI0WWmSLb8Ud8l3E8UyuuC/q6+8G82DfiUp7GFva6OiLtP95lTSpRJMfmhV5Iy0iRe9QqvnOFJcbwTm5U1WxhWcZLx9BUp0TNapaXo0iJz7t2LMWrgdK9ekn6y7+C+y/rsLuq53d0Wg91/IF14T/mtmJzW7FLRcPjq9+26Ke0tC+ORyEhJyk7U69+J5xl/X0iXb6hqY5LBcOrR2NzMyXeTbguqCDvI1RXj/K7jC/NdSHcEOnyjcx1XCoYXj7wITdbUqV+cfzQqRPHvwclOcrntwVNAhEe7Pn3crhxqjj+ro99o8xMFdVuhfD4OfU72MVFCZNjlVwXUoA7Qfxm/Zy4roJ7Dbvav30uzEgpju+ROnH8vRMbyRNofks3twxNdJJjlZmpxe5o+v1r0jUUc12FRhLriz+85rqILyR/UOVkEhohGSJdUTF8j9SM4/8KGclk46LPbQ1awKWCYfKHYpcfuZl8Kyc9rqvQSDYueplpxa5tJDVB5VDWgOsqigtrV/3MlJIepRz//XkSlVxa7L74NE5OpkIuL3ZfN1nppFTgzWVDKaec4jdPglzGk2QVMIKuZFLKVDlqH3tW3JT0/AQAAHaQHwAAwAbyAwAA2EB+AAAAG8gPAABgA/kBAABsID8AAIAN5AcAALCB/AAAADaQHwAAwAbyAwAA2EB+AAAAG5qXH2PHDW7k593Iz7tJs1qBvdtv2bpWIpFwXdTnZswcP2RoINdVaJj09DTmnW3k5922vd+EicNfvHia/2i/AV3+mDuV3Z537NzUyM87Li42f8mFf8/u2Lkp/65UKm3Rsu6ff836clu5XB7Yu/269SuYuwqF4smTh+zKAPWIef+ukZ/3xeAgrgvRfpqXH0Rkamo2oP/wLp0DTUxMd+/Z+tei2VxXBIWmfr3Gs2YuHDRwZEpq8sTJI+Lj4359n7Vr1yOiu6E385fcuHHl5s2r+XcfPb4vkUhq16r35bY8Hs/IyFhXV5e5u3jp3GUrFvx6SQBaQCOv3WRhYRnYsz9ze9qM3y5f+XdUSrK5uYU6a1CpVDxeEU6ZXtT7L7bKlHFv2MCfiNzdKwwZGhh671bLgHas9/b+Q4y9nYN72fJWVtZ3795s3aoDc0hxN/RmdnZ2cnKShYUlEd29e1MoFHpXr/XptsxbIBAI1q3Zkb9QmpfHrpIS+4aCFtPI/PiUV5XqN29ei0+IMze3kEgkm7esuRh8TirNc3J06dKlV+NGTYno3buo5Sv+fBH21MjIuJZP3bFjpvD5/K+tnJAQv2Xb2tu3Q7Kzs5ycXHp07+fv15x5rn4DupRyLePqWubosf15eZJDB84ZGho+efJwx86Nz188IaIqVar36zvUvWx5Zv3tOzaeOn1EoVA0bOA/fNg4kUjELD9x8vDBQ7uTkhJsbe39Gjfv2qWXWCy+fOXfOX9MmTtnyYFDu8LCnnXv1qd/v2Hcva7c0xXrfuPR5y+ert+w4uXL57q6er616w8b9puxkTERyWSyrdvW/XvxbG5ujqdntVevXvQKHNi2TafateoFXwqSy+VCofDBw9Ds7GwiunnrWquW7Ynozt0blSt5GRoafvYWr165beDg7kQU2LP/gP7DFy6afenyBSJq5OdNRHv3nLSztSeiBw9DN21e/fr1KzMz86peNQYOGMHE0qd7s7O1X7d2pxpfPw1W4AckPOLlqNH9Fy5YuXHzqtevX9nY2A0ZNLpOnQbMJmlpqWvWLg25cUUkElf18ub6LygpND4/4uI+EJG1lY1SqZw+47e4uA89e/QzNTV/+DB07rxpEkluQIu2i5fOjY5+O2L4+Jyc7AcPQ/l8/jdWlivkYWHP2rbpZGJsevV68PwFMxwcnCqU92Ce7u7dm5I8yYJ5y3NycwwNDe+G3po6bUyZ0mWHDhmrVCpv3ryqkMuZNV+Fh4l1dYcMGh0e8fLwkb3m5pa9ew1kQuXQ4d0d2ndzcSn97t3bAwd3xryPnjblD2arv1f9NbD/iP79hjk6OHP3onJJqVQoFIqkpMSNm1e5uJRq3KjZl+u8fRs5fsJQV9cykybOSk9L3bZ9fUJC3NIl64ho/ca/T548PHDACEtL63Xrl+flSVo0b0NEtWvVO3nqyIsXTytX9rp582o59wp8geDGzautWraPj4+LinqTf5Tz6Vvs4OA0948lc47cAUEAACAASURBVP6YwjwU2KN/YkJ8bOz7qVP+ICILc0siunf/zpSpo5v4B7Rv1zUzI/3I0X3jJgzdsG430+SVvzf1vooa7BsfkLy8vDlzp4waOdHO1n7b9vXzFkzfv/e0iYmpVCqdMGn4+/fvunQOtLW1P3HiENd/REmhkfkhk8kSEuKlMunDh6H/nDlet05DCwvLy1f+ffzkwb49pywtrYjI3695bm7OkaP7Alq0jYv74F62PPNLs0vnQCK6ei34ayvb2zls33qIaWpo0aJt+47+ISGX8/NDIBT+Pn2Bnt7Hy7KuXrPE1tZ+1cqtzLFFu7ad84u0t3dcvnSDQCBo2rRldPSby1cu9O41MCkpcc/erTOmz29Q349ZzcLCavmKP0eOmMDcbd+ua7NmrdT+ihYjO3ZuYnq2jYyMf5/x30v9qd17tvD5/EV/rTYyNGLWXLBw5qNH9ytVqnL69NGWAe26dunFNBnNXzDjydOH1avVrFq1hq6ubui9W5Ure924ebVlQHuxWLx12zqJRHLn7g0mYJidf/YW163TML/dydHR2cTENCU1uXJlr/xiVq1e3LpVh9GjJjF3vb1r9enX6W7ozXp1G325N/i2735ARo2cyLQTDBw4csjQwEeP79ev1/j4iYOvX4cvXrTGu7oPEXlU9OzTrxOnf0dJoZH5ER39tmv3lsztOnUaTJ40m4hu3boul8t7BLbJX02hUBgYGBJRE/+Avfu2r1y1qFfgQDMz82+vTEQRr19t37Hh5cvnzPKUlOT81SpUqJT/XRAb9yE6+u3AASPyG6Y+ZWhgKBAImNuurmWYBq57927L5fL5C2bMXzCDeUilUhFRUmICc7datZqF/WppmHZtOwcEtEtPTwsNvTV5yqihQ8Ywkf+ph4/uVa1agwkPIqpRozYRvXz13MnJRSqVOjg4McuZG5mZGUQkFourV/e5c/dmvbqN4+Pj6tZpqK9vsG79igcP7t65c8PR0dnR8eMB36dv8XfFxcVGRb15//7d6X+Ofbo8ISGexd7gux8QPd2PL6aNjR2TN0R07fql0qXdmPAgIv7/PndQ1DQyPxzsHceOnfrixdOt29bVr9vY0NCQiFJTky0sLJctWf/pmgKhkIgGDhhhZma+e8/Ws+dODh40un27Lt9Y+f6Du5OnjKrq5T1p4iwDfYOZsycqVcr8dfL/+xJRWmoK03T23YIFAoFcLiei5JQkIlowf8VnW9nbO0a/e0tE+nr6v/baaDwzM4uybuWIyLu6T3Jy4tZt69q07pQ//ImRnZ1lamKWf9fIyJj5KjExMTU0MHzy5GHnTj2JiBn+W6Z0WWa12rXqLV02/2zQSXt7x1KlyjBf7levBT94eDegxX9d9J++xd+VmppMRH16D65fr/Gny83NLVnsDb7xAXnz9vWnS3SEOkxrJxElJMSV/V+nI6iTRuaHrp6ed3Uf7+o+jx7dW712qbd3LXNzCyMj47S0VBsbO7FY/Nn6PB6vU8ceLZq3Xb5iwcpVi9zKuH9j5V27NtvbOy6Yv0IoFH77888cr6SkJn9thS8x33RE5Ozs+jN/cQnl4OCcl5eXkBD32ctlaWmdkZGefzc1NYWIDA2NBAJB9+59N21ePW/+dEtL6xMnD3Xs0N3JyYVZrXateiqV6uTJwx3ad2OWNGrYZMPGlQqFghng+4OYX8QMQ0MjIsrLk+ANLRTsPiCmJmbM/wFQM408/yPfuHHTZTLp3yv/Ylp+FArFyVOH8x/Nzc1lbuTl5RGRgYFB375DmZ7tb6ycnpHmVsadCQ+pVJqTm6NUKr94ZiIiJycXKyvroPOn5f/rM1epVF9bmVG1ag0ej3fs+IEvnxe+9PTpQx6PZ2JqRkQiHRHTEkVEHh6eDx/dyz9v9OrVi0TE9Em0a9ulhnet1NSUrKzM6dPmjRwxPn9v5uYW5ct7yOXyunUaMksa1PdXKBSGhoaVK3kV9PwF0NXVS0lJzn+XHR2dbWxsz547mf8+yuVymUxWeK9BycLuA1K2bPmXL5+/exdVxNXB5zTy+COfvZ1D/37D1q5bfvnKv038A06dPrp+w9+xcR/cy5aPiHh1PeTS9q2HdXV1Z/8x2dDA0Lt6rVu3rxNROfcK5cpV/NrKXl7eQUGnzpw9YWxkcujInszMjLdvXhc4eJ/H4w0eNHr+ghkjRvZt1qw1n88/f+Gf9m27NGkS8LWCHR2cOrTvduTovmkzfqtbp2FyctLxEwf/XPC3O46+/+f161dXrl7MzMy4cfPqvft32rTuaGJsQkRubuXOnD2xZu2ywYNGBfboHxwcNHnqqNatOiYkxO3YubGql7dXlepENHf+NGNjk9q16xMRj3jx8XE2Nrb5O69dq15c3AcPD0/mrrW1jYeHp5WlNfNz4UdU8ax29tzJZcsXVK7kZWRk7Otbf8Tw8TNnTRwxqm+b1p2UCkXQ+dNNmgR06tijaF4eLcfuA9K9e9/zF/4Z89ugTh17WJhbXgw+p8aSSzTNzg8i6tih+6XLF1auWlTVy3vxX2s2bV4VHBx0+vRRR0fnNq07Md8LFcpXCjp/+uq1YEtL6/HjpleqVIWIvrZy/77DUpKTVq1ebGRk3Kplhy6dApetWPDgYWi1qjW+fHZ/v+a6uro7d25at365iYmpu3sFB8fvjLsdMXyctbXNsWMH7t69aWFhWa9uIytL6yJ7eTTP1WvBV68F6+rqOjm6/DZ2av6w2oEDRmRmZpw7d7JP78GOjs6LFq7euHnVosVz9PT0m/gHDB0ylgn4alVrbN+xIX/uCoFAMGnCzKZNP4628K1dPyEhjs//77C7UYMm+W0mP6JJk4CXr56fv/DPzVvXmjdr7etbv17dRn/OX7Ft+/o1a5caGBh6Vq7q6VmtUF+SkoXFB8TB3vGvhavWr1+xfccGayubunUb3Q29pa56SzTep425+Z4920CU5uHRpaif/k6QUioxq9LQvKifSLtdORRbvkauW5XidXrz2e3kWM7KtaKhOp9UoVDkD3vLyMyYMnW0UChcuWKzOmv4da8fZibFJPr3LF5vaNhd1dvn+nXa2f7Autov7E56TkZyg47F6D06f36ij89CExM3tT2jxh9/AHxq6bL5r1+/ql27vqmpWfS7t5GR4S1btue6qBJq9pzJ9+7f/nK5lZVNYmL8l8uNjUz27D5RiAWMHjvwzZuIL5eXLVshPPxFgZscO/LvjzdmAl4p0Co1a/omJMQdObpXJpPZ2Tn07jWIGcsL6jd61KQ8aQHThcllMqGOzpfL+bxCHs4zc8afMnkBYxn4PJ6yoHYXpsGzcGvQbsgP0CoNG/gz0y8C59Q8pemXmNkloOho9vhdAADgCvIDAADYQH4AAAAbyA8AAGAD+QEAAGwgPwAAgA3kBwAAsIH8AAAANpAfAADABsfnnwt1SKkqRhOQaSg9Qz6PpyIqXq+krj4JML8BK3whifSK17tJRDyeSqyPX5wfCUU8HXGx+9Cp2f+1d99hUZwLF8Df2b7sAkvvRRHFgr1GsXeNBQsa0cQS47X3GKMxid0YSyyxd43dWBPrtSb22K69C0jvsGyd74/x7sdVFBiBd3Y5vydPntlhZ/bsgnN2OuW/BpUjSX6dQzeDDYh9rnV0FdzfsdzOnBqPOynxkRKns7P/0I3IqHBwYRKi8K/1jaTXOSp72iFoo9wfLp6ENRvpZrB2LMvKlcQ5/7uwlzQ3H6LT6mmnsEqGHL2bH+0Q73DyYMUSwbUaLUa9wdWXdgjaKPeHq49IrTHcPFuIW4jDW87ujqlUzywSC279I7iGKCU2O+pRFu0gVubxjTSdVhcQIrgtRQo7Udkq5r8OxNIOQt+9y6kiRucTJLjfUQmj//6bdGP02qxrJxKNBny1KRy9znx65+uAisZK9QVXHpzO/2L/cyHh8Y30PG9TBm8xm9i7l1Je3U/tMJB2lPeo0Yxx8dKd2xdr0JXSf60mE3vrXHJSdFrrvgL9R1eSBLF/s3lP05Vjab8vTZVIxUp7QUQSOIWdKCFKZ+9MQj9hK9Sm/yXgfcRipvso9szuxE0/xvuUk5uwqfIDGDb+uT60EdPpK+H+QgkhtVua7/yddXzzc20mcfaS6XNK+psBy7Isy+a+CXGJMRnMKXGGqo1F7b5AeRCh9AchpE5rUa2WbFoim52OZUxBsA4uRO1IGBr/igqrSXemSXdxQrRBr8W/uvdS2LEu3tZx86IqDUSV6rGZqSQ9SccU9U2f8nX27JVXr2L79Pm0hF+XEKJQERcv6/gdlQyh9AchRCRinNyJkzvtHNbB+hbEbj7Wl7lkWdPnIxIxDs7EwZlCZtnNFGPsa5+Su8k3vJcVfHsFAAABQn8AgDURiUQymYA2nJRm6A8AsCZms1mvx15SQUB/AIA1UShkGk2pP/NbGNAfAGBNcnL0qakZtFMAQX8AgJWRy2VqtR3tFEDQHwBgZXQ6fWZmNu0UQNAfAADAE/oDAKyJRCK2s5PTTgEE/QEAVsZoNGVn62inAIL+AAArI5NJ7e1VtFMAQX8AgJXR6w0ZGbipjCCgPwAAgA/0BwBYE6VS4ezsQDsFEPQHAFgZrTYnOTmddgog6A8AAOAJ/QEA1kSplDs7O9JOAQT9AQBWRqvVJSen0U4BBP0BAAA8oT8AwJrI5TInJ9z/QxDQHwBgTXQ6fUoK7v8hCOgPAADg4723oX/+/ExCwv2SDQMAkI+nT5OTk3NOn/6RdhDBycyMLeFXzLs/AgM/dXevVcJRAADy9fz52YyMV5Ur96EdRIhUKp+SfLm8+0Ol8lapvEsyBwBAQdjbv1AoctzcatMOAtj/AQAAvKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwCANZHL5Wq1mnYKIOgPALAyOp0uMzOTdgog6A8AAOAJ/QEAAHygPwAAgA/0BwAA8IH+AABrwjCMWCymnQII+gMArAzLsiaTiXYKIOgPAADgCf0BAAB8oD8AAIAP9AcAAPCB/gAAa8IwDO0I8Ab6AwCsCcuytCPAG+gPAADgA/0BAAB8oD8AAIAP9AcAAPCB/gAAa6JQKJycnGinAIL+AAArk5OTk5KSQjsFEPQHAADwhP4AAAA+0B8AAMAH+gMArIlCodBoNLRTAEF/AICVycnJSU1NpZ0CCCFEQjsACNGZM/9iWQPtFAB5ePgwMSZGe/r0U9pBShFHx+AaNb5+dzz6A/KQkPBPWNg3IhHuMg2C8/z5Fa02tnLlT2kHKS3S0l6+fHklzx+hPyBvbm4VRSIp7RQAb3NwiFEo9G5ulWkHKS0YRvS+/sD+DwCwJrh+u3CgPwAAgA/0BwAA8IH9HwCUpaamt2w58K2R1aqFrF07/a2Rv/9+csaMFX/+ucrV1cloNPboMaZJkzqjR/cjhJhMptu3H1avXpFfhv37Ty1ZsnXLljmenm4fzjlp0qDu3du8+9MjR85+992SPCds1eqT2bPH8Av2LoVCptHYF9Xc4GOgPwAEoW7d0Jo1K1keenq6fvj5DMM4OKgVCjn3cPr0FXfvPtm5cwG/V5fLpWq1nUjEf4NE+fIBQ4ZEcMOHD5/JyMju1asd9zAoyI/3bN+Vk6NPTc0owhkCb+gPAEGoWbPSoEHdC/58sVi8ceNsy0OdTs/vdVmWZRimbduwtm3D+M2BU65cQLlyAdzwjRv3X79OKNTbAWuE/gAQtAcPnv3007q7d5+4ujoFBHhzI2Ni4jt1GkYIGTAgfOjQ3t9/v+z48b8IIbVr9yCEHDiwzNvb3Wg0rlix49ChM6mpGWXK+Hz1Vc+mTetaNkONGtX3wYNnp09fCQkp4+vreejQaULIxYu/SSSSuLjE5cu3X7jwT2ZmdkCAd//+XT6yWnJydMuWbfvzz/M6nSEgwKtv306tWzckhLzvhR48ePbll9NmzRq1dOm2589jPD1dBwzompSUtnv3sYyMLF9fj+rVQ4ro04WPgv4AEISsLG1cXCI37OTkIJPJCCHPn0cPHvy9RmM/fPhnEolk9epd3BOcnR3nz58wadJC7uGAAV3j4hKjo+N//HE4IcTVVUMImTFj5R9/nBswIDwoyO+PP86NH//T6tU/1qjxZgfJ2rV7evRos2LFNLFYxDCM2Ww+cuQs9yOj0fSf/zzu3r21RmN/6tSlKVN+8fPzqly5HL/3ZTabx4yZExOT0L9/V2dnx6tX/zN58iKtVte5c/MPvFB2tnbOnDWTJg2Sy2Xz52/48cdfq1cPmTVrVGxs4rRpy7TanI/+vKEIoD8ABGHz5gObNx/ghpctm1qvXlVCyOLFm0UiZsOGmU5OjoQQkYiZM2cNIUShkDdtWpdh3kzr7++t0TgkJaVZ9p8/fx596NDpQYO6f/VVT0JIixb1u3YduXLlzhUrpnFPCA0tP2zYZ5ZXL1vW1zLs4+Oxa9dChmEIIZ07N2/ZcuDp05d598epU5f++ef+wYPL3NycCSFt24ZlZ+f89tvhzp2bf/iFRo/u16hRLUJIZGTHH35Y/s03XwYF+VerRnbs+OPBg+f8wkDRQn8ACEK7dmHcVh1CSIUKgdxmn7//vtm9e2uuPAghEklB/8Fev36XENKsWV3uIcMw9etXPXLknOUJdeuGfmDyhw+fr1y58+7dJ4QQk8mclJTH9Qp1Or1lvIeHi1ic99Vuzp+/bjQaua1tHJPJrFbb5ftCcrmMG5DJpJb/E0I0GnveO3ugaKE/AAQhIMA7LKxW7jGJiSlGo9Hb+70H1H5AZmY2t5nLMsbR0T47W5uVlc09VCrl75v2ypXbI0bMql278rRpQ1Uq5YQJ883mPE75vn374ZAhP3DD3CHFec4tKSnV1dXJst7DkUjEBX+ht5hMOP9cKNAfAALl5ORACElOTivg83Nf2MPd3ZkQkpaWwW014pbjEolEoZAbDMYPz2fNmj2+vh6LFk3iVneUSkWeTytXzn/+/AncsIOD6n1zc3BQp6Ske3m5WdYnCvtCIFg4/xxAoFQqOz8/zxMnLhoM+V9LX6mUJyWlms1m7mGVKsEMw5w/f517qNfrz5+/XrVq+fdtZcotNTWjfPlAbpmu1+uzs7XcbKVSCSEkPT2Le5pG49C0aV3uP25vf57q1g01mUy7dx+zjLHs/X7fC32YSMTk+xwoGVj/ABCE69fvrlmz2/KwTBnfFi3qDx7cc+rUX/r3n9KpUzORiPnttyPvm7xmzUoHDvx71qxV1auHODioGzeu3bFjk5Urd5pMZl9fj337TiYlpU6fPqIgSWrXrnzw4On9+085Oqq3bj2Unp715MkrlmVVKjtfX88tWw5qNPbh4a0K+L7atw/bu/f44sWbY2LiQ0LKPHz4/N//vrx79yKFQv6+F/rwDAuyjQtKBvoDQBAuX759+fJty8Pmzeu1aFG/XbuwjIyszZsPLF68uWxZ39DQ8i9exOQ5efv2je/efXL48Nlz5659+mnTxo1rT5r0pVptt2PHH+npWUFBfgsXfl2nzof2mVv8618RiYkpP/20zsFBHR7eMjLy01mzVl29eqdOndCZM0f99NO6Q4fOFLw/pFLpsmVTlizZdvTohb17j/v7e3fv3prb//G+F3JwUH9ghmIxtpoIBYOLIcO7du+uHx6+Cff/AOHo3Hl4dHTcWyOdnR2PHVtDKVFpkZh479atXc2br3/3R2hyALACkZEd5fK3v9B88kkNSnGAoD8AwDqEh7f28fHIPcbDw+XzzzvTSwToDwCwBmKxqGfPNpaDgFmWrVWrcpkyvvlNB8UI/QEA1qFLl1aWVRCsfAgB+gMArINEIu7evZVcLmVZtm7d0KAgf9qJSjv0BwBYjS5dWvr7e3t4uPTr14l2FsD5HwBQMA+vmV8/YwwGUXoSxYP+pS0rTc3R6m4ccb9BL4RSzUhlrEeAObRhqf4Kjv4AgHywLHtgJaNxd1A6Sn095Wz+FxkpVp50X54QwohIWpIhLdmweWZaxDgiU5TSS6qgPwAgHwdXif1CnIJrONAOIiDu/kpCSGAl+x0Lovt8zYrEpbFCSvXKFwDk6+px1t3fHuWRJ0dXWZ027id+K43lgf4AgHzcu0J8y3/oglSlnE851ZObJqO+NF4ICv0BAO9l0LMyucjR9b2XZwdCiH9FZXwU7RA0oD8A4L1MBiYj2UQ7hdDpc1iDjnYIGtAfAADAB/oDAAD4QH8AAAAf6A8AAOAD/QEAAHygPwAAgA/0BwAA8IH+AAAAPtAfAADAB/oDAAD4QH8AAAAf6A8AAOAD/QEAQmQymW7f5n+P2o+cHAoC/QEAQvTTz9MXLJpFa3IoCPQHAAiRXsfzkugsy37M5FBwuP85AFB28eL5VWuWxMREeXp6d/q0e3jXiDnzvv/36eOEkGYtahNCtm094OXp/cefB37/fefTZ4+VSru6dRoMHzZeo3EihJw+c+KHHydN/2H+jl2b79//T+9en8cnxL07Oe13aYPQHwBAU3Z29vc/fh0YUHbc2CnPnj1OSkoghER+NiAhPu716+hvJv1ICHFxdiWE3L17298/sFWr9ikpyXv3bc/Kzpo9c5FlPouXzB00YNiA/v/y9fHX6XLenRyKHPoDAGhKSU3W6XRhYc1btWxnGenr6+/oqElOSQoNrW4ZOXbMZIZhuGGJRLJl6zqdTieXy7kxXbtEtGnT0fLkdyeHIof+AACavL18KleuumXrWoVC+WnHcJnsvfdaNxgMe/dtP37iSHx8rFyuMJvNqakpHh6e3E9r1qxbgqmBYP85AFDGMMycWb+0ad1xxcpF/b4Iv3nzep5PY1l28rejt25b165tp7lzlrZq2Z4QYmbNlifYKe1KMDUQ9AcA0KdWq0ePmrRxwx6VSj1l6tjs7GxuPHckFefmzevXrl8eNXJS926fVapYpWyZcvnONvfkUBzQHwBAmU6n4zZkhXftlZmVGRsbQwhRKJTJyUlm85s1jLT0VEJI+eCQ3A8tP33XW5NDccD+DwCgyWAwfN6/W9MmrcoEBu3fv0utUnt7+xJCqlWt+cefBxYsnBVapbq9vUOliqEymWz1mqUdOnR9+vTRtt/WE0KePX3s4+2b52zfmvyTTxqX+DuzfVj/AACatDnaGtXrnDj5x6Jf5kik0lkzFykUCkJIq1btu3bpefrM8VVrlvzn7i03N/cp38589Pj+9z9MvHbt0oKfV9av32jvvu3vm+1bk5fseyotGGwihHft3l0/PHyTSCSlHQQoy8kiW2aZIyYG0Q4iaCe2RtVspg+oyNAOUiwSE+/durWrefP17/4I268AoMhcuHBmzrxp746XSeV6Q94XFFn6y/qAgDLFmiozM7N3n455/qhSxap37+WxdjJ86PjcZ5NAntAfAFBkatWqt2rltnfHG/R66XtO7HBzdS/uVHZ2dnmmIoQQlpC8VhscHTTFncoGoD8AoMgoFAoBXmlKJBIJMJUNwP5zAADgA/0BAAB8oD8AAIAP9AcAAPCB/gAAAD7QHwAAwAf6AwAA+EB/AAAAH+gPAADgA/0BAO/HshK5bV4WsAiJJQxDSuOFaNEfAPBeCjWTnW42GUvjwrHg0pMMKk1pbFn0BwB8iG+wOC0x70vnAiHEbGLNJrOm2C8CKUToDwD4kGpN2KvHEminEK4rxxMqN2DEYqx/AAD8r4AQpnID86ntMbSDCNG1E4lyhbZWC9o5KMH12wEgHyG1zWaj9uS2F0aDyKuMOifbRDsRZXKlKDE6mxCTh7+pQYfSuObBQX8AQP4q1RcFVTMmRDFpiSkGPc0kt249iI9PbtmyAcUMYgnxLUecPVkH51K9CQf9AQAFIleKfIOJbzDlGE8SX+oznldv8gnlHITkfefC0qRUlycAAPCG/gAAAD7QHwBgTcRikUwmpZ0CCPoDAKyMSCQSi7HgEgT8GgDAmhgMRq0W58MLAvoDAKyJSCSSyXDgqCCgPwDAmpjNZr3eSDsFEPQHAADwhP4AAGsik0nVajvaKYCgPwDAyuj1hszMbNopgKA/AMDKKBRyR0c17RRA0B8AYGVycnRpaZm0UwBBfwAAAE/oDwCwJnK5DNuvBAL9AQDWRKfTY/uVQKA/AMCaiMVipVJOOwUQ9AcAWBmTyYTrXwkE+gMAAPhAfwCANVEoZM7ODrRTAEF/AICVycnRJyen004BBP0BAFZGKpVg/7lAoD8AwJrg/lHCgf4AAAA+0B8AAMAH+gMAAPhAfwCANZFKpSqVknYKIOgPALAyBoMhK0tLOwUQ9AcAAPCE/gAAa4LzP4QD/QEA1gTnfwgH+gMAAPhAfwCANWEYhnYEeAP9AQDWhGVZ2hHgDfQHAADwgf4AAGsik0nt7VW0UwBBfwCAldHrDRkZWbRTAEF/AAAAT+gPALAmcrnM3t6Odgog6A8AsDI6nT4jI5t2CiDoDwCwMgqFzNnZgXYKIIQQCe0AAAD5a9ducHx8Mnf+oNlsXr16Nzf+2rXdtKOVXlj/AAAr0LFjU5FIxJ18bhn45JPqtHOVaugPALACvXt38PX1zD3G0dH+iy+60ksE6A8AsAbOzo6tWjWwXPyKZdnKlYNq1apMO1ephv4AAOvQq1d7f38vbtjBQf35511oJyrt0B8AYB2cnR2bN68nEokIIZUqBdWuXYV2otIO/QEAViMiop2fn6eDg3rgwHDaWQDH7wJYoef/MSfFkuwM2jkocGxUcVByclrWy4rnXppphylpdvbE0ZUpU5mIJYK4CQr6A8CaZKaye5cSR1e5s5dSphTTjkPBJ2GNaUegxmwi9y5nXzysaxbB+gTRrxD0B4DVyEwlRzeJW/TxcnCW0c4CdITU05jN7Kltr+q3M3mVpRwG+z8ArMbepeb6n6I8SjuRFzU59wAAIABJREFUiGkZ6b9/hcmgo3wrRvQHgHV4ftfs4CJDeQCn0ieaG2fQHwBQAEkxxMUb1y2HN1y9lEkxlHeBoD8ArEN2JiNTlMYd5pAnuZ04Kw39AQAAVgj9AQAAfKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgftHAdis/gN7Pn/+9K2Rx49elEj+5x9+VPSrvv26Tvl2ZovmbQghc+Z+//z5kxW/buZ+evfenaCywXK5/OPzRPbtEh0TleePNq7f7e8f+PEvka9/blwdO24IN2yvtg8Jqdw3clBoaHXeM8zMzIx5HVU+OMQy5unTx6PHfDlx4rRGDZsWRWThQn8A2DIfb9/WrTvmHiMW53MRXzuVys5OxQ3/efTg3Hk//L73RJH0R/fufdLT0wghiYnxBw/tbdqkZZky5bgfOTpqPn7+BdesaasyZcrFxsacPXdy7Pghy5dtDC5Xgd+sBg3u1aB+WO7+kEgkarW9RGz7S1fbf4cApZmHh1e/voMKNcnI4RMswzqdjt/rsizLMG9fXbxL5x7cwN27tw8e2tuoUTNujafkNW/ehls56Ny5x1dDIg8d2jtm9Df8ZqXX698a4+8fuG3rgcLOJzomytvL590PTcjQHwClUWpqyrLlP1/464xMJq9RvbZlfK/POsbFxVapUm3J4rV/Hj24aPEcQkiX8JaEkK8nTmvb5lNCyLFjh7f+tj4mJsrFxbVD+659PusvEom4zWVlAoMCA4P27tuu0+Xs2vGnWq0uYJ5/blxdvWbpkycPnZyca1SvM2jgMBcXV0LIH38e+P33nU+fPVYq7erWaTB82HiNxokQsnvPtrPnTrVu1WHjplVpaalBQeUHDhh64sQfFy6clkilrVt1GPzliHzXtAgh5YND7Ozs4uJjuYd5vrWr1y5NmDhs2ZL1lSqFck9r16FR1y4Rg78c0euzjikpyb/v3/X7/l0eHp7btx3i1tgIIT/NW1a7Vr3de7ad+vexHt37rF27LCk5MTg4ZPzYKdyWOoPBsG79rydO/qHVZletWvPhw3t9Iwd17tSd1++TDvQHgC0zGA3x8XHcsJ2dilug6/X68ROHRke/6tkj0tPTe//+XZbnjxs7ZfXqJdxwvboNe/aI3Llry+yZi1Qqta+vPyHk6NFDc+Z936JF24EDht69e3vd+l8JIX0jB3KTXLnyd44uZ9aMhdna7IKXx7Xrlyd9M7JVy/Zdu0RkpKft2fvb2PFDVv66RaFQ3L17298/sFWr9ikpyXv3bc/Kzpo9cxE31e3bNyRiyfffzY2Lj/15wYwJE4d92jF8/vxfL148v2HjSn//wA7tu+T70mlpqdnZ2R7unvm+tTx9P23exK+HV69Wq0f3PlKZjBBSo3qdwV+OWPXfz5AQcu/enZ07N48bN8VoNC5YMHP23Gm/LttICFmxavGBA7sHDRzm6ur+64qFOl1Ou7adCviJCQT6A8CW3b59I6J3B244ss+AgQOGEkJ+37/zyZNH3BdkQkjlSlU/7//ma2+d2vV37dqizdESQpycnL29fQkhFStW4fZPsCy7Zt2y0NDqUybPIIQ0DmuekZG+fcfGbuG97ezsCCFiiWTqt7OUSmWhQi5Z+tOnHcNHjpjIPaxdu/7n/btfufp3WKNmY8dMtmzSkUgkW7au0+l0lp0x302drdE4Va5c9fKVvy5ePD9m9DcMw1QoX/HYsUPXr1/+QH8kJSUmJibExb3euGmVSCTq0KHrB97aB5KHVKgkkUhcXFwte+A9PDyrVa351tNmzljo7OxCCAkP77X814Vp6WlqlfrQob0d2neJ6NmX+2Bnzppy+86NWjXrFuqjowv9AWDLgoKCB/Yfyg37+PhxA+fO/7ts2XJceRBCRAXYzsOJinqZmJjALfI4deo0OPLH/qjol9wO5IoVq+Quj4zMjMzMDEKIRCxxc3PPc56xsa9fvHgWHf3q0OF9ucdzq00Gg2Hvvu3HTxyJj4+VyxVmszk1NcXDw5N7jkz2pkhkUplUKrU0jaube1paKjf8OjaGG9A4OlmyLVo8h9s05+Tk/O3kGeWDQ169evG+t1bAD+cDFIo3r+vh4UUISUpMMBmNer3e8hvhBjIy0j/+tUoS+gPAljk6aBo0CHtrZHx8bHCu44UKLjMrkxCi0ThbxtjbOxBCEhPiuf5QKv5nzWPPnm0bN60mhPj5BWzasCfPeaakJBFCPu83uHFY89zjnZ1dWZad/O3oBw/vft5vcKVKVc+dO7V9xyYza843J8MwLMtyw5/1ebNRyHKAMiHki8+/qly56uJf5opEIm5H+gfemqwojj3jSCVSQojJbHJ01KhV6tu3b/To3ofbxkUICSobXFQvVDLQHwCljsbRKSUlueDPtyyL3d08uH0Glh9x8+EWte9q3qxNuXIVCCFKpd37Zq5W2xNCdLqcd8//uHHj2rXrl7+dPKNli7aEkOgoPqsC03+czw1UKF/JMjIoKLh2rXoTxk0dNebLTZtXDxo47ANvTW94+wirt1g+n4ITi8W9e3+xes3SGTO/dXV1339gV7fw3n5+AYWdD104/xyg1AkODnnw4O6rVy/yfSa3PpGYmMA9dHFx9fTwunz5guUJZ86cUCgU5d5z8oS/f2Cjhk0bNWz6gc36vr7+Hh6ef/x5QKvVcmOMRqPBYCCEpKWncodIceO5h2Zz/usfuXEBGjVs+u4GtKpVa3Tu1H37jk0PH93/wFtz0jgTQhKT3nwISUmJXDzLR5SUlFioSJwunXvWqV0/JSU5MzPj28kzhg8bx2MmdGH9A8CWxcW93rR5jeWhQqHo2SOyd+8vjh0/PGrMl927febi7Hry1J/vm7xylWpisXjp8vnt2nTS6XWdPu32xedfzZn3/U/zp9ep0+D69cvnL5z+vN/gwu4wz41hmGFDx303bcKwEV90+rS72WQ6euxQq1btu3f7rFLFUJlMtnrN0g4duj59+mjbb+sJIc+ePvbx9uX9cm/5ctCIvy+e++mnH39dvul9b83fP9DDw3PLlrVOGudsbfbatctyd1hoaI2Tp/7c9tsGe3uHypWqli1broAvPX3mZAcHxwYNGhNCGMLExcVa9utYC/QHgC2Ljolav2GF5aGDg2PPHpE+3r5z5yxZsWLRho0r3d08GjVqduXqxTwn9/H2HTf22zVrly1dNj84OKTTp93atOmYo8vZtXvrseOHXV3cBn85oldEv48MGdao2eyZi9ZvWLFs+c8qlbpqaI2qVWsSQtzc3Kd8O3PZ8p+//2Fi5UpVF/y8cv2GFXv3bW/UqMiuC6JSqcaM+uabb0dv+21Dv76D8nxrEonk+2nzFv8yd8LXw3x8/Pp/PmTm7CmWOXw1eGRycuLmLWs0jk5Dh44teH/UrFFnw8aVJ08d5R6KxeKJ479r3bpDUb21EsDw2HIHNm/37vrh4ZtEIintIPD/zv3OypTOleqX6HU+oPiYTCbLGY7pGemTvhkpkUh+WbQmv+neiH+Zc+PU626jijMiIYSQxMR7t27tat58/bs/wvoHAAAFPy+Y+eTJwwYNGms0Ti9fPX/69FGHDl1phyoc9AcAAAV1634SHx+7Z+82g8Hg5eXTr++X3LG8VgT9AQBAQdMmLZs2aUk7xUfB8bsAAMAH+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwBYB5WamPSFu3US2DC9zqR2YuhmQH8AWAcnT5IQraWdAoQiISrHyYPy9wn0B4B1KFOFSU3IyUo30g4CgvD4elpoQ8p3b0J/AFiNzkOY8/titJmokNLu5LboVpGMUk15AY7rtwNYDY0b0+oz4+7FLzzLKF297eR2YtqJoESxLIl9npUUow3rwvqVp7zzA/0BYGUcXZnOo1KTX7JH9l015sgqVgqSSYV1m+HMrOysLG1GRmZmhtZkNtWqWZl2orc9exblqLF3dnKkHaTQ1BoSGGJqHkHkCkFsOkJ/AFiBnBydQiE/ePDfM2as/PXX72rWdHIN9Hd25paAlDeCcw4cOHX58u0HD55lZWlTUzN0Oj0hpEaNipMip9OO9i6ftWv3NGza0NfXk3YSHgTRHBz0B4CgPXr0YvbsVY0a1RowIDwkpOyFC1skEgkh5L/lIQgREWOfPHlFCGFZlmEYQgjDMGKxuEOHxrSj5W3gwG60I9gCAVUZAHAyM7PmzVs7Y8YKQohebxg1qt+AAeGEkODgAK48hGbHjgX+/l5cbVhGeni4tGsn0P7gVul69RpHO4V1Q38ACMXRoxcmT15ECElMTA0I8B4+/DNCSOXK5apVq0A7Wv727v3F09M195imTWsrFHJ6ifKhUMiXLZu6Y8cftINYMfQHAE0xMfEbN+7PzMwihNy8eb91608IIYGBPhER7TQaB9rpCqdatRCVSskNu7o6d+zYjHaifLi4aCIi2tFOYcXQHwAUXL165+nTV4SQBQs2pqWlKxQKQsjEiQObNq1LOxofBoOhbdvBvXq1O3Nmk1wuI4QEBfmULx9IO1eBbN16aMGCDbRTWCX0B0AJMZlMMTHxhJDp039dvXo3t5ydP3/CyJF9JRIrPpPj5cuYsLB+mzfPCQ0tTwi5cGGrnZ2ya9eWtHMVVJ8+HStVCrp69Q7tINZHiPviAGxJVpZWpVKePXt1/Pifli2b4u3t/vXXg2QyYZ20wdvFizcXLNh48eJvuUeePbuJXiI+2rYNox3BKmH9A6C4JCWlDhw4Ze7cNYSQoCC/y5d31KkTSgixmfI4dOj05s0Hdu5cQDtI0Rg4cGpiYgrtFNYE/QFQlMxm89q1e0aPnk0IMRpNI0ZE/vjjCEKIj48H7WhFbOnSrU+fRi1bNpV2kCKzfPnUZcu20U5hTdAfAEXg2bOolSt3mEwmvd6g0+lHjIjkToCoXj2EdrRiMXnyQpXKbuTISNpBipJcLps2bRjtFNYE/QHA3+PHLzIysrhd4gwjEovFCoV86NDeQUF+tKMVo+HDZzRpUrd//660gxSLM2eubNt2mHYK64D+ACg07uJOo0bN/vbbX7gTrtetmzl4cA/auYpdTo6udetBQ4ZEtGnTkHaW4tKkSZ3U1PRTpy7RDmIFcPwVQCGcOPH3mjW7Z84cHRTkN2HCAF9fW9ur8QFPnrzq12/SgQPLXFw0tLMUr6FDe9OOYB2w/gGQD7PZvH//yb//vkEIyc7OmT59JLd5qlSVx19//fPNNwsuXNhq8+XBMRpNOKkwX+gPgPe6f/8pIWTTpv03bz4MDg4ghHTq1IwbKFV27PjjxIm/d+5cSDtIyZFIxA0aVB8+fAbtIIKG7VcAb2NZVqvN6dx5eEREu5CQsl98YZs7igto0aJNer3hu++G0g5S0ho0qF6vXlXLFenhXVj/APh/589fGzLkB6PRyDDMjh0LBg3qTjsRZdOmLXVx0UycOJB2EDpEItHFize5Q+zgXegPAJKcnPbsWRQh5K+/bgwcGC6VSpVKhaBu0ERF375fN21ap2/fTrSD0FSmjE+vXuNppxAo9AeUdidPXoyIGCsSibgr4HKXGCnlsrK0LVr0/+abwc2a1aOdhTJPT7dly6bcufOIdhAhwv4PKKWuX7/74MGz3r07BAR4Hz++lnYcAXn06MXAgVMOHFiu0djTziIIgYE+tCMIFNY/oNQxmUyxsQm//rq9QYPqhJBy5fxpJxKQc+euTZ36y9mzm1EeuT1/Ht2nzwTaKQQH/QGliNFo+u67JTqdXqNxWL36R3yvfMtvvx0+fvyv7dt/ph1EcAIDfT79tNnZs1doBxEWbL+CUuS7735p2LCmnZ2SdhAhmj9/PSGEu1owvKtXr/a0IwgO1j+gVNi69RAhZNasMR06NKGdRYjGjp3r4+M+fnx/2kEE7datB9wppcBBf4DtW7Jka2CgN+0UwtW79/jOnZv37t2BdhCh8/R0HTNmLu0UAoLtV2D7mjWrW6VKMO0UQpSWltG379fz508sXz6QdhYr4O7usmDBxMTEFFdXJ9pZBAH9Abbs8eMXWVk51apVoB1EiO7ffzp06PSDB5epVHa0s1iNihWDaEcQEGy/Alu2dOk2f39P2imE6OTJi0uWbD11aj3Ko1D0esPYsdiE9Qb6A2xWVpa2WbN6Tk6l/TIk79qy5eDRo+dt6dblJUYmkyYkJN+9+4R2EEHA9iuwWSqVsnPn5rRTCM7y5b/pdPp583BNJ56WLJkiFuObN8H6B9i4Vat2RUXF0k4hIGPGzPHychsz5nPaQayYRmNvb6+inUIQ0B9gy+rXrzp16hLaKYQiImJs164tu3ZtSTuIdbt588HmzQdopxAE9AfYsqpVK8ybNy4tLZN2EMpSUzP69Zs0c+boxo1r085i9bKztZcu3aKdQhDQH2Dj3NycZTLJpUs3aQeh5u7dJ926jVyx4ntcKbJIhIYGDxkSQTuFIKA/wPYplYqNGw/ExyfRDkLBmTNXZs9edfLkejs7Be0sNkKtVuF0VA76A0qF5cunPnsWbTAYaAcpURs37r906dbmzThfoSg9fPj8669xiWKC/oBSpF69qnq98ciRs7SDlJBZs1ampaWX2luXFx+93hAXVxrXZd+F/oBSRKVS/v33jefPo2kHKXazZq2sUKHsyJF9aQexQYGB3uPGfUE7hSCgP6B0mT59ZHJyWnJyGu0gxSg8fGTr1g27dWtFO4htUqtVoaHlaacQBPQHlDo1a1bS6w1r1+6hHaToJSam1K/fe+HCSbVrV6GdxWY9fvxiypTFtFMIAq5fAqWRp6erTqePjo7z8fHgxrRo0b9x4zrTpg2lHY2/W7ceLFq0+dy5TVKplHYWGxQRMVanMxDC5uTo09MzunR5TAir1eYcPbqGdjRqsP4BpdTQob3FYlFKShohpGPHIWlpmf/8czczM5t2Lp7+/e9LCxduWrduBsqjmHTq1DwmJi4qKi4xMUWvN0ZFxUZFxZXyqxejP6D08vR0E4vFTZr0i41NIoQkJaX+/fc/tEPxsX79vps3H6xfP5N2EFvWs2dbf3+vt0a2bduQUhxBQH9AqRYZ+XVWlpYb1mp1J05cpJ2o0Fas2J6VlT16dD/aQWycVCrp2rVV7ivv+vp6RESU6pv+oj+g9OrSZURMTHzuMffvP7OuQ/uHDZvu7+89fHgf2kFKhYiIdpYdZoSQdu3CHB3VVBNRhv6AUmr48OmpqRksy7IsaxmZmJj8119WswkrPHxk376d2rdvTDtIaSGRiHv0aM2tgvj5efTs2Y52IsrQH1BKLV06dcGCiZ991jEoyE+jsedaJCdHf/KkFWzCshynW79+NdpZSpfu3dv6+LhzKx9OTg6041CG43fByqTEs8mxxKBjPn5WdqRSh8aVOjQmr18nPHjw7N69pxkZmdlx5P6VoghabLRa7bJl+9Yu2qyNl9yPL8AEBSOVs86exMm9CD7YEqDLMSfHMhlJxGwu4cCSTs0GXrjwT92KXUr+70SqYF08icZNKL8jJvfKOwBn9+764eGbRCJhHQmansye2sGkJxG/Ckpdtrk4XsJkMhkMRoVCXhwzLyoGg1EqLfpvfnKl6NVDraMLaRbBOjgLZQmVp9vn2Uc3RUYd4xGo0GaYaMcpOVIFE/0wx9GNtPyMVTmU0O8oMfHerVu7mjdf/+6PsP4B1iE9SXx4Hdu4u5eDs4x2FptVuw1JT9YfWhvTcYDIwUWgy+WbZ6XRj8WtIt8+lLa0aEtS4nQHVr7uOIixdyqWb1EFh/0fYB22ztG37e+H8ihuDs6ydv39t87R0w6StwfXyMsHorBupbU8CCGEOHnIW/bx2/GzkXYQ9AdYg6snzDVauEik+HMtCRKpqEYLl2snBLdlm2XZ2+dJvfbutIPQp1CJQ+pqbpzF+gdAfuJeiNQaYe2MsW32TtLXz2mHeIcum6TEmZVqbHUnhBB7J1n8C8q7qdAfYAUMOoL+KEn2TlJDjuB2oWemss5e2ID5hr2TVKelvABHf4AV0GkJjhMsSSzL6LKF94kzIn22QPfqlzyWJXot5d8R+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgf4AAAA+0B8AAMAH+gMAAPhAfwAAAB/oDwAA4AP9Abbp6rVL/xrar027Tz7t3HTCxGEpKcm8Z3Xkj/1dwlvGxcV+fKr+A3s2a1H7rf+Mxjxu5NAjot2ChbO44Tlzvx/yr76WH8XGvn4dG/PxYaCYREW/atai9slTR2kHKXa4EjLYoEePH3wzeVRQ2eCBA4bGxcdev35ZpVLznptMJlep1CJR0XzZ8vH2bd26Y+4xYrH4w5PYqVR2dipuODomqm+/rt9Nne3l6V0keQB4Q3+ADTp9+rjJZJo7d6mjgyN33yGG4X818pYt2rZs0bZQk3zgFT08vPr1HVSouY0cPsEybDIaWV7XIv7IDwHgXegPsEE5uhyGYWTSN/eKyL3cfB0bs3z5gmvXL8lk8vLBIQMGDA2pUIkQMuW7cX6+ARKJ5NDhfUaDoX79RqNGTlKr1XPmfX/06CFCyPGjFyUSCSHk7r07K1YuevDgrkKh/KRB43/9a4yDvQO3bapMYFBgYNDefdt1upxdO/5Uqwux0mMymTZtXn3o8L6cHG316rV1OTnc+F6fdYyLi61SpdqSxWtfx8Z83r87IeSHHyf9QEibNh0nTfy+4JH27TmhUCiK+sO2QfsP7N65a0tiYrynp3eL5m0jevaVy+WPHj8YMXLAnFm/rFqz5MmThx4eXl99ObJhwybcJKmpKcuW/3zhrzMymbxG9dq030EJQX+ADapTu8Hevdvn/fTDmDGTuSUpJykpccTIAT4+fsOHjWcY5tixw6NGD1qxfHOZMkGEkJ27tjRv1nrWzEUvXzybv2CGi4vbkK9GhXftZTabjx8/ws3h+fOn48YPCQwMmjhhWlpqyvoNK+LjY3+e/yv30ytX/s7R5cyasTBbm/2+8jAYDfHxcdywnZ3K8rTFv8w9eGhvu7adqlWtefnKXxmZGdz4cWOnrF69hBt2cXb9dvKMmbOm9P9iSI3qtZ2cnAsVCeVREBs2rtq1e0t4114BAWVfvXq+Y+emqOiXkyf9SAjR6XQ/TJ80YvgEL0/v9RtWzJj17fZthxwdNXq9fvzEodHRr3r2iPT09N6/fxftN1FC0B9gg+rXazhwwNCNm1Zdufp3eNdevXt9oVQqCSGbt6xx0jj//NOv3JpEq5btI/t1OXRk34hh4wkhvr7+k7+ZzjBMxZDKZ8+funL17yFfjSofHBIYUNYy5y1b14pEonlzl9qr7Qkh9vYOs+Z8d/Pm9WrVahJCxBLJ1G9nca/1Prdv34jo3YEbjuwzYOCAoYSQh4/uHzy01/KwTZuON25e455Tp3b9Xbu2aHO0hBCZTFY+OIQQ4u8fGBpavagigUViYsLWbeumfDuzSeMW3BgXF7eFi2YPHzaeezhi+ITmzVoTQgYNGv7VkMibt643Dmv++/6dT548+mnestq16hFCKleqyq0m2jz0B9imyD4DmjZttWXL2i1b1508dfSXRWtcXFwvXboQnxDXvmOY5WkGgyHhv2sDCrnCsqXLw8Przp2b7872xs1rNWrU4ZbUhJA6dRoQQh48vMstrCtWrJJ7SZ2RmZGZmUEIkYglbm7u3MigoOCB/Ydywz4+ftzAuXOnCCHdu/exTFvw3fWFigQfdu3aJaPROHPWlJmzpnBjuL1NiQnx3EOl4s2H6eHhxfUNIeTc+X+XLVuOKw9CiCi/AyJsBvoDbJavj9+kr79v06bj+AlDt23fMGLY+OSUpAYNwgYPGpH7aXkemiWVSM3mPG6VmpWVqXF0sjy0t3ewLERyL1w4e/Zs27hpNSHEzy9g04Y93EhHB02DBmH/O1cSFx+rVqu5vf2FVahI8GFJyYmEkFkzF7m7eeQe7+3t++z5k9xjpBIpIYT7I4mPjw0ODinxsPShP8DG1aheu0KFSg8f3uOWrWlpqf7+gbzn5urqnp6eZnnInVai/u93/7c0b9amXLkKhBCl0u7Ds9U4OmVmZur1eplMVqyR4MPs/7u3rFB/JBpHp485wch64fxBsEEmkykrK4sbzszMjImJ4r6G16xZ986dmw8e3rM8U6vVFmrOlStXvXHzWs5/D446e/YkIcSyK+It/v6BjRo2bdSwaa2adT882/LlKxJCTp76M98AcrmCEJL039WLwkaCD6tRow7DMPt+32EZU5C/kODgkAcP7r569aKY0wkO1j/ABl26dGHOvO8/adDY2dnl/IXT6elp4eG9CSGf9xt88eL5CROH9ewR6eTkfPnyXyazacaPPxd8zpGfDTh16ujX34z4tGO3+PjYjZtW1aheu3q1WgWfQ1zc602b11geKhSKnj0imzVttXnLmgULZz179iS4XIX/3L2VmKshcnN39/D28tm5e4tCqUxPTwvv2uvjI4GFr49feNdee/b+NnnKmEYNmyYlJf6+f+fsWYvLf3DzVO/eXxw7fnjUmC+7d/vMxdm1IN8DbAP6A2yQg4NjuaDyFy6cZhgmKKj82NGTq1evxZ37vfSXdb+uXLR12zqGYYKDQ7p2iSjUnH19/efNWbpqzZJ5P/2gVNq1atl+yFejC3VeXnRM1PoNK3JH7dkjUiwWz529ZPGSuQcO7lap1E0at3B01OQ5OcMwU6bMmvfTD0uXzXd392zWtPXHR4Lchg0d6+7usW/fjitX/nZxcQ1r1MzN1f3Dk/h4+86ds2TFikUbNq50d/No1KjZlasXSyovTQy/c1nBtu3eXT88fJNIJKUd5I0dP5O67b1dveW0g5QWybH6v/dH9ZoorBJKjCHHNzMdh/DffWVL4l/m3Dj1utuoYn+hxMR7t27tat58/bs/wvoHANim1WuWHji4+93xwcH50ovuAAAMj0lEQVQVHz26l9cUZOkv6wMCyhR3AJlUrjfo8pxk+7bDKpWqqAIUN/QHANimnj37duwY/u54EcOY37PdJd9NVUUSwKDXS99zoJ11nayD/gAA2+To4MjvlBqbCVDccPwuAADwgf4AAAA+0B8AAMAH+gMAAPhAfwAAAB/oDwAA4AP9AQAAfKA/AACAD/QHAADwgf4AAAA+0B9gBRzdGbMZF4ouOWaT2dFdcAsHsdhspykttxbPl5llHdwoXyBZcH8iAO9S2pmTonNopyhFEqNzlGoz7RRvc/IQxTzWGQ2CC0ZFwiutnb2Jbgb0B1iBsqFsYnQW7RSlSEJUVrmqQlzhq1hPHP0YfwmEEJIUkxUUSjkD+gOsgF95kZuP/uLhONpBSoWLh+PcfPS+5YW4cGjanfxzMiE5Nu+bZ5Qef+2P9Q02eAZS/h3h+u1gHeq0JleOZZ3f98rFR+3uqxSJhbh0s2pmkzkhWpv4KtPVx1CntbDuPJhb7wlk+89R5WrY29krnTzkbGnammUymhOitHEvMvwrGKs1pv87Qn+A1ajTmol6qH9yO/nBZVFyXGlabJQIJw+RUmWu0pD4CXLNw0IiYyK/YW6dy3j9JOPVA1F6Ykn/JRiNpqwsraOjuoRflxDi7MEo7dnaLYhXWUH8jtAfYE18y4t8y3ODgvj3Y3Os5lOtGiaqGsYNlnTmO3eezJ+/fsPMWSX8uv9Ff7XDwmr+XAAAQFDQHwAAwAf6AwCgEEQiJiDAm3YKQUB/AAAUgtnMvngRQzuFIKA/AAAKgWEYNzdn2ikEAf0BAFAILMsmJCTTTiEI6A8AgEIQiRgfH3faKQQB/QEAUAhmMxsdHU87hSCgPwAACkEkYry93WinEAT0BwBAIZjNbExMAu0UgoD+AAAAPtAfAACFgP3nFugPAIBCwP5zC/QHAADwgf4AACgEhmGcnBxopxAE9AcAQCGwLJuSkk47hSCgPwAAgA/0BwBAITAMcXBQ0U4hCOgPAIBCYFmSnp5FO4UgoD8AAIAP9AcAQCEwDOPi4kg7hSCgPwAACoFl2aSkNNopBEFCOwAIVFraC4bBnwfA2zIyXptMutTU57SDlJDMzLj3/QgLCMiDRlPuypU1tFMACNGrVzlSaerlyytoByk5Tk4heY5nWJYt8TAAANbqzp078+fP37BhA+0g9GH/BwAA8IH+AAAAPtAfAADAB/oDAAD4QH8AABSCSCQKCAignUIQ0B8AAIVgNptfvHhBO4UgoD8AAIAP9AcAAPCB/gAAAD7QHwAAwAf6AwCgEHD8lQX6AwCgEHD8lQX6AwAA+EB/AAAAH+gPAADgA/0BAAB8oD8AAAqBYRhnZ2faKQQB/QEAUAgsyyYnJ9NOIQjoDwAA4AP9AQAAfKA/AACAD/QHAEAhMAzj5uZGO4UgoD8AAAqBZdmEhATaKQQB/QEAAHygPwAAgA/0BwBAIeD67RboDwCAQsD12y3QHwAAwAf6AwAA+EB/AAAUAs7/sEB/AAAUAs7/sEB/AAAAH+gPAIBCEIlEfn5+tFMIAvoDAKAQzGbzq1evaKcQBPQHAADwgf4AACgEhmE0Gg3tFIKA/gAAKASWZVNTU2mnEAT0BwBAIWD/uQX6AwCgELD/3AL9AQBQCAzDuLq60k4hCAzLsrQzAAAIXWRkZEpKCsuyer0+IyPD1dWVGz5x4gTtaNRg/QMAIH9hYWHx8fHx8fGpqakmkykuLi4+Pl4ikdDORRP6AwAgf926dfP19c09hmXZsLAweonoQ38AAOTP1dW1devWDMNYxri7u/ft25dqKMrQHwAABdKzZ0/LKgjLsp988om/vz/tUDShPwAACsTFxcWyCuLr69uvXz/aiShDfwAAFFSPHj18fX1Zlm3QoEFAQADtOJSV6oMHAKCU0GaatBkmcxGcreDQIqzrmTNnPm3TJzFG/5HzYllWphDZ2YulMqv8Ko/zPwDABpkM5md3sx9cy8xIMSZG50hlIkcPpTb9Y5f4RYsRM0adWa81MSLi7m/nVUYeXE3l5iunnaug0B8AYFP0OvPZPUlPb2cqHeVqNzu1i1IiE+c+bkqATEazQWtIi8vOSsp2cJZU+cQ+pLY97VD5Q38AgO04fzD59tkU93LOLv4OtLPwpM8xJjxONukNTXu4+pe3ox3nQ9AfAGAjtsx+Kdeo3AJt4eYc2gxdWkx6UGV5nVZOtLO8F/oDAKyeNtO47rvnZet5Kx2sZudBQcQ9SrK3Z9v396AdJG/oDwCwbplpxr3LXvtV82JEgt7JwU/c42QPH3HTcGfaQfJglQeNAQBYbJn5wifU0ybLgxDiUc45MdZ8fn8S7SB5QH8AgBXbvSTGr4anWGLLizLXMk4vn+gf/pNBO8jbbPlDBwDbdvNsqtEkVmkUtIMUO88Kbse3xNFO8Tb0BwBYq78OJbkFCXHHQJETiRj3spoLB4W1FQv9AQBW6crxFLcyGtvecpWbW1mnB1cz9Dkm2kH+X2n56AHAxty+kObgrqKdIg+JSa/GT633z61jRT5nOye7u5cEtBcE/QEA1ifptY4QRmYnpR2kRKld7R7dyKKd4v+hPwDA+jy9naVyFvS1PYqD2kWZ8CrHaDDTDvIGrt8OANYn7qVO6VhcG6/+urznzIVtaenxzk7eNaq2btowUiqVR8c8WLrmy4F9Fx45tjwm9qGTxqtD6+FVKjbmJsnMStl/ZOF/7p+VSuRBZWoVUzBCiL2rIu6lzidIWXwvUXDoDwCwPhkpRkdfcXHM+dip1WcubGvUIMLDrUx84ovT57YkJr7q3f17QojBoNuy49suHcY5abyOnlq1bdfUb8ftV6k0BqN+5YYRSUmvGjfs4+zk9delPcURjCOWiLLSjMU3/0JBfwCA9cnOMLnIi37xlZaecPLshj7dp1et0pwb42jvuufg3M7tx3IPu3QYVz20FSGkfauhi379/Mnzf6pWbnbh4q7XsY8Gf76kfLm6hJBAv9B5v0QUeTaOSCrOThfKIVjoDwCwPnYOUkkx3LPv0ZPLJpNx6+7vtu7+7r/jWEJIWkY890AmfbPhyEnjRQhJz0gghNy5d8bLoxxXHoQQkahYVow4UoXEZBLKRQvRHwBgfXIyDQadSW5XxBWSnpFICBkYuUDj6J57vIuzb2zck9xjJGIpIcRsNhFCUtNifbwqFG2S99FrDVKZUK4xjP4AAOtjZy8x6kzyoj5+V6l8c9cpd7fAgk+lVjllZqUUbZL3MRtMdg5CWW7j+F0AsD4uXjKToeh3AwSXrc0wzPlLOy1jdHptvlP5eFV4FX03PuFFked5l1jMqByLcftYoaA/AMD6uPvLspLyX7IXlquLX6P6EXfvn1u3ZdylawdOnF43Z2G3qJj7H56qWVg/hhEtXzfk1NmNV/85vPfQT0UejGM2s8nRWV6Bgjh4F9uvAMAqla2ivvhHilcxzLlTu9EaR/fzF3c9eHzRwd61SqWmjg7uH57E1cX3y36LDx395eip1RpHj9CKTR8+vlQM0UhGQrZvBQFdsgX3HwQAq/Tb/CiNn7ON3bD2w17fS6gRZhdSx4F2kDew/gEAVqlamMPNC+lKB7f3PeHIseV/XcnjVD5fr5Co13lvkhrx5RoP9zJFlfDI8eV/Xc4jgFQiNxh1eU4yZdwBhSLvNQyTwZQWlx1Sx7Oo4n08rH8AgLXaOP2FR4i7Qi3L86dZ2Wk6XR5XG2SY9y73HB3cxeIi+1b9vgBGo0EiyfvIMY2jp0iU927p1/cTq9RVhDZ0LKp4Hw/9AQDW6umdzEvHMrwq5rN/wgbotcb4h/GRk/xoB/kfOP4KAKxV2SpqF3dxSnQ67SDF7tWN2PZfCK4m0R8AYMVaR7rnpGRmJRf9sbzCEX0nrlFnZ2dPwR0pgO1XAGD1di2OsXN1UDkL5cSIIvTqZlzDjo5lqwjosF0LrH8AgNXrMco7PSYl1eY2ZL28HlOlvp0wywPrHwBgO45vjU+INbsEOMpVeR+RZUWSozJ0qZmNw519goR7m0X0BwDYjsc3M8/9niRXy538HJT2gtthkC+WZTMSs+MfJfuUUzbv6SpXCuVSV3lCfwCArfnPxfSb59Ky0kxqFzu1q1IsFUvlYolczDAM7WhvMxnNRp3RqDMZcowZCVlpcdqQeo61Wzhq3KxgFQr9AQC2KT3Z8PR2VuxLfVKMTptptHOQJsfk0A71PyQyEWFZhVpiZy9291cEVlQGVhLoro48oT8AAIAPHH8FAAB8oD8AAIAP9AcAAPCB/gAAAD7QHwAAwAf6AwAA+EB/AAAAH/8H6DYavTilPrcAAAAASUVORK5CYII=", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "master_flo.draw()" - ] - }, + "output_type": "execute_result" + } + ], + "source": [ + "from flo_ai import FloSupervisor, FloAgent, FloSession, FloTeam, FloLinear, Flo, FloLLMAgent\n", + "from langchain_openai import ChatOpenAI\n", + "from flo_ai.models.flo_reflection_agent import FloReflectionAgent\n", + "from flo_ai.models.delegate import Delegate\n", + "from langchain_community.tools.tavily_search.tool import TavilySearchResults\n", + "from dotenv import load_dotenv\n", + "\n", + "load_dotenv()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Code to create a simple tea, with 2 agents, each agent having one tool of itself" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "llm = ChatOpenAI(temperature=0, model_name='gpt-4o')\n", + "session = FloSession(llm).register_tool(\n", + " name=\"TavilySearchResults\",\n", + " tool=TavilySearchResults()\n", + ")\n", + "\n", + "researcher = FloAgent.create(\n", + " session,\n", + " name=\"Researcher\", \n", + " role=\"Internet Researcher\", # optional\n", + " job=\"Do a research on the internet and find articles of relevent to the topic asked by the user\", \n", + " tools=[TavilySearchResults()]\n", + ")\n", + "\n", + "blogger = FloAgent.create(\n", + " session, \n", + " name=\"BlogWriter\", \n", + " role=\"Thought Leader\", # optional\n", + " job=\"Able to write a blog using information provided\", \n", + " tools=[TavilySearchResults()]\n", + ")\n", + "\n", + "marketing_team = FloTeam.create(session, \"Marketing\", [researcher, blogger])\n", + "head_of_marketing = FloSupervisor.create(session, \"Head-of-Marketing\", marketing_team)\n", + "marketing_flo = Flo.create(session, routed_team=head_of_marketing)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": 8, + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [], - "source": [ - "# master_flo.invoke(\"Write an article about CR7\")" - ] - }, + "output_type": "display_data" + } + ], + "source": [ + "marketing_flo.draw()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A second team created for doing editorial suggestions" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "chief_editorial = FloLLMAgent.create(\n", + " session, \n", + " name=\"Senior-Editor\", \n", + " job=\"Have a look at the article created and give editorial suggestions\"\n", + ")\n", + "\n", + "edit_team = FloTeam.create(\n", + " session, \n", + " name=\"Editorial-Team\", \n", + " members=[chief_editorial]\n", + ")\n", + "\n", + "editor = FloSupervisor.create(\n", + " session, \n", + " name=\"Editor-Team-Routing\", \n", + " team=edit_team\n", + ")\n", + "\n", + "editorial_flo = Flo.create(session, routed_team=editor)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": 8, + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [], - "source": [ - "reflection_agent = FloReflectionAgent.create(\n", - " session,\n", - " \"journal-reflection\",\n", - " \"You are critic who looks are the article and create a list of improvements that can be done.\",\n", - " Delegate(to=[\"Marketing\"], retry=1)\n", - ")\n", - "\n", - "journal_company_with_reflection = FloTeam.create(session, \"Newspaper\", [marketing_flo, editorial_flo, reflection_agent])\n", - "\n", - "company = FloLinear.create(\n", - " session,\n", - " \"linear-router\",\n", - " journal_company_with_reflection\n", - ")\n", - "\n", - "company_flo = Flo.create(session, routed_team=company)" - ] - }, + "output_type": "display_data" + } + ], + "source": [ + "editorial_flo.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "journal_company = FloTeam.create(session, \"Newspaper\", [marketing_flo, editorial_flo])\n", + "\n", + "r3 = FloLinear.create(\n", + " session,\n", + " \"linear-router\",\n", + " journal_company\n", + ")\n", + "\n", + "master_flo = Flo.create(session, routed_team=r3)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": 9, + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "company_flo.draw()" - ] + "output_type": "display_data" } ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 + "source": [ + "master_flo.draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# master_flo.invoke(\"Write an article about CR7\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "reflection_agent = FloReflectionAgent.create(\n", + " session,\n", + " \"journal-reflection\",\n", + " \"You are critic who looks are the article and create a list of improvements that can be done.\",\n", + " Delegate(to=[\"Marketing\"], retry=1)\n", + ")\n", + "\n", + "journal_company_with_reflection = FloTeam.create(session, \"Newspaper\", [marketing_flo, editorial_flo, reflection_agent])\n", + "\n", + "company = FloLinear.create(\n", + " session,\n", + " \"linear-router\",\n", + " journal_company_with_reflection\n", + ")\n", + "\n", + "company_flo = Flo.create(session, routed_team=company)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzEAAALpCAIAAAAM7j8hAAAAAXNSR0IArs4c6QAAIABJREFUeJzs3XdYU9fjBvCTEBI2yJYle6PIEFDUqrgQrXtbt9bVuqpWrVpXbat1VP25R917tU5UVFwIiKDIBlkywx4h6/fH7Zdai60g5ATyfh4fn+Tm3ptXxPB677nnsqRSKQEAAAAAqti0AwAAAAAAOhkAAACAHEAnAwAAAKAPnQwAAACAPnQyAAAAAPrQyQAAAADo49AOAADNUkF2TUWxqKJUVFMtEVRJaMf5KFxVNofDUtfiqGlxjC15tOMAAPwNC/OTAcDHS4+vTImpSI0pN7VTE1SK1bU42gZcibh5dDKeqlJRXk1FiUgqIWmxFVau6lau6k7eWoRFOxkAADoZAHykjISqR1cK9E14hhY8a1cNdW0l2ok+iVRCUl9WpLwsf/O60iugVbuuOrQTAYCiQycDgP8WfDyvvETYqb++gVlLO+UnEUsfXi5MjCoLnNja2FKFdhwAUFzoZADwb4ryhCd+Sh8007S1dUvuKxWl4uuH3zp6abn4adHOAgAKCp0MAD6oolR8YXvmqEUWShyFGHJ193SemZ2aXXsN2kEAQBGhkwFA3fIyBMHHckcvsaAdRKZun8jT0OH49NWlHQQAFA7mJwOAOkjE0rNbMxStkBFCeowy5OfWJL0opx0EABQOOhkA1OHG4Zyx37ahnYKOvhOMk56XF+UKaQcBAMWCTgYA73v5qERFQ0lLT5l2EGqcfLQeXMynnQIAFAs6GQC879GVwk799WmnoKmNk5pYKM1KqqIdBAAUCDoZAPxN9IMS7166XFVZfDiIxeKoqCham/87/4H6sU9Lm2jnAAD/hE4GAH8TF15qYqMqm/das2bN+vXraW3+7wzMeBkJlRWl4ibaPwDAe9DJAOAvlWXiMr7IyEJGk/ULBIKGbchM4tPgzT+SlYt66ktcgAkAMoL5yQDgL3FhZfy8mo5Beo2+59DQ0F9//TUzM9PExGTo0KEjRoxYtWrV77//XrvC5cuXTUxMLl++fPr06aSkJDU1NT8/v4ULF7Zq1YoQEhwcvGTJko0bNx45cuTVq1fjx4/Pzc395+aNmzkjviohsqzHKMPG3S0AQJ04tAMAgBwpzBGoajT+zcUrKysXL15sbW29fPnypKSk/Px8QsikSZNyc3OzsrJWr15NCNHX1yeExMTEWFpaBgYG8vn8kydPVlRUbNmypXY/P/7446xZs2bMmGFhYVFdXf3PzRuXpi4nOwXD/AFARtDJAOAvFaVifdPGP3HJ5/MFAkH37t379u1bu9DCwkJHR6ewsNDd3b124dKlS1msP+/jxOFwDhw4IBAIeLw/I40YMSIoKKh25X9u3rjUtTkVpaIm2jkAwHvQyQDgL5WlInWtxv9YMDU1bdu27f79+1VVVQcPHszlcj+0plAoPHny5NWrV3NyclRUVCQSSVFRkbGxMfNqhw4dGj3bv1DmslgsIhRIlHkYegsATQ4fNADwFyUldlPcbpzFYm3bti0oKGjLli2DBw+OjIysczWpVDp37twDBw4MGDBg+/btgYGBhBCJRFK7gpqaWqNn+3eq6krvvD8AQBNCJwOAv3BVWOXFTXK2TkNDY8mSJefOndPQ0Jg/f35lZSWz/N3LjCIjI8PCwpYsWTJ69GhXV1dbW9v/3G2TXqUkFknLS8Q8mUzVBgCAzxoA+IuaVlONoGLmrTA1NR05cmR5eXl2djYhRFVVtbCwsPZIWHFxMSHE0dHx3aeSDx+nem/zRldRKlbXavwrHgAA6qS0atUq2hkAQF6UF4mEAqmJtUrj7lYoFA4ePDg/P7+goODUqVMCgWDmzJkcDqesrOzGjRv5+fmlpaU5OTkuLi5nzpx5+/aturr6nTt39u3bJxQKvby8LC0tU1JSgoODhw8frqOjU7vb9zZv06aRb5penCusrpRYu6k37m4BAOqETgYAf+GpskMvFbTrovMR69ZDRUVFenr63bt379y5Y2BgsGrVKjMzM0KIra1tSUnJ9evXIyMjdXR0unXrZm1tfeXKlStXrohEorVr1+bl5UVFRQUFBdXZyd7bvNGvAHhxv1hLT7m1VSM3VACAOmHOWAD4m2M/vAmcZNLKSJl2EPqOrn/Tb4pJK0N8KQBAFjAXBgD8jaO3VnZy1b90sidPnixZsuSfy3k83odudnTw4EErK6tGjfm+8vLyd6cue1fbtm2jo6P/uXzmzJnDhw//0A5LC0W6xlwUMgCQGRwnA4C/EQule5amzPjZ5kMrVFdX8/n8fy6vqan50MRjhoaGHE7T/g9QIpHk5OTUaxMtLS0NDY0PvXrjtxxrVw07jw+uAADQuNDJAOB9Ydf5hJAOfXRpB6GmIEsQfDx35DcWtIMAgALBXBgA8L4OfXSzk6skCnxXoZePSv0/N6CdAgAUCzoZANShyxCDExvTaaeg4/EfhZqtOGb2qrSDAIBiQScDgDroGnM79NK9sjebdhBZi7pbXMYXeQa0oh0EABQOxpMBwAflpFWH3+IHTTWhHURGokKKqyvEvv30aAcBAEWE42QA8EHGlipOHbSOrHtTXdnyb8Qdcia/lC9EIQMAWnCcDAD+Q0mB8O7pPL3WvE4D9NhKLNpxGt+rJ6WPrhR0CtJ39tOinQUAFBc6GQB8lKh7xY+uFHj31jO1UW30G2JSUZwvTH1ZER9RZmjO69hfX0UN5w0AgCZ0MgCoh+jQksTnZfy3Na5+2hKpVE2To6mrTEjz+BjhcNhlRcKKUpFIKH0TWyGRECtXdbeOOtoGuKMJANCHTgYA9SaolGQkVJbyhZVlYrFIWlkmbtz9FxYW8vl8Ozu7xt2tho6SREzUNJU0dJSN26jgnp4AIFfwv0MAqDeeGtvWvQlvOnTzZnRsSMhXEzo33VsAAMgbjJ8AAAAAoA+dDAAAAIA+dDIAkDvKysp6epgnDAAUCzoZAMgdoVBYWFhIOwUAgEyhkwGA3GGz2Twej3YKAACZQicDALkjkUgEAgHtFAAAMoVOBgByR0lJSVNTk3YKAACZQicDALkjFovLyspopwAAkCl0MgCQO8rKyvr6+rRTAADIFDoZAMgdoVBYUFBAOwUAgEyhkwEAAADQh04GAHKHw+FoaWnRTgEAIFPoZAAgd0QiUWlpKe0UAAAyhU4GAAAAQB86GQDIIxaLRTsCAIBMoZMBgDySSqW0IwAAyBQ6GQAAAAB96GQAAAAA9KGTAQAAANCHTgYAAABAHzoZAMgdNputrKxMOwUAgEyhkwGA3JFIJEKhkHYKAACZQicDAAAAoA+dDADkjpKSkoaGBu0UAAAyhU4GAHJHLBaXl5fTTgEAIFPoZAAAAAD0oZMBAAAA0IdOBgAAAEAfOhkAAAAAfehkACB3lJWV9fX1aacAAJApdDIAkDtCobCgoIB2CgAAmUInAwAAAKAPnQwAAACAPnQyAAAAAPrQyQAAAADoQycDALmD6y4BQAGhkwGA3MF1lwCggNDJAAAAAOhDJwMAAACgD50MAAAAgD50MgAAAAD60MkAQO6wWCwOh0M7BQCATKGTAYDckUqlIpGIdgoAAJlCJwMAAACgD50MAAAAgD50MgAAAAD60MkAQO6w2Wwej0c7BQCATNV9ZVNZWVppaarMwwAAEEJIQUFMcXFGVtZd2kEA4IO0te00NMxop2hR6u5kGRk309OvamqayjwPAADJzy+oqChKSztLOwgA1K2kJN3ObrSd3SjaQVqUD84AZG7u6+IyQrZhAAAIIaSi4uHbt886dZpLOwgA1C0q6iDtCC0QxpMBgNzhcpX19XVopwAAkCl0MgCQOzU1woKCYtopAABkCp0MAAAAgD50MoBmr7KyqnfvqRKJpHZJenr22LGLG7Cr+PhUL69hDx5E1Gur8vKKuLiUd5dcunQnIGByTk5+AzIAACgmdDKAZi8pKb2wsDg6Or52SWhoZHJyusxuGTly5MJLl+68u4THU9bQUGOzG/gJw2KxeDzlRkoHANA8oJMBNHuJiW8IIXfvhtUuCQ2NFApFKSmZ9dqPVCptWICaGuF7S/r06Xzx4q+Ghnr12k9mZg6TQSqVCgTv7xMAoGVDJwNo9pKS0gkhISHPmKeVlVWRka8JIbXnEy9fvjN27GJf31Hdu09ctmxrUVEJszw4+LGX17CQkLDJk7/z9R21a9epd3dbVVU9dOjcMWMWCQQ1hJDqasGmTQd79pzcpcsX48YtvnnzIbNaUNAMPr/kzJkbXl7DgoJmEEJWrdrh5TXMy2sYc6Du+PHfJ0xYeuvWo4ED5/j7j50y5bu0tCxmW6FQuG3b0b59p3ftOn7evA1Tpqyo72lTAIAW44PzkwFAc5GY+Mbc3DgjIycx8Y2dXZuwsBiRSGRmZhwXlzpgACGExMQkWlqaBAZ25vNLTp68VlFRuWXLt7Wb//jj/lmzRs2YMcLConVRUWnt8nXrdvP5JUeP/sjjcSUSybx5G7Kz8ydOHKSrqx0e/mrp0i1VVYLPP+/+008LZs9e5+npPGZMEJerTAgZObKvRCK5evV+7a5evkw8cuTy8uXTRSLxunW7V67cfvjwD4SQrVuPnj17c9asUYaGups3/1ZdLejY0Z0QoqzM0dHRlPXXEQCAKnQygGYvKSl91Kh+1649CAkJs7NrExoa6epq5+BgFR+fxqywdOk0FovFPOZwOAcOnBcIang8LrNkxIg+QUGfMY9rO9mZMzdu3Hi4bdtSExNDQsidO0+fP4+7cmWHgYEuc2qysrL6xIk/Pv+8u7OzLYejpK/fyt3didnW0dHa2vr9O65s3rxET0+HEDJyZODmzYdLSso0NNTOn781cGD3ceMGMOcrly/flpSU7uhoLRSKiovLZPLFAwCQF+hkAM1bTk5+eXmljY15QIDv3bthU6cOe/jw+ahRgSoqvKtX70skEjabLRQKT568dvXq/ZycAhUVnkQiKSoqMTY2YPbQoYPbe/uMjU0+dOiCn5+7n587syQ0NFIkEg0YMKt2HbFYoqGh9vE5VVX/vKd469b6hJD8fL5IJK6pEZqbt2aWMw8qK6s/7esBANBcoZMBNG/MYDJbWwszM6NDhy6GhITl5/O7d/fJy+NXVVWnp79t08Zk7twNsbHJ06YNa9vW4c6dp7/9dkki+Ws4v5qa6nv73L//nI2N+ePHUfHxqQ4OVoSQwsJiff1Wu3atfHc1DkepAYGVlZWZSqejo6mhoRYV9XrMmCDm/CYhxNTUkFmt9sAeAICCQCcDaN4SE9OVlTlmZkYcDsfU1GjjxoN2dm3MzIy1tDSYYf6FhcVhYTFr137Vp09nQkh6+tv/3GeXLl4bNswbN27Jzz8f2LdvDSFES0ujqKi0dWuD2jOe72nANZtKSkoTJgzcvv34smVbDQ11z5y5MWpUoJGRfoN3CADQrOG6S4DmLSkpvU0bEw6HQwgJCPDLySno0cOXaVEGBrpxcanMwCxHR2tm/eLiUkLIuxPM/tPnn3fncDjffDMpKiru2rUHzPlNsVh89uzN2nWqqv46yaiqqtKwWyENH97H17cdn19cVlaxdu1XCxZMZJZzuRzc7xIAFA06GUDzlpj4xtbWgnkcEOBLCOnWrQPz1NbWIi4u1c3NjstV3r79+MOHkYcOXdi9+0ztGc9/5+Hh3LNnx61bj1RWVgUGdnZxsd269cjPPx+4cuXupk0Hhw2bV10tYNZs394pNDTy0KEL58/fSkp68/Hhly7doq2tOXBgD29vVxaLVTvvf02NCPe7BABFg04G0IxJJJL09Lc2Nn92MicnGz8/99qntrYW8fGphoZ669Z9HReXsmjRpqdPo3fvXunv73Hy5LWP2f/XX48tL6/cv/+8srLyjh3LBw0KuHHj4fr1e8LCXg4d2qt2PNlXX43x8nLZt+/cwYMXMjJyPj6/t7fbgwcRy5ZtXbZs64IFP33++ZwnT14wc2Ho6mrV/+sBANCMseoctBEbu0cq5bu4jKARCQAUhVgsVlL6s9iVlpb36jWVx1PW1tasqKgSCAR6eq2kUmllZXVw8H7aSQHgb6KiDqqrO9nZjaIdpEXBGH8AoGbdut0JCW+6dPFs1Uo7LS1LLBaXlwsrKqqYV7OycpmjfbRjAgDIAjoZAFDTsWP7nJyC48f/EApFpqZGY8YE3b37NCsrr3YFHk95xIg+VDMCAMgIOhkAUBMQ4BcQ4PfuEoGg5vTp67WTk5maGg0a1JNSOgAAmcIYfwCQI2PG9K+dNpbL5Y4c2Zd2IgAAGUEnAwA5YmZm5O/vwTw2NTUYPLgX7UQAADKCTgYA8mXEiH4mJoZcrvLIkYG0swAAyA7GkwHA35QUEH4uEYso3trIuKvXoNjYlHa2PZNeUIvBZhFNXZauMVHCxyQAyAQ+bADgT29TpGE3lIoLJBaOquUlYopJ7E0C7U3I62cUIxAVVXZBdg2RSp06SN0/o5kEABQEOhkAEEJIXgbr7llW7y8suKos2lnky9M/cp9er/Lpg3uiA0DTwngyACDF+eT6IWn/6ZYoZP/k08+orEg18g7tHADQ0qGTAQAJv0n8BhjTTiG/fAKNEiJZohraOQCgRUMnAwCSHi/R1uPSTiHXpFIWP5d2CABo0dDJABSdSEh4qkqqmkq0g8g1PROVMj6GlAFAE8IYfwBFx2JJSwsltFPIu5oqsRSVDACaEo6TAQAAANCHTgYAAABAHzoZAAAAAH3oZAAAAAD0oZMBAAAA0IdOBgAAAEAfOhkAAAAAfehkAAAAAPShkwEAAADQh04GAAAAQB86GQAAAAB96GQAQI1YLI6JiaK1OQCAXEEnAwBqft605pct62ltDgAgV9DJAICaGoGgYRtKpdJP2RwAQA5xaAcAAIXw5Enonn2/ZmdnGhubDOg/dPCgERt+WnU35BYhpFsPL0LI8WOXWxubXLt++eLF0ympSaqqah28/WbPWqij04oQEnIv+PvVS9Z8v/HUmSNxca9GjRyfl5/7z81p/ykBABoOnQwAmlxlZeWq1Yst21gvmL88NTWpsDCfEDJ29KT8vNy3b7O+XbKaEKKnq08IiY2NsbCw7NkzsKiIf/7CyYrKih/Wbandz9Zff5wyadakiTPMTC0Egup/bg4A0HyhkwFAkysq5gsEgs6du/cM6Fu70MzMQltbh19U6ObmXrtw/rylLBaLeczhcI4eOyAQCHg8HrNk0MARvXsH1a78z80BAJovdDIAaHImrU1dXNoePbZfRUW1f9BgLpf7oTWFQuH5CydvBV/Ny8vh8VQkEklxcZGRkTHzqodHBxmmBgCQKYzxB4Amx2KxNqzf1rtX0K7dW76YMPjFi8g6V5NKpUuXzT12/EDfPgN+3LC9Z0AgIUQildSuoKaqJsPUAAAyhU4GALKgoaEx9+slhw+dU1fXWP7d/MrKSmY5cwUl48WLyIjIsK+/WjJ0yGhnJ1drK9v/3O27mwMANGvoZAAgCwKBgDmJOXjQyPKK8pycbEKIiooqn18okfx5JKyktJgQYm/n+O7T2lf/6b3NAQCaNYwnA4AmJxQKx08c8lnXnlaWNpcundFQ1zAxMSOEtGvrce365V82r3dzddfU1HJ2cuNyuXv3be/Xb1BKSuLxEwcJIakpSaYmZnXu9r3NO3bsIvM/GQBAo8FxMgBoclXVVe3dvYNvX9uybQNHWXn9ui0qKiqEkJ49AwcNHB5y79aefb++io02MDBcvmxdYlLcqu8XRUQ8/WXTbl9f//MXTn5ot+9tLts/EwBAI2PVORojNnaPVMp3cRlBIxIAyJRYJN2zRDr2OxvaQeTavTPZjl7Vtu4s2kEA5EJU1EF1dSc7u1G0g7QoOHcJAPXzLPzJ6jVL/rmcq8yrEdZ9s6Pt2w62aWPVpKnKy8tHjQmq8yVnp7axr+s4ijZp4sxBA4d/yptGR8c/eRI1bRr++woAjQCdDADqx83Vfc/u4/9cLqypUf7AxGMG+oZNnUpNTa3OVIQQIiWkrsNbmhpaDXij7OzcyMjX9++Hv3qVVFlZXVJShk4GAI0CnQwA6kdFRUUO7yzJZrObOtUff9x7vOEKn19SXFxWe7Enm41RuQDQONDJAAA+SkxMQkJC2nslTFWVRy8RALQo6GQAAB9l5sxRB07nPX/+WiCoqV1YVVU9ffpKBwcr5petrQXVjADQjKGTASiuN2+yIyNjIyPiWktn0M7SDGhpaWzfvvyXXw5fv/6Azy9hFhoZ6U+dOjw+PvXp0+jffruUlpbl6Gjt4GDl4GDp4GDl6GjF4eBjFgA+Cj4sABRLUlJ6ZGQs80tDQ83Dw9nXt116CKZ4+Fjz5493c7PbseN4ZmYuIeSPP3YRQry8XJhXRSJxXFxKfHxqfHza5ct34+NTLSxaOzhYtW/vxDzQ1FSn/ScAADmFTgbQ8sXFpURExD5/HhsREWtoqOvh4dyjh+8330zS09P5c36yENw1sh569uzo5GTz7be/xMWlvvcSh6Pk6mrn6mpXuyQ5OSM+PjUnp+DmzYdxcak6Opq2tm0cHa0cHKycnKz19VvJPD4AyCl0MoCWKTo6PjLydWTkq8jI15aWJh4ezkFBn61YMVNLS4N2tJbAzMzoyJEfP2ZNGxtzGxtzQsikSYMJIW/f5jMH0s6du1lTI0xMfMOc4nR1tbOxsTA3N2767AAgp9DJAFqOiIhXz5+/Zn53crLx8HAaMSLwxx8XqKqq0I4Gf2rd2qB1a4Nu3XyYp3x+SXx8anx86uPHL7ZsOVJYWMRUNBcXW2trcweHpp1oFwDkCjoZQDNWUyOsHRwWFRXn4eHs4eE0ceLgX391wtDyZkFXV9vPz93Pz515WllZzVS0V6+Sjxy5kpCQZm9v2a6dQ5s2JszpTtRrgBYMn9oAzUxFRVVkZGxS0pt7957Fx6d5eDh7eDjPmjW6fXsn2tHgU6mpqbRv7/TuX2V8fGpycnpsbHJw8OO4uFQDg1YeHs7m5sbM1Bu6utpU8wJAY0InA2gGiotLY2ISnz59ERn5OjMzx8PD2d/fc+HCSe+OJYcWielegYFdmafp6W+TktJjY5OOHfs9Pj5VSUnJwcGSGYvm4GBlatrk97ACgKaDTgYgp/Ly+MwI/cjI2OLi0r59u5iZGffv363RxxixlVj6ZrhB0H9QUVdSloMZ+y0sWltYtO7e/c/haPn5/Pj4tJSUjGvX7m/Z8ltpaZmDg5WPTztjY30HByvm2gIAaC7QyQDkSHZ2XmRkbERE7Js3WW/fFnh6Ordv7zRqVKCVlVnTvSmLRURCCT9HoGssB6VDXmXEV/j2lbtZ3AwMdA0MdP39PZin5eWVcXGpmZk5T568OHToQnr6W0dHawcHSzc3eysrMwcHS4wyBJBn+PcJQFl6+tuYmIQnT148f/6axWJ5ejp7eLhMmTJUlueh7Nqz8jKq0Mk+pLRQpG/K1tCR91ncNDTUvLxcvLxcBg7sQQgRCkVxcSnx8WkpKZmnT19PSEhj5q11cLB0dLSxt2+DiVEA5Ao6GQAFKSkZtddLqqqqdOvm4+fnPmvWaGNjfSp5vALImS1FKmocSxf8kP4HKQk5ldV/mrwXsn9SVua4udm7udnXLmEmsE1ISDty5FJ0dIKGhhoz9Yajo5WDg7WBASawBaCJJZXW8UETG7tHKuW7uIygEQmgZUpKehMRERsR8YrPLykpKff0dG7f3tnT01leZnKXktObiYWTtkYrnl5rnlTS/CpI42KzWaV8YVlRzeMr+eNXcDRbtcAvSHZ2HjP1Rlxcanr627Kyito7dTo4WLVpY0I7IMivqKiD6upOdnajaAdpUdDJAJpQcnL6s2cvw8NfRUa+MjTU8/Bw9vR08fR00dHRpB2tbjEPpRnxhBB2QZaYdhbK1LVZShzS2or4yN8wsibyvwls05iipqLCU1XlvXtLddoBQY6gkzUFdDKARpaU9CY8/FV4+KuIiFd+fu66ulqeni4eHi7a2jgtCM1JdbUgLi6VGZHGnPHs08efy1VmjqI5OFhiAltFhk7WFDCeDKARJCdnxMYmPXgQERHxysBA19PTpV+/LitWzMAYami+VFR47u6O7u6OzFOpVJqY+Ob165T4+NSbNx/Gx6cZGLTy8WnLzLvh6GjdqpUW7cgAzRs6GUADpaZmRkS8Cg9/GR7+SldXu2fPjr17+y9dOl1uz0sCfAoWi2Vvb2lvb1m7JD39bXJyxqtXiceO/R4Xl6KsrOzgYOnoaO3iYmNr26Z1awOqeQGaH5y7BKiHN2+yw8NfJienBwc/0dLS8PJy8fJy9fR0wRECgLw8fnx8alxcytu3+WFhMRUVVbUXdTo52eCKgRYG5y6bAo6TAfyHrKy88PCXzPEwVVWel5ern1+7yZOH6unp0I4GIEcMDXUNDXU7d/ZknpaWljNXdIaGRt69G3b/fjhT0f43HM1KSQl3jwD4G3QygDrk5/OfPXv57NnLZ89i2Gy2l5eLn5/7nDljDQ11aUcDaB60tDS8vd28vd2YpzU1QuZyzlevks6fvxUfn+rsbGtpacJc1+noaIUrBgDQyQD+VFpazpSwZ89eVlRUeXu7enu7TZs2DMNiAD4dl6v83gS2SUnpcXEpcXEpwcGP4+JSDQ11O3f20tPTdnKydnS01tRUp5oXgAJ0MlBoIpE4LCw6LCwmIyMnMjLW29u1Qwe3kSMDLS1NaUcDaOFsbS1sbS2Cgj5jnr55k52SkhkdHb9///m4uBRtbQ1HR2s3N3tbWwtnZxtcwgyKAJ0MFNGLF/HPnsU8fRodHR3foUPbDh3cAgO72tu3oZ0LQHG1aWPSpo1Jt24dmKeZmblxcSnJyRlHjlyOjU3W0lJ3crJ2crJxdrZxdrZVV1elnReg8aGTgaJIS8t68uTF06fR1dUCgaCmQwe3GTNGeng4084FAHUwMzMyMzMKCPBjnjIVLTY2ef/+8wJBTVlZuYuLnYuLraurnbOzDe2wAI0DnQxaMj6/5OnTaOaXurqKj0+7QYMCfHza8ng04h0kAAAgAElEQVRc2tEAoB7eq2hpaVkvXya9epV45crd169T+vXrqqWl4eZm5+ZmjwGg0Hyhk0EL9OTJC+aXsbG+hoa6j4/bzJmjcMkkQIthaWlqaWkaFNSVucHA69cpUVGv794N27btqFAodHOz9/FpZ2fXpvYmBADNAjoZtBApKRmPHj1/8uTFkyfRPj5tfX3brVnzlZ0dhogBtHAsFsvZ2ab2DGZBQfHLlwlpaVm//nr0xYt4d3dHd3cnd3fH9u0d1dXVaIcF+DeYxx+ascrK6kePnj9+HPXoUZSDg6Wlpamvbztf33a0cwGAvIiKev38+euoqDihUFxSUurp6cL80tBAP/skmMe/KeA4GTQ/r18nP3/++vbtJwkJaR07tvfzc58+fQROTQLAP7m7O7m7OzGP4+JSIyJeXbp0Z8WKX83MjHr08HNwsPLxacvhKNGOCUBwnAyajaqq6ocPn4eGRj58GGlkpN+rl1/bto4YLAIADRMXlxoXl3znztOnT6Pd3R19fdv5+LTDJZwfD8fJmgKOk4FcS0vLun8/PCYm4fHjF/7+7Tt18vjqq7G6utq0cwFA88bcHH3gwABCSHj4qydPXvzww578/CIfn7b+/h6dOnmoqeFeTyBrOE4G8ig8/OX9++H370dwOOzOnb26dvXGITEAaGolJeUPHkSEhkY8fBjp6Gjdp4+/j09bMzNj2rnkEY6TNQUcJwN5IRZLQkLCQkLCiopKRCJx585ev/66zNwcn4YAICPa2hpBQV2ZKTYiI2OjoxNmz16rqqrSvbtP9+6+NjbmtANCC4dOBpSVl1eGhkZcvx766NHzzz7rwPzCWQMAoMvDw9nDw3nChIEJCWl37jz99ttfLC3N7Ows+vbtYmZmRDsdtEw4dwl0lJdXBgc/Dg5+FBOTOGxYn3btHDp39qQdCgDggzIy3v7xx/1r1+63aqXdt2/nwMCumpqKO6EGzl02BXQykLXr1x88fBh1//6zgAC/nj07YjoxAGheYmISrl17kJ7+VkNDddCgnj4+bWknogCdrCng3CXISGRk7OXLd/74437v3p369++2Zs0c2okAABrCzc3ezc2eEBIc/Pjw4Yvr1u0eNChgxIi+GHQBnwidDJpWUVHphQvBFy/ednKy7tzZc8WKmWw2m3YoAIBGEBDgFxDgl5WVd+nS7d69pwQGdhk3bgCu04QGw7lLaCoREa9On75eVSVwcLAcODDA1NSQdiIAgCZ09uzNo0cv29paTJo02NnZlnacpoVzl00Bx8mg8V29ev/Bg4jCwuLhw/sEBPjRjgMAIAtDh/YaOrRXSEjYwYMXJBLJrFmjra0xfQbUAzoZNKaLF2/v3n3ay8tl6tSh+DACAAXETOgTEvJs8eJfHBws588fr6urQzsUNA/oZNA4QkMjf/55v7+/x+HDP+B24ACg4D77zPuzz7yvX38wZcqKfv26Tp48hHYiaAYw2ho+lUgkXrHi11u3Hu7YseKbbyajkAEAMPr06Xz+/DaBoCYoaEZ4+EvacUDeoZPBJwkLi+nUaXSvXp2+/34O5rYGAPinmTNH7d27+ubNR5s3H6adBeQaOhk0XHr620uXbj99esrf34N2FgAA+dW6tcHSpdMMDHRHjJifn8+nHQfkFMaTQQOFhIRdu/bgxx8X0A4CANA8jB3b39e33Zo1//fFF597ebnSjgNyB8fJoCHy84suXryNQgYAUC+2thbbti3bt+/shQvBtLOA3EEng4Y4e/ZG796daKcAAGiWdu1a9fz562fPMOof/gadDBoiISG1bVsH2ikAAJqr1avn3Lz5cP/+c7SDgBxBJ4OGqKkR6epq004BANCMLVs2vaio5OTJq7SDgLxAJ4OGKCoqUVLCNw8AwCdZuHDS27f5t28/ph0E5AJ+rEJDpKVl13XzegAAqJ9588Zv3348Pf0t7SBAHzoZNISTkw2LRTsEAECLcPz4z4sXb6KdAuhDJ4OGeP06GcfJAAAahaqqytix/Ves+JV2EKAMnQwawtBQD8fJAAAaS79+Xfn8ksePo2gHAZowjz/UQ69ek9lsJRaL5OXxg4JmstlsQqTm5q337l1NOxoAQPO2du1XK1du9/Nzpx0EqMFxMqiHwsKSgoKi/PwiFovF55cUFBRVVQkGDOhOOxcAQLOno6NlYWFy/PjvtIMANehkUA8eHk7Sv48js7Bo3b//Z/QSAQC0HLNnj96+/TjtFEANOhnUw7hxA3R0tGqfqqurDh/eh2oiAICWg8fjjh//+cmT12gHATrQyaAeunTxtrY2qz1UZmFh3L9/N9qhAABajv79ux07doV2CqADnQzqZ9y4/jo6moQQdXW1ESMCaccBAGhRTEwMHR2tHj16TjsIUIBOBvXTpYu3rW0bqVRqamoYFISRZAAAjSwgoOPvv4fQTgEUYC6MRlZTTarKaYdoYkM/H5KZWjFs4OCSAtpRmhhPjaWihrlxAUCmAgL8vvtu6/r182gHAVlDJ2s0Lx6wo+9LRDWErdTiZ1NtO9x/Y2kcuRhHO0gT43CJUCB166TkGSChnQUAFIWSEnvgwB737z/r0sWbdhaQKXSyxhF6iVNVwesxppVmK2XaWaAxlReLkp6X3jxa3musmHYWAFAU9vaWjx5FoZMpGownawT3z7PEYjXffoYoZC2Phg7HvZuutp7Wjd9a/OFPAJAXHh7OERGxtFOArKGTfarcdFJVruzRQ492EGhCzh11OFzV9JZ+rhYA5IS1tbmBQauiolLaQUCm0Mk+VUGWlMXGKeCWj8Pl5GVgvD8AyAibzY6LS6GdAmQKnexTVZSw9E1VaaeAJqdnolJVhn8vACAj9vaWCQlptFOATOFnzKeqqZYKBbgor+UT1UiqKnCcDABkxNXVjs8voZ0CZAqdDAAAQO4YGupGRWEQq2JBJwMAAJA7pqZGWVm5tFOATKGTAQAAyJ1WrbTs7CwrK6toBwHZQScDAACQR9nZuXw+psNQIOhkAAAA8qhVK63iYnQyBYJOBgAAII8cHa1LS8tppwDZQScDAACQR+XlVSUl6GQKBJ0MAABAHqmrq1RUYIy/AkEnAwAAkEfGxvqEYKpqBYIbNQIAAMgjgUAoEmGMvwLBcTIAAAB5xOMpCwRC2ilAdtDJKJg4efiChTPeXRIe8bRbD6/Hjx80yv4zszK69fC6fedGA7ZNSkr4au6Uvv38F34zs84VKisrhwzrLZH8dYvPzMz06V+ObcB7JSbFN+BPXV5enpD4t/uNXL12aeDggNzcnAZkAACQW5qa6lyuMu0UIDvoZPAXoVC4fMV8qVS6csWPEyd8Wec6qalJfH7hq1fRtUuePA1NTUsWiUSyCTll2shr1y69u4TL5amra7DZ+GYGgBZFKBRhLgyFgh9j8Je0Nym5uTlfTvva16eTi0vbOtdJTkkkhDwIvVu75MmTUKFQmJaWUq/3kkobOHC1pqbmvSUBPfocO3LRwMCwXvvJzExvWAAAANlgsVgN/qiE5ghj/OXR25zsnTt/iYh8yuXy7O0cJ02a6ejgTAiJiYk6cnRfzMsoQoijg8uXX851sHdiNikuLtqxc9PDR/e4XF57d69/3//Nm38cO3EwOztTT0+/X+CgMaMnstns347sO3hoFyFk9leTtLS0L124Xee2qalJhJCHD0NmzpjHnMp8ER1JCElMirO1tSeEXLt++eLF0ympSaqqah28/WbPWqij04oQEnIv+PvVS9Z8v/HUmSNxca9GjRzfuXP32t1WVVV9OXMcj8v7ddsBHo9XXV29b/+O23eu19QIzM3aDB8+rnu3XoSQkaODior4Fy+duXjpjJGR8cnjv2/4adWNG78TQm7deMLhcM6eO37n7s1hQ8fs37+jkF9gZ+e4cP5yCwtLQkhhYcGv23+OiHjKUVb29PS5f//2vj0nmJcAAOQQl6usosKlnQJkB52MDqFImJeXW/u0pKS49nFhYcGcryaZmprPnrWQxWLdvPnH13On7Np5xMrKJicnW1AjGDd2CpvNvnTpzJJvvzpx7IqKikpNTc3CRTOzsjKGDxtrbGxy6dKZf3nrGzd+3/DTqh49+kyeNDM2NubAwf8jhIwbO7nbZz2lUumhw7unTZ1jZWX7oc2TUxJNTc2zsjKSkxNtbOwin4eJRCJTE7PExLi+fQYQQmJjYywsLHv2DCwq4p+/cLKisuKHdVtqN9/6649TJs2aNHGGmalFcUlR7fJfNq8rKuLv3nWUx+NJJJJly+fl5GSPGT1RR0c3Kip8zdql1dVVgX0/X7Xyp0WLZ7u38xw2dIwyl0sIGTxopEQiuXXrau2uXr9+efr0kQULlotEol9+WffDjyv/b8dhsVi8dNlcflHh118v4fML9u7b3t7dC4UMAOSZSCSurKymnQJkB52MjpiYqBGj+tX50pGj+1rp6G76+f84HA4hpGdA4NgvBv5+9cKcWQsDAvr27BnIrObg4Dx/wZcxL6O8vXwvXjqdnJz48087vDx9CCEuzm3HTxxa586lUum+Azvc3NyXL11LCOnSuXtZWenJU4eHDB5lbt6GOV/Zrq2Hs7Pbh5KnpiQNGTIqOPha6MMQGxu7J09CnZxc7WwdEpPimRXmz1vKYrGYxxwO5+ixAwKBgMfjMUsGDRzRu3cQ87i2k128dOb2nRsbftjW2tiEEHL/wZ3omOcnjl3R1zdgTk1WVVWeO38isO/njg7OHA5HT0/fzc2d2dbeztGyjfV7Idet3ayrq0cIGTx45M7/21xSWpKRnpaQGLdyxYbPugYQQtLT065dv1xTU8Pl4v+gACCn2Gycu1Qs6GR02NjYTZ7414WNSckJzPEqQsjTpw/z8nMDgzrXvioUCvPzcpmxBQ9C754+c/TNm1Q1NTVCSBG/kBndZW1tyxQyQghbSal2W4FAwC8qZB4bGhhlZ2cWFOSPGD6udgVvb7+r1y5lZqXb2zn+M+fbnGzmgY52K1VV1dzcnPKKcktLm65dA0JD747/YurTsIdDBo/i8VRuBV+VSCRsNlsoFJ6/cPJW8NW8vBweT0UikRQXFxkZGTP78fDo8N5bxCfEHj9xyNvbr4O3H7PkyZNQkUg0euyA2nXEYrG6usbHf3lVVFSZB0ZGrQkhhQX5efm5hBATEzNmuZmZhUQiqaqqRCcDALnFZrOVlDDsW4Ggk9GhraXj5/dX61J+pxnwiwr9/DpPmzLn3fWZRsIM+RoyeNS0KXMK+QXfr14ikUoIIXl5OXZ1NSpCSOzrmPkL/ryC8uzp6+UV5YQQHR3d2hU0NbUIIQX5eXV2stFj/ixGy5et69G9NzOYzNrK1sTE7PiJQ6GhIQUF+Z07dy/Iz6uqqsrMTDc3b7N02dz4hNjxX0xzdm774MGdk6d+Y0Iy1FTV3nuLI0f3W1nZPHv2ODEp3s7WgRBSVFSop6f/y8Zd766mxGnI96oyR5kQIpaITU3NmcOTzB/z9euX+voG2to6DdgnAIBsSKVSoVBMOwXIDjqZ3NHU1CopKf7nUCeBQHD8xMF+gQNnz1pACHl3OJqOdquiIn6de7O2sl2zemPtnpkH7w5fYzasfek9tds62Dszg8mUlZVNTMw4HI5Ja9PtOzfa2NiZmpgxmyckxvH5hRGRYcuWrg3o0YcQkvUR1zZ29OuycsWGL2eO+3X7z9u27GPCFBcXGRm1rj3j+Z4GHMx3sHfy9vLds3dbbu7b4pKih4/uLV+2rr47AQAAaDo4KCp3PDw6vHz5Ij7hde2SqqoqQkh1dZVAILD/34WWJaXFhBBm7lY7O8f4+NiMjDf/3Ju2to5/p8+YX1wuV09P39iodVjYw9oV7t0LVlFRsbV1qDNM7bbMTBOpqUnm5m2YgW5duwbk5uZ06dyDEKKlqaWvb5CYGMekqj3k9m7IDwns+zmHw5kz65uYmKhbwdeYr4BYLL585ex7XwGGqopqYWFBfb6if5oz+xszM4uMzDc62q22/3qQGVgGAAAgJ3CcTO6M/2Lakyeh3yyaNXzY2FatdMPCHokl4rWrN2lr61hb256/cFJXV6+ivPzwb3vYbHZKShIhZNSoCTdv/fH1vKlDh4zW09W/fef6v+x/wvjpG35a9fPGNd7efpGRYaEPQ8Z/MU1VVfVjsiWnJNra2DOPu3YNOHHycGf/bsxTayvbxMS4oUNGc7ncvfu29+s3KCUl8fiJg8xlAab/G8j1Ie3aeXT7rOfuPVs7dezaMyDwyu/nd+3e+jYn297OMSkpIfTh3UMHzqqoqBBC3Nza375z/fiJQ5qaWi7Oba2tP3iJ6LtEItHM2eOHDR1ramrOYrHKykrLy8s1NOoxRg0AAKBJ4TiZ3DE1Mdu+7YCLS9tjxw/s2LmpuKQooEdf5qXvlq1XVVFdvebbU2eOzJgxb9zYyTduXBEKhaYmZj9u+NVA3/DQ4d1Hju6ztrb7l/337h009+slL6Ij161f/uzZ42lT54z/YurHBBMKhZmZ6ZaWNsxTB3unDt5+VlZ/PrWysk1KijcwMFy+bF1iUtyq7xdFRDz9ZdNuX1//8xdOfsz+p0/7uqKi/Oix/crKyj//uCOo36A7d278snl95POwAf2Hcv43nmz6tK/au3sdObrv+PGDWdkZH7Nn5gpQL0/fI0f3rV23bM3apYsWzx49pn96etpHbg4AANDU6r7ONjZ2j1TKd3EZQSNSMxN6Uaqsouvsh9Hi8k4sFispKTHD0bLfZk2ZOnLsmMljRk/8yM2TX5TlvSnoNe4jVgUAaAznzt2Mj09bunQa7SB1iIo6qK7uZGc3inaQFgXnLkEhCASCmbPHGxoat2vroazMjYl5Xl1dbfW/Y34AAADUoZOBQmCxWL169rtz58bBQ7u4XK6Vle3KFRs6duxCOxcAAMCf0MlAIXC53BHDx707WS4AAIBcwRh/AAAAAPrQyQAAAADoQycDAAAAoA+dDAAAAIA+dDIAAAAA+tDJAAAAAOhDJwMAAACgD50MAAAAgD50MoCP9fJl4vr1e6qra2gHAQCAFgidDOBj2diYOzhYikQiQkjv3lNmzPheIpFIJBI+v4R2NAAAaPZwb6VPxVNlKSmzaKeAJsfhsvWNVTsN6MU8vXhxe0xMIovFEovFI0bMNzLSO3r0p/LyypSUDDc3exYL3xIAAFA/6GSfSl1HmhFfbeepTTsINK2CzCotXQkhf5YtVVWVDh3cCCEcDufWrf05OQWEEIlEsnnzb1VV1SdPbnr7Nj86OsHLy0VPT4d2dgAAaAZw7vJTGZmzJGIh7RTQ5IQ1QqM2Hzz6ZWysTwjR0tI4eHDdyZObCCHKysr37oVt2fIbMxBt//5zKSkZso0MAADNCY6TfSo9E6JnXPP4Sq5ffyPaWaCpRAQXcLnVpjb12ERfX2f9+nnMY2NjA4Gg5v79cGtr89u3n8TEJPTp09nR0aqp4gIAQDOETtYIOvRlRd2run8m08lPX9eYp8TBWKIWQiohhW8FKdF8dU2Bb7+G70dfX2fmzFHM4w4d3IRCYWFhMSFk8eJNhYXFa9d+bWysX1RU2qqVVqNFBwCA5gadrHG4d5VqaNc8v51VnE9ENdJ6bSuVEolEQghRUpKXU8kSiZTN/rdmKRZL2Gx2cx/ILhSK3n0q/d/fG5f7578LFU22qprUrRPLyafR/qiamup9+nRmHq9bN/flywQOR4kQ8t13W5OTM7dvX25jY56ammlubszh4J8nAIACwYd+o7F1Z9m6swghQsHH/vxOSEizt7eMjo5/9ixm1Kh+amrcJs74UUJDwzdtOszjcZlxUXXq0WPi1au7eTy5CNxgP/xwMDj4sVD4/nDA+/ePMA+UuVLSlMWTw1Fyd3diHm/f/l1eHp+pg1ev3j9y5PLZs1vMzIyDgx87OFiZmxs3XQwAAJAH6GSNT5n3UcfJvvxyFY/H3bp1qae3vae3PSGEkPodYGsKJ0/+sXfv2ZKSciMjPSVlMZtd96G74SN7qKixOBz6gT/FilVTSsv5oaGRIpG4dqGurvZH/g02OkNDXebBrFmjZ80aLRDUEEKePo3evv34uXNbWSyyf/+5tm0dfHzaUokHAABNSl5OlimI8vLK7duPx8YmE0LmzRu/detS2on+ZtOmg7t2nS4pKWemeCgtrfjQmrNnj2kZZ9Y2blzk4eEs/d9pS6lUymKRH37Yc+PGQ9rRCHMYctmy6Rcv/qqkxGaxWGKx5PDhi8yrGzbsvXLlLu2MAADQaNDJZOTNm2xCyO7dp9XVVZgL7hwc5Ouyu4ULfz5z5kZ5eSXzVCqVlpaWf2jlixeDmTFwLcDOnStcXe2YWsblKt+4sS8gwO/evbCpU1esX78nJiaBdsA/sVisL78csXPnCuZp27YOcXGphJDMzNxZs9acP3+LGedHOyYAADQQOlmT4/NLRo5ccPfuU0LIggUTJk4c/KETghRNmLDs7t2n757Cq6mpqays/tD6P/98oKZG9KFXm53Dh3+wsTEnhBgY6BJCvL3d1q+ft3PnCgcHy02bDk2evPzQoYvydgOlwMAu33wziRBiamo4btwA5psqNjZp6NC5R49eJoRUVX3wrw8AAOSQ3JWDFqOgoHj//nOEkKoqwZo1X02YMIh2on+Tn1/43hKRSFxW9sHjZN9+O525WrDFOHBgnaGh7uXLO2qXKCtzhgzpdejQ+u++m1FWVj5hwrdz5qy7desR1Zh1YLFYvr7tBg7sQQhxc7P/+eeFNjYWhJDk5IzOncfu3HmC+W6srhbQTgoAAP8GnazxMYeXvv56naamOnMYw86uDe1Q/+GPP3ZFRJw1MzOqHVlVXS2orPzgT/GgoK4trJNpaKhdvbq7zpcsLU3nzBl7+fLOUaMCb99+4u8/ZvPm35hBgXLIysrMz8+dEOLqanfjxr5u3ToQQlJSMgICJh06dIHpahkZObRjAgDA+9DJGtOrV0ljxy7KyyskhBw79vPw4X1oJ6qf8eMHjhkTFB5+RktLvbpa0LWr14fWPHv2hgIed+nYsf2GDfODgw+0adP6hx/2DB8+7/z5W8XFZbRzfZCamoqTkw0zUW1o6LHAwK6EkLdv8+bMWXfs2O+EkIiIV9HR8bRjAgAAwVwYjUMoFD158qJzZ8/U1Kzly7+0tDSlnaiBTp68um7dXELInTuH/n3No0d/9/Fpp5iTZqmo8AYP7jl4cM/k5IwHD8KHDPnKzc2+f/9uPXr40o72H5i5Nvz9Pf39Paura5gxZ9u3nw8K6jpkSK/g4MdcrnLHju4t44paAIBmBx++nyovjz9gwMzVq+cwZ/Rox2m4589fa2qq29pafMzKU6cO1dBQa/pQcs3GxtzGxnzChEEPHkRcuXJ3x45jvr7uAwZ0c3S0ph3tv6mocGv72f+W8M6duymVSrt29T516pqamkrPnp2Y1QAAQAbQyRooISHtyJHLa9Z8xeVynjw5STtOI/jjj3sjRwZ+5Mr9+jXj9tnoOnf27NzZs6qq+vLlu2vX7lJTU+3a1Tso6DNtbQ3a0erB39/D39+Dedymjcn166FWVmaurnZbtvxmZKQ3dGhvZWV8XAAANCGMJ6s3ZtaunTtPfPZZB0KIjk5LuG90WVlFcPDjgAC/j1z/7t2niYlvmjhUM6OqqjJiRN+jR39atGhSbm7BoEGz583bcO9eOO1cDeHr227VqlmurnbMKLqsrDxmKpDFizft3XuGdjoAgJYJnawe4uJSx45dnJtbSAjZsuVb+R8/9PGuXr0/cWI9ZuuIi0u9d+9ZUyZqxmxt28yfP+HOnUODBgWEhkZ06TJu48YD8fGptHM1UIcObgsXTjQy0iOEDB/ep3Za2kmTlv3f/7WEI8QAAHICneyjJCSkEUJiYuKXLZsm/xNbNMDhwxf79On88et36+bTIr8OjatLF69ly6Zfu7bHzMz4++93Llq08cyZ6816qn1PT5cvvxzBPP766y80NdWYO4aNHbto376zhJAWc3cHAADZQyf7D4WFxUOGfJ2UlE4IGTasDzOzQAsTEhLm5ubAHAj5SI6OVl27ejdlqJZDXV115MjA48d/njZteHJypp/fyNWrd75+LafTm328du0cxo4dwEzttnz5l8wtEBIT34we/c2lS3eY65FpZwQAaE7QyT7o/v1wQkhxcdmmTYsCA7vQjtOE7t17NnZsUL02EYlEu3bhvFX92NpaLFkyJSzsdLt2jidOXJ0wYak83Om8UTg6Wn/+eXfmLq4rV85s1UqL+b4aPfqbP/64x9wWgnZGAAB5h05Wtw0b9l69ep+Z76D5zjf2McLDX759m+/mZl+vrTgcTmhoZFxcSpPlask+/7z76tVzFiyYcO9eWM+ek0+dukY7UWNycLDq0sWLEBIQ4Ldy5UxtbU3mopBx4xaHhDxjbm9POyMAgDzCxe1/k5WV9/x5bFDQZyNHBrbsKlZrx44T8+Z90YAN580bz2KxmiCRonBzs3dzs+fzSy5cuOXvP2b69BHjxg2gHaqROThYOThYEUJ69uxoampUVlZBCNm372x4+MtFi6Yw930HAAAGjpP9JTMzZ8aM75nr/xWkkN2/H+7iYtO2rUMDtvX0dGF+3MKn0NXVnjx5aHDwgcLC4hkzVl+//oB2oqbi7Gzj49OWEDJ16rCpU4eLxWJCyOzZaxcv3pSTU0A7HQAAfehkhBBy69aj4uIyZWXly5d3KEgbYyxfvnXGjFEN3vyHH/bU1AgbNZGCUlHhzZ37xebNS0JDI7/8clV2dh7tRE3Ly8vF3t6SELJx4zc9e3YsL68ghGzYsG/z5sPl5ZW00wEA0IFORg4dunD79hMdHc16XXjYAuzde+abbyapq6s2eA88HvfMmRuNGkqhqahw1679esqUoVu2/MYMvWrxVFR4AQF+trZtCCETJgw0MNBl5v9buXJ7cPBj2ukAAGRKoTtZdHQCIcTHp+2GDfNpZ5G1hw+fx8Qk9O/f7VN2MnPmaE9P594GenwAACAASURBVMYLBYQQ4uXl+tNPC69cuXPmzHXaWWTK2Fh/7Nj+zCCzXr06xcWlMhc+799/Lj39Le10AABNTnE72Z49p1++TCCEtMgpx/7T3r1ntm1b9ok7UVHhNov7bTdHmzYtfvUq6fr1UNpB6OjUqf3s2aOZyc8Egpo1a/6PEJKbW4g7egFAC6a4nUxPT2f06PpNytVijBu3eNGiyY2yq6qq6s8+G98ou4L3rFo1Ozj4UUhIGO0gNHE4SjNnjtq7dzUhhM1mfffdtsOHLzJ3aKUdDQCgkSliJwsJCcvL4w8Z0ot2EDp27To1cmSgs3PjHB1UVVVZt27u2bMYVdYkNm5cdPbszeLiUtpB5IKBge7Jk5sGDOhOCDlz5sa0aSvT0rJohwJoQqqqKrq6WrRTgOwoXCdbvXpnSUm5oaEu7SB0HDhwXiwW9+vXtRH32alT+6FDezfiDuFdVlZmzPTFwGBuEjBp0uDp04fn5fEJIUeOXEY5gxapqqqaz8d/yRSIYnWy8vLKefPGMzeBUUB37jwtLS2fNWt0U+z8++93FhQUN8WeFdzgwQEvXsTTTiGPPD1dOnRwI4SYmhotXrwJd9gEgOZOgToZc0cXTU112kHouH8//MqVu3PnNmTK/o+xcuXMFSu2YbqyRsdmszGw/d917+5z6tQvzEGFqVNXZGW18NndAKClUqBOFhoauXz5Vtop6Lh8+c7x439s3rykSd9l584VXK4yBj81LrFYrKSkRDtF86ClpTFjxsjHj58TQgSCGtpxAADqR4E6WVpaVufOnrRTUBAWFp2YmL5r10rZvN333+/EcZ1GlJWVa2NjQTtFs+Hh4cyMbvzll0P374fTjgMAUA8K1MnGjRuggNdahoVFHzhwfsGCCTJ7x82bl1y6dEdmb9fi3bz5qEsXRfy/xCf69ttpDx5E0E4BAFAPCtTJcnIKFO1WxyEhYefO3dy1a5WM33fhwomEkKNHr8j4fVukgoKi7t070E7RLC1bNr2srKKwEJeeAEDzoECdTEWFN2bMN7RTyM7vv4f8/nvIjz8upBWgXTuHvn2n03r3luHAgfOurnYqKiq0gzRXmprqBw6cu3dPIW4eCgDNnQJ1Mh0dzZkzR8XEJNAOIguXLt0JD3+5ceMiihnc3OzPnNlMCHn5MpFijOZLJBLv3n2qieYuURzTp4/IyMihnQIA4L8pUCcjhAwZ0svNzZ52iia3c+eJ3NyCVatm0w5CNDTUmCOUffpMLSkppx2nmdm58/jy5TNop2j2tLQ0xo7tTzsFAMB/U6xORgh5/vw1c7+8lmrNmv/j8bjTpg2nHeQvtrYWR4/+9OZNlkgkpp2l2bh9+0lmZm7//p/RDtIS3Lr1CJOWAYD8U7hO1r69E4vFunEjlHaQJvHjj/vc3OwnTx5CO8j79PVbtW3rwGKxxoz5JjIylnYceVddXXPo0IWffqI2FrCFCQ9/lZ6eTTsFAMB/ULhORgj54ovPe/f2p52i8Y0e/U3Xrt4DB/agHeSDlJTYv/32Y3R0PFM7aMeRXyNHLli/fh7tFC2HjY25vr4O7RQAAP9BETsZIUQslly5cpd2ikYjFAoDAiatXDnT17cd7Sz/QUmJPWHCIELIqVNXMVlGnebN2zB//nhzc2PaQVqO4cP72NlZ0k4BAPAfFLSTKSmxjYz0Z8z4nnaQRpCWljV58ndnz25xcLCinaUexo8fmJ/Pj49PxSCzd+3Zc7pLF88uXbxoB2lRwsKic3MVa25CAGiOFLSTEUI6dHBbu/brgoLmPZ/k06fRCxb89NtvG3R0tGhnqbd588a3aWNSXl65adMh2lnkwo4dxzkczqBBPWkHaWlOnLiakID7fQGAvFPcTkYI0dPTyc7OLSr6857Zn38+e9y4pr1Ld+M6e/bmuXM3z51rxjdWV1Hh6ehotm6tj/OY69btcnW1mzRpMO0gLZCfn7uxsR7tFAAA/4FDOwBlbds6dO489saNfcOGfZ2by2ezWYWFxXp6zWA48JYtv1VVVbeMS/NGjw4SCGoIIZs3H541azSXq1z7UkDAxODgg1TTycLu3acNDfW6dvWmHaRF6dt3Wn5+kVQqZbFYzO8SicTf32PbtmW0owEA1EGhj5MxLl/eGRAwOTeXTwgpLS1PScmgnei/bdiwV09P59tvp9EO0mh4PC5zPGPcuMW1C4cNm1tcXD506NdUozW5vXtPs1hk6tRhtIO0NN7ebhKJhMViEUKY3w0NdSdOxJFIAJBTit7JRoyY36vXlJqaP+dlKC4uS0nJpB3qPwwd+rW/v+e4cQNoB2l8vr7tTp36hRASEvIsKysvLS2bEJKdnb9r10na0ZrK2rW71NXV5WqO3xZj3LgBrVsb1D6VSqUuLrbt2ztRDQUA8EEK3cn69JmanJwhlUrfXfj6dQq9RP8hMzN30qRlGzcu8vf3oJ2labm62g0aNIf5q6mpEV65EsL0sxZm8eJNrq52o0f3ox2kZbKza+Pl5VL7VF9fZ8wY3GQJAOSXQney69f32ttbqqurvlvLEhPTqIb6oMePo2bNWr1//1pLS1PaWZqcvr6OSCSqfZqbW7hp0wGqiRrfl1+u6t27kzzP8dsCjBkzwNBQl3ns6mrn4eFMOxEAwAcpdCcjhBw//vN3333p4mKjra3BjAIuKakoKCiinet9p05dO3bs90uXdjDDYlq8zp2/YLP/9s0ZHZ1469ZDeoka2ahRC6dMGdq9uy/tIC2cvX0bb283QoiurnaLPN0P8P/s3XdcU9ffB/CTQQgj7A3KVgREpoKiguLee+EsVeuqtVhH3bPW2VacuEet24qzbkFRUbG2jgpuEDDslYSM54/rj/ooUtSQk/F5v/wjubnjYwb55txzzwFtous1GSEkKqrp9u1L5swZGxTkY2VlVl5e/uJFFu1Q/8+yZZufPctcvXoG7SAq0q/ft1wui8fTU7ylpKQ0Lk5LepV16jR67txxwcG+tIPohOjoLra2lt7e7v7+6EkGAGqN9U5vKsa9exsUijwfn340Iv2HO5dY6X8SNpuV/axC6TuXyxVyuZzL5Sh9z59MoVDI5QoO5xOrZ1tnPblc7ubL9o+QKzua8l0/yX72QM7VY+c8r5DLFcyb881bVEEURKGnp/Gjt8hkcjab/cnNnRZ2ejKZvI4nu1k3DXhBK6XfYd27RkSlJC9LWoPVlUwmk7NYLDZb1W3MZjZcuUxRpx67aRc5W43+qIDGOHDg9MOHT6dPV8dL7FNTtxgZNfD0HEA7iFbRsG+4Q3HE3s3UN5xv5cDXjZN4n0uhILmZotxXogO/FPQaTzvNh8llZOtceUArq8AoPQs7fVLFLwUghBAWmxTkSIrzK1Z/kxWzgMs30oBn6uYZds5LfXd/gZUjX4+nS23zbFIklBTnStdNeTVkBtfYTANeLACgSJNqsgO/ENeGVp4BAtpBNIydq4GdqwHfiLtvlbDPRNppPiB+hrzTl3VNLPVqsK6us3TQt3TQd/H22LEoffB0Nt+IdqBqJf1Oyor54T1saQehw8JO38JOf7CPx76Vj3tNYJlY0A4EAGpMY36z3k0k9m6mKMg+mXsjQd0GZncu0c5RlcuHWeHd7VCQfRwWaRPtdPGgWn+EXz0hJQX80M46WpC9rd2QOomH1frFAgDqNOZvxNN7xNxGn3YKzWZmrf/kb3U8e5J+R2Zhjxf3o1k66KfdrlCocb+yl48UBsY82inUgsBS7+UjqbiMdg4AUGMaU5MpFCxLez7tFJrN0o7PZqldT2NxGTGz0TMy1aTT6OrDrZHB6wzaIT6srJhtXdeAdgp14eJjKHyljj+KAEBNaExNJsyQ0Y6g+Vgk5wWFq96qp1AQ4UvlX0KrI4pzZXKZ+n7NlxYq5DI1bsdTrZICmVztPn8AoEY0piYDAAAA0GKoyQAAAADoQ00GAAAAQB9qMgAAAAD6UJMBAAAA0IeaDAAAAIA+1GQAAAAA9KEmAwAAAKAPNRkAAAAAfajJAAAAAOhDTQYAAABAH2oyAAAAAPq0tia7nZoS2TqY+de1W+R3U8bdvZtKO9S7HqU9jGwdfPXqZdpBNMyFi2cqX9w+/TosXjJbKHz99kPPnz/9hN2KxeIOncJ/WDLn7YUxIweIxeLKu9t3xEe2Ds58lfH+5sdPHOneMyo7O4u5W1JS8s+jB58QA1RvwaIZQ4b1op0CAHQdl3aA2hUZ0cbV1SMrK/PS5bOTYkevidvm6VGfdihQjiGDY1xdPV69yvh1z7anT9LXrd3BYrE+Z4f6+vqBgY1TbiZXLnn27El6+qPbt2+EhoYzS67fuOLs7Opg7/j+5jyevpGRMZv95ndOzMj+YaHN63l6fU4kAADQHVrbTsZo1ard4OgvJsfOXL5snVQqTUg4qPoMCoVCo/evtoKDQiNaRg3oP3Rw9Bf/PHpQZdtVDSkUiozMl4SQpmEtcnOFjx+nMcuTrlwkhFy5eom5W1xSfP/+X2Ghzd/fnBAS1br9rh2Hra1tmIUSieST8wAAgA7S8naySvU8vQwNDbNz3pxXup2asjF+dXr6P+bmFgH+ITFfjLW0tCKE7P516+Eje4uLizw86g8bOioosDEh5FVW5po1K27eusbj6dfz9BoxYoxXfW9CyN27qTt2xt/9K5UQ4lXfZ/ToifXrNWBOn82dN3X+3GW/7dvx4MHfA/oPHTH8K5FItGNn/Pnzp18Lc2xt7du26TRo4HAmzJOn6Xv2bn/48J6TU92vx09p2NCfWf6h4/7085KLl87GTpqxZt3KjIwX27bsr1vXhd5TSx+Pp1/No6dPH9v165bMzJeWlladOvYYNHA405R17/5fcWuWP378yNLCysXVPS3t4fatB0ObhBNCbqRcdXPzYKoxFot1NfnNyeWbN6/J5fKw0OaFhQXde0aNHvX1o7SHSUkXPD29HBycTp1KIIT8cSqZy+X2H9g5Pz/v8JF9h4/ss7W127M7gRAiEoniN8WdPXdSIhHXcXLu23dwq8i2779hflq50du7oaqePG3woU/KjFnf1nFy5nK5CccOSSsqQkPDv54w1djYmNnq3PnT27ZvyM5+5eLsJpfLaf8nAAC0vZ2sUmFhQVlZma2NHSHk5q3r300Z5+LsFvvtzL69o//889ak2NEikejmresb41f7+QVOmjjdzta+vKyMEJKbKxw/YURRceG4sbGjRk6oqKj4emLMkyfphJCsrEyxRDw4OmbokJFZWZlTp00QiUSVR/zplyWdO/b4ccnqLp17yWSy6d9P3LtvZ/Pmrb6LndWyResXL59xOBxmzZ27NgX4h0z8eqpEIvl+5qSSkpLqj0sIKS0t2bRlzcSvp86ft6xOHWdKTyplFdIKqVT6z6MH+w/sbteus6OD0/vrnDqVsHjJbE9Pr5kzFkW0bLN5y9pdu7cQQrKzs2Inf8Xlcr+ftiAgICQp6WLXLr15PJ6lpZVXfe8bN64SQgoK8u/du9u9Wx+h8DXTM+z69SsCgYmPjx+z8507N9nZ2i9ftm7smG979ujfpk3HyuPOmf2jQGDSPDzy51Xxc2b/SAiRy+Xfz/jm6tVLgwYO/2bidA+P+vMXTD9+4kjlJpVvGBcXd1U8fdqi+k/K3n07s7IyFy1cNW5s7IWLZ3bu2sQsP3P25PwF0y0trMaPmxwSEpb++BHV/wQAANH+drLcXKFQ+Do7+9W27RvYbHanTj0IIb+sXtqlc88J479j1gkODh06vPeNlKtFRYWEkB7d+vr4+FV+v+7YGW9uZrF86Voul0sIaRPVMXpI94Tjh8aPjY2K6lC5Wv363pO+HX33r9SQ4FBmSY/u/dq168zcPnf+9O3UlMmxMzt26PZ+yK/HT2HWdK7rOmbcsJu3rrVs0bqa4zLnxWInzWjQwFclz6Ka+jb2K+aGu7vn4OiY91dQKBTxm+MaNvSfMX0BIaRF81bFxUV7ftvWq+eAP84cLy8vnz3zBwsLy2bNWt7581bytcSBA4YRQsLCWuzctUkkEl1Nvszn82O+GHfm7MkrVy7V8/S6kXK1SeOmlcW0t3fDmC/GVh7Oxdmt8rZXfW8ul2tpaVXZ6nnp8rk/797+dddRKytr5kRneXnZgYO/Vr4l3n7DQM1V/0lxcqo7fdp8FovVwMvnUuK5GylXR4/6WiwWr45b5ucXsPTHOObVzMh4kZb+D+3/CgDoOi2vyVb99MOqn34ghJibW3w/fUE9T6+srFfPnj3JyHiRcOzQ22vm5GRHtIwSCEwWLZ45ftzkyj7d164l5bzO7tj53y5EFRUVr3OyCSEsFuty4vm9+3Y+e/bE0NCQEJKfl1u5WmBg48rb129c0dfXb9e26m9cExNT5gbTQPL6dXb1xyWE8Pl8HS/ICCFTvpvt6uqRlys8euxgzJf9f1j0c6NGgW+v8PLlc6Hwdb++gyuXhISEHT9x5GXG89evs42MjCwsLJnX0cHBKTv7FbNOWFjzLVvXpd65eeXKpcYhTQ0NDZuHR169eql5eKRQ+LpJk/DKvb39Ev+n5OREqVQ6MLpr5RKZTGZkZPxpe4NK//FJ0edXXvlha2v/1193CCF3/0otLCzo3WtgZXnN/t8NALXC4XAMDKrrmwFaRstrsmFDR/n4+P308xI2mx3eLIIQkp+fSwgZOmRki+at3l7TwsLK2Nh49c+b49aumPb9RF/fRrNmLLa2tsnLzw0Laz4yZvzbKzNfpdt3xG/Zuq5XzwEjY8bn5gnnzpsqV/zbK8XQwLDydn5erpWlNee//u4z/ZxkMhkhpJrjEkIM3tq5znJ0qMN04AsJCYse0n3rtvUrV6x/e4WS0hJCiJmZReUSgcCEECJ8nePoWKe0tPTx4zQ3N4+Kioq0tIf+/sHMOp4e9W1sbJOSLqTcTJ70zfeEkJYto46fOHL85BE2m924cdPKvfH5BjVPm5+fa2lptWLZurcXcrj/fgAN8Zp+kuo/KW/T4+rJ5TJCSE5OFiHEzs5BhTEBPoVMJisvF9dgRdASWl6Tubt7Bgc1mfztzK+/+XL7jo0xX4w1NhYQQsRiUZX94uvWdVmy+Odbt2/Mmh275Mc5y5auEQhMCgsL3l9ZLBbv/nVLp47dx439lmlmqyaGsbEgLz+3mhXe96Hjwvu4XK69nePzF++OSWZjbct0Jaxckp+fxzy37dp23rd/1/QZE9u26ZR656ZUKh02ZGTlamGhzY8dP0wIYZpLAwNCTExMjxzZ5+vbyERgUvNgb18SKxCYFBTk29ra6+vjV68yfcInxczUnOkvWJu5AAA+mk708ffzC+jWtfee37b/8+iBk1NdW1u7Eyd/Ly8vZx6VSqUVFRXMbWb8gsCAkNDQ5ky37sDAxn/9defhP/cr98ZsKBKVi8XievUaMAsLiwqYftxVBggICCkvLz977lTlEqlUWn3mDx0X3ldSUvL4SZqFuSUhhKfHI4QwXQMtLa3sbO2vX0+qXPPixTN8Pt/Do76pqdm4sbH6+vwnT9KDg0I3rt/t5FS3crXQ0OZSqbSRX6DAWMDUfM3DI2Uy2fujYFTDgG+QmyusvBsY2Fgmk/1+dH/lErygSvEJnxR393psNvvM2RO1nw4A4CNoeTtZpS9jxl9Nvrx06by1a7aPHfPtrNmTx44f1rVLb7lMdup0Qps2HXv3Gnj/wd9z503p3q2vgYHh9etXmMvphw4ZmZycOPm7sX37RJubW1y/fkUmly2Yt9zU1MzNzePgoT0WFpalJSXMNQSV41q9o01Ux8NH9v6wZPaDB397uNd7/CTt5q1rG9btqibwh45ba8+Q5km5mZybJ8wVvj5+8khRUSFz0YarmwebzV750+JxY2MD/IOHDR31w49zli6bHxISduvW9cSkC0OHjDQwMLj/4O8fl86dMO47rp4em81+9SrDwsKy8uRyYEAIn89v1iyi8lgtW0YdO374o2qyhg0Dzp47ufvXrQKBiY+3X5uojkcTDq5b/9OrrMx6nl5paf8kJp3funk/n8+vhedGh3zCJ8XW1q5D+67Hjh+WiMWNGzfNzRVeu5Zobm6pwtQAAFXQlZrMyMjom6+nTft+4u5ftw4ZHLN44aotW9fFrVluZGTs1zDAzy+QaWJxruu6e/cWhULRyD9owrjvCCGODk6rf968dv2qXbs3s1gsT0+vHt37Mfuc+f2iJT/OmTd/mpNT3a+++iY9/Z8DB34dNXLC+0fX19dfvmzdxo2//HHmeMKxg3Z2DpERbatvKqvmuMDYviOeuULC3c1z2dI1zGBy9nYOUybP3r4zPjk5McA/uF27ziKxaN/+Xaf/OGZlaT3yy/H9+w0hhNjZ2tvbOy5ZOrfy9KKnR/2ff9rEVEg8Hi84KLRZ05aVxwoMCPHy8nF2dq15vFEjJ+TlCXfsjDczNR8zZpKbm8fSJXEb4385d+5UQsJBJ6e6Xbv05nJ15QNYez7tkzJ+3GQej3fm7MmUm8m+vv7u7vXy8j6udwEAgNKxqhwF/t69DQpFno+PGhUBm2fJO490MRDg8qhPJy6TH179JGahep2wFpWSnYvk/b5T9aBcMpmMaRiTyWSXE8/PnTd1+bK1gQEhKo7xmU5set6ip9TO5bMmlao9xzcTZx/rul5V9LjXQX/seBnSRlKnvpq+WKCGEhIuPHuWOXbsQNpBqpCausXIqIGn5wDaQbQKfqaDLnr+/OnX33wZFtrcw72eWCK+dOksn893cqxbg02htpSUlAwYVPV4MQ72TpmvXr6/vGnTltOmzFVBAO8Gfvfu//n+ch+fRj8s+klZAQDeIRZLCgtLaKcA1UFNBrrIyMi4dav2ycmX/zhz3NhY0NDXf+LEaTY2trRz6TRDQ8MN63dX+RCLVXWLvsHHDEfyOQGIgpCqmreYa0oAAJQCNRnoIktLq3Fjv2XGMQE1wWaz7amOGUY9AADoOPXqWgQAAACgm1CTAQAAANCHmgwAAEAd8fn6FhYfMXcIaDrUZAAAAOpIJBLn5RXRTgGqg5oMAAAAgD7UZAAAAAD0YSwMAFC+27fvHzt2UT8/ytnHmnYWAADNgJoMAJTm2bPM48cvHTt20c7OqlOnlnq5brQTAQBoDNRkAPC5SkrKjh27ePz4peLi0o4dW2zcOM/e3pqZ7xIAPhmuu9Q1GlOTmVlzWGzM3ft52MTMlkuInHaO/0ehUJjb6tFOoamMzbiEJaUY4MyZq8eOXbx9+17Hji0nTx7h6+v59qMGRoTNQafVN4xMOCw8GfAxcN2lrtGYmkyhUBQKxXwjZU5vp2uKhBKFTFb1vH30GBizcl9VSERyHh/fVx/t5aPy1v0pPG83b/7NnKOMiAjp0SNq5cqpVa7GM1AUZIudPA1VHlAdZaSX/XFr3YDBLYOCfGhnAQB1pDE1mZMnKc6X2jrTzqHJSgqkjp7qVZAxXHw4hcIKayd92kE0THmxzNaZq2+ouobPp08zLl++uWfPcUdH244dW0yd+qWeXnV/Q2zrkpdpFSqLp86kFQoza263qND16/eWl4uio7u2a9eMdigAUC8aU5M16UDWfpft4mPM1VPHqkL9KeTk8sGsscs5tINUoUl7xaE1mb2+dqUdRMNc3J8Z2kEVBVlRUQnTKlZeLurbt8OmTQvs7KxqsqGHP+tuUsmLh0Z16hvVfky1dnFvpl9zuUejwObNA+/dS9+58/dVq7ZHR3cZNKgz7WgAoC40piYjhAybzfl1ydPI/g5WjmhQ+Th5ryRndr0cMVcdCzJCiKkV6TaSfeiXZ22HOBqZatJ7khZxufzCb5mN28nr1K/dA505czUh4cKdOw87dWoxbdpIb2/3j91D969YB+OEEpHczU/A0snfUxKR/NL+V75NZR6N3izx9nZftOibnJy8nTt/DwnpGx3dZfDgrhYWppSDAgBtLIVC8f7Se/c2KBR5Pj79aESqjqScXNhP0u7I3PwMi3Jpdm3WFKYWnMd/lbs15LTsTfjq3atHmEGunSAv0+QuPgaFQry4VROYczPSyq0c2QERCucGtVXjpKbeT0i4mJBwoX378KiosPDwoM/c4cX95O4VmZOnvkRUxR8cbWVsxnn1WGxhx2rUQuHWsOoXSy6X79x5dMeO38PC/IcM6ebhUVflMUF9HTt24fnzrK++6k87SBVSU7cYGTXw9BxAO4hW0bCajCGTktxMIpXq0B/3T8bmsqztCUdzrmuUlJO8bCKX48WtGpvFMrUmBsa1svPMzJxjxy4mJFywtrbo1Kll584R1XcX+1jCV0RSrkOvLIvFMrUkhjUbyuDYsYtJSbcLCooGD+4aFuZf6+FAExw4cPrhw6fTp4+kHaQKqMlqg0aeJ+JwiU1dom7XD4JS8AyInQteXJVSKBSnTyft3386K0vYqVPLuLhZTk62tXEgK3u8sh/UqVPLTp1aXrv2544dv69atX3w4K6dO0fQDgUAKqWRNRkAKMWtW/d+//18QsKF4cN7fPVV/8BAb9qJdF2TJn5NmvilpT3fufP3TZsO9OrVJjq6K+1QAKAiqMkAdI5QmH/kyLmjR89bW1t07Ro5Z85Y2ong//HwqDtnzriCgqKtWw83btx3yJDuw4Z1NzZW7w6hAPDZUJMB6JCLF2/s23cqLe1Z166tVq+e4eRkRzsRfJCZmcnEiUPGj4/evv1w586j+/Xr2KNHVA1HIQEATYSaDED7PX/+6uDBPw4dOtOtW+tBgzqjC7kG4XDYw4f3HD6857FjF2NiZgYENBgxoqerqxPtXKAKHA7HwABjP+kQ1GQA2uzkycRDh/7Iycnr2bPNsWPrcP5LczEXARw/fmny5GUuLg4jRvT6hOHiQLPIZLLycjHtFKA6qMkAtNDTpxkHD/5x8OCZli2Dv/yyb3AwJljUEh07tujYscWFC9cXL97g6GgbHd3lnXnfAUBzoSYD0Cpnzlw9ffrK48fPe/Ro88cf8QYGfNqJQPkiIhpHRDROTr6zbNlmExPjsVWzEAAAIABJREFUUaP6+fh40A4FAJ8LNRmANigsLNm798TevSeDgrwHDuzo79+AdiKodaGhjUJDGyUl3V6yJN7c3GTUqH44mwmg0VCTAWi21NT7e/eeTE6+07dvh99+W4FpE3VNs2YBzZoFJCbeWrx4g5tbneHDe7i4ONIOBcrB5+ubmwtopwDVQU0GoKkSEi7u2nXUyMigT5/2ixZ9QzsO0BQeHhgeHpiUdCs29kdf33rjxw+ytDSjHQo+l0gkzs8vpp0CVAc1GYCGKSsT7dz5+44dv/ft22Hu3HH16rnQTgTqolmzwGbNAo8ePT9gQGz79uHjx0crd8ZSAKhVbNoBAKCmnj9/tWjRhnbtYhQKcupU/Pjxg1CQwfu6dIk8fTre1taqefPoXbsSaMcBgJpCTQagAW7dujdp0pKvv15Uv77L5cs7R43qa2iICyqhOoMGdU5O3iMWi9u3H3n+/DXacQDgv6FZG0CtXbhwY9euo4SQ6OguLVuG0I4DGmbEiF5dukQuWbLpt99OTpnyBSYA0Cw8np6REX596RDUZABq6sKFGxs27LW3t/rmm2He3m6044Cmsra2WLZs8o0bdydPXta4sd93342gnQhqSiKpKC0V0U4BqoOaDEDtXLx4Y/36vfb2VrNnj6lf35V2HNAGISEN9+9ftX//qaZNBy5c+HVkZBPaiQDgXajJANTIxYs3NmzYa2uLagxqRe/e7bp0ifz++59OnUpcsGAil8uhnQgA/oWaDEAt/Pnnw337TpWWls+cOcbLC9UY1BZ9fd6yZZPPnLnarNnAmTPHdO7cknYiAHgDNRkAZYWFJUuXbsrIyJk69cv69TG2BahCVFRYVFTY7NmrU1Pvz5gxmnYcqJq+Pg/j+OsUjIUBQNOGDXt79BgXHh64ZctCFGSgYnPnjmvVqklExNBHj57RzgJVEIslGMdfp6AmA6Dj7NmrUVEjFApy7tzW9u2b044DOqpp04CjR9fMnPnznj3HaWcB0HWoyQBUTSSSTJy4+Pr1u/v3rxo1qi/tOKDrBAKjPXuWv3iRtWjRetpZAHTaB/uTPX16MSfnnmrDAGi/O3cK9+zJGDKkToMGotu3l9OOA/BGcDC5f7+4Z8/B48djMDx18fBhXkaG6Pz5DNpBqlBaml2/fgPaKbRN1TWZi0tXGxuMGA6gZCtXbjM1rZuQMId2EIAqNGxIGjZMX7ly24YN82hnAUIIefnyklz+qmHDfrSDVM3ICNNCKFnVNZmhoZ2hoZ3KwwBorfLy8tGjR/fo0aN79+60swB8UPPmAY6OgYMHjz1x4gTtLEAMDR+z2aVWVgG0g4CKoD8ZQK178OBBmzZtFi5ciIIM1J+bm9vatWsnTZpEOwiAzkFNBlC7kpOTly1blpiY6OSEdn7QDC4uLj179hw3bhztIAC6BTUZQC16+PDhjh074uPjaQcB+Djh4eFBQUGrV6+mHUSn6evrGxsb004BqoOaDKC2PH36NC4uLi4ujnYQgE8xfPhwsVh8/vx52kF0l1gsLikpoZ0CVAdzKwHUimfPnk2aNOngwYO0gwB8unHjxkVGRl65coV2EACdgHYygFoxevTovXv30k4B8Fn09fXHjh27YsUK2kEAdAJqMgDlmz179vz587lctEODxhs0aFBKSsrz589pB9FFHA5HX1+fdgpQHdRkAEqWkJDAYrGCg4NpBwFQjkGDBuE6FSpkMplYLKadAlQHNRmAkiUkJMyYMYN2CgCl6dSp09mzZ0UiEe0gAFoONRmAMm3dutXX1xdnLUHL9OrV68CBA7RT6Bwej2diYkI7BagOajIAZTp48ODgwYNppwBQso4dOyYnJ9NOoXMkEklRURHtFKA6qMkAlObKlSthYWGmpqa0gwAomZeX161bt3D6EqBWoSYDUJozZ854e3vTTgFQKwIDA2/dukU7BYA2Q00GoDRZWVnNmjWjnQKgVjRt2vTx48e0U+gWDodjYGBAOwWoDmoyAOXIyckpLCy0srKiHQSgVggEgkePHtFOoVtkMll5eTntFKA6qMkAlCM9Pd3c3Jx2CoDa4uDgkJmZSTsFgDZDTQagHK9fv27UqBHtFAC1xcHBAeMyqBifz8cvPZ2CmgxAOTIyMlgsFu0UALXFwMDg9u3btFPoFpFIlJ+fTzsFqA5qMgDlKCkpwSgYoMUMDQ3LyspopwDQZqjJAJTDwMAAZ3ZAi+np6TVq1KiiooJ2EB1iYGCAc5c6BTUZgHJkZWXJ5XLaKQBq0V9//SWTyWin0CHl5eU4d6lTUJMBKIeRkRGPx6OdAqAWocckQK1CTQagHJh3HLSeh4cHGoNVCXOQ6xrUZADKkZ+fL5VKaacAqEXp6em0I+gWzEGua1CTAQAAANCHmgwAAEAdcblcQ0ND2ilAdVCTAQAAqCOpVIox4XQKajIAAAAA+lCTASgHl8vFSAGg3fh8Pt7kALUHNRmAckilUoVCQTsFQC0SiUR4k6sSi8XCIDs6BTUZAACAOlIoFBhhR6egJgMAAACgDzUZAACAOtLX1zc1NaWdAlQHNRkAAIA6EovFhYWFtFOA6qAmA1AODodDOwJA7eLxeLjuEqD2oCYDUA6ZTEY7AkDtkkgkuO5SlfT19QUCAe0UoDqoyQAAANSRWCwuLi6mnQJUBzUZAAAAAH2oyQAAAADoQ00GAACgjvT19c3MzGinANVBTQagHFZWVnp6erRTANQiX19f2hF0i1gsLigooJ0CVAc1GYByCIXCiooK2ikAatFff/1FOwKANkNNBgAAAEAfajIAAAB1pKenZ2xsTDsFqA5qMgAAAHVUUVFRUlJCOwWoDmoyAOWwtLTk8Xi0UwDUIm9vb9oRALQZajIA5cjNzZVIJLRTANSie/fu0Y4AoM24tAN8hMLCtFu3FtFOAVC17Oxnf/99n8f7jXYQHeLi0tXVtTvtFAC1BeOT6RpNqsmk0lKJpCAoKIZ2EIAqmJntrVvXq2FDP9pBdMXTpxdKS7NopwCoRRifTNdoUk1GCNHTM7SyakA7BUAVDA3NBQJHvD9VJifnb7mcdggdw+PxWCwW7RQAWgv9yQCUQyZDgQBaTiKRKBQK2ikAtBZqMgAAAHXE5XINDQ1ppwDVQU0GAACgjqRSaVlZGe0UoDoa1p8MVOnMmatTp654Z+GIET3HjBnwzsIZM366f//xgQM/EULS0p59+eXs2bPHREQ0JoSUlJS+fJnt5eX2aRnmzIlLT3++Y8eS/8y5f/8qFxfH9x+dP3/tkSPnqtxw6tSY3r3bfVqw91lamvJ4mIMctJmPjw/tCADaDDUZ/Ifu3Vvb2VlV3g0I+I8+7FwuVyAw4nI5zN3+/WObNw/65JrMyMjAyOizmu4jIxvb21sztzdu3F+/vkuLFsHMXV9fz8/Z8ztycwslEsxBDtrs77//ph0BQJuhJoP/0LlzS3//j7iW0MXF8fff4yrvfnKZolAoWCzW5MkjPm3zSuHhQeHhQcztTZsOeHm5xcT0/sx9AgAAKB1qMvhEp08nbdiw79Wr125uTnL5m0uxjh49P3fuGkJIXNzMJk38Onf+Ki+vcN++U/v2nbKzs0pIWEsIEQrzV67cnpR0SyqV+ft7TZw42MPDufIU5LJlk3fsOPr332lDh3Y7duxiVpawUSOvTZvmE0JSU+/Hxx9ITX1ACPHx8Zg4cXCDBu6f81/IzMxZsWLbtWt/6uvzvLxcx4zp7+3tUc2Bdu9OOHfuWqdOLTds2FdQUFSvnsuYMQNOnLh84cJ1PT2ulZV5RESIkp5dAHVUp04d2hF0C8aM1TXo4w//IT+/KDtbyPyrXHjy5OXp01dZWZlPnjwiLMz/0aNnzPKQEN/x4wdVrvbjj9+amBhHRjaOj5/344/fEkJEIvHo0XOvX/9zwoTo6dNHvn6dP3r0vOLi0spNlizZ1KNH69Wrv+/Vq82MGaPr13etfCgz87VYLImJ6TVyZJ/MzJwJExaJROJP/n8JhfkjRswoLCyOjR0+YcKgigppTMys9PTn1R8oNfXBqVNJS5ZMmjt33JMnGWPHzufx9NaundW3b/uHD59cv373k/MAqL8XL17QjqBbMGasrkE7GfyHyZOXVd5OTv6Vy+WKxZJly7YGBDSIi5vB4XAIIS9eZP3zz1NCiJ2ddWDgv7MUe3t7cLkcKyvzyrOfx49fevo0Y+3aWSEhDZneaV27jt2z5/iXX/ZhVujXr33nzhHMbRsby507j5aXv6mHOnRo3rFji//t2X306LmpqQ9CQxt92v8rPn6/hYXp2rWzuFwuIaRjxxbdu48/dOhsbOzw6g+0ePFEc3NTP7/6V66kJibemjbtSxaL1aCB+7ZtR9LT8Y0FAACfCDUZ/Ifx4we5ub05YcFUYKmpDwoKigYOHMncJYRwODVtcL15856xsSFTkBFC7O2tXVwc791Lr1yhceOGH9qWxWKdP39t586EJ09eGhryCSG5uVX8giwuLmUa3rhcjo2N5Yf2lpR0Ozs7t3nzwZVLKiqkTFtg9QfS1+cxN3g8PT09buWw5sbGhmVl5TV8HgA0UcOGDTGOP0DtQU0G/6FRo/rv9PHPyhISQhwcbD5hbyUlZebmJm8vMTU1fv06v/KuoaHBh7aNj9+/bt1vAwZ0HD9+oFBYMHXqCnlVc+vs3n1s48Z9hBBnZwdmeI4q5eYWNG8e9PaZVqauqvmB3iGVSjHEOWi3u3fv4k0OUHtQk8FHY4qq/PyiGq7/9h9xGxuLu3f/efvR3NyCt8fa+BCxWLJly6Hu3Vt/++1wQsjbndve0a5ds/r1XQghTBPXh5iYGBcUFL8/pFnNDwQAUKswjr+uQR9/+Gj16jmz2ewTJy7XZGUDA75Q+O+JPz+/ekVFJX/99Yi5++jRsxcvsmoy1kZ5uUgsljRo8Gacs4KCYkIIc70nM1JrYWEx85CLi2NEROOIiMaNG/tVs8PGjRveufPg/v1/T5uWl4uqP1D1WCwWmhBAuxkYGODcpSphHH9dg3Yy+A8JCRdTUv4dKLJpU39vb4+uXSMPHz4rFkuaNvUXCgsSE29ZWlZ9wXZAQIOTJxO3bj1kYmLs51evQ4fmW7YcmjJlRUxMLzabHR+/39zcpE+ftv8Zw8zMxMOj7p49JywtzUpKyjZs2Mdms9PSnhFCPDzqstnsxYs3xsYODw72reH/a+TIPomJt8aOXRAd3cXCwvTKldsymXz58u+qOVD1mAHVanh0AE1UXl6OHx4AtQc1GfyHw4fPvn1XIDDy9vaYPHkEj6d38mRicvIdf3+vevVcquxuTwiZMGGQUJgfH3/A3Nxk0qShHh7OcXEzV6zYunLldrlcHhDQ4Ntvh1lY1GgAnkWLJs6ZEzdt2sq6dR2++WbIP/88+/XXYxMmRDs42MyePSY+fn9i4q2a12ROTnabNy9YtWr75s0HWSyWl5drv34dqj9Q9TusnLoAQFu5urrWYC0A+ESadLYlN/fOnTtLW7WaTzsIwL/atftSKMyvbCFTKBQKhcLV1amaywtAKe7d2y+XC3x9R9MOov2CgoLefoczp+l79OgxY8YM2tG03IEDBx4+fDh9+nTaQUBF0J8M4LM0bvz/WuZYLBafzxs+vDu9RABKVrdu3crbTHHm4OAwYsTnznsGAO9ATQbwWQYM6Fw5xznD2dmxc+dIeokAlKxTp05v95VUKBQREREODg5UQ+kEfX19U1NT2ilAdVCTAXwWb293f3+vyj4APJ7eoEGdaIcCUKaBAwc6Ov47aoyTk1O/fv2oJtIVYrG4sLCQdgpQHdRkAJ+rf/+OlU1lderYo5EMtIyhoWGXLl0q7zZr1szJyYlqIgDthJoM4HP5+no2bFiPaSQbPLgz7TgAytevX786deoQQhwdHaOj/+MaZAD4NKjJAJQgOrqLra1VnTp2aCQDrWRsbNytWzcWixUeHo6eZAC1BOOTgca7c4lkPyMVIlZ52X/PSllr3Ns3nGtkZLD/J5qDy5hZs/V4Cgd34hlAMYX2UpCbZ/Ozn4vKimW0o1BgJG81sGU9e7bD/p9e0s5CgcBcz9xar1ELM30jtGVAbUFNBhpMVEp2/yj3CrGwdeGaWPBkNZgpvPb4E3uKR2dw2GxhpijzieSfWyWdvqCdRrvkZUl2L3ke0MqibgMB31hHxwcOINY1WEs7VYgUwkzRjsXPOo6wd3Crbi5dJWKxWFwuvqZ1CF5s0FSScvbB1YpOMc6GJngb/8vKSZ8Qcu+q3ukdRW0H62JzTm14nSG5uP/10DketIMATU71DP0jLM7sygyOMq9Tz0AFR1QoFFKpVAUHAjWBNljQVH/sVjTtYo+CrEreYWaGZkZ3ajRNPPwHhZyc/y07sh/9dlBQB1GDHC7ufy2TaswUOKBBUJOBRiotJNnP5JaO+rSDqC8HN6OHKfjaUIKM9HIOl80zwF9LeMPCXj/9TgntFKCF8FcGNJIwU1GnviHtFGrN0p6vULAJqrLPlp8lsXXFmw3+ZePMLxBW0E4BWgg1GWgkiUghEdPs0a/+2BwizJDKUZN9tvJSmUKG5xHeoiBlRarorMlms9HHX6egJgMAAFBHcrkcffx1CmoyAAAAAPpQkwEAAADQh5oMAAAAgD7UZAAAAAD0oSYDAABQU2w2vqZ1CF5sAAAANSWnOo0vqBhqMgAAAAD6UJMBAAAA0IeaDAAAAIA+1GQAAAAA9KEmAwAAAKAPNRnAxykpKfnn0QNam4OmSEv7Z8LEmA6dwmMnj3nnoTVrV077fiJze+u29ZGtgyNbB7du07h33/aLl8zOzs6qyf4vXDwzZFivjp2bb9m67sLFM5Gtg58/f/o5ge/d/0ssFlfelUql0UN6rF236nP2uXbdqkOH9769ZMHC769evfw5+9QpHA7HwMCAdgpQHdRkAB8nZmT/EyeO0NocNEJFRcWMWZMUCsXsWUuGDxv99kMKheLCxT9aRbZ7e+HAAcOiB41o4OV79uzJid98KRKJqt//kyfpCxZ+79cwYM7sH9tEdfz8wCdPHR07bphIVF65hMViCQQmfD7/c3b75ElaYuL5yrsymexGSjJ+k9ScTCYrLy+vwYqgJbi0AwBoGIlE8mkbKhQKFov1yZuDBnn67HF2dtbM7xf5+Pi989Ddu6lFRYXNmrZ8e2H//kMFxgJCyN59O9euW3Xl6qVWkW2r2f/NW9c4HM6kb6YzA4qmpf/zmYHfbiFjcDictXHbPnO36Y8fFRYWFBUXmQhMCCH37t0tKipMS3v4mbutiZcvnzs51a35+szHszYTAfw31GQAH7T7162Hj+wtLi7y8Kg/bOiooMDG/Qd2zs/PO3xk3+Ej+2xt7fbsTpBIJNt3bDx37lTO62xLS6u2bToNGzqKw+EQQn76ecnFS2djJ81Ys25lRsaLZUvXLF02753Naf8XQfl27Ny0ectaQsi4CSNMTEyPHDr79qPnzp8KC21uaGhY5bb+/sGEkJycN6cvj/y+f+++nUJhjp2dQ+tW7fv1Hayvr/9t7Fe3bt8ghLRu07hF81Zz5/z4/n5up6ZsjF+dnv6PublFgH9IzBdjLS2tmIeOnzhy8NCe58+fGhsLmoa1+GLEmGvXk1b99AMhpHvPKELIlO9mN2oUNHBQV0JI9KARX4wYw5zK3LJ13anTCYWFBc7OrsOGjgpvFkEI2X9g97nzp/v0HrRpU1xuntDT0yt20oy6dV0IIYWFBXl5uYSQ5KuX27btRAi5dj2JEPIo7U07WU5O9qYta65dSyotLalTx3nggOFRrdszD3XpFjHx62mJieeTryUaGRl36dxr6JAvmV9EH/q45eYKf1m99ObNa1w9vaCgJpcunV2/dqerq3s1z8bwL/q6uri7uLgfPLRHLBadOJao1DcCwEdDTQZQtZu3rm+MX926dfsmIU2v37hSXlZGCJkz+8fvpozzbxTUp/cgPR6PaU64efNaWNMWDvZOaWkPd+7aLBCY9O0TzeyktLRk05Y1E7+eKhKVBwaEvL85aJ+IllFyuXzrtvUjvxzv6urx9kMymezipbPfTJz2oW1fvcoghNjY2BFCtm7bsG//zp49+js7u7148fS3vdtfZjyfPnXe8GGjTUxME5MuzJ71g6Wl9fs7uXnr+tRpE9pEdezRvV9xUeGBg79Oih29fu1OPp+/ddv6bds3RrSM6tNrUH5B3o0bV7l6ek0aN+vbJ3rvvp2LF64yMjJ2cqprYGA4f96yufOmVu5z2fIFZ86eiB40wsXF/czZEzNnxf60cqOfXwAh5P79v/bu3fHttzOkUumKFQsXL5nNNLClP35ECHF0rHM58TxTkyVfS3R0rJOR8aKwsMDU1Ewqkz548He3rr1NTcwuJZ5buGiGo2OdBl4+zBF/WDJ72NBR/fsPvXDhj63b1tev1yA0NPxDHzeZTDb9+4l5+blffz01L0+4MX51gH8wU5BV82wQQm7cuCoSixYtWFlWXqbUdwHAp0BNBlC1rKxMQkiPbn19fPzatHnTZcervjeXy7W0tGrY0J9ZwuFw1sRtqzzrkfnq5aXL5yprMolEEjtpRoMGvh/aHLRPnTrOzCnLRn6B3t4N337o1u0bFRWSJo2bvbNJdtarMkHp48ePNm78xdLSqmlYC6Hw9a7dm2d8v7Bli9bMOpaW1itXLR43NtbXt9G160ksFotpqXrfL6uXduncc8L475i7wcGhQ4f3vpFy1au+z85dm9u06Th96jzmof79hjA3HBycCCENGviampoxS8KbRVS+q58/f3rqdMKQwTHDho4ihLRs0Tp6SI+t29avWL6OWWHhgpUWFpaEkJ49+69Zu7KwqNDUxPTx40dcLnfggGG/rF4qEomKi4vS0x9N/W7ODz/OeZT2MDioiYO949bN+5ijdOjQrUevqKSkC5U1WccO3QYNHE4I8XCvd+z44espV5marMqP2/37f/3z6MHsWT9EtIxiAp84+btEIuHxeB96NpqHRxJCOFzuzO8XoR89qAnUZABVC20SLhCYLFo8c/y4yaGh4dWsmZ+ft33HxhspycXFRYQQpmMQg8/nVxZkAGfPnmzWLEJfX/+d5V+OGsjccHPzmDtnKZ/Pv3jxjFQqXbhoxsJFM5iHFAoFIUT4Oofpm/UhWVmvnj17kpHxIuHYobeX5+Rkl5aWyGSybl16f2zsO3/eIoSEh0cyd1ksVkhw6B9njleuwOe/qWlsbe0JIbnC16Ympo8fpzk51W3RvPWqn35ISUkuKMw3NjJu3br92vWrHj16EBzUhOkJt3Xb+ocP7zGNiMy5znf2yeFwrK1tcoWvmbtVftxyXmdXVpaEECenunK5vLy8LC8v90PPBnOjQQNfdS7I9PX1zczMaKcA1UFNBlA1S0ur1T9vjlu7Ytr3E319G82asdja2ub91fLyckeOHmRgYDhi+FcODk6bN6958fJZ5aMGBlV3GwIdVFFRkZR04fvvF77/0Py5y2Ry2cJFM+rX83Z39ySE5OYJCSGLFq6ysbZ9e83KsuND8vNzCSFDh4xs0bzV28stLKx+P7qfEGL9/3dYE6WlJYQQczOLyiUmJqZlZWWlpaXvrKnH1SOEyOQyQsjjx49cXdyNjY2Dg0MTky6UlpaENW3B5XLdXD0ePXrAtBpOmTo+wD/4u8mzjQyNZs2ZLFdUPd82l8Nl9vmhj5ujYx3m+ol6nl7M6VQrK2tTU7PMzJcfejaYGwZ89S3ICCEikaiwsJB2ClAd1GQAH1S3rsuSxT/fun1j1uzYJT/OWbZ0DbOcabFg/H70QH5+XtwvW21t7ZieQG/XZFV6e3PQHdeuJbE5HKZ96B2N/IMExoJnz55s2bouMrJtSHCo4H+NYUx/+ZozNhYQQsRi0fsbMg/l5efa2FRdln3onWllZUMIKSoqtLJ6030tLy+Xy+VWM1KGXC5/9vxJ06YtCSERLaLi1q6oqJBMnzafEOLq5nH9+hVCyI4d8Q4OTosWruJyuTUsjz70catfr0FIcOiGjT9nZ78qKMxPunJxxvcLq382NAWuBtUpGJ8M4IOYcSsCA0JCQ5tXDqpkwDfIzRVWrlNUVGBmZs58QxBCCosKqi+53tkcdMe586datmjN1B9VGjhgmJubx/IVC8rKygICQlgs1qHDv1U+Ws04VTw9HlMzMaftbG3tTpz8vXJ9qVRaUVFBCAnwDyaEHD9+uHJDqVTK3GDqIeH/zg++o0EDXxaLlXztzWWJEokk+Vqij48fc8FjlTIyXohEIqaXfdOmLcvKShUKRXBQKCHEzdXj5cvnpaWlhUUFHu71mCdEIpGUlZfJ5VW3k1Wq5uM2ftxkJ6e6L14+MzM1X/3LFqZjWTXPhkbA7zddg3YygKrdf/D33HlTunfra2BgeP36Fa/63szyhg0Dzp47ufvXrQKBiY+3n79/8KHDezdvWevj0+jy5XPXriXJ5XLmsrIqd/vO5m5uHlWuBlpGJBJdTb68aGF1w+JzudzJsbPGjhu2Mf6XrydM6dmj/4GDv06f8U14s4jcXOHhI3sXL/qJOTf3Dlc3DzabvfKnxePGxgb4B48d8+2s2ZPHjh/WtUtvuUx26nRCmzYde/caWKeOc+dOPY4mHCwqKgwJCSssLDh69MCKFevt7Rx8fBtxOJzVa5Z1aNdVLBF37dLr7f07Oji1a9t567b1MpnMwcHp2LFDeXm5TKPXhzAXXbq6uBNCmNOX+jx9pl3NzdWDEJKe/o+/f/CpU0ePnzhiIjDdd2BXcXHR0yfp1Y8T9qGPm5GR8ZhxQ/v0jnZ0rMNisYqLi0pKSoyNjVks1oeejZq9bgAqhZoMoGo8PZ5zXdfdu7coFIpG/kETxr25bmvUyAl5ecIdO+PNTM3HjJnUonmrIYNjDh3ee/jw3rCmLeJWb138w6xDh39jrlB73zuboybTEUlXLhoZGTfyC6x+Na/63r17Ddy7b2dkRNuxYybZ2NgeOvTbjRtXLS2tmodHWltv/hs3AAAgAElEQVRV0aOREGJv5zBl8uztO+OTkxMD/IObh0cuXrhqy9Z1cWuWGxkZ+zUM8Pvfcb+ZOM3OziEh4WDSlYvWVjYhIWFcDpepur6d9H38prjVccs8Pb3eqckIIRO/nmpkZHzo8G/FxUWuLu6LFqwMDAip5j/y5Ekaj8er7P0W0SKK878GQmdnN0LIo0cPRgz7Ki9X+MvqpQKBSedOPfv2jl6xatHt1JRq9lzNxy04KHTHzvjKlj+BseDnnza5uLhV82yoP4xkq2tYGtQ0mpt7586dpa1aVffjDHTEo9vyf24btOjlQDuIWts+L+2rpRy2lvZQuHdvv1wu8PUdXYN1P8v1k3liEfGPtKjBukCNTCZjzqUqFIrMVxkxX/bv2yf6nYmtlOVhSmFJniSiTxWDwynX0aNHs7Kyvvzyy9o+EKgJtJOBTlj0w6yrVy+9v9za2vb16+z3l5sITHftrPVZKZOTExcunlHlQw72TpmvXr6/fHP83iov/wTQZWKxeMy4oTY2do38AvX0eHfv3haJRO7u9Wjn+lwlJSW47lKnoCYDnfDVqIlV/mKWVlRw9fTeX85mqaJxyd8/eMP63VU+xGJV3YZtbo7WGoB3sVistm06nTt3asvWdTwez9XVY/asH94Z/0ITyeVytrY2dENVUJOBTlDPUobP59vb4fQrwOfi8Xj9+g7u13cw7SBKhppM1+DFBgAAUEeoyXQNXmwAAAB1hJpM1+DcJQAAgDoyNDSsZmBe0D6oyQAAANRRXl6eXlUXIYG2QqMoAACAOhKLxfr6+rRTgOqgJgMAAFBHqMl0DWoyAAAAdYSaTNegJgMAAFBHEokENZlOQU0GAADwcZ49e3b79u3aPopAIDAyMqrto4D6QE0GGolFCJeLd+9/4BuyWVXMzwQfh8UhLAxHAG/hsFmSCnFcXFx5eTkhZOHChUePHq2NAz19+hTtZDoF32qgkYzMWIW5Etop1Fp5iYwQBYqJz2ck4JYWSGmnADVSnF8REOwdHx9vYGBACGnQoMHff/9NCCkoKPjiiy82b95MCJFKlfCeKS4uNjExUUZk0AyoyUAjWdqzJCIZ7RRqrUhY4eCOikwJrBz0y0tQk8G/yoql1k7/Nl/17Nlz6tSphBAzM7Px48dbWFgQQjIyMlq3br1s2TJCSGFhYUFBwSccqLi42NjYWJnRQb2hJgONxOMT94Yk9Xwe7SDqK+V0TlArnLlUApu6+no81rO/S2kHAbWQ80JUnF/h3MCwykf9/f27d+9OCHF2dj5w4EDbtm0JIa9fv+7du/f8+fOZjmipqakyWY1+UhYXFwsEAmX/D0B9oSYDTRXWmUglJakXUJZV4dS2jKZdFDZ1aefQFp2+sP/nVsGTv0poBwHKMtPLbp0R9hjjWJOVzczM/Pz8CCEeHh5nzpwZM2YMIaS8vPyXX35ZvHgxISQlJeXEiRPVNKGhJtM1mFsJNFhkX1nS74V/bC9mc7jmdvwKsa43C/EN2ZmPS7hchX9LWV0vFu04WqXnOMeT27L+Tso3NucaGGO6G50jlcpynonMrfV6jXdif1KnAEtLS0KIl5fXpk2bKpfcuHFDJpN17tx51apVCoUiJiamsggrLS0NCQnBHOQ6BTUZaLZmXUlxvjzvlbg4XyyX06zJjh694OFRt0EDN4oZ9PRZ7n7EzpnFYqMgU772Q+0KhVJhhqi0SEe7l61atWrs2LG6OQOjoYAf2t7CzFqZ/3dXV9evvvqKud21a9crV66UlJQIBILRo0fz+fzo6OicnJzS0lIMh6E7UJOBxhOYE4E5U4LQLET2nPjTzJnn19yDYgaobaZWXFMr3e1znbMkxTvMmLnYEJTLzc3Nze3NL7off/zxzz//FAqF1tbW8+fPf/DgQXx8vJWV1b1797y8vNBypsXw0gIAQI0kJCSgIFMBExOT8PBwqVRqY2Pzww8/rF69ms/nE0Li4uKaNGnCrHP06NGnT5/STgpKhpoMAABqpLCwkHYEHZKTk2NjY0MIcXJyYkbEiIuLu3HjBvPozZs3Y2Njmes34+Pjr169SjsvKAFqMgDl4PN5OKcA2m3AgAHMyPWgApU1WZXmzJmzf/9+DodDCNHT02MmEnj16tW0adNOnDih0qCgPOhPBqAcenpcNnrWg1ZzdXVlsfAmVxGFQuHk5FSTNYcOHcrcsLa2joyMzMnJIYSkpqauWLGiY8eO/fv3F4vFmKNJI+BnPYByFBeXSaWYWgC0WVxcHNOxCVTg6tWrdet+3BiDXC63bdu20dHRzOi1U6ZMsbW1JYQ8evQoKipq3bp1hJC8vDyRSFRrqeGzoCYDUA4DA32cuwTtVlhYqFDo+iiAqiESiXJzcx0dazQ47Yf4+PhERkYSQnx9ffft29e8eXNCyOPHj1u3br1hwwZCyJMnT3ChgFrBVwiAcpSXi+VyOe0UALVowIABzHkxqG2PHz+uHBpDKczNzX18fAghwcHBSUlJzARQ2dnZsbGxzBi2KSkpycnJSpk6HT4Z+pMBAECN1KtXD+1kqpGenu7u7l57+2euHggNDd2/f79EImG6r+3YsePFixd9+vQ5efKkTCaLiIjAcLUqhpoMQDlMTY253E+acgVAQ6xatYp2BF2RnZ3doEED1RyLx+MRQkJCQkJCQpglNjY2hw8fNjAwaNWq1bZt2wghPXv2xMybKoBzlwDKUVhYgj7+oN1yc3PFYjHtFDrhypUrXl5etI4eGBg4b968Vq1aMbVaYWHhs2fPCCE//PDDqlWrSkpKaAXTeqjJAJTD0tJUTw8Nz6DNVq1adfbsWdoptJ9UKr13716jRo1oByGEEG9v7wkTJvj6+hJCevfubWlpWVRURAgZOXLkvHnzKioqaAfUKvgKAVCO3NzCigp0jwVt5urqWlZWRjuF9ktJSQkKCqKdogoeHh4eHm+m9J01a9bNmzdlMpmenl6PHj08PT0XL17MjGELnww1GQAA1MiIESNoR9AJN2/eVM+a7G1OTk6VQ9pu2bLl5s2bCoVCJpO1bNkyLCxs6dKlIpEIo9l9LJy7BFAOMzMB+viDdhOJREKhkHYK7ffnn3+qf032NjMzs9atW3O5XA6Hc+bMmX79+hFCCgoKgoODly5dyoxsh6GCagI1GYByFBQUo48/aLfi4mJmjHioPQUFBWlpaWrSmewT8Pn84OBgQoidnV1KSkqPHj0IIS9fvmzSpMmKFSuY/yBGQfsQ1GQAymFkxMc4/qDdrK2tbWxsiouLaQfRZidPnmzfvj3tFErD9D/z8fG5ceNG165dCSGZmZnNmjVjJhLIzs6mHVC94CsEQDlKS0VonAett337doxTVau0rCZ7G1OfeXt7X7t2rW3btoSQO3fuNG7cODExkanVaAekDzUZAADUVEFBQV5eHu0UWisjIyMvL69hw4a0g9Q6FxcXQkjbtm2vXr3q6elJCDly5EirVq2uXbtGCGGG29BBqMkAlMPa2ozH06OdAqB25eXljRo1inYKrXXx4kVmJkrdweFwbG1tCSFfffXVoUOHmGnXt2zZ0rdv3ydPntBOp2qoyQCU4/XrAokEwyeClnNzc/Px8cFM5LUkPj6+V69etFNQY2pqyoyv8fXXXy9evJiZ9Kl79+4rV66kHU1FUJMBKIdAYIixMEAXzJkzh5nBGpRr//79bdu2NTU1pR1ELbi7uzNtZgcOHAgNDWUWjh49euvWrbSj1SLUZADKUVxchrEwQBdIJJLDhw/TTqGF4uPjv/jiC9op1A6HwwkLC2Nujx8/nrnsNzMzc9OmTQUFBbTTKRlqMgAA+Ag8Hu/x48e7du2iHUSr/P7772FhYdbW1rSDqDUfH5/x48cTQqysrMRi8cGDBwkhaWlpWnNNAGoyAAD4OBMmTLCwsKCdQqucPn169OjRtFNoDB6PN2bMGGayL5FI1K1bt1OnTtEOpQSoyQAA4ONwudwOHTrQTqE91q5d6+/vz1x+CB/L19f3/Pnz9evXJ4RMnTr1119/pZ3o06EmA1AOY2NDDgcfKNAhkydPTk5Opp1C4718+fLkyZMxMTG0g2g2ZsCz2NjYjIyMly9fVlRo5FXw+AoBUI6SkjKZDOP4gw5ZunTpsWPHZDJc2vJZ5s2bN2vWLNoptISVlVVsbKyTkxOLxQoODr58+TLtRB8HNRkAAHyi+fPnczgYAubTnTp1qlGjRkFBQbSDaBsul5uSklJeXk4IycrKoh2nplCTASgHxicD3fTw4UM083yaFy9erF27duzYsbSDaC1mVs0DBw5oyhUAqMkAlAPjk4Fuql+//tChQ3fu3Ek7iOYZOXLkhg0baKfQfmPHjv37779pp6gRLu0AAACg2dzd3d3d3TMyMpiB16EmZsyYMWHCBMyIoBqTJk0SiUSEED6fTztLddBOBqAcbDaLdgQAmiwtLdu3b69QKGgH0QB79uyxtbXFeCKqpK+v37t3b7lcra/EQk0GoBxyOb6KQKfx+fwdO3acOXNGQ4chUJmzZ8/eunWLGY8eVIbFYvXs2VPNR2/BuUsAAFAOa2vrNm3aCIXCxMTE7t27046jju7fv79lyxZ0v6OCGfdfnaGdDEA5zMwEuO4SgBkj6u7du6mpqbSDqJ28vLy1a9eiIKMlOzs7LS2NdorqoCYDUI6CgmJcdwnAmDlzpkAgoJ1CvRQUFPTt2/fnn3+mHUR3Xb16Vc1nXkJNBgAAyufu7k4IadOmTXZ2Nu0s9GVnZ/fs2fPMmTO0g+g0Q0NDMzMz2imqg5oMQDnMzAR6euigCfD/nDhxYteuXbRTUJaWlrZ48eJz587RDqLr2rZtq+aXVqAmA1COgoLiigop7RQA6oXL5U6aNIkZ/YF2FjpSUlKmTp26atUq2kGAFBQUvHr1inaK6qAmA1AOa2szHk+PdgoANWVubr527VraKVTt1KlTGzdu3L9/P+0gQAghFy5ciI+Pp52iOjjVAvBZAgN7MSPfEEJ27kxQKBQsFsve3johQee+fgCq0a5du6dPnzLXHlpYWDALO3Xq5OXltXz5ctrpasW6desKCwvXr19PO4iua9++/evXryvvHj58mLlx8+ZNeqGqhnYygM8SGtqIzWaz/ofNZuvpcfv370g7F4DacXFxIYQcPHjwxIkTzJLs7OwHDx7cv3+fdjTlW758OZfLnTJlCu0gQHr06PH2X2kWi6VQKMLCwmjnqgJqMoDPMnBgZ1NT47eXODra9O7dll4iALUWExOTlJQkFoubNGnClGW//fYb7VDKJBKJevXqFRQUFBMTQzsLEEJInz59nJyc3l5iamo6fPhweok+CDUZwGcJDw/09HSuvMvlcrp3j+Lz9amGAlBrCxYsiIqKksnejOd3+/btjIwM2qGUIzU1ddCgQcuXL4+IiKCdBd6wsLBo06YN08OEEKJQKHx9fYOCgmjnqgJqMoDPFR3dxdT0zfCYjo62aCQDqF7nzp3Ly8sr72ZmZh48eJBqIuXYs2fP6tWrDxw4wJylBfUxYMCAOnXqMLdNTEzUs5EMNRmAEoSHB7m711EoFFwup1u3VgYGfNqJANRXhw4d3hmPQKFQnDt3rri4mF4oJZgzZ87Lly/V/LI+nWVubh4VFcU0lfn6+gYGBtJOVDXUZABKMHRoVzMzkzp17Hr3bkc7C4BaO3HihJ+fn7Ozs4WFBdPbWtObyqRSaf/+/YODg2NjY2lngQ8aOHBgnTp1TExMhg0bRjvLB2EsDFAacRl5el9RlKsoL2HRzqJ6gWGeIxwcbFJO6hOioB1G1QyMFVaOLFcfHXzdtUFedkXWk/LSIll5iYombB3eZalEIikoKMjPzxcKhcXFxWKx+O552SWBUDUBlEihUOzbt29g2wUmErNLB+nkNxBwLGx57g2NiCZ8BJ8/KBNmikUlcqlU1X8qW/p8JRQKS585X3qm6lfKUMCxsOO5NTSqfrU3v1E0Qm7unTt3lrZqNZ92EKjC47uKlD/Yxub6ts5GcpmcdhxQqfISaXGepFAo6jmOxf+PvzlKc+/efrlc4Os7WkXH01Ipf+RnPxdzeWybOnxpBT65GkkqVQhfiHKzxN1GOZrbqu/I1XKZ4si6TANjLt+IK7DgymUaU358PolIkZspyssS9xrvJLD4YHMY2slACZ4/YN1N0uvwhVMN1gWtVZAjSdj0qnOMnG9IOwrUzN2kotcZkha97WgHASUQl8nO7cuO7GNtoa5l2cHVmX4tLOzdDGgHoaa0UHp6V3bbaFuBedXVF/qTwecqKSBn98hbDUBBpuvMbHjBbeyOrNGh374a7em9svQ7JeE9bGkHAeXQN+S07G134KcX/9feXcdFlf19AD8TwNAxdIgiKIogKpioKGCtRRhrgK2rqGutrrLGuioqNig2ChYqdnetgaCoi6vCWiA5tOTE88fd3yyPIBIjZ4DP+8Ufcw937nwm7p3vnHODdpDyXQhJbu6o2ZALMkKIqia380CD45sTvjYDajKoqae3JC066NBOAXKBb6zE4nCT3qIsqwNibmdZd9CinQJkSUmZbWKl+ipK7o5gzc8RfYovaGyjVol56zk1La6OodI/zz+X+1/UZFBTGSksXROc/QH+pWfCS/9EOwRUQnZ6ia4x1tz6hm+sJPhUTDvFl9ISiwzMG3QPWWl8IyVBUlG5/0JNBjWVlyFR5OGDBP/iKnILctFPVgfkCEqUVLDm1jeKSuz8nFo6frby8nOFXAV82P6lwGPn55b/HuE1AgAAAKAPNRkAAAAAfajJAAAAAOhDTQYAAABAH2oyAAAAAPpQkwEAAADQh5oMAAAAgD7UZAAAAAD0oSYDAAAAoA81GQAAAAB9qMkAAAAA6ENNBgAAAEAfajKobdnZWT1cHL74mz5zfNk5z50/2cPFQSBIJ4QIhcJR3u7bgjcy/xKJRM+fP5VJntTUlLJ5mD8Pr14yeYjKCNm3nXlQF7f2XkP7rFq9JCUluSYLTE5OSkr+VLrl/IVTgz1ca7hYaMhEIpH3GM+gretpByFjxw/9ffmvslqaWCzevWer19A+Awf3fPDg7s1bV3u4OHz48K4my4x9+aKoqEg6+cUWDORTQuLHHi4O165fohWAS+uBoYFr17a9nV1b6aSBvmHF87NYLHV1DR6Px0yuXbf81avYvbvDa55EVVVt7JgpzO0XL55GPn7w43AfHk+ZEKKiolLz5VfJiB/HcLncf/6Ju3bt4rOY6L17jkqfcpUkfkoY7e2++LdVRobG0kZFRSVVVTU2G7/EoJpYLJaamnr1PpPy7Oy5E4cO75s8aYaZqXmrVvaPox7UcIEXL51ZvWbZyYirSkpKTMsXWzCAcqEmAzrs7Np6j55Q+fk5HM62oH3SyeJSP0CrRCKRsFis0i2qqqrSJAcPhUQ+fuDp8SOfr1u95dfQ8OE+6mrqhJDwo2Hbgjf+ef92zx7V6asTCYUSieSLRleXPq4ufaq6qISED6amjaqRAeofNpu9NTBEhgssuz5+D998lEeRf7Zt4zjEa6SsHrGozAbqiy0YQLlQk4F8eRP3akvg2levYvk6umZm5kxjUvKnESMHEkJGjRw3ftxU/zVLb9y8Qgjp4eJACDl44LSRobFQKNwbEnzp8tns7Cxz8yZjfCY7dXFmhkoHe7hOmTzzTdyre/duWllZb964q/J5Tp0+Fn40LD091dDQ2KVnn2FDRyspKRUXF+8P3Xn9+qXUtBQ+X7eX2w9jfCZzOBxCiN/iOY3MGhcWFV6+fFYikbRt097T48ewA7tf/BWjo80fO2aKm1u/yjyuvb0DISQ1NZkZ9Sj3qe3es/VIeOjli/eZu/z9Kvanqd7+qzY3atTYZ6wXIWTZ7wuWEdK7d/8Fvyz1X7P00qWzhJArlx5wuVy/xXPMTM25XO7ZcyeEJSUdOzrNnLFATU2NECIQpG8JXBsV9ZCroNCuXYfbt6+F7jthYPCNjkyo965cOb/SfzEhpJmV9fbgMKYx9uWL4O0bX72K5fGUO3fq9tNPszTUNYRCoVvvjhMn+I74cQwz26+Lfs7OztoaGFLu+jhgkPPPM3+9e/fGg4d3VVXVBvT39PGeSAipYEWr2NfW+nJXZxe39mKxmNmeTPed5+E+rOwCnzx9vHNXYHz8a21tnTb2jhPGT5P+bDt/4VTEicMfPrxTU1Pv3Knb+HFTHz66t3GTPyFksIcrIWT+L0tat25XegvGrGXbgjc8fHRPKBTatrKfMvlnCwtLQsix4wev37g8xGvk7t1Bgox0KyvrubP9GjVqLNN3sj4r9y1+E/dq+oxx/is379i1JT7+tYGB0eSJM7p06c7cJSsrM2jrunt/3lJUVGpj70A3P2oyoCM//3NqagpzW0tLW1FRkRDy4cO7WbMnaWpoTZzgy+Fw94fuZGbQ1tJZ/nvAst8XMJOjRoxLS01JSkr8dcHvhBC+ji4hJGDdH1evXRg1clzjxk2vXrvw2+K5mzbstLNrw9wlLGz3oEFD1gUEV2aDLhWyb8fRY2Ee7sPNzS0+fnx3JHx/QuKHhQt+53A4UVEPO3XuZmxkGhf3KuzAHnV1jaFDRjH3OnR4n7v7sPXrtj94cHdvSPCDh3en/jR7/Phphw6F+K9Z2rx5y8psYZOSEgkh+vqG33xqZfF1dBct/GPFSr+xY6a0sXfQ1tYhhHi4DxeLxVeunJfOFn40rGePXitXbPzw/m3A+j/4fL0pk2eKRKKFi37OyBTMnLkgIyN9567ANvYOKMiAENK6dbvlvwccOLhXLBIxLe/e/TNn7pTGjZv+Mm9Jdlbm3pDg1NTkdQHbvrmosuuj/+olY3wmDx/uc/PmlZB925s3a9Gxo1PFK1pVH+Vrq/PvS9fu2LVFSVHJ23uihYVV2eVERT9a8OsMN9d+7oOH5eZkH484NHvulO3bwng8Xsi+7fv273Tu7jrEc2RmVkZk5H2ugkKH9l2GDhkVfjRs1YqNqqpqpqaNlJVVSm/BCgsLZ8+dkpOTPWniDJ4S79CRfbPnTgndf4LpI3/58kV4eOicOX5CoXD9+hWrVi9BB1slfe0tZnouly1fMN13npGh8d6Q4D9WLjp88KymplZxcfHcX6YmJn4cOmSUoaHxqVNH6T4F1GRAx5Hw0CPhoczttWuCHNp1IIQE79jEZrGDAkO0tLSZgRLm5yaPx3Pq4iwdfTA1baSpqZWRKbC1tWdaPnx4d+nyWe/RE8b4TCaEdO/mMsrbPWTf9vXrgpkZWra0nTB+WpUSpqenHTi4x2/Riu7dXJgWPl9vw8ZVvtPmaqhrbA3aJ83zKSnh9p3r0q8Kc/MmM3znMd0J5y+ctG5u4z54KCFk2tQ5d+7eeBoTVUFNlpKclK/++Z9/3uzcuYXP1+3cqds3n1pZioqKzaysCSGNGjWWvkTNrKwbm1uUns3UtNHCX5ezWKwW1ja3716PfHx/yuSZL1++eP3m7yWL/Z27uzIv7IWLp4VCIZeLbUVDp69voK9vcPHSmbT//ZoKO7CbzWavWR3IFBPq6hor/RfHxETb2NhVvKiy62O/voNGjhhLCLFs2uzc+ZOPHt9narIKVrRvKv0oFazOXbp0Pxy+X5mnzHQ/l7UlcO2A/h4zpv/CTDo4dPQZ6xX5+L51c5uwA3vc3Pox3/qEkOHDvJkbxsamhJAWLVppamoxLaW3YFeunv/w4d26gG1t2zgSQmxt24wYNTAi4jDTO0gIWfHHBh0dPiHEw2P41m0bsnOyNTU0K/msG6wK3mJmcrrvPGZXkAkTfCdPGRXzLLpb154nT4XHx7+RfgfZtLRjBhlowXYW6HB17dvT+d89pawsmzO/HSMj7w8c6MUUZISQytcBMc+iCSFOTj2YSRaL5ejQ8crV//qE2rZtX3p+gSC9uKSYEKKirCLdaH4hKuqhUChcsdJvxUo/poXZQys9LVVDXSMzM2N/6M7Ixw9yc3MIIcx3EkNJUUl6W1FRiaugwNzW1zdgRlWYH20ZmYJ/2/UMpL0FEyePYG5YWFguW7qWx+N986lVG0+JJ/2SMDAwevEihhCSmpYi/UZh6jaxWFxYWMgMawKU9jQmqk0bR+mH39GxEyHk1evYb9ZkX6yPhBDmqBpmvys9PX1BehozWcGKVpr0EGMtTW1lZeWyj1Lx6lxB1OTkpPfv3yYmfjx77kTp9tTUlM+f80Qi0aABVf4Kj4mJUlNVYwoyQoihoVGjRo1fvY4t+2oYGBgRQgTpaajJvqmCt5iZVP7/r2p6ehoh5M7dGxYWlkxBRghhV2Ug5XtATQZ0mJmad+rUtXSLICNdKBSWPk6w8j5/zmOGOKUtGhqa+fn5nz9/Zial2zjG8hULY2KiCSED+nvMnrWw3GUKMtIJIStXbNTXMyjdbmxsmpEhmDRlpLKyyrixPxkbm+7Zs/VjwvtvhmQKIGYzEfvy+ew5/x7seSz8onTflOXLAkRi0YqVfs2btWza1KoyT00mFLgKYrGIEGJiYkYIef78KdPT9vLlC11dPRRkUK7Pn/O0NLWlk+rqGtKvuop9sT5+gcvhisQiQkjlVzRmby1CiN+iFS49e5d9lApW54qjZmYKCCE+3pO6de1Zul1HR/f0mWOEEL3/v8DKyPucp6mlXbpFQ0NTUN7rpsBVIIQwrwZUrIK3+O27+NItzKvKbPFSU5OtrKxrPexXoSYDecFs3DMzMyo5f+njCnV19QkhOTnZurp6TEtGhoDL5fJ4vLy8krL3HT92anZOFiHE0OCrJaD6/349lx1qPH3meGZmRtCWEGZHK319w8rUZKVZNLFc/nvAFw9ECGlt305dTf39+7d7Q4J79Ojl6NCxgqf2PQ5Ya96shaNDxx07N6ekJGVlZ97785bfohUyfxSoH3R19XNysqWTzMqrpqYuq09m5Vc06drUvFnLcmeoYHWumJqaOiGkqKiw7B2Zf2VkCpgu8LLKHvvM0NPVj419XrolI0PwzfMBQcWq9xZraWpX/mIBVjkAACAASURBVEunFuBMRSAvVFVVTUzMbt66WlJSThX1BR5POSNDwBwtxey3wWKxHjy8y0wWFxc/eHjXxsbua3v029raO3VxduribGnZ7GsP0aaNI4vFOnHyiLSloKCAuZGTk6WlpS3d8z07J+trG9+v0dTUYgI4dXFmjm8obcSPYywsLNet/yM/P7+Cp6apqV1SUpL9vy/F5FJniFVS4jFDHlVKxZjuO8/UtNHHhPdamtqBW/YyO5YBlGVjY/c0JqqwsJCZvH37GrNycTgcdXWNdMG/Hz+JRMIcQVxVFaxoigqKzGgmQ7o26enpl7uoClbnshQVFJkfQszwvYGB4YWLp6XzC4VCZhvFHKN3/vxJ6R2FQiFzgxkm+1qXoY2NXW5uzsuXL5jJ+Pg3iYkfpbt+QvVU6S2WsrKyfvUq9uPHqv2o/n7QTwZ0PHsWvT/0v3NSmJs36d7Nxcd70spVv/lOH9unz0A2m3084tDX7t7aru2Fi6fXb1hp28peXV2jc+duvXv1D9m3XSQSGRubnjt3IiNDsPDX5TVJaGpi5uE+/HjEoYV+s5y6OAsE6SdPha9auamZlbW9vcOJk+F79m6zsWl95871hw/vicXi7Oysr+2aVlVcLnfe3MXTfMfs3LVl5oz5X3tqDu06sFiswKAAL88R797Gb9+5WboEfX0DYyOT8GNhPGXlnJxsD/fh0nNXVkwoFE719RniNcrExIzFYuXm5uTl5WHsEso1asS469cvzf91+oD+nqmpyfv272hj72Dfuh0hpL1jpyuXz7Vt46ijzQ8/Gvbhw7tqjBBVsKJZWjY/f+FU0Nb1kyZOV/jfLpsVqGB1LjtzEwtLNpu9YdMq32lz29g7TJs6Z/GSedOmjxk4wEssEl26fNbNrZ+X5wgzM/P+P7ifORuRk5Pt6NgpOzvrzJnj69dvNzI0tmnVmsPhBG4N6Nt7YFFx0cABnqWX7+rS98DBvUt/nz961AQ2mx0auktLS3vQwCFVfX2gtCq9xVI//jjm8pVzM2dN9PIcwdfRvXb9Yi1GLgdqMqAjKvpRVPQj6WS3rj27d3Nxc+2bl5cbHh66fcemxuYWLVvafu3ni5tbv1evYy9fOXf/wZ0+vQd07tzt55kLVFXVTpw8kpub06Rx05V/bJDuQltt06bO1tc3OHHiSGTkfT5ft6tTDz1dfSat9+gJJ06GnzwZ3qlzt6DAkFX+i0+cPMIcGikT1s1benmOCD8a1sO519eemrl5kwW/LN0funPmnQl2tm0mT5zhv2Ypc3cWi+Xnt3LN2mWBQQH6+oY9nHsZGhpV5nG5XK5Du46hYbukv/jV1dR37Tz8tdEZaGhEIpF0P2hT00Zr/AN37NqyZu0yZWUVN9d+Uyb/zAxcTps6p6ioyH/1ElVVtYEDvAqLCkuPclZSBSvahPHTcnNzLl487eM9qTI1WQWrc1lGhsbz5y3ZH7brwYO7bewdujr1WLVi496Q4KCt61RV1exs20ivQTLr518NDY3Pno249+ctPV19R8dOXA6XEGJibDpn9qJdu4MCgwKsrKy/qMm4XO7a1UFbt63fFrxBLBbb2baZNnUOc84aqInKv8VSJsamq/23BAdvDNm3XV/PwMmpR+Tjml7FoSZYVR1zoUggiImJWduzZ406P0DmDvpLnDxMtQ2+HICDOkokEjFjvhKJ5FNS4oSJw+fO+U263/Q3Pb2RocTLbN/nu+8XERt7TCxWb9Vqyvd+oPoqcFacz1LLKt2lpKRktI+7laW1dP8tkDdxT3IEiYWuI79Ri9Syl49y3r8s7DJYvlLR8vJhVkFuSXdPvbL/Qj8ZAPynqKhoqq+Pvr5ha7u2CgqKz58/KSwsrN7BsFCfZGdnnTp97MHDuykpydOnzaMdB+q5Zb8vKPeqo3p6BmlpKWXbNdQ1D4SdkmGAGT9PePs2rmy7lVWLN29elnuXE8ev1vw8jqjJAOA/LBarl9sP169f2hsSrKio2KSJ5ZLF/i1b2tLOBZQJBOlHwvdbWFgtWewvvSgNwHcy3XdeUXE5FzUWlpRwyxuqZrNk3DG/2G9VibCco83YLJb4K6OLVbpIzNegJgOA/ygqKg4bOnrY0NG0g4B8sbCwPHfmNu0U0FAwlzGgSHruoVqGc2EAAAAA0IeaDAAAAIA+1GQAAAAA9KEmAwAAAKAPNRkAAAAAfajJAAAAAOhDTQYAAABAH2oyAAAAAPpQkwEAAADQh5oMAAAAgD7UZFBTajqs4iIx7RQgL0RCkbIa7RBQCZp6CsWFWHPrG2GxRFVTBhdelC0VVa5YhA/bv4QlRFWj/CtboiaDmtLRlwgSC2mnAHmRllDAN2bRTgHfpq7FTceaW++kfyrUNlSkneJLuqZKye8KaKeQF4LEAh2D8t8j1GRQU7ZdWW+iM2mnALmQlVosFgqNLVCT1QF2XbXfPM6hnQJkSVgsSXzz2bqdOu0gX1LV5Bg1Uf746jPtIPQV5IoykossbFXL/S9qMqgpTT5xGsy6fugT7SBAWXZ6ycPzyYN+QkFWN1jYqjSyVr53MpV2EJCN4gLxjcOf3H1NiVyugn3HGr64l5nyvkH3luXniu5EJLtP++p7VP6IJkCVNG4pEZUUXdjzXoOvaGCuJhFLaCeCWlWQV5IjKBJ8KvScweKV//MP5JFdN82C/Iw7ESkKSmyDRjxhCdbcOqmkWJKeUJD2sXDgFGMd+Ru4lPKcbnJya6KatqKyGkeTrygSNaDPW3GhKD2xKPVDgddMMw3+V0svlkRSZ14UgSAmJmZtz57LaQeBcuTk5ElEip/eKGwKiDA3tejQoTXtRP+PUCjMzMxJTc1IT8/Mzy/kcDi9enWmHepLN28+6tTJXklJfjepX6OiTvRNWRZ2tfrzPDb2mFis3qrVlNp80HpJkFT86Z+Cz9mi/Fwh7SxQHaoaXB1DRSt7NfnsIfvCu7/y0xILC/PEJSUNaK9/VQ0FvrGCZetvHACFfjKokYKCQmVl3tKlQbduRZ45s7VFe8UtBwYpKMjR52rPnoiHD5+9e5eYl5dfVFQsFos5HM7EiV49h8ndwL3zkPb+/rsWLpxEOwg0LHwjRb5R3fslAHVUYxuVxjYqtFPIKbn7WoK64uLFO4MH+8bFfSCEjBjxw40bIWpqKoQQuSrI+vadHBR0MCrqL4Egq6iomBDCZrONjPTc3LrQjlYONpuNggwAoMFCTQZVEBf3fsGC9UePXiSEaGioBQb62do2I4Q0a9aYdrTyXbiwnc/X/qKxWTPzJk1MKCX6tujo2CVLAmmnAACA2oaaDL6huLgkJOTkxo37CSGfPqW5uHR0d3cjhHTu3MbU1JB2um+7fHmnkpKSdFJNTWXQIBeqib6hbduWnp69bt2KpB0EAABqlRwNM4Fcefz4r9jYOG/vQSkpgtzcvAEDehBCunVzoJ2ryj59SpVIxBwORyQSEUL09LS7dm1HO9Q32Nk1E4vFEomExaoLu+wCAIAsoJ8M/iMUCq9evV9cXJKXl79zZzifr0UIMTMznD59VNOmZrTTVUdU1F+TJy/988+DDx8elkgkbDabKS7lH5vN/uWXgOvXH9IOAgAAtQQ1GZCUFEFeXj4hxNNz5tWrf7LZbDU1le3bl/3wQ3fa0Wrk8uV727eHnzmzlZmMijpmaKjr7T2Idq7KWrt23tu3CampGbSDAABAbcDYZcOVlZWrpaW+ceP+y5fvHTy4lhBy6lQQ7VAyExx8uKCgaMeOZaUbT5+uY09w/HhP2hEAAKCWoJ+sIXry5KW7+/T7958SQry8ep0/v11LS4N2KFny89vM5XJnzfKhHUQGUlMzxo/3o50CAAC+O9RkDUVWVu7q1bvWrQshhCgqKmzatLBv366EkDpx7GSV/PTTsi5d2kyY4EU7iGzo6+vMnz8hLOw07SAAAPB9YeyynnvwIOb163fe3oMSEpKbNDFl6jAbG0vaub4LoVA0YMDU1atn29k1p51Flpo1ayy3Z4ADAABZQT9Z/RQdHcuc4jU09LS5uTEhpFUrq6FD+6ir19sLRCcmpnTpMmLfvlX1rCCT2rnz6MOHz2inAACA7wU1WX2Tl5fv7Oxz6tR1QoiFhVlQ0G/duzvSDvXdPXz4zM9v88OHR/T1dWhn+V4mThxy6NC55OR02kEAAOC7wNhlPbFlS9i1aw9Ongzkcrlnzmxl+sPY7AZRc588ee3y5Xt7966gHeS727jxV9oRAADge2kQ39n1VXp61s6dR5nzV+np6ezZs4IQwuMp1uMByrLCwk6/ePFm69bFtIPUkvj4j0eOXKCdAgAAZA81Wd0jFArj4j4QQjZt2i8SiXV0NAkhw4f3Y240KH5+mxQVFf38ptAOUnuaNjVLS8sICTlBOwgAAMgYxi7rmOfPX0+cuHjLlkWEkOXLZ9COQ9PYsYuGDevTp09X2kFqm6/vSJFITDsFAADIGPrJ6gCJRBIaenr+/HWEEF1d7QcPDjs62tIORVNJSUmfPhNnzfJugAUZQyIR41KYAAD1DGoyufbXX3GFhUUpKQKBIGv27DGEECMjPdqhKHv3LnHYsDlhYWvq6zkvKoPL5ebnFyxdGkg7CAAAyAzGLuWXv/+u2Ni4PXv+MDTU/flnb9px5MK9e082bAiJiNhMOwh9/fs7Gxvrp6QIDAz4tLMAAIAMoCaTO6dP39DW1ujatd3Qob0tLCbQjiNHjh69eOdO1LFjm2gHkRdt27akHQEAAGQGY5fy5fz520+evHRwsGHO+Eo7jhzZuzciPj5h8+ZFtIPIl4iIK6tX76KdAgAAZAA1mVyIi3vv57eZENKzZ4clS6YqK/NoJ5Iv8+ev09RUX7AAvYZf8vBwEwpFOLk/AEA9gJpMLgQEhIwb504I4fGUaGeRO6NGzXdz6+zh4UY7iJxatGiyoaEu7RQAAFBTqMkoi4i4QggJDl6Ckcqy8vMLXVzGLlo0ydW1E+0scu3SpXsCQRbtFAAAUCOoyWjq3t27R48OtFPIqfj4j717Tzh+fHOLFk1pZ5F3QqFw06ZQ2ikAAKBGcNwlTefOBaupqdBOIY9u3Yo8f/72nTthtIPUDT/80F1PT0coFHG5HNpZAACgmlCT0XH3bpSFhZmxsT7tIPLo0KFzkZEv1q+fTztIXdK+fYO+tAMAQD2AsUsK3r//dPbsLRRk5QoMPJiYmIqCrKqeP38dHHyYdgoAAKg+1GQUiMXiwYNdaKeQR3PnrtHX15k7dyztIHVPkyamhw+fp50CAACqD2OXFDRpYtqkiSntFHJn5Mh5EycOcXZuTztInaSmpnL48PqSEqGCAlZqAIA6Cf1kFIhEYuYMscDIy8vv12/yb79NRUFWE4aGuijIAADqLtRkFHA4bEtLs8DAA7SDyIXXr9/98MOUI0fWW1s3oZ2lbjt27PLdu9G0UwAAQDXhVzUdY8a4f/yYjJGmW7cig4OP3Lq1n3aQ+iA5OT03N8/JqS3tIAAAUB0NuiCgy8zM8Pbtx+3b2zbY6ykdPHg2Ojr20KEA2kHqCU9PN5FIRDsFAABUE8YuaerWzcHVdZxEIqEdhIING/YlJaUHBPxCO0j9YWSkZ2pqSDsFAABUE2oyyu7ePZCSIigqKqYdpFbNnr3ayEh/zpwxtIPUK8eOXQoJOUE7BQAAVBNqMvoMDXUjI58nJKTQDlJLhg+fM2hQz+HD+9IOUt/k5eXn5n6mnQIAAKoJ+5PJBSendoMGTTt2bFP93uU/Oztv6tRly5fPsLIyp52lHurd20koFNJOAQAA1VSfK4C65dSpoMTEVCUlRV1dLdpZvovY2Hhf3+VnzmxVVcVl178LIyM92hEAAKD6MHYpR0xM9B8/fh4Z+Zx2ENm7ffvxqlU7rl8PQUH2/Zw6df3gwbO0UwAAQDWhn0y+9OnTdcqUZY6OttKWrl1HzZ8/oX9/Z6q5amT//lPp6VmhoatpB6mfXF3HZWXlSo/eXb9+n0QikUgk0dHHaUcDAIAqQD+Z3AkOXkIISUxMJYQ4O48pKCg6d+4W7VDVt2XLgczMnNmzfWgHqbc6dLATi8Ws/2EaO3e2p50LAACqBjWZnPr4Malbt9F5eZ8JIQkJKe/ff6KdqDpmzlxpZmY4c+Zo2kHqs5Ej+5uYGJRu0dBQGz16EL1EAABQHajJ5NSiRRvz8wuZ2ykpglu3ImknqrJp05YPGdJn8GAX2kHquZYtLW1traRjlxKJpEULiw4d7GjnAgCAqkFNJo/c3MZnZ+dJJ0Ui0ZUrf1JNVDWZmTlOTiPnzh2Hay/WjhEjBkgPutTQUBs/3pN2IgAAqDLUZHLnxx/nFhQUlr7gEovFSk/P+vvvt1RzVdZff8UNGfLz1at7mjQxoZ2loWjVyrJ16+bMbRsby3btbGgnAgCAKsNxl3Ln0KGAO3eibt589Pz5m+zsXIEgixCSmiq4evVPa+smtNN9w9Wr9/fvP3X16h7aQRqckSP7x8T8LRSKx451p50FAACqAzWZbEjEJDWBZKdJhCUyWBpfoa2nW1tPN/L+/ad//kl4/z7x8+eCv+5LYh3k+mrlb98mRkfnLJi6KvaBLHMqq7N0jYm6tgwX+R3lZpGMJEl+jkQiYdXuIzdtZzWwsLBIuaSlbF//ylBRJ3xjVl15jwAA5BNqMhl484Q8u8spKSImTdXy82R5cRs2aWZp2szS9N/Jj29kuGzZ45Lm7e2ayzxkcaEoM6VI15jVb5xYxouWtWuHWSkfWMpqXFVNRYm4tgujzm2H0PqQFOQJ87JK9EwlvUfL9c8GAAB5hpqspt7+xX1+j93LG/tOfV/vY/OObRJ4+ErYHDn91j+3m2PQWLN9X03aQaj551nuya2Zg6eKaAcBAKiTsI9/jSS9lTy8KHEbjYLsuzNvqWbbVe/0djktyK4eJAaNtZo7NNyCjBBiYadu0VrnPHYmBACoFtRkNfLkJrtDH4NKzAgyYNxURYGnlBBHO0cZmSkkR8Bp7qBBOwh9TVqpCUsUUj7QzgEAUAehJquRhDciDb4C7RQNCE9FQZAod11lgiSJojJ2A/iXkrKCIEnu3iMAAPmHmqz6SooIT5mtqIzXsPao6yjk58nd9/3nbIkGX5F2CnmhrqOYny137xEAgPxDPVEDLJKfJ+9HAtYzYpFELKrlc0x8m1hMRLI83LZuEwklYqwWAABVh5oMAAAAgD7UZAAAAAD0oSYDAAAAoA81GQAAAAB9qMkAAAAA6ENNBgAAAEAfajIAAAAA+lCTAQAAANCHmgwAAACAPtRkAAAAAPShJgMAAACgDzVZbYuIODzK292td0cPr17r1q+oyaL8Vy+d8tPomkfKzs7q4eLwxd/0mePLzpmQ+LGHi8O165cIIUKhcJS3+7bgjdL/xr58UVRUVPM88J2cO3+yh4uDQJBOOwgAAJSDSztAw3Ly1NEtQQHO3V0H9Pd4+y4+Jye7JktTUVVVUVGVVbZ2bdvb2bWVThroG1Y8P4vFUlfX4PF4zOTFS2dWr1l2MuKqkpKSrCIBAAA0HKjJatXlK+csmzZbstifmZRIJDVZ2gzfeVW9i0QiYbFY5f7Lzq6t9+gJlV8Uh8PZFrRPOlntHrIKIgEAADQcqMlqVVFRoZISTzpZuhZ58vTxzl2B8fGvtbV12tg7Thg/jc/XfRP3avqMcf4rN+/YtSU+/rWBgdHkiTO6dOlOCBk+on9KSnKrVq23bNrNLOHy5XMHDu399CmBz9f9oZ/7yBFj2Wx2dnbWYA/XKZNnvol7de/eTSsr680bd1Upc1ZWZtDWdff+vKWoqNTG3oFpTEr+NGLkQELIqJHjxo+bevHSmY2b/Akhgz1cCSHzf1nSp/eA7xepYSosLNy1O+ja9YvFxUVmpuZDh47u2aMXIeTY8YPXb1we4jVy9+4gQUa6lZX13Nl+jRo1Zu71Ju7VlsC1r17F8nV0zczMaT8JAAD4KuxPVqvaO3Z++fLFocP7hEJh6fao6Ee/zPdtbG4xd85vQ71GPXsWPXvulMLCQqb/adnyBV6eIzau32FoYPTHykXZ2VmEkDmz/awsm0uXcOnS2VWrl1hZWf/mt9K5u9uevdsOHNwr/W9Y2G5DA6N1AcHTps75Wrb8/M+pqSnMX3FxMdNYXFw895epd+/dHOI1cvKkGUlJiUy7tpbO8t8DuNx/a/oO7bsMHTKKELJqxcbNG3d1aN9FJpFASiwWL/Kbdf/+7ZEjxs76eaGlZfPlfyw8f+EU89+XL1+Eh4fOmeP3+7KAtNSUVauXMO0fPrybNXuSID1t4gTfIUNGvX7zN9UnAQAAFUE/Wa0a4zP506eEHTu3nDlz3Nt7Yu9e/Zmusi2Bawf095gx/RdmNgeHjj5jvSIf3zc0NCaETPedx/SITJjgO3nKqJhn0d269nR06Hj0aFhBYQEz/LdrT5Ctrb3fwj8IId269szNzTl8ZJ+nx4/MAlu2tJ0wflrF2Y6Ehx4JD2Vur10T5NCuAyHk5Knw+Pg30kmblnY+Y70IITwez6mLs7SfT1tbx9jYlBDSokUrTU0tWUUCqdt3rj97/uTQgTO6unqEEFeXPgUF+ccjDvXrO4iZYcUfG3R0+IQQD4/hW7dtyM7J1tTQDN6xic1iBwWGaGlpE0LYbDbTnQkAAHIINVmtUlJSWrZ0zdOnUXv3Ba9es+zuvZvLlqxJS0t9//5tYuLHs+dOlJ45NTWFqcmUecpMi4GBESEkPT3ti8UmJHxIT08bNvS/YzAdHTudv3AqIfEDs6t+27btS88vEKQXlxQTQlSUVZgSihDi6tq3p3Mv5ra0B+7O3RsWFpZMQUYIYXM4lXymVY0EFXvw4K5QKBwxaqC0RSQSqaqqSSd5//9DIkhPU1JUioy8P3CgF1OQEUKk/ZoAACCHsI2mwN6+3Sb7nftDd+0NCf7z/m1dvh4hxMd7UreuPUvPpqOjm5ScWLpFgatACBGLRV8sMO9zHiFES0tH2qKurkEISU9LZQog6Rc2Y/mKhTEx0YSQAf09Zs9ayDSamZp36tT1iyWnpiZbWVlX4zlWNRJULDNTwOfrrg8ILt3IKa/GYj4kIrFIkJEuFAqNDI1rMSYAAFQfajJqhg0dvTck+PXrl43dLJjd/6X7ZVeVvp4Bc5oxaUtmZoa0DCpr/Nip2TlZhBBDg298YWtpajOLqiTpkaRVjQQVU1fXyMrKNDAwqvypRrQ0taUvOwAAyD/s41+r8vLyxGIxczs+/jUhRFlZxdS0kYGB4YWLpwsKCph/CYXCkpKSyi+Wz9c1NDB69OietOXWras8Hs+y1EEApdna2jt1cXbq4mxp2aziJVtZWb96Ffvx4/tvZmAGWKXjqlWNBBVr27a9SCQ6feaYtEX6afkaVVVVExOzm7euVumzBAAAtKCfrFbtD915/8EdR4eOLDb7yuVzGhqavdx+YLFY06bOWbxk3rTpYwYO8BKLRJcun3Vz6+flOaLySx7jM9l/zdK1AcsdHTtFRz+6e++mj/ckZWXl4uLKnjbs2bPo/aH/nZPC3LxJ924uP/445vKVczNnTfTyHMHX0b12/eLX7m7TqjWHwwncGtC398Ci4qKBAzxrHgmk3Fz7nTkbEbx9U1Lyp2ZW1nFxr+/euxGy55j0nL3l8vGetHLVb77Tx/bpM5DNZh+POFSLkQEAoGpQk9UqCwvLqOiHFy6eVlVVc3TsNG7cVOYwuq5OPVat2Lg3JDho6zpVVTU72zalT6lfGb179y8sKjx67MDlK+d0+XqTJk4fPsy7SkuIin4UFf1IOtmta8/u3VxMjE1X+28JDt4Ysm+7vp6Bk1OPyMcPyr27ibHpnNmLdu0OCgwKsLKyHjjAs+aRQEpBQWHt6qCdu7Zcv37p7NkIU9NGAwd4fXOffTfXvnl5ueHhodt3bGpsbtGypW1lujwBAIAKVg1PJV+bBIKYmJi1PXsupx3kXyXFZPdv4pELm9IO0oD89WemqCSzy0D5Ou//kxvirHRNh166tIPIhac3MpR4me37fPf9ImJjj4nF6q1aTfneDwQAUDvQTwZQ2wYMci63vWULu9iXz8q2a6hrHgg7JcMAM36e8PZtXNl2PT2DtLSUWggAAABloSYDqG07th8s/x8SQsrrAWSzZNzntNhvVYmwnB3/hSUlXAWFWggAAABloSYDqG3UzxnG7MUIAAByBT9/AQAAAOhDTQYAAABAH2oyAAAAAPpQkwEAAADQh5oMAAAAgD7UZAAAAAD0oSYDAAAAoA81GQAAAAB9qMkAAAAA6ENNBgAAAEAfrq1UfVwO0dbn0E7RsLA4LGUl2iHKUFIhnHKuEtlAcRRYPNXyLtsJAAAVQj9Z9bE4RCQUZ6YU0w7SgKS8y9fSpR2iDL4hKyn+M+0U8iL57WdtfdohAADqINRkNWLtwMaXca2RSEheZlFjG7nrgzFoxOIqiAvyRLSD0CcslpQUlZhYyd17BAAg/1CT1UhbF0nqx6y4Jzm0gzQI1w4kdHWXsOVwuJhFegwlN8MTaeeg79rBhB5DCBvbFQCAqsP+ZDU1YCI5FZyen1OgrM7jmyhLRBLaieqbwnxRRnLBi7tZAyaxjJrIaQeMjiFxGynatzTOoZe2ug5PTYsrEdPOVIsK8oRZaYVPrmcOncXRNaGdBgCgbkJNVmMsMugn1qvI/MT4vLQETmZKQ/oqrhUa2oRvIvFZzFZSph2lQtr6xHcD5/GV7HcvsgvyWMKSBlSdq2kSg0Zksj+Hgy0KAEB1YQsqG80dSXNHNiESQuS0I6eOqzOvqoObNGqdyQwAAPIA+30AAAAA0IeaDAAAAIA+1GQAAAAA9KEmAwAAAKAPNRkAAAAAfajJAAAAAOhDTQYAAABAH2oyAAAAAPpQkwEAAADQh5oMAAAAgD7UZAAAAAD0oSYDAAAAoA81GQAAAAB9qMkAAAAA6ENNBgAAAEAfajIAAAAA+lCTAQAAANCHmgwAAACAPtRkAAAAAPShJgMAnd4zgQAAAIZJREFUAACgDzUZAAAAAH2oyQAAAADo49IOUDVCYWFm5j+0UwAAfQUFmUpK6rRTAADITF2qybhcFTZbMSpqN+0gACAXLCza0Y4AACAzLIlEQjsDAAAAQEOH/ckAAAAA6ENNBgAAAEAfajIAAAAA+lCTAQAAANCHmgwAAACAPtRkAAAAAPT9Hxfg9OAX+fsbAAAAAElFTkSuQmCC", + "text/plain": [ + "" + ] }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.6" + "metadata": {}, + "output_type": "display_data" } + ], + "source": [ + "company_flo.draw()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 }, - "nbformat": 4, - "nbformat_minor": 2 - } \ No newline at end of file + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.19" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/email_reply_agent.ipynb b/examples/email_reply_agent.ipynb index bb352dee..fcbdd0e1 100644 --- a/examples/email_reply_agent.ipynb +++ b/examples/email_reply_agent.ipynb @@ -415,7 +415,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.6" + "version": "3.9.19" } }, "nbformat": 4, diff --git a/examples/python/output_parser.py b/examples/python/output_parser.py index 689717e9..a3d920ed 100644 --- a/examples/python/output_parser.py +++ b/examples/python/output_parser.py @@ -3,8 +3,8 @@ from langchain_community.tools.tavily_search.tool import TavilySearchResults from dotenv import load_dotenv from langchain_openai import AzureChatOpenAI -from flo_ai.parsers.flo_json_parser import FloJsonParser -from flo_ai.state.flo_kv_collector import FloKVCollector +from flo_ai.parsers import FloJsonParser +from flo_ai.state import FloJsonOutputCollector load_dotenv() llm = AzureChatOpenAI( @@ -46,7 +46,7 @@ ], } -dc = FloKVCollector() +dc = FloJsonOutputCollector() researcher = FloAgent.create( session, diff --git a/examples/python/output_parser_yaml.py b/examples/python/output_parser_yaml.py index c02a6660..5043763c 100644 --- a/examples/python/output_parser_yaml.py +++ b/examples/python/output_parser_yaml.py @@ -3,7 +3,7 @@ from langchain_community.tools.tavily_search.tool import TavilySearchResults from dotenv import load_dotenv from langchain_openai import AzureChatOpenAI -from flo_ai.state.flo_kv_collector import FloKVCollector +from flo_ai.state import FloJsonOutputCollector load_dotenv() llm = AzureChatOpenAI( @@ -19,9 +19,9 @@ name='InternetSearchTool', tool=TavilySearchResults() ) -dc = FloKVCollector() +dc = FloJsonOutputCollector() -session.register_data_collector('kv', dc) +session.register_output_collector('kv', dc) simple_reseacher = """ apiVersion: flo/alpha-v1 diff --git a/examples/python/tool_agent.py b/examples/python/tool_agent.py index 5ae43c31..b7971c81 100644 --- a/examples/python/tool_agent.py +++ b/examples/python/tool_agent.py @@ -14,8 +14,8 @@ class PrintStateTool(BaseTool): - name = 'printStateTool' - description = 'Just print the state' + name: str = 'printStateTool' + description: str = 'Just print the state' def _run(self, **kwargs) -> str: return 'Print tool call success' diff --git a/flo_ai/common/README.md b/flo_ai/common/README.md deleted file mode 100644 index 07d0396a..00000000 --- a/flo_ai/common/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# Understanding Log Levels in FloAI - -FloAI uses standard Python logging levels to indicate the severity of logged messages. Here are the common levels used (from least to most severe): - -- **DEBUG**: Detailed information for debugging purposes. -- **INFO**: Informational messages about the normal operation of the system. -- **WARNING**: Potential issues or unexpected conditions. -- **ERROR**: Errors that may have caused the system to malfunction. -- **CRITICAL**: Critical errors that have caused the system to crash. - -By adjusting the log level, you can control how much information is logged and the verbosity of the output. - -## Controlling Log Levels - -FloAI provides multiple ways to control log levels: - -### 1. Environment Variables for Log Level Control - -Export environment variables to set the log level for specific components before running the application: - -- `FLO_LOG_LEVEL_COMMON`: Controls the level for the "CommonLogs" logger. - - CommonLogs: General-purpose logging used across the entire FloAI system. It captures broad, system-wide events and information. - -- `FLO_LOG_LEVEL_BUILDER`: Controls the level for the "BuilderLogs" logger. - - BuilderLogs: Specific to the process of building and configuring FloAI instances. It logs information about YAML parsing, component creation, and FloAI structure setup. - -- `FLO_LOG_LEVEL_SESSION`: Controls the level for the "SessionLogs" logger. - - SessionLogs: Dedicated to logging session-specific information. It captures events and data related to individual FloAI sessions, including session creation, tool registration, and session-level operations. - -These loggers allow for granular control over logging output in different parts of the FloAI system. By adjusting their levels independently, you can focus on debugging or monitoring specific aspects of FloAI's operation. - -Example: - -```bash -export FLO_LOG_LEVEL_COMMON=DEBUG -export FLO_LOG_LEVEL_BUILDER=INFO -export FLO_LOG_LEVEL_SESSION=WARNING -``` - -### 2. FloSession Creation - -When creating a FloSession object, you can specify the desired log level: - -```python -session = FloSession(llm, log_level="DEBUG") -``` - -This session will log messages at DEBUG level and above. - -### 3. Flo Instance Creation - -Similar to FloSession, you can set the log level when creating a Flo instance: - -```python -flo = Flo.build(session, yaml_config, log_level="DEBUG") -``` - -This Flo instance will inherit the specified log level. - -### 4. Global Log Level Change (Runtime) - -You can dynamically change the global log level at runtime using the set_global_log_level function from flo_ai.common.logging_config: - -```python -from flo_ai.common.logging_config import set_global_log_level - -set_global_log_level("DEBUG") # Set the global log level to DEBUG -``` - -This will affect all logging throughout the application. - -### 5. Specific Logger Level Change (Runtime) - -If you need to adjust the level for a specific logger, use the set_log_level method of the FloLogger class: - -```python -from flo_ai.common.logging_config import FloLogger - -FloLogger.set_log_level("COMMON", "DEBUG") # Set COMMON logger to DEBUG level -``` - -## Best Practices - -- **Environment variables**: Use these for setting default levels without modifying code, useful in different deployment environments. -- **Object creation**: This approach allows setting specific levels for individual sessions or Flo instances. -- **Runtime changes**: Use these methods for dynamic adjustments during program execution. \ No newline at end of file diff --git a/flo_ai/core.py b/flo_ai/core.py index da1f7026..a8ed2682 100644 --- a/flo_ai/core.py +++ b/flo_ai/core.py @@ -127,7 +127,8 @@ def set_logger(logging_config: logging.Logger): def draw(self, xray=True): from IPython.display import Image, display - return display(Image(self.runnable.draw(xray))) + image = self.runnable.draw(xray) + return display(Image(self.runnable.draw(xray))) if image is not None else None def draw_to_file(self, filename: str, xray=True): from PIL import Image as PILImage diff --git a/flo_ai/models/flo_agent.py b/flo_ai/models/flo_agent.py index e8ee08a0..6f71272b 100644 --- a/flo_ai/models/flo_agent.py +++ b/flo_ai/models/flo_agent.py @@ -7,7 +7,7 @@ from flo_ai.models.flo_executable import ExecutableFlo, ExecutableType from flo_ai.state.flo_session import FloSession from typing import Union, Optional, Callable -from flo_ai.state.flo_data_collector import FloDataCollector +from flo_ai.state.flo_output_collector import FloOutputCollector from flo_ai.parsers.flo_parser import FloParser @@ -18,7 +18,7 @@ def __init__( agent: Runnable, executor: AgentExecutor, model_name: str, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ) -> None: super().__init__(name, executor, ExecutableType.agentic) self.model_name = model_name @@ -36,7 +36,7 @@ def create( on_error: Union[str, Callable] = True, llm: Union[BaseLanguageModel, None] = None, parser: Optional[FloParser] = None, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ): model_name = 'default' if llm is None else llm.name return FloAgent.Builder( @@ -65,7 +65,7 @@ def __init__( on_error: Union[str, Callable] = True, model_name: Union[str, None] = 'default', parser: Optional[FloParser] = None, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ) -> None: prompt: Union[ChatPromptTemplate, str] = job self.name: str = name diff --git a/flo_ai/models/flo_llm_agent.py b/flo_ai/models/flo_llm_agent.py index 05afb872..d8751cf9 100644 --- a/flo_ai/models/flo_llm_agent.py +++ b/flo_ai/models/flo_llm_agent.py @@ -7,7 +7,7 @@ from langchain_core.output_parsers import StrOutputParser from flo_ai.models.flo_executable import ExecutableType from flo_ai.parsers.flo_parser import FloParser -from flo_ai.state.flo_data_collector import FloDataCollector +from flo_ai.state.flo_output_collector import FloOutputCollector class FloLLMAgent(ExecutableFlo): @@ -16,7 +16,7 @@ def __init__( name: str, executor: Runnable, model_name: str, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ) -> None: super().__init__(name, executor, ExecutableType.llm) self.executor: Runnable = executor @@ -31,7 +31,7 @@ def create( role: Optional[str] = None, llm: Union[BaseLanguageModel, None] = None, parser: Optional[FloParser] = None, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ): model_name = 'default' if llm is None else llm.name return FloLLMAgent.Builder( @@ -55,7 +55,7 @@ def __init__( llm: Union[BaseLanguageModel, None] = None, model_name: str = None, parser: Optional[FloParser] = None, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ) -> None: self.model_name = model_name prompt: Union[ChatPromptTemplate, str] = job diff --git a/flo_ai/models/flo_node.py b/flo_ai/models/flo_node.py index 4dbb86f5..22d362bd 100644 --- a/flo_ai/models/flo_node.py +++ b/flo_ai/models/flo_node.py @@ -15,7 +15,7 @@ FloCallback, ) from flo_ai.common.flo_logger import get_logger -from flo_ai.state.flo_data_collector import FloDataCollector +from flo_ai.state.flo_output_collector import FloOutputCollector class FloNode: @@ -26,12 +26,14 @@ def __init__( kind: ExecutableType, delegate: Optional[Delegate] = None, async_func: functools.partial = None, + agent_executable=None, ) -> None: self.name = name self.func = func self.kind: ExecutableType = kind self.delegate = delegate self.async_func = async_func + self.agent_executable = agent_executable def invoke(self, query, config): return self.func({STATE_NAME_MESSAGES: [HumanMessage(content=query)]}) @@ -41,6 +43,13 @@ async def ainvoke(self, query, config): {STATE_NAME_MESSAGES: [HumanMessage(content=query)]} ) + def draw(self, xray=True): + return ( + self.agent_executable.get_graph().draw_mermaid_png() + if self.agent_executable is not None + else None + ) + class Builder: def __init__(self, session: FloSession) -> None: self.session = session @@ -63,7 +72,11 @@ def build_from_agent(self, flo_agent: FloAgent) -> 'FloNode': data_collector=flo_agent.data_collector, ) return FloNode( - agent_func, flo_agent.name, flo_agent.type, async_func=agent_func_async + agent_func, + flo_agent.name, + flo_agent.type, + async_func=agent_func_async, + agent_executable=flo_agent.runnable, ) def build_from_reflection(self, flo_agent: FloReflectionAgent) -> 'FloNode': @@ -75,7 +88,11 @@ def build_from_reflection(self, flo_agent: FloReflectionAgent) -> 'FloNode': model_name=flo_agent.model_name, ) return FloNode( - agent_func, flo_agent.name, flo_agent.type, delegate=flo_agent.delegate + agent_func, + flo_agent.name, + flo_agent.type, + delegate=flo_agent.delegate, + agent_executable=flo_agent.runnable, ) def build_from_team(self, flo_team: FloRoutedTeam) -> 'FloNode': @@ -93,6 +110,7 @@ def build_from_team(self, flo_team: FloRoutedTeam) -> 'FloNode': ), flo_team.name, flo_team.type, + agent_executable=flo_team.runnable, ) def build_from_router(self, flo_router) -> 'FloNode': @@ -103,7 +121,12 @@ def build_from_router(self, flo_router) -> 'FloNode': session=self.session, model_name=flo_router.model_name, ) - return FloNode(router_func, flo_router.name, flo_router.type) + return FloNode( + router_func, + flo_router.name, + flo_router.type, + agent_executable=flo_router.executor, + ) def build_from_delegator(self, flo_router) -> 'FloNode': router_func = functools.partial( @@ -118,6 +141,7 @@ def build_from_delegator(self, flo_router) -> 'FloNode': flo_router.name, flo_router.type, delegate=flo_router.delegate, + agent_executable=flo_router.executor, ) @staticmethod @@ -127,7 +151,7 @@ def __teamflo_agent_node( name: str, session: FloSession, model_name: str, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ): agent_cbs: List[FloAgentCallback] = FloNode.Builder.__filter_callbacks( session, FloAgentCallback @@ -178,7 +202,7 @@ async def __async_teamflo_agent_node( name: str, session: FloSession, model_name: str, - data_collector: Optional[FloDataCollector] = None, + data_collector: Optional[FloOutputCollector] = None, ): agent_cbs: List[FloAgentCallback] = FloNode.Builder.__filter_callbacks( session, FloAgentCallback diff --git a/flo_ai/models/flo_tool_agent.py b/flo_ai/models/flo_tool_agent.py index df528923..68b874fa 100644 --- a/flo_ai/models/flo_tool_agent.py +++ b/flo_ai/models/flo_tool_agent.py @@ -1,14 +1,23 @@ +from typing import Optional from langchain_core.runnables import Runnable from flo_ai.models.flo_executable import ExecutableFlo from flo_ai.state.flo_session import FloSession from flo_ai.models.flo_executable import ExecutableType +from flo_ai.state.flo_output_collector import FloOutputCollector class FloToolAgent(ExecutableFlo): - def __init__(self, name: str, executor: Runnable, model_name: str) -> None: + def __init__( + self, + name: str, + executor: Runnable, + model_name: str, + data_collector: Optional[FloOutputCollector] = None, + ) -> None: super().__init__(name, executor, ExecutableType.tool) self.executor: Runnable = executor self.model_name: str = model_name + self.data_collector = data_collector @staticmethod def create( @@ -31,10 +40,17 @@ def __init__( name: str, tool_runnable: Runnable, model_name: str, + data_collector: Optional[FloOutputCollector] = None, ) -> None: self.name: str = name self.runnable = tool_runnable self.model_name = model_name + self.data_collector = data_collector def build(self) -> Runnable: - return FloToolAgent(self.name, self.runnable, self.model_name) + return FloToolAgent( + self.name, + self.runnable, + self.model_name, + data_collector=self.data_collector, + ) diff --git a/flo_ai/parsers/__init__.py b/flo_ai/parsers/__init__.py new file mode 100644 index 00000000..969dca8b --- /dev/null +++ b/flo_ai/parsers/__init__.py @@ -0,0 +1,5 @@ +from flo_ai.parsers.flo_parser import FloParser +from flo_ai.parsers.flo_json_parser import FloJsonParser +from flo_ai.parsers.flo_pydantic_parser import FloPydanticParser + +__all__ = ['FloParser', 'FloJsonParser', 'FloPydanticParser'] diff --git a/flo_ai/state/__init__.py b/flo_ai/state/__init__.py index e69de29b..fdd6c459 100644 --- a/flo_ai/state/__init__.py +++ b/flo_ai/state/__init__.py @@ -0,0 +1,4 @@ +from flo_ai.state.flo_json_output_collector import FloJsonOutputCollector +from flo_ai.state.flo_output_collector import FloOutputCollector + +__all__ = ['FloJsonOutputCollector', 'FloOutputCollector'] diff --git a/flo_ai/state/flo_kv_collector.py b/flo_ai/state/flo_json_output_collector.py similarity index 88% rename from flo_ai/state/flo_kv_collector.py rename to flo_ai/state/flo_json_output_collector.py index 770b84f6..6eaccb62 100644 --- a/flo_ai/state/flo_kv_collector.py +++ b/flo_ai/state/flo_json_output_collector.py @@ -1,9 +1,9 @@ import json from typing import Dict, List, Any -from flo_ai.state.flo_data_collector import FloDataCollector +from flo_ai.state.flo_output_collector import FloOutputCollector -class FloKVCollector(FloDataCollector): +class FloJsonOutputCollector(FloOutputCollector): def __init__(self): super().__init__() self.data: List[Dict[str, Any]] = [] diff --git a/flo_ai/state/flo_data_collector.py b/flo_ai/state/flo_output_collector.py similarity index 88% rename from flo_ai/state/flo_data_collector.py rename to flo_ai/state/flo_output_collector.py index 78b07f2e..459ead20 100644 --- a/flo_ai/state/flo_data_collector.py +++ b/flo_ai/state/flo_output_collector.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod -class FloDataCollector(ABC): +class FloOutputCollector(ABC): @abstractmethod def append(): pass diff --git a/flo_ai/state/flo_session.py b/flo_ai/state/flo_session.py index 5adff015..1efeb408 100644 --- a/flo_ai/state/flo_session.py +++ b/flo_ai/state/flo_session.py @@ -10,8 +10,8 @@ FloAgentCallback, FloRouterCallback, ) -from flo_ai.state.flo_data_collector import FloDataCollector -from flo_ai.state.flo_kv_collector import FloKVCollector +from flo_ai.state.flo_output_collector import FloOutputCollector +from flo_ai.state.flo_json_output_collector import FloJsonOutputCollector from flo_ai.parsers.flo_parser import FloParser from typing import Optional @@ -48,7 +48,7 @@ def __init__( self.models: Dict[str, BaseLanguageModel] = dict() self.tools: Dict[str, BaseTool] = dict() # TODO maybe create a default if not provided - self.data_collectors: Dict[str, FloDataCollector] = dict() + self.data_collectors: Dict[str, FloOutputCollector] = dict() self.parsers: Dict[str, FloParser] = dict() self.counter = dict() self.navigation: list[str] = list() @@ -89,8 +89,10 @@ def register_parser(self, name: str, parser: FloParser): get_logger().info(f"Parser '{name}' registered for session {self.session_id}") return self - def register_data_collector( - self, name: str = '__default', collector: FloDataCollector = FloKVCollector() + def register_output_collector( + self, + name: str = '__default', + collector: FloOutputCollector = FloJsonOutputCollector(), ): self.data_collectors[name] = collector get_logger().info(