From 6a41e11655e2f3273e442d35cfc88b78e5c7672a Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Thu, 24 Oct 2024 21:29:18 +0200 Subject: [PATCH 01/15] feat(genapi): defined function calling --- .../how-to/function-calling.mdx | 233 ++++++++++++++++++ .../how-to/use-structured-outputs.mdx | 2 +- 2 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 ai-data/generative-apis/how-to/function-calling.mdx diff --git a/ai-data/generative-apis/how-to/function-calling.mdx b/ai-data/generative-apis/how-to/function-calling.mdx new file mode 100644 index 0000000000..a97496d37e --- /dev/null +++ b/ai-data/generative-apis/how-to/function-calling.mdx @@ -0,0 +1,233 @@ +--- +meta: + title: How to use function calling + description: Learn how to implement function calling capabilities using Scaleway's Chat Completions API service. +content: + h1: How to use function calling + paragraph: Learn how to enhance AI interactions by integrating external tools and functions using Scaleway's Chat Completions API service. +tags: chat-completions-api +dates: + validation: 2024-09-24 + posted: 2024-09-24 +--- + +Scaleway's Chat Completions API supports function calling as introduced by OpenAI. + +## What is function calling? + +Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. + + + +- Access to Generative APIs. +- [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization +- A valid [API key](/identity-and-access-management/iam/how-to/create-api-keys/) for API authentication +- Python 3.7+ installed on your system + +## Supported models + +* llama-3.1-8b-instruct +* llama-3.1-70b-instruct +* mistral-nemo-instruct-2407 + +## Understanding function calling + +Function calling consists of three main components: +- **Tool definitions**: JSON schemas that describe available functions and their parameters +- **Tool selection**: Automatic or manual selection of appropriate functions based on user queries +- **Tool execution**: Processing function calls and handling their responses + +The workflow typically follows these steps: +1. Define available tools using JSON schema +2. Send system and user query along with tool definitions +3. Process model's function selection +4. Execute selected functions +5. Return results to model for final response + +## Code examples + + + Before diving into the code examples, ensure you have the necessary libraries installed: + ```bash + pip install openai + ``` + + +We will demonstrate function calling using a flight scheduling system that allows users to check available flights between European airports. + +### Basic function definition + +First, let's define our flight schedule function and its schema: + +```python +from openai import OpenAI +import json + +def get_flight_schedule(departure_airport: str, destination_airport: str, departure_date: str) -> dict: + """ + Retrieves flight schedules between two European airports on a specific date. + """ + # Mock flight schedule data + flights = { + "CDG-LHR-2024-11-01": [ + {"flight_number": "AF123", "airline": "Air France", "departure_time": "08:00", "arrival_time": "09:00"}, + {"flight_number": "BA456", "airline": "British Airways", "departure_time": "10:00", "arrival_time": "11:00"}, + {"flight_number": "LH789", "airline": "Lufthansa", "departure_time": "14:00", "arrival_time": "15:00"} + ], + "AMS-MUC-2024-11-01": [ + {"flight_number": "KL101", "airline": "KLM", "departure_time": "07:30", "arrival_time": "09:00"}, + {"flight_number": "LH202", "airline": "Lufthansa", "departure_time": "12:00", "arrival_time": "13:30"} + ] + } + + key = f"{departure_airport}-{destination_airport}-{departure_date}" + return flights.get(key, {"error": "No flights found for this route and date."}) + +# Define the tool specification +tools = [{ + "type": "function", + "function": { + "name": "get_flight_schedule", + "description": "Get available flights between two European airports on a specific date", + "parameters": { + "type": "object", + "properties": { + "departure_airport": { + "type": "string", + "description": "The IATA code of the departure airport (e.g., CDG, LHR)" + }, + "destination_airport": { + "type": "string", + "description": "The IATA code of the destination airport" + }, + "departure_date": { + "type": "string", + "description": "The date of departure in YYYY-MM-DD format" + } + }, + "required": ["departure_airport", "destination_airport", "departure_date"] + } + } +}] +``` + +### Simple function call example + +Here is how to implement a basic function call: + +```python +# Initialize the OpenAI client +client = OpenAI( + base_url="https://api.scaleway.ai/v1", + api_key="" +) + +# Create a simple query +messages = [ + { + "role": "system", + "content": "You are a helpful flight assistant." + }, + { + "role": "user", + "content": "What flights are available from CDG to LHR on November 1st, 2024?" + } +] + +# Make the API call +response = client.chat.completions.create( + model="llama-3.1-70b-instruct", + messages=messages, + tools=tools, + tool_choice="auto" +) +``` + + + The model automatically decides which functions to call. However, you can specify a particular function by using the `tool_choice` parameter. In the example above, you can replace tool_choice=auto with tool_choice={"type": "function", "function": {"name": "get_flight_schedule"}} to explicitly call the desired function. + + +### Multi-turn conversation handling + +For more complex interactions, you will need to handle multiple turns of conversation: + +```python +# Process the tool call +if response.choices[0].message.tool_calls: + tool_call = response.choices[0].message.tool_calls[0] + + # Execute the function + if tool_call.function.name == "get_flight_schedule": + function_args = json.loads(tool_call.function.arguments) + function_response = get_flight_schedule(**function_args) + + # Add results to the conversation + messages.extend([ + { + "role": "assistant", + "content": None, + "tool_calls": [tool_call] + }, + { + "role": "tool", + "name": tool_call.function.name, + "content": json.dumps(function_response), + "tool_call_id": tool_call.id + } + ]) + + # Get final response + final_response = client.chat.completions.create( + model="llama-3.1-70b-instruct", + messages=messages + ) + print(final_response.choices[0].message.content) +``` + +## Best practices + +When implementing function calling, follow these guidelines for optimal results: + +1. **Function design** + - Keep function names clear and descriptive + - Limit the number of functions to 7 or fewer per conversation + - Use detailed parameter descriptions in your JSON schema + +2. **Parameter handling** + - Always specify required parameters + - Use appropriate data types and validation + - Include example values in parameter descriptions + +3. **Error handling** + - Implement robust error handling for function execution + - Return clear error messages that the model can interpret + - Handle edge cases gracefully + +4. **Performance optimization** + - Set appropriate temperature values (lower for more precise function calls) + - Cache frequently accessed data when possible + - Minimize the number of turns in multi-turn conversations + + + For production applications, always implement proper error handling and input validation. The examples above focus on the happy path for clarity. + + +## Further resources + +For more information about function calling and advanced implementations, refer to these resources: + +- [OpenAI Function Calling Guide](https://platform.openai.com/docs/guides/function-calling) +- [JSON Schema Specification](https://json-schema.org/specification) +- [Chat Completions API Reference](/ai-data/generative-apis/api-cli/using-chat-api/) + +## Conclusion + +Function calling significantly extends the capabilities of language models by allowing them to interact with external tools and APIs. By following the patterns and best practices outlined in this guide, you can create robust applications that combine the power of language models with practical functionality. + +When implementing function calling, remember to: +- Design clear and focused function definitions +- Handle multi-turn conversations appropriately +- Follow best practices for optimal performance +- Implement proper error handling and validation + +Experiment with both simple and complex implementations to determine which approach best suits your application's needs. diff --git a/ai-data/generative-apis/how-to/use-structured-outputs.mdx b/ai-data/generative-apis/how-to/use-structured-outputs.mdx index f2c7b93632..35bb63f8a9 100644 --- a/ai-data/generative-apis/how-to/use-structured-outputs.mdx +++ b/ai-data/generative-apis/how-to/use-structured-outputs.mdx @@ -5,7 +5,7 @@ meta: content: h1: How to use structured outputs paragraph: Learn how to interact with powerful text models using Scaleway's Chat Completions API service. -tags: chat-completitions-api +tags: chat-completions-api dates: validation: 2024-09-17 posted: 2024-09-17 From 49a66872376b4385e1aef348b2be677dfd98e36a Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Thu, 24 Oct 2024 21:34:15 +0200 Subject: [PATCH 02/15] feat(genapi): new params and more links --- .../how-to/{function-calling.mdx => use-function-calling.mdx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ai-data/generative-apis/how-to/{function-calling.mdx => use-function-calling.mdx} (100%) diff --git a/ai-data/generative-apis/how-to/function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx similarity index 100% rename from ai-data/generative-apis/how-to/function-calling.mdx rename to ai-data/generative-apis/how-to/use-function-calling.mdx From 89c3eac3a9f67b213fb6c2300df4dfe53c05d0b0 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 10:59:32 +0200 Subject: [PATCH 03/15] feat(ai): extended support in managed inference --- .../api-cli/using-chat-api.mdx | 14 +- .../openai-compatibility.mdx | 6 +- .../index.mdx | 264 ++++++++++++++++++ 3 files changed, 275 insertions(+), 9 deletions(-) create mode 100644 tutorials/building-ai-application-function-calling/index.mdx diff --git a/ai-data/generative-apis/api-cli/using-chat-api.mdx b/ai-data/generative-apis/api-cli/using-chat-api.mdx index 2a2b55e64a..b1a1236731 100644 --- a/ai-data/generative-apis/api-cli/using-chat-api.mdx +++ b/ai-data/generative-apis/api-cli/using-chat-api.mdx @@ -68,23 +68,25 @@ Our chat API is OpenAI compatible. Use OpenAI’s [API reference](https://platfo - max_tokens - stream - presence_penalty -- response_format +- [response_format](/ai-data/generative-apis/how-to/use-structured-outputs) - logprobs - stop - seed +- [tools](/ai-data/generative-apis/how-to/use-function-calling) +- [tool_choice](/ai-data/generative-apis/how-to/use-function-calling) ### Unsupported parameters - frequency_penalty - n - top_logprobs -- tools -- tool_choice - logit_bias - user If you have a use case requiring one of these unsupported parameters, please [contact us via Slack](https://slack.scaleway.com/) on #ai channel. - - Go further with [Python code examples](/ai-data/generative-apis/how-to/query-text-models/#querying-text-models-via-api) to query text models using Scaleway's Chat API. - \ No newline at end of file +## Going further + +1. [Python code examples](/ai-data/generative-apis/how-to/query-text-models/#querying-text-models-via-api) to query text models using Scaleway's Chat API. +2. [How to use structured outputs](/ai-data/generative-apis/how-to/use-structured-outputs) with the `response_format` parameter +3. [How to use function calling](/ai-data/generative-apis/how-to/use-function-calling) with `tools` and `tool_choice` \ No newline at end of file diff --git a/ai-data/managed-inference/reference-content/openai-compatibility.mdx b/ai-data/managed-inference/reference-content/openai-compatibility.mdx index cadd000eb4..ff98d0a9de 100644 --- a/ai-data/managed-inference/reference-content/openai-compatibility.mdx +++ b/ai-data/managed-inference/reference-content/openai-compatibility.mdx @@ -48,7 +48,7 @@ chat_completion = client.chat.completions.create( "content": "Sing me a song about Scaleway" } ], - model='' #e.g 'llama-3-8b-instruct' + model='' #e.g 'meta/llama-3.1-8b-instruct:fp8' ) print(chat_completion.choices[0].message.content) @@ -71,6 +71,8 @@ print(chat_completion.choices[0].message.content) - `stop` - `seed` - `stream` +- `tools` +- `tool_choice` ### Unsupported parameters @@ -79,8 +81,6 @@ Currently, the following options are not supported: - `frequency_penalty` - `n` - `top_logprobs` -- `tools` -- `tool_choice` - `logit_bias` - `user` diff --git a/tutorials/building-ai-application-function-calling/index.mdx b/tutorials/building-ai-application-function-calling/index.mdx new file mode 100644 index 0000000000..8de0b58c06 --- /dev/null +++ b/tutorials/building-ai-application-function-calling/index.mdx @@ -0,0 +1,264 @@ +--- +meta: + title: Building a flight schedule assistant with function calling + description: Learn how to implement function calling in your applications using a practical flight schedule example. +content: + h1: Building a flight schedule assistant with function calling + paragraph: Create a smart flight assistant that can understand natural language queries and return structured flight information using function calling capabilities. +tags: AI function-calling LLM python structured-data +categories: + - managed-inference + - generative-apis +hero: assets/function-calling.webp +dates: + validation: 2024-10-25 + posted: 2024-10-25 +--- + +In today's AI-driven world, enabling natural language interactions with structured data systems has become increasingly important. Function calling allows AI models to bridge the gap between human queries and programmatic functions, creating more intuitive and powerful applications. + +This tutorial will guide you through creating a flight schedule assistant that can understand natural language queries about flights and return structured information. We'll use Python and the OpenAI SDK to implement function calling, making it easy to integrate this solution into your existing applications. + + + +- A Scaleway account logged into the [console](https://console.scaleway.com) +- Python 3.7 or higher +- An API key from Scaleway [Identity and Access Management](https://www.scaleway.com/en/docs/identity-and-access-management/iam/) +- Access to Scaleway [Generative APIs](/ai-data/generative-apis/quickstart/) +- The `openai` Python library installed + +## Understanding function calling + +Function calling allows AI models to: +- Understand when to use specific functions based on user queries +- Extract relevant parameters from natural language +- Format the extracted information into structured function calls +- Process the function results and present them in a user-friendly way + +## Setting up the environment + +1. Create a new directory for your project: + ``` + mkdir flight-assistant + cd flight-assistant + ``` + +2. Create and activate a virtual environment: + ``` + python3 -m venv venv + source venv/bin/activate # On Windows, use `venv\Scripts\activate` + ``` + +3. Install the required library: + ``` + pip install openai + ``` + +## Creating the flight schedule function + +First, let's create a simple function that returns flight schedules. Create a file called `flight_schedule.py`: + +```python +def get_flight_schedule(departure_airport: str, destination_airport: str, departure_date: str) -> dict: + """ + Get available flights between two airports on a specific date. + + Args: + departure_airport (str): IATA code of departure airport (e.g., "CDG") + destination_airport (str): IATA code of destination airport (e.g., "LHR") + departure_date (str): Date in YYYY-MM-DD format + + Returns: + dict: Available flights with their details + """ + # Mock flight database - in a real application, this would query an actual database + flights = { + "CDG-LHR-2024-11-01": [ + { + "flight_number": "AF123", + "airline": "Air France", + "departure_time": "08:00", + "arrival_time": "09:00", + "price": "€150" + }, + { + "flight_number": "BA456", + "airline": "British Airways", + "departure_time": "14:00", + "arrival_time": "15:00", + "price": "€180" + } + ] + } + + key = f"{departure_airport}-{destination_airport}-{departure_date}" + return flights.get(key, {"error": "No flights found for this route and date."}) +``` + +## Setting up the AI assistant + +Create a new file called `assistant.py` to handle the AI interactions: + +```python +from openai import OpenAI +import os +import json +from flight_schedule import get_flight_schedule + +# Initialize the OpenAI client with Scaleway configuration +client = OpenAI( + base_url="https://api.scaleway.com/v1", + api_key=os.environ.get("SCALEWAY_API_KEY") +) + +# Define the tool specification +tools = [{ + "type": "function", + "function": { + "name": "get_flight_schedule", + "description": "Get available flights between two airports on a specific date", + "parameters": { + "type": "object", + "properties": { + "departure_airport": { + "type": "string", + "description": "IATA code of departure airport (e.g., CDG, LHR)" + }, + "destination_airport": { + "type": "string", + "description": "IATA code of destination airport (e.g., CDG, LHR)" + }, + "departure_date": { + "type": "string", + "description": "Date in YYYY-MM-DD format" + } + }, + "required": ["departure_airport", "destination_airport", "departure_date"] + } + } +}] + +def process_query(user_query: str) -> str: + """Process a natural language query about flights.""" + + # Initial conversation with the model + messages = [ + { + "role": "system", + "content": "You are a helpful flight assistant. Help users find flights by calling the appropriate function." + }, + { + "role": "user", + "content": user_query + } + ] + + # Get the model's response + response = client.chat.completions.create( + model="llama-3.1-70b-instruct", # Use appropriate model name + messages=messages, + tools=tools, + tool_choice="auto" + ) + + # Check if the model wants to call a function + response_message = response.choices[0].message + + if response_message.tool_calls: + # Get function call details + tool_call = response_message.tool_calls[0] + function_name = tool_call.function.name + function_args = json.loads(tool_call.function.arguments) + + # Execute the function + if function_name == "get_flight_schedule": + function_response = get_flight_schedule(**function_args) + + # Add the function result to the conversation + messages.append(response_message) + messages.append({ + "role": "tool", + "content": json.dumps(function_response), + "tool_call_id": tool_call.id + }) + + # Get final response + final_response = client.chat.completions.create( + model="llama-3.1-70b-instruct", + messages=messages + ) + + return final_response.choices[0].message.content + + return response_message.content +``` + +## Creating the main application + +Create a file called `main.py` to run the assistant: + +```python +from assistant import process_query + +def main(): + print("Welcome to the Flight Schedule Assistant!") + print("Ask about flights using natural language (or type 'quit' to exit)") + print("Example: What flights are available from CDG to LHR on November 1st, 2024?") + + while True: + query = input("\nYour query: ") + if query.lower() == 'quit': + break + + response = process_query(query) + print("\nAssistant:", response) + +if __name__ == "__main__": + main() +``` + +## Running the application + +1. Set your Scaleway API key: + ``` + export SCALEWAY_API_KEY="your-api-key-here" + ``` + +2. Run the application: + ``` + python main.py + ``` + +3. Try some example queries: + - "What flights are available from CDG to LHR tomorrow?" + - "Show me morning flights from Paris to London on November 1st" + - "Are there any afternoon flights from CDG to LHR on 2024-11-01?" + +## How it works + +1. **User input**: The application receives a natural language query about flights. + +2. **Function recognition**: The AI model analyzes the query and determines that it needs flight schedule information. + +3. **Parameter extraction**: The model extracts key information (airports, date) from the query. + +4. **Function calling**: The model calls the `get_flight_schedule` function with the extracted parameters. + +5. **Response generation**: The model receives the function's response and generates a natural language reply for the user. + +## Customizing the application + +You can enhance the flight assistant in several ways: + +1. **Add real data**: Replace the mock flight database with actual flight API calls. +2. **Expand functions**: Add functions for booking flights, checking prices, or getting airport information. +3. **Improve error handling**: Add validation for airport codes and dates. +4. **Add memory**: Implement conversation history to handle follow-up questions. + +## Conclusion + +Function calling bridges the gap between natural language processing and structured data operations. This flight schedule assistant demonstrates how to implement function calling to create intuitive interfaces for your applications. + + + Remember to handle user data responsibly and validate all inputs before making actual flight queries or bookings in a production environment. + From 03d40596d04793cb839218d7dcf229161c6aa4c9 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 11:05:58 +0200 Subject: [PATCH 04/15] feat(ai): added concept --- ai-data/managed-inference/concepts.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ai-data/managed-inference/concepts.mdx b/ai-data/managed-inference/concepts.mdx index 4745322f9c..be1f11d210 100644 --- a/ai-data/managed-inference/concepts.mdx +++ b/ai-data/managed-inference/concepts.mdx @@ -42,6 +42,10 @@ Fine-tuning involves further training a pre-trained language model on domain-spe Few-shot prompting uses the power of language models to generate responses with minimal input, relying on just a handful of examples or prompts. It demonstrates the model's ability to generalize from limited training data to produce coherent and contextually relevant outputs. +## Function calling + +Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. + ## Hallucinations Hallucinations in LLMs refer to instances where generative AI models generate responses that, while grammatically coherent, contain inaccuracies or nonsensical information. These inaccuracies are termed "hallucinations" because the models create false or misleading content. Hallucinations can occur because of constraints in the training data, biases embedded within the models, or the complex nature of language itself. From 27973994aba4cee1fe44f34f8859fc5f719f306a Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 12:18:31 +0200 Subject: [PATCH 05/15] feat(genapi): parallel function call --- .../how-to/use-function-calling.mdx | 114 ++++++++++++++++-- 1 file changed, 104 insertions(+), 10 deletions(-) diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index a97496d37e..aaecfbeb75 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -184,6 +184,106 @@ if response.choices[0].message.tool_calls: print(final_response.choices[0].message.content) ``` +### Parallel function calling + +In addition to one function call described above, you can also call multiple functions in a single turn. +This section shows an example for how you can use parallel function calling. + +Define the tools: + +``` +def open_floor_space(floor_number: int) -> bool: + """Opens up the specified floor for party space by unlocking doors and moving furniture.""" + print(f"Floor {floor_number} is now open party space!") + return True + +def set_lobby_vibe(party_mode: bool) -> str: + """Switches lobby screens and lighting to party mode.""" + status = "party mode activated!" if party_mode else "back to business mode" + print(f"Lobby is now in {status}") + return "The lobby is ready to party!" + +def prep_snack_station(activate: bool) -> bool: + """Converts the cafeteria into a snack and drink station.""" + print(f"Snack station is {'open and stocked!' if activate else 'closed.'}") + return True +``` + +Define the specifications: + +``` +tools = [ + { + "type": "function", + "function": { + "name": "open_floor_space", + "description": "Opens up an entire floor for the party", + "parameters": { + "type": "object", + "properties": { + "floor_number": { + "type": "integer", + "description": "Which floor to open up" + } + }, + "required": ["floor_number"] + } + } + }, + { + "type": "function", + "function": { + "name": "set_lobby_vibe", + "description": "Transform lobby atmosphere into party mode", + "parameters": { + "type": "object", + "properties": { + "party_mode": { + "type": "boolean", + "description": "True for party, False for business" + } + }, + "required": ["party_mode"] + } + } + }, + { + "type": "function", + "function": { + "name": "prep_snack_station", + "description": "Set up the snack and drink station", + "parameters": { + "type": "object", + "properties": { + "activate": { + "type": "boolean", + "description": "True to open, False to close" + } + }, + "required": ["activate"] + } + } + } +] +``` + +Next, call the model with proper instructions + +``` +system_prompt = """ +You are an office party control assistant. When asked to transform the office into a party space, you should: +1. Open up a floor for the party +2. Transform the lobby into party mode +3. Set up the snack station +Make all these changes at once for an instant office party! +""" + +messages = [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": "Turn this office building into a party!"} +] +``` + ## Best practices When implementing function calling, follow these guidelines for optimal results: @@ -220,14 +320,8 @@ For more information about function calling and advanced implementations, refer - [JSON Schema Specification](https://json-schema.org/specification) - [Chat Completions API Reference](/ai-data/generative-apis/api-cli/using-chat-api/) -## Conclusion - -Function calling significantly extends the capabilities of language models by allowing them to interact with external tools and APIs. By following the patterns and best practices outlined in this guide, you can create robust applications that combine the power of language models with practical functionality. +Function calling significantly extends the capabilities of language models by allowing them to interact with external tools and APIs. -When implementing function calling, remember to: -- Design clear and focused function definitions -- Handle multi-turn conversations appropriately -- Follow best practices for optimal performance -- Implement proper error handling and validation - -Experiment with both simple and complex implementations to determine which approach best suits your application's needs. + + We can't wait to see what you will build with function calls. Tell us what you are up to, share your experiments on Scaleway's Slack community #ai + \ No newline at end of file From e8dffbc1f79cde2c27ada5fd122d4103e0def2f2 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 12:26:52 +0200 Subject: [PATCH 06/15] feat(ai): better intro and image --- .../assets/function-calling.webp | Bin 0 -> 192940 bytes .../index.mdx | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 tutorials/building-ai-application-function-calling/assets/function-calling.webp diff --git a/tutorials/building-ai-application-function-calling/assets/function-calling.webp b/tutorials/building-ai-application-function-calling/assets/function-calling.webp new file mode 100644 index 0000000000000000000000000000000000000000..befbc5094d749b251cdb4d6ef7f26a4d506d59a4 GIT binary patch literal 192940 zcmYIu19T-#(CCeA-PpEm+sTF-+qP|OY&+T58*Oak#n_~@1rCx{7p2BXN~);L`!gePv!aDey;q|*-dzm_#z>MHufgW#2fe# zIuWvnNB-1z55{f_DP?@WIfYl+=*^@J;)z%wNA;?jVDi%d-3a^SOmGj`hKI;29%1d;V zOQrlgW!F*zYStD}ZGGxUc0(;k9mpj1oQs8IU z;(9{_3Qfoq|2pe^4*UI1Y;gqtPxZ%7)KJ?`>RoyA{P&@cUczKl_#g;}CIpHmvSzUv za)hd57yuT>GGnyju2x{eGR08&6+Ue8K=+AZjSDNPG=&ZS@N>#}h&h2U9-5>fUT z{D1>kAAMTueA}P}YvgzsS&kwCM7d!U*(U?!@fjL1hu}mINl4jzCf1!K5{a6~U~SQZ z8lhoD0N|)W07w#8l7H+H4cG~|$`n8cY6&U8|4h`{6ZYVJs49G@HrjEJaLuC9C+}w3 zQ3$8F&EfiS#UNEc&7ipFd+)WN#%>`Td1zlR9NmbuHq}S)grCl$N|R}mYm>9eL_B8$ z-T40eRp}qWwhcnMkDEgpSUsyldMM0C-xPJ+6y}s9Z<0EgWyQ=MV|6#+8^U)<* zmO{;N_ZCR4B+mdB5P3Cu1{6lNmv0#pAV@~E=Z}Az0f?CBzovw*0DyKuj_YWK3O5Sc z&Yjvs*i}yuG(WgOHz>W)|0)LHB!L( z@_`Lz?qp^hE9Pb~9Sj0a0r))qS}XM(+=kcj8Is?Y7hX*3zjb@yGRjXbG=(ZnqX8J_EM$0kf3 z^qQ(~y6m@@ygZ!pRY#H+4MLy&RrCN0=tOe0
w!o?iKbTEJvgYOAD^ct=oLTH}o zxr@V9odH=!cU+Ti=C%^_w?g?Ob~ZMP^dE8-A2t3ij^9DdKc^nrM2YoF?-vSVts0Ka zcNo)c0l(zX0e9a7utVLwa=MXLt#%a-^g#^iiR}jN#58vaC*svL2WK0m0z@Y%MwW7hm)k*QvZTX3sHEp? znCJNY4ct51eV#|~HehqVaRY9w=ar%dSFZE;WEX2*hWYf5#xo=UBiA93GaoPJCjGhtex_5x(UA@zsRf|AkR zU^V7&FE_5wz$&WP(b?JA>rTU~reKPjiEKvsj0#0MIp&8+jMjtAqv%A~0U|Z@0q6imLs#?CR!f+baz~p=)85G;3if;I!YT6njpD43;IRGiNr(=eWmb z_)aOY-jTRPj=*Mc{zmtDb***KOpP zR)s16JPf#^ho;D0!4QZ(NE2%SDx}EnPn^v-W^6EYVa zbfNczze&fRa&g%JF(C2Ok_j-IS>Q<}2T1fJ-~b@kJNn104jY@{G?{(osaMD2_9ldF zh3mjruojE>OnX^i7*g-JU^!J~aKId#AW`W_UI=d|4Vsvw%+!ac%R77e-ob;ERDe~6 zWwCDlAB=!yJ$r=BARdXzLr;JP*8wy?fCO+04(sGRU-IZA$A}5ph_oq10*0FM_KBkx z>-!uMl?e#SPA2TslV%?(I^OZ^bFq-B?sd1xp*X(CN263NZj+HKrl2I3Td=wr+dj1E zrIo`hV>Irww2*@6i!|eEeY<{1xNuwzpOV2#XtLI8yZvA*NG7ok^FawWaM(=WdJ)lg zmrSBZH5%KSVvzy`pa4!!I=j1B*=33ez)>k`!9UsiU>#klg+ayP$8LI&Zp`ZBr?_c!uN_b|vwUj7ONt zD*Xna?RvZ68e1^=+S7}MsDr6}TUM+xRdqArHX%=90!TS9JzqQYrkr@A*Trvzk9o+( zOe}HE?p&)7{ z^sWmqwSd+(fS^&X|3SuuTi8Li$+TX)HKLaikeco)Ov{%2Q_#$1X1(lNx;0E!fYbIV z1uc^#`t#)g+3a?@x##A`Z9ovk?1KP{XYyiZ*8HDe2`NuD{GV@7B6}3x**9BxtFOzx z+SP#O&A$QXhq+?+blv#eip=+yLchsUN`FDV=H|L;$jP*EaFNLc;mU&cODzkKV{SJdu+!y#dlvxb-H2jnhslQC&oVv z1?DwX#6Ap>I%V`{FC*oKr}8ko4ZOHd5P{4Oe5}$bkv~Ot6>`^UHhC_%EKBSTblaRg zX&N>8d&lXu{pP()o9oW(vpiT&@Fll3}=QQOIgN1`>m znUV z)^-Ef+m5%i@~ZFp5rS{I>oD5Ph&Hnk7@XYq7l#xn{?G3tm{Y`PP-{J6yJ{33S`Uu~ z!C-WEw}YBkMi)DtlCriJ-3$$8yd8D`;3vCtd)5<%D)bCZcvRfO-t`x-EFM@Q=SD2v zb*d5c!N!B~rgY9=oihcm_F}vF5kXt_Utj13QEAO-C8n^pQEClk?jT!He>K5r>kYh; z$9I*O1P%X+-`KHNWJA*sU`@H$FYA?r z_!P3e8!U2Faht;+7#YwW8^i>A6p3dv%~eH zvObmv;*ZcO9CiqbBEH#ps|e-$fG`oq-fUTEDD<||0WL^kHgk7dgIM!K+1hqm}D$(B|Yw>Sn5MhH6vNz5}-Q)~Z zbk(IHd35?68Z7o38cy6_Tr_m;Hz(R^-HAaEEU+Y3e=j&&pum7`PT(E4;7ZveiQ@qKR=xXO{^%hd>h=qhraf$cCAiKR12Kq&xW>oqFwt~glj?1 zUgGZG##;XQ&HH>B-T#8TY3|_@hN;BwqqV=j*Lzzt*A+svJZP{|S-fTc4UJQ-$4Lv> zF&F>D=Em2J4BfLT)K_v>X+LR*vloFmH@x8MoZVn_&UBx3k_YX@eZ#k04rTJA^e85J z1C=BYX-Xu}&86ciq1Ex8f4ht0?%!(d#b`)i=Zh{7d&o!2@`{h@mB#Am7LRAsMTmSdW(<()n%#+z- zuSOx8@Po-X{`ym8Nf-ENZ$J@s1nwl@aucI4x;%OC~h7x?QFiks+Iy`nJ- zH=@EbGt1K3(mEYi(9j~kEcnQ{{A%FpI&0+Y+NQex{JgrpUfoTJuxEC9)%`v27tFK! z&PndZ8TATj?>w6*Qf!J+bdnJ) z71Mq6Ak!yVqW9@{Zr}RbO#l4aEMoyR`SpZ2!g{BA_#KO#JrD+nKKG%2$`!mBpTO0Z zawscuGo@;=*Q63TL2ILy!_(_I%bCEt?A!@oSFYXrT-8N>giloqBky+S za-Ah!%I1M5H-Tf%E!@}q5;?K6KB!2kgL09#d_HbyB>JCd;!-jjW49@*``=9esnN^6 z!82(s4x`PsbG4kU=Z8L9f2K`;P<$|0L=lTjoL5e%^K)q#lXF#)Zc0H%3);uGlK3B` zGPeNsA(nbyvssUwf(#4sZkH3kXRZL3;b!1KoBh|y*=*}; z$}g?%lcU4h>T=6JaVB`}tHZ_U=Y0LtNoV9u=Hwyy?8VH!)-n1$SGrt62>Q;`F>v+MXAH+-MPz2fEHgO!)UG?>PNOFR~q#u^t@s$mEGI3cs|FEZ!r-@ z{o*-v3h2mQXTM>X){cTk*sAPhbS3f2#qT9Tkm#)^A>qb@=1C0bfIRj=YceThv^9x0 zxNpx7ftGZ%GAX4pDGaVz-k+Znf()x)f3)?s*;K~KXnkL8P2~^0jY>UR%BXLhn)U;V ziPXg*jQGcUD4#s~UR!9GiW^=-n2RVC2-e}1Z?M@M)^H!E&LZUbb~O0Nin?x_x2p`^ zWccuMjj>E!r$0&GtdzOzdaMUfCILmJ;cuvziq*v-!irjP0R+Sw;le^pc8URG8D#^( zgTnYU(kX{BDGL6q9iK#>`b=X zC!u^@!$-$k?g#CTZhp!$AG=Lm+l2O?E88c>fwu!U1HF)*?f0o2E$37-n_YKpbYwW! z_xsl#{`z-nY^0&RjEATT$V@<0E=n zhQ0CP-uAga>Z;?LozQ(CCSh|IY31Rq(dx^hQjZ z=;^U(fYrtL+`Cp{0&V$Zp>?E2yXs=G7wcNKJNzDj`Ondr+b7a*a(9mOm8v0|8MM~S z-Rerl`L$fE9n#(19KE^mcVs-cSr3w^@k(uLrLAs7SJUz*gN{Yp!JLzq3VI@Ztr-`7 zjh;}xMT#7$=jH6fF@$`L$6IRJk?H{2dZ|eD`PyVHb@rP!RlSLpFe?{Q|( zV&I;z)0vzYuyteB{Nz&)zufW?z#bmoXIuL(?HI+u1SX+9fqPmaf!eGolrSZ9TV+ab ze{L6d0^|Mn2vDDDge5orAItZ@C`Sn1JchO=$FI#lG$chvF9JgP_Ph>mf3g8(h_(U2=HH;WDV-c?4Jxqe{NQocAexbC2#JmBg zLe~jYYVP+^!QI>nSd6CxNq8@I0(%jIOw&12Q$5qZJFnY6)8j)I!9XaxZh&>34vsRz zO`F&3ecdDlxF9K8_bDXS(G4D7w(3NJMJx0C$}MWRmSO3Xa^-Y5O_@%qBz5vI%heM1 zt7*T$^6S~9!O{iF1AS$t0HOIYb}SVTGBo>4kI? z`aE{Q zGg|>HFaHNE8~O6YTM?3B2!G6$+bj{#`2t>6gIl5f%O&>vJ+&Q(;jXj1Aqd4@{~L`K zjE2I8C`kuz%@A>xc|n@S66EB;H;Z{9Oe?Kdvk@Ixwmjtb4)a}>I>bL{S$j!9OM*Kt zQG7PPSJV7y0nNVmHMK#EQ4NaW#2j80tVK`SQJ0tf(1d7)08wft!NFx#!Osp=w$owY zbOh2HMqw;`z1?RhQ@yiCskgnIJKE$o&>B46i#!~&E5F1RJLx{)Xk&5tkqlfWIIS;D zR(lnG`-htBy1GIN8&w(osvHd8oN8iPA8@r*Z8Zglwzc+$+CLMCi6~4p63Q}&s~Cy4 z8pquc-%ho#d{(=TV16S;j_up?b+3O3PE0&Ma*Li;hI_2T!@3#QV5SospbPJ=B#R5! zQ@u9ad@r|&v@TN;RM#y0yH2}`Bw+|$StaGZuh!ZQ=+T<0`S6|2sY)ngyY&JL^j2f% z^!Z!@7v^96R|gbC)XWWF-k6LZxiPtvVW9VGonmvRFF^G=Bn8O!)bp6b$A99@p;eSO ztF`j+=^`*J^I5E`nJANw&w*;=y!dl+5E!AbZMa3j`1*3gBdgzb_&3b{Fx&r036FDZ z?i>zv1vf=U0EEv)b-pPYT_50kEYgWFXFJ%Eoaz@Hrzz+`v zBbu^#r+qc#`@w*$c&$1YIz=ow`IS=)NoK% zW>zvoRx~6_5NjwdB5-Po0hb*(m0~s!G$4~cMQ35bVqx+1q6By*ewe^GFbQBW&VZW) zWWg{M0Y9dNW&yHr14B{cz`ll=1Aq}D=+G?Oeg-(YYPz!X?0`zsEjZXL^x09rQj49>h({al#Y(U1 z39%$V!1;N!;9#J^7pPE|ql*Ip3^g;M8Ua94KqF>G4*-s#A!JxEq9GA2Oc2R&7i6SN z`h#@XLUmZ6S?GbL{U8&7DKt5&#Q*@B1z`jj3I>rW8gNgObu{Tn*OQUYctNUpxB55A zy=RmlMbsV^+C|F>B0+&X*|@EpDUMY1Mx@QN=*3m|Umk+?%_YqS($)RL^jo1ue(bWm zOn8xj0`Q&T+77x>v9P>+BbzYxnNO@#sSIa;Waf8%xx0V@g-eI}8oH|tKuU7d+5bL2 zQFv7RJH20ET)M9E4&>9OOp4rh5~1u`oo3UPle7)^sh|#*-{UM)i#-i12UhoeSop@f z1eX-j^yF7hB%=Yksw@B+ui5w~SHX{7b>5n%cUm#T%al&Yx|=@}5T=tYq(bV1nfMs> zY4ZbKrV1>70`f?;m!zCxF`w#ob2GDUiXC&(01ysPv`-fp&w(G|)Aly)3HrjpMijlc zrJ;vLal);$St^#Eoc+4+G`&Ab+DJ!l4=1Zo9)>H=A*J}79Kt84xfL>awRRcsPJ>;M zTB~2`1zAqsFV{l#Bm=-{UrP?jfXG-P!T42mRnyK*;8G9sJnE|xEckJ&YfTjFEu~Yb zdvkolRZY%#8acw`x^$Exj{78Tio~vY^(P4VQPzE$ha3GD(0%s1p#FBG9*5mc=sw4< zn<4k@l{slf^?WuQd>^EPYSaNwZ|}Ih?4i`JY$Jv8*fK*z6Vn zBZ$xt=tIf*SV*IJ=Qcyw@nCU~p^(80%gpWtnxV$ABfzjAFgReLk4tIf`Cdn}GdMQ}mp*?^ zgmXcR*r?Jt2@Qu1hdx!>74TBiAZs-*(X7ZW69@UV4K*N^m&M)RQ_gL;yzWv*8XoO` zf^kh#{Rysi`y(ol7W{N86H_ZJp_tKUC(`Q?e?0wJ-%QZkZMhx zD%C{AooL4L@>PK@eQ`j%=bdXknQdu-nT{@hSxLI6KpJEL&*+~%5fv597}Hv_dXWK# zwpmdT37&%vh6x9u8q?!Cx0I14u#Zh0)Xq=CjT%Dm$Hy20Dwg^yw`SjV@m>4_L;9(J z$vH9LhC>fsFQ;yPG*3b!httg{_!TIfd%<-ZufuP=N2gjA+)zkA$_Yo2g}_+)U1vBH zU>5bnX9{@YGGsn8W?PNoM(4z-lt)G3{S`1c*`@7xo~fT6@#`}(Zcb4?##WKuFCa~Gt~aQZl2L<_JHkzNpT~h@%gtFOGW^Gg~q|(#iUz3 zqLXl5e}lhd8LvAzetlbFc4c|s{v2a>k6Ps?P%L0r^e5OMIAV@tev~yu zE5G|Ysd0c)!&Cohuw~@Hc9QQkl=>XL{A_X6tK;jq5+FPt$RQ@Z3*}WQF#Es}a}1e^ zWqs+I*%L3|J$Q`o_nLyz{_EMG;5Fll;%61t5ydftluh_79MTUdwXi#6h%k;$mK|J8 z%$CUxZrhusR8Ps}8?}(U!<1GVTqp$&jYF0E(Rsof!WH;~;Vg*i30Vmj$;JIplVWDJ z8X*bae6m(yMBaJpr&=hbESSLiLd3&=a(vU-+aM7BqTu%}OFE`x7!+)gD;l{V`ezbq z1SEPR$%RdDaQng`=-o#Z#aEdFKBHnjKUt7)qGIGz_xxte6f;G%0(GJX<~bdzH>cFL zJxCBGr%LrEoPD(K?>T?zpR=)!Sh^sap_T4LYG|AFPv;;R zbx*D4@AM8oi`GF)~1 zByhOm66&H7acSvDWJW4RzArmPFtX>0#4F@+47e#$WWLN4i^bOEm>0z`aC3LxDqSp# zt!L``4^F?#lI4^jr(*0Xtf{H0XX4}I)6M*6;Nnw8M?RJpDP%ceMP#S)y=tPJ7M3y& z4(UO3NP0Ia-{@>j6UE^!k!8kOJ2}j7?3HUmN@}O6zJGh>S$Dy&*_qE$k6`+x#0HaP z`eM#@NZv?ldwO%zh{X|=iK{tN+Ij6<8}Rab+`a3@*Cp@zHDABtwU2uB?09xGB1SgL zl7J(sCze(PR`$R=K<|dtVW#~RFtT#&c7&VXz=E@hAi-rrvI@}4?Qn0&Eg{D$i+GZe zBIMN5me#W8>8qF2#6#?o`D3++d`L@t33W5RhMVO3+AwNYN?d+MG&^qnpVaIxshR)I zVpB7(LH{4?-}ND*lVqKG%;`kw%iU0LY)F+r8P0Vlrh|SnEx-eFRZG*!yURZxdNQ)8 z5a_MosBK2RYV3G38B9MWLg}yJ*GRXmeDULLnifVPq6MdEU7aGVPcknF(MvMz{K-Cz z$6WpAu0MUZ_B+qsc%#o|1pmYN$8HHuEXu$NxT-snKy_+7L++fM=ZC`=4kW1voB=t{gi!a@;}+3||V`H|SH6HwY}EzD^*nl65w^+~(s zgCl{@>M}5Qlk2GGi(2Y&+3fE z*RHHnX7942Rx#l+K`Y3<0aLY!W6RTXEsiFM)}8B<#2F$_)M4y2PVpujJ7BE%hZiosXEaa= zX(CGvjn2CMD(KdE*0x~n;&dMw2o4fz>-kl!|4G8qw zezM~c@}?|`L8gfo-Rt|d>h5f9Z&24!^fV-Dn{OnYu`bj^#ecX4e`4M8f`tp87K3cq z?)R}gTy$c&#>9%{jsitgcRe19`{SIJ47n$dv@tzeo~r%)S(a0ef1}}905%A6FxCnx z_+G(~`Nn*+TWl7O)0O*32trH#La~niqUR-PZY*e@rH+7wg~3>8t&p{Lx6{E)vI(!= z6Y?m9^rra~=ELp4Qmcer5?>x3I_Ov=WdKudnHV;RSFT9-#Mp&53qsJ$0&p7XY!U-q5;tw8 z0llKW_KwbPcKtR6zx3~~4~E9Vcu@%^x{c3XMLr&l@s5XdLd_AE(Mu+mTKza5aB?pj zAoJ*P1Id+>@;d#?`Tn?oSx|B7wp#(zVYu1#OS;ZI~1^< zUHNhr#=qM0ok1fcZLY`Yc?KspCmd}e2}0)a+4tAB1IXj*%z2dh2b>*V>lFyUC_gBq?cx2&TV`|h+H!u~ zUd8aL7GW-Z66&5GL~U+!V7eLQFfSUtQBpovY+h<-%s@UNF+ZMr;$fe8G*;|M+WNw^ zVD$J_0rS)#hAh_?NN8+9@JoJ%DQ-~GeY4Sy-@j4$=TC97U!^mNyzb#THzJuzy&;*Z z_-M$;3ieE~TA* ze}|IF_9tPlqnPI9I&+R{HN26n)BgH0kNHbJz0|FSj!OH$1GQ59YDZOP0slYqKyR<~ zeP-NPtXOpcdIf_r_~S>3YGN+ zsKt1e(H3}*4=3+hE^;v}bD>mK$Y+A|*kLJVc)|4I$H>)hcO&^;_2^#QE-TjW%OOyAC}W>YQ~ALtAWeRq#pi5-+hW9@{192mpr5I@al+Zzswc$#mwSq|oj zUvt*Fcm(k>tSM5Bhb;I4xC|8o*b0?l{tcDLGLGFo%zbuK$=jj_+UjtCILfPfu@My137FMQIMuz zM8YpZ5-=EX1Qrs}C{8pAj1(FXcF6|`3=VwHr}U%vkL_2`@K}pCKP#dBr?$(dvfi*V z;=DNc9EXIK_eW4D&!|bS)|0s@-AZ~)iR{4SJN13)wW(J}l0Tso3uFZ%3hv|U`Lw#X zl$E}yo=O!W?0S2T>ySp`t4bk(A}#nfr1I2mxe5l(G4}&`t8$!Y2ORnX=GjOI0vJI` zAs`x!43%XhNW5-UBv%4fCQc+ygaVxa92SiXjSMWh)o>IT41@!Qk$_Q*kV1!%eAyP4 z{G~nAFc40rAE+VJs|_eD1XE_Inl%Stfj!a%raR;NsW7FeCIuTlOGKwiTHnLVhR9W> z$R)kAPOlQYC``tCVi2^f#;t~r1z|z3QF@AeB>wuixv2ORu>DpJGUy zz(Y_HdC^J{v<+vgn4;oh#-A6TeSuFG&s)!{IK9!$-WqHu zp-eukpRU_*3^WV~s&jj-useP~T>Cao(w+#xoDz%x<&V~NTKwC&IjI-yPK%>2FdnkSoLM9phFE02pT+|%LI=OX1Rlqw^5 zRUMib&I@`)d|v%ZaB9!H(RRlBm!j~MfksAYt64Om_#+?dpPzmI?)WzT#Y$~KcdfII z)JeP!^B5sE?-bjhSRcd9c+GL^KkEx$rHVcI6v$_t|FjL|a{44bpdhr3M+ow3LU9zO z;`D9KdRNQ^-8e3#osq+vk|M}b4}sMMZKUb=-o|gv+`NaGo)}@{4!etwuU`xF+!Oa1 zFWg*gwP*a8t$Od%{8b6h)nnZn+031Cx7nx;TF0`u+pCV-TwU&7dqn0B%A6@k&8!!s zX3Z1+!VHFGqKrT4j6(AEodvUhfQz18l>V6Ff*7M?su5*nO~x^;)=xO=%OKDlbGdJkJn$ab37Q_ z@V*oC<^?;@NHK7&<+qhqNafN!;(vR+&N|Ofldq|3{V-H=IdyR?J|YSH;JtG&!Z0zk znC$t-qyA?i>VIN_|KfrTw-Y%pufI`sjhbkNaFMr0i9`u?R5>Q}gL->=d#K2JVUgmM zb&Xhh_H?=bO(O3}dhxUkYOUGO+x^zE3$N=lrspz5KzTadYrUP2vgd5}-X$M=9URiz z8zAaU%eYs|SDesfoyD#jg7AN3ZZzgV;AzO9i!ZGSQ*QKT@{>>r!`YMM*;@=7eJQ<- zZb`J;m|sa~YxBOByBE6pdk{LaCpD#FIZ6j>QhzpE(hAAjcWv;OuO9|6GwJ1Bn zhovYuPhLEbjj=B&SmMk8^+JUZPDAVGspmY$qt_3+UYkuRN1XXBS6bJqWAt1v`(LG^ zlzBTBktGb%urO_Pr-?4qA;H0_pr0=xP>7VD0nBx!C7}*A1%d%M7eR{+ajUM}{g;iv zpbA#;1}3xU*}k>*hXM7T?f2iBrAOT8ZX@v-vq7V2_3Di!yYZIaAJeoW*WIak{tigh z?1Igy7TIZvM{nP+Os^i4t(`f9AhG^^VpL)xjh~pFggtlsRAAO#WHi}z^CtpvYDf=_NUH@N6 z4h2fcyXq#~LHm>#=GM=P9BQEw8V`0etJwlIfc+T*#cAf`4GoISYlh^a&!06Ae=Gn5#@&yh@`W7 z-sH3MFZ}PR5ZWm|#;e1B7%sl@wPWYCIAz8y3)fU7_0>;;A zWt9_+BexrkDFaphCl@uJnU6#1`uATfa}RbsKF>C)C4xGZ8{g+d4{0(t^D(!tHk$uI zP6LAeigES^nO0{Ue3;xayhQmaEGg|1gO8&lhG;3WPl2Fp!+WT|mz4Pi_|563LXxXP zRPgFSw3$lv7xBO=Z2Ml`z{uPSe!FgK)4cK1ibkII43t0a5;az^{!>IZdo{)@+Hqj; zJpXos0N7XAqm+QQ)ycmXudfAn|3p6`{w9k6P$mGGY|!Of`)-WC3mek`<=0*`Zvl)9 zqwnYj&YsVQ!@H@li=@+Qs2`*qLk|U1ey!8E@|s7Id1nRqbI^&l8fV(?mK2^B}L))-=UCVfWQZv891SSgGYlD8rB zDK8&?xFHp~~Xh8khSB3tcgCy4Ec1V{Z~;YK3Fh96D93xCbMT*y1gDozZ| zj20!b4LLG$8N-F$ppaT`-~_BENtrCz)Ib1AL>bZKcv-OxySb`yd!poj!?)Z1w>LzQ zKbl4Q)*@=d{u;i9GXkY4!aUaVvyYs6#q&7y8;R6dPJj8v)}Cg=eVyNyM?<3W#m^|2 zw+=HuYMiY2Y%lDHepE6EO6fJo2@7jc;U)wkP6w#Gyy1hcYj9!vHs=ywd~u&4C4@pz z!KfMFzkd#=oyqp-k*K7J^C*7Do)?KaYwpJKzL71>`1e*6jrNYQPRERvOzgivPej62 zhneN5@~okxm{1cIX2s$Bu&Lv9r2QH(NfS!6^o2D=K57Pn8aPPOcr@8I33E=Mq8@D= zgYBy0jv?oYE+3w25l$64+fV8}tm=OZFY0D`>;iSBb2E!%| zQL#Y&Fr2OB|F!Xyw=vp$g+9#6cgIkaWzd#PSmn56XtU>W(!l=9uDhNl0p!)cK5aZ; zWCEWy&7-2E3mW%IlB1K22d5xF_Y(7|G~~NpmLz^Y5B23FDEdl5llzy_;?dwu@MCg( zDTw1=TJ;CVN9~!+z?x2RYfoO?;0qKvmz_X+9XK2s8P5mEP>P&TNXsJL!q<}O28!;S zY0oy*iToPG&!P48hJWu7oIt^Yb0T}aUD*f7(sPk@PetEp&A_- zY>`m53%DU`_PF=iERG8|2MaXW8}@eJgPPv6U&={jpWOpIFsx79+lK1_sZEW)FGRU_ zR}DMN_v)`8nA#*`Uh>mU<4}JpviNt03eL4io#3_G)GIYzay@{;%d0k&@vDn_l>%Zm z1c(da|Ix7+^|S26NfAIN^O+kDJp8(j|E_-(U$*ADxD{V=fJ9^AW@GN?kucKEz>xK; z!asL(Uo-(V*y@-@e><*}SZAAinW^1{NvYf`q*Ijml=ovRmw)i)JSk76Iy!Y>r!d#< zP0{i94?IW`Op)kW`p|i#8^g$%ri8p#q@BM%ng6abZ`guP)5CT(J?b)l{yn%g>}4t@ z1`YBdT)h5jO^#-PRO#o+;?1VFP3J05sZbA!ZMRUUhDQ&lqtRt^fBJq`a1t=p--Ik1 zv>rwSHM@(SkJ79kB9c=NHc7u6^!=+UeXu2WWvUjDV|hb3J#+c*?Z)TdMFZ$>N$C%s z8U=(U23AVNJ+GFl9G!0mo*E^nlM!NJ(~7gs=NzN!$d>Xt>fJr#&zn}&n0Pn54u+ns zFSm^qGoQErCi6abP_)N1#rEhh%#W0(C0FNfg&yoM$KE1j9Dq{XD*HOf1Pr3w+fPtC zM8C3E4%NFFt^f3*dL=z2KUMdw5~@(;u$WOCt`Yd#ibv|(?Q>YczGxxyMw4Y0&8={5 zP3!jd=oR#~?ezV9^?l#s{WP21;;A94=~w9(n=wmCV7s1fi3WXKl2@Hn2&?mZ#l@s@|3H8~2i?;%TjVibm7=_@%MJ ziSF&^AAH)*U8eLJK}j0F@KD40F>UmwQ)qrh$rSHPJ>x}*l zbcl22tjkxotEET$)g$1-v~{JTN*~V?Xr6k3+JQIrk#`B3(oC&p9k~Uq^433B!6zOk z-(@h-DOF{brh>j|%fNm>iYPcR309)X%z;II1o+i<@znzX9m>l6)c_HslM*zbfH(q# z$c%<0&jKO>Sx9i>AftyfbEZNTRCK}cz$FT4!8tLf?{PQ_AX0Ls7*q77kkI2qkvNwy z)qPp>nfxDbou3Tet+r41#=Y$VscWc&RKOGozO!C`zYx#}sP^?9JyR^!ylwtYl75hZ!24cF-Tz`yizxx)us|0 z;QYaVxU^ZY-q+SE=)2Z#u(r3x^aH=_$K?3oK*>7+7M2^#S3AmZ5E@%DFbre_U`I1a z0*nB}D2$Sf`T^)k3W(5%78Zz^P!O2|nF9>KxB(!Gl*v>G7@|=UBDyJy5sQUPro^M& zeVTv2*=f&uM)!cYezmG~GZ*PBS=tw0z@GE&Eh^WJI@x7>Rvzd1P^`<)Txx|WoySQH>AWro~p z|ML0MciaE>i@j+*hju#5`OkmrcH0fled~qI!)1{$hKt5nelyG@L>fuJA=eQ|sN3$K zKi7Ri67EdM9i1B1;+wtEKFTGtaqGKP?5Ec$^kkmYx{MBhpT`Vzs@=`YAOCOu4q$MZ z^BeqXG-@_1#+;#yqnaSE*{Bwpp4r@Iwwd3t(BMNvZNe3iz^%N`{hx2=m+!7XBK1+M znXG^#El7*hyEAGNtEPF!AKp_w=EB$;n4PhIbC|yT8@yBggY) z-nCzFGu{eJ;!%Vcqk6`%MRWS@e*TBgH+`V~$+wC$nRTS^r+k)!-zo_Y)4gW-Q*^Cf zer>86A!KQ92?$5&tL^?8XT0+`I2mzlQg3{|RD+>z$7T6v0#WZ4t|F3xofWbp*Ru`V zY*8J1zRB~h-*5a5&v&cD^Q?+$y)>2dk|BBff++jiC7>%Hzu$M=&=N4nm22*>5qb^K zC6)4LSHIzC5+a_=+irE%U?#8e3+p@A1;SXKio*SXmtMv;8!uenIlX;7_uc#HP2FT$ zBCm2mPk3|qzy;}7A|rv4*ACTcY8a81DH*o`pT1$vj)e-)fNahX8yD}VZ?-kQO%wytxJXy&EN)4pNug^ctZkM#z-_-K zA+JR`wFo4NgxIQ36=mXRI$BX&s(8_0j2c;Kj ze-^ScMur3Z4UDHfbMU0@SCDN#%TX@mT*hY(uQLm|aU`{J(!Ed|`+8=*z=c*o;52g=SCRZmZax_08jgZg?d4p4BhanQiFFXid-N z>yOJrp}J~fHl=%D*=2k7nNxOgblEt#HgIm>+Q7L1I}Rq9-;YiqSJ30h^{$rIDoH~P zT`RSal9G}jkVpy%NJ>gdN(v;BAdu8T*Q}$X#Y_iu-OzPg0s>%M0~dg47fi8uH{3be z7{4CF=D3FGO0;<7xQI|r-yfI3Bf1HoMFJ9Tu}e#tf{^H~mmaK^C%t?BWdl{~(Odhc zL?LYr#&>Luu94T1czc!FMwc@!SAY1VUtP)3gt;k$8DC3nBZIwO{V#KDdb(GycM=U1N~rY}j&+XO{b8x$UWj?fS3_+f8@L9Iw%djx4P|GQND${crTP>5Yj_(whQlTZYNx#0xGy}) zqd_+nJW-w$Go~Q{M(>%5JO2o+O>H{%L+ph!J@K-^>W$Ae`cgoNF-GU4 z3NhhL#Ph!1xvamEDH&2qH)a+LNERf6M#ua6IvBH_5HL3k#FRSXG%@S43@=rA%4@sR z9siNAjYN#Q`cIon{FnOiJi?=NiAiDti;S_`6;HV&&ijJy(RU?itQVmsu!Ae%&Xz~+ z=gz<1j%6^s-CV9F36gQ3#(^8i2HZe4;0E$Mn9S&N#x2a+7O93UMH1|Ew*z<^UidbN zGBz}j8BAk$=Zw+krrl9%zYSKLF}xv@%OmyiQbBkWHi1TztGQRsHC;`ec}r5|38qsS z+3L86TC;ZwT9zm7+;XI}bRJ%}pSHs36qKh>vl<6(ARBN4*?<`bKOmoUqB{VETtQ=o zSt{Rfyb_J$v`hdx#jJ9e`9p4cYd5|31HFS+Jq=rGu}yI!EG<~SAdE7-6@9xnhVjbs zpy9zYho1Sy?vwspek4hu!YJMLZU!HZdNNN_LhI1bS2IjG->?+xHlz|DI`cjG%qe@ zBNNG3F6+K#_QuAG_i{21L8MMI@cD%SS%EoVZPxHaDJ|v;+;ktIuf0i27a-sEK>7Fa2D4<$U@%|+AvYLFi0lG7z`K~iJ?GP1Xy7a zmT5I(bv4yRQw>E!HCwC(s;h@;s-YU7=!I&irnR|C~hU0n?nJ*lQ>=GE2J zY|#lE;}|$FPC5@iul#JRS){671hnt@9{dap9OD>F%YF7?ANCP_x)HB0Bbo+)T45r9 zBhT9H&M)oq-djSiXy$2(yy&$TvGK`?Xte$iv=LT7JG#GZ6jagv>FA-;@3`%rWIELH z8i~lplH;nrZO_@PIdfryePAEAfPy``OGkE`71tW)?wNtU5P$4-Kqe zYti0*W|{eWzht!>m;qbY-r{%tyR{1mvpJn)F8eJCqHCLUG=tfm*%k95%u7=mKu+g5 z;lQ-yC1tBVu%~d8>JkM~sW1}J<|-JWvRMgOWv52zMnorx3NixohGMl=HOUAHa}9tu zb};*gd-||lvB*~4bt^e;tXExcx$Jl*?CsK5-CN7A0P9uQe%mg~=*-pVv(0}PNs`h5 zT{Uds8~$XH>kW4vs9mO6dN^|tY-WlW*TcLN^Wn03@$hl&=iduXy%)3VwcaE2!Z{#9 z^$WKCp=Z{!d&klw7Fx7iGPoFG%8OsoW;;<9;(UJX=qD-B?uo;@3CL?wQ_m-Ht~gIG zLlOj12Yt}o0K|Izm7YEui|v(ZGYvhp*s=HiJWd-u+8+xO#Bo{aZQ+eR_r5JdoL*a4 zwY~TCRm7%SDk)vNU+Vf?KOP|;A77qSh#H{TzE;lNwSHp@EvT%+$Kd`+mX_;ZCm&bW zdzsz?R)0KwNgqjn)0YbQ3VTP8AL;Wt-n2a{+Re6C;uQNUN?77HBAAl{j|;qGsBPqm z%uW*5E!FAUuuc1(H+54AX{S;Wz?)IZYg>(KyInFxQh*-jOb^CB)YC7{RXr3~pG*;m zldXp(4M=*u(Z<>rgag+cA1&Gg#^OC28rrWmwfXrkT;qJ4*@|{6NlUt2ANbF{q*1*r z7OC@4b-lgym+#X3TA#s>V6X$Y%2wduFyHwG==o+5hhKdG~h}Xf-6INNu zYA#v;N4v)DDCN;kGjvh>H$tvI;SD%+Fjw6~2no|Qp{mn8A!NIJO-eJyF6FY9YDawH zzA8+rh1DLQrcI{E4k%Zp^BObEQhfsz-?dX+xiBR+Bv z@Y$|VS>#P2OUi7=r!MXfAW3|fbB6uF6ri8C9h}0qi}A9D1I3P{hPF|r#xwPZhiN;XuXaL`!h7^!C-!^){JMd5jnL!mbb6ie zXm}JJ9^e5U9^g?NtP`NaDmujWUb5(%__qG(Jp5{Hck6=-;HtR`Lm9{o@o3xBTPzQPx}jlQQWb!C0TCt&EJD788Bj@Q1u5_fk@ zkTPhB)2Naj{9muu>sr1=|N1lMll#5i#yQF*^FG2L3aJXZ*WIw~qt!H`s{VBqx8fy& zN(j5epfR9M6{7N8oGIj!FzP}k+n%@b)SZZE={SE`M}O`zc=hPp<6W~NVbW5MZk|pt z{qj|Pd8bR14DL@nMpUahe`*>CY#=)Tp`T^v#gJ&(w#&U!1JjEIEZ#3(%!^3A|a zWU7!yHtA8y1()C)p+B9YOB#A{Ma-`jA)tNAJF=E&GD}Y=1RDW%K2-{)w2L|z5pdQg z_7mUMbA(IWZQIJAEH5G@pq`q7xP9Zgjk*tC8AB?Gv|7@(b=+tdo6Pw%cA#D?1hpJQ zBFZPKjgUi0rW<(WF-D}5(_y&U1Xg?E3?)x2yrqiInJ33<#mR{OW>X zeNhv492r4+lzc3yCEuzPPfViC{j$k>0uarhfJKL9h{L>=j~KcE=yt^G>7z_mDAv8- z&f{eE5~K5aG1}te=T)qkB91c$+-}21TK0%#`qaY33G2A1N6-Qiz!s;+BV)C0@T70| zo8eXQnR-#)t;hS$&EENx%9N3_nSzy3)nVPsj7|l?SN$5{4S3=%4~{mGm-ZD8=dx)P#|QN?@D#Mgrg=u4t*7Taw{|9! zPCfR?x|FIov-ZV!kBEk(ZXkw;BpC_$Z4EU!*w34jr?ysoiGpETGx8@$zcP zR#Lli1D`E^!S6J&f2$waZ%s25s*KW#!igv?5#SwD#VNJ8;UX0WbSIy#yT0?92fEB;+-|Ie?t7|r4O=C;%>-qeti>_9H70*q;vEN4unq?4py8uh@(Bhg-y-nXmo~}5f#aXyGWjbfw0Ud1vofK>a*Nl4d`#x{KyZD?kRD*6n?uX91bg zd+4l6T53(wL^HR)b^bkuk8&`(Ojd~_X_apa_9f2S8=Tzk^*j0E(>=D!;KpC&*`tB- zrh!>iQn(2dW~o`q;#K1XcjJvzH$Wf}y@A7xLxt2{xC@Y61LJ}dzcHwo^I~#Ey*fhy ztL)RUiXep=0P6$#e-sgg)IqTe@AHW~B`Re}iM%7*{)fdd`W+pXUw%=7$mC(7FJ8i@ z34dM^U7wV$&4yPD24hzStqkhF^iQV(3Ii#)(zLf%YE0AKl&4scJ-t++oT0mK3!~{h%-y_q*H{m zH|z2vg=1CBtHqRFMQ z+kJh1`W!n?4lk^3nlYG`V!0#z5J@#5Qo&Lz(UFB+U2u05Mgr+}79}i7z@Qz>R#8U; zUZr~7pn(Et6t4GD8w{tt8X|aO-R9T8u|2T~_qkMJHBdp8c7n+KAGbLuT`1LqQgC66 zvgCu%yhUmR6X0 zcmI5UupD4|ukL5}DZ2cU>w4}j+3tD4CthTbBOcUM{Ur_nuX&9uTY86|_3wS_xAeCA zRJm+ z00!`xA5!KGqZt!UAUHr%Yw?If%#K8F0irp05YeMX>9Dvt^m#=jMkd+P4#__TOXFBN zLO8&c9@WLtl1$Z~B<*z>?N^9YH~;&2^~kfLG1D+64c2M;7BBI#Z`j|>yPgfq)>$Sl z$Gr2eh_<`bXbSMAM}BU;+%#%bEV_DGczE$k+{SzcQkN9gPJ0F(93|5hY0*5P0|46ZRb0E>3f^JpWzWRZ!vRj9fTh2P2eH7wr%H^@96dYJ?FUKO0T4w zqygPfD5v}1$p3u%ywi`{-{BX0U@kIl<5(6YVCd~_+dq`4Q24%#iwRE9lvF;V>@7ke zGa^BHDYAE+@wL51vJu{3g+69cf7jx5JVk6ez`}R@IYlvL$;nK*N+2VoevJp?LefwD z1mdcVQ$xC{V>;Y7yuW|Df8cxn!h5;(8EO;m`Op92hd;u4UHdlbJ*GzjE|KmR?2~oW zyX9W(!%JJ~7dPL7)bIMKb>Su+pgW&YYlf(1NXFd>n^`W=cx8K{Dr~G&RDqfR-G#X4tl69WH z{r=5A=Q#Oht=;ThJu2VsIBqiyU=~VA;Dj@Y^gq;19(d_Q$%3Yq$ zk{Y0xC6~ly=% z(6n1R6&`o5FJ(_&%`2V{E7ch{;Kk1=f>50`Z5M8`ODmkf|g@j%^-20F7q z@zi%pVxe^eOV^N9+_imNgzp}yNKr{6ilwF0YPU&;uoBA}$#{N%dNhzmOEw;!4Q#Kl zC7YU7s0}c#y4?1LK4!lk{$g)EpS~HYNC&2M=5jwuU%OYr_3_oq;Ny#*&9N#fvJw_j z7)`WRbKo%XMPx&vV^m^0_cuN|{jD!fyO#c#BX#e-NkZ)GsS}qVFEZ-MTE-KbwJvhh z+0p;p4CN&9m2rVN9vW&80-qUbYxP}z-$Aalx-4O;tY7dCmp~4h#83Cc;Z=Q@or&Mg z)Hx_5-;NTTZtfORY$Kx@0bJ-tLlk|~GxqElA52kCz%{F-6W4h}8nGCr!PE|uisX@; znW?CEuer2Bt_PuGJfnhE^g#kJNFIEG6YD^iCLri_aZY)oN8T4FDZO7)^DGs&ILE{Pl6D4ZuJII;OP38-@MlzdUg`>G^b5McIFnv7f zBR%6ACg+$3+?qes<15+j(^5Q0+{#PVt`$^+p<+~zdbXuKv{f)UkO3WVD~Zs63mq)svZ!y=l59_W^g zd%LL1QtDEIAIQrCG-di5_tfb$SPkcYZUnX6L&-a-geF23lOiyUeT>jd)~a*kCF}muW^|N>!YSJpx3DzOL@#4rlrOtz>sV@# zbN=1qY2W$kF*ec{mksrD<2bE6G!Tmtt!lmDu9H{B3G3S6Xj`G}qA1Z!1ZbiLNa0qs zr@j7*Q$Cm$pja0_+3r&Iympp@j6oCnne+>0{pN$t>o<1F{1}7cVV6g#4N8c-1`Tz6 zOfqp|g0}>#^ij{+b1|f&Y;?%Ci^Znb_Qn2CTn$r#W3iryn7TEhX-9+aspSg$krd)|AUr zF3H_H7#ch4SM=Pgd)oWR7?Ft1-36kj5RW5x{#A!R3b`xHq zjNF)!E`?$eb6aNl?92e(=}gmxO4LtZoWykgoFvusE&8b@)}hHGtvi zt_>1i12Erth4ND8#><%EgjJ%U-W7S40(xKV%A$FGglAou&FTN+I}dZm!?fTm*GvSoQL5?z)cW8@Lo9DP5Mjz02?Ap)%{lL(S)opBK zBMU`SO*PdJ=xBnT1Wjmxt}Ys=uCA_*j*dwSbkWsAb#(zvHAN3a7hPS@)z#HRPeLO) z+64?;l(ncle_=4@MOMvt&%P*q4O1if5 z={)QC(X)14Qa^uAVmg0Ln)REoI|x{Iek=>5nlOfK>ZczqqQtLt{CB&Z6Isve zU9Vs?NCcwvd@`mUTUW4`v-#Wgupj-|Q?6$n?Ty;AUU;%>fJW7OO|`Jlb*(z_jE6ma zv4;*UiJL={y#~&|KfcW1ZS?OS(?Q7+SML!#4Ch-v-{(DB&#$N`2vVT~p)&67x7EuA zDJSwC!#;!6W~sqV%3|uQQ(nex*Q1jr-=^QZeg8)P@Wc1gIkc7uuQnjzA%1eXd#%kS zNObs8dv6S@jHoPM3NCYsC$%dLH61yqUZ^H?R>E$2S^Yn78tD(~>$oMcr8s-K+k6nl}mewCk)71?rLP=j+v*^LzzDmCGod zRzOIXNrJ0l1bqj|*b4oag_?pYPZAGwxwM;BqYHzMXWrO(@XwuI`C~U{!xz^u0rsOl zXXy8v$m_xHHy$iXZwtS;55XwA0T9hp%cxW|aG}Ne618sHQ6oC*zp95nt1M+qn7AxO zz*a+0V0cXmU7r-fQXHB5p5tSqGYj7)s*jTqK5814lF|xLi0M)?aMYKS20EY(hXGRU zc=J%wT=^ik6Wztqcv;7n^;TS+E!)QH*@FDKGObK)VY;Q z>Y-oIpbGW2|-!wx)0vfu;KWdiC4U5xd5DU`1{(5KW z;q`f*=@5*{!ag#6_cfi__8GIbsNzIWq`~L|2KS@22}jY;>7Bor223ZFYgN!q z5gTVNnk7U0grZX@Y+0IsjYb)uuEh24=4B5pFQryzbDzjWx{5hPhYCx^$HALu9 z0tEl-sappCDW_G#BpZ%5Pra*_gFa*%@UrLD`#h*pt-7?N(}gANFI_FgD-WVhhh|k( z*-!P6pMPDi$(CzV9)!U+aU2JlyjlamTRso&7hauYqb1fmB-Xe3o9_&%B!7oaebCDv(Hbk126%ISeC!JS&XOF8?9>Gq(YaRvx3| zDz71RNE*}lyK&67D*X^aFgCIg&;?C(?MoM3U0u*nO*K^4OXJLyhQKe)YyT;WFHb!B z>GdJ%0T=WCK(uPo#RFwG7fr5fHOwXYO9EpWV9-f>(K0}|!fXW0a&@2NZpOA0rT$8u zx!7yU&aX-;yusoNm);eY&sxRPf6G7IgiF}HYxPHpgzZ)D#^id}&pK*cA6h24?#@K# z11Yug-^#j1Xr3LOKOXFFzwr=v%y9SY!=x|AsQ?+byU<;LrE=!j!cVN!z}B+SBeB{R zY4HS1<5njD4Ot6(;Ed%a`Lbv8d?m{Zt%rHujq`|bCX~^#iLy}1tOxX>aMc4hr0=%I znbBv-SDWSS)`vkcjX~NvBQ_TLROI%2X^6I@0yg34A|>F(m7SOC}Jb5V9N%$B`&)Dt$WlZY{-q* z!v)IXih`%-Ne;BYfqPpNhp+hqapO<}8ydH9K6dvYS*%2H&vTMPdZZU)-0qC)a4$=^ zPBplmg$_5C@|l~mb2p`DumAM-AAjnf=di`of0){{RpnI`W5CvL2>YhP#-W4&EPhTQ zMxn{(1s|MoC3cBS%WPix(2oyT>mlIm%e|Vf-5c`~a>$d>h0bsjiiz>qPJfl^=BK8u zzZ>oRy~%}qXC=A`8V!35lGNo0s}CM+wztdiyG>Vp8ee9!vZWAT_upJ+kr&?ck^7*F zNNIGRvLemOKs+QbQS-egiNWNTa-E(Xh(mi@o<;j}u>W&%v6aS}ni4%>Lsy0w?56FU z;5f9MdC!;X9$*QlcKyW1h}GejTsD4Pbm>XSW4A^Bw}zfwIQ;Z%cia0XcalZabW=L* zNPRQBHPmna>w`b`ipc;^=FevC5FcEtKNjK~DHSrk-EB^HJ&c|nzV5I4lDNMP1b|ee zpu@;|_z>=d6VB-lZ@Ro4ym4%``6=ZN;o%|aobDlaAUtqR_pRQJO>K&e3MZU!PWRJ2 zK-p?j*lJTDIwZ1aFd3n)ok;NT@J%Z>JT~LZzgiH?r|b<~`v=mx-$2pUE)msO@*dda z&94?0g|ld{L<(FJjL;y+I9D(I4lIha+-IL_a@A9X=~zKK6!P(uD+%vgx81svsipU= z54<8bT^D$JyO8e<8-1rwUvF^WuK#^^qwhP6Z>&*~*wu9F^q>Ct@gy%VXF(;N!kQcD zrZ6Em}Wiq-yelx>Ool*w)5U!8CQu?D6PZCR&vQ1u2-k! zT=VU&Afr8JF19=z+I#V0i@IXnuqKw%YPAtc=GHeBUdx#i_x^N*$+oFAp>xRcxWj|% z;SN4o_cu>Uf3b#8AH(Ucr8@7hw@gBHRvPR?A!(W>kh0)2FYU}f0sqh&h(E^pn+Of! z3dCimWO{zQ)s|PHu|!K$s)#V@EoW{i8g4>OC@uzbO#^CSdaH-muxuXzbI@!XU7B0CX|gQl(jAtLKwRx*0#(rQK>b> z8?wA|j!DL5fON9-f_GS)qR4dk-a`ZJU|_V+!VaUI3_ze0QdK`s>5pP&0&({fw{vd!RdqlAOIGD0oABA%z*LC5%{4nJM@`m}EU zN7qOCS1dSDPGWo8i9{`IPPSMWTI-AwR2Cq}kg(~KU^nN+*SQ490B`_fY~yn4>z=L1 zjez?nh-CR3P?^;O+1#~qe7gVK8_AZDGiyd+yP(6nrqSi-$DjSSFjPaS8wLO7;{^n! zPYATq09tHlnDzFPyqdS&-un%|>fQXe-y$FUTi?`Ozq)2>j`D4@h0GO_J@ZCunOLs+ zHSE^kD|FijbYZr>y|$Jn6+x6@q89E)y~I?&*;+{nYQREZDlGLT!s<`jm5kID1u8Q4 zg-~3;-;ihwByJjIk z3K~$*3K}5>5aP@fLk-kq$&3${3H1zpho0r#Y?(<64ly7E14slSF@P}`gE3%?#FzyG zBQeO4Fvb`RNEnH6^4>2qLFH8OKpn4NJZRO-`(&nWGy!hqPEM&CF(YdPe&*9G6;Y35 zGv;D+h;@daU!XGV-{pQk>_H25Cj(i&@Vz^DgawMMYU3hj;US0g6@;9)YI`hoo)gaJ zt`96H`0{bscM_%L@JQq$T44*ay=-!jF>bwOm4=6@cOZjC9oy({x?_-S(^>Ek$jIj` z8kcFB86>&Ao817LpdeCMmb=Nq3{r=U!d_fAgGRmC|0dG9yXU@-xa<44?kn3r{@2y! z7rWU*pxN#1?GBi z3--H~Yy>*4ZBZcpy1k<3*?RZ$$~Ze##$aH&?bGAJ*(k9;&5+8@Vj=udgGnKFxY+eF zOH1~a(t&aNFiraFJAWH6C#=(h#|Uiqsq3 zE(2$rxFV#P^lU=zUpdonbfvWwSsZE?BMg2zKWqwwwyMd4$ zHF&wkkkOR5KAvG)!e@B#`ZVAAE2(tYKJLM)xd5<|<)(e+M#g0gpGsbSTl%jb$g>LG zN*5FWm8AFh()(@~^`;8Qiz?QPOw3}Vf?Lv+Qrp8N>~4P^L3(L+L(Gg%w9L3zXBOyUBX`w&ZUIh}#Zo}Y{kIb^Sc zzHm-*#V0f@+9>V|JjDfzUDsobceT#6@BHX`-0v?#&Ts>{d9Y@9h3B+LFF^*RIGJ{v z)Y)Xan_@)*-lT7@l)Y7?&EvKr8WJTe6w^U)0Bi6*k=Cy_&bM|&=%b*>2{S-PCU8vB zS3VCCTSKUsu(!_(nwq<2or+T1{r~j)+cz!=RU{a%dh0t>^^+I?Sjoc3#iKoaONnHC zu#n;x9m>A)0gYPD>DzQ&OvAJ-seg}Iqb@2XzLG8BsIxf~!}~~4VU8Dfq`&>Izv^MB ze#A@ttj~y2=o$q2M#Uwv0#%c&Xpv(gwaW9nosMLN5UQjNC`hdWT|_c@CLFq{=ir*< zZ~gjS*B@5$>1hR{D@0D0#R7bY8Z~l9P0P~2u!q)_U>1IWgD@1nTAd%17Y7R)y}U)= zoz(RWzrJwM6|Z*Co@BJ=6YPFz7Kx`)2Kp_#%TlBxtn#+Up!(si&iQEHt$xR_2yHZP z#;V6MvXBEUNTZz;lQ&4$(H$z`&(bf{XhHYS6-2)T0uj1+2X{+ zwe%(%GQHf5?mw1&=W~3-@`P9kDb;3-tENJ$^^cH5>tRY-M5my)3l~E#eZp4AWf38i zmyYV%I#hKaY7x5`k8fwyWMp;edFS<$xO~m-VzZ!(MQ^uKFqlb=rRyM0b|Rrv^al0W z8}zzQk&rr}6Q>$=`IFy&uD|62IZ2)yLrw-*83pKUHY>9-L)9>BEXo)g?osO=8J4f) z>N}#m6}aShleRbe)HmnFzxUt+GTQTyFMLmj49++B9iohn%m`?oVTMo4A0koch$e2QP?cjhmzueW0USdJMNEKP$q$!lm= zUgtAEIQ60XXDp@xz*EjQ7$3WpjfHIMK&2^8WKWg->*qr+DsdFba|rW6&^9%N;2kdI zTic}8UL|92O}NVNSloPq1+fXeY_IadeLAi>D5;dnd&|6zy+7Lk2tJh?@%ll%d?DDQ zYAo0!N~VAWrWn6I?0sr~WApuG zs#TpGSyK+IAg9B!4iu0ak^>}A%~FFo+M%-JLMwu&?TrwmWyAmO=a6fP z*RZPM8ZNdVuDa&T#ru0u1epZ$l$?fyC&UvI-}w^^Xf_alE; zMJNMxU`~^1x@m9brA@WaKpIY?FwaPW#!qkDv3km7tpid3x!=<_mIwdLKYz84-O6Wt z(z0Vll*w<05n)c)`<;9I{GFEaV%9J&BWsmv3a&Zc(RZEJ$*M-8lv0v0T~yk{r5mxb z?qy6{dM#vxwYthad@TBlqN7U5%;;(+W-0(1itv*bPnl#vdUOrb^#-wH$InQ4m&BsO z$BKBjbm_EBm$o&})|H8Nh(l)lGg*mYWQ)$Kl)J7-Qw{xoUe(J^Wof;NPxJPR4WETK zy)HjhTF@M`79}~UBTHs43mtTZ+|u~z@##~`^8R{%n{Ka~ z3eZ`r1~x|RQMPidB|Fx3?i$|RG5O-UE!YNVxLrXcSZ#raoxHtGB6&5;c>Horg9!S<9|L(wp;Ia>!I=Kmu5$Py}?( zp1>l>w!7{z$GU*7NL=%T@U{E?e#b8l&Xd=#I8Dcl$}Gd^8kRnZZ2kz@k>wIq4r|zixNzt{PXd$O5SiR`RvMaX{sa#eT|mbJq`a z&p&X_S07*aet-Y)3g32Icg@2#q7axqrt2;8DR9RdotnM5t~f_BkaD56)j#J?Zh(j z02ZN)tO_AykL-b0vw#J0c>j(A_wf7%8Zpr<&xdxrg`KPff|5W2X#nXYnKZm||Al#+ zG0LyK+Q#SGT=~YX&G=$>%0Na$!26r>F$_$I0tHH8U1Oz61il1hX0^OHLwc)3f;9P? z*l(}BP;#*xSt6{ELP{c}kOVqf%yfWGXDOhA4n2t`q@+MfN($)Ef{u=kj#^8dmzQ_9 z0xN2Kq>!76-1$98;JR?zzlQkf=b}BhzIcivMiE=Nq@4C>6U{)muK>oV4H5Yhip3`I>)z-ri^EBQxXNRSVzzq+p~ zfwFv0n~|iqJE*2eO}0xqD5<^~cSJG@9 zJ^ZwtTGqG|*LtRAVP|aHJr5zHTRMBnL@fi3jAJdo z*?~7)p}0@7^kSnkRRsNYSR+;)%bGJ5;Isv;zUKZM+Jh4gxB4C_4xqf7_{bAcSwCk2 znb(1^2$uj9fMx(GG(#b$TDYasMBW-X+RJQy_B%zzi8bOXiPkWF;=I=A5M#@OLPviw z$gI+i>W)Gr)5)}t%FoClR*!waQ4X!30K!4Bofu7s4kw&&!U^zA*^~`ss{nAqA;1X_ z90(5&@U1q=R$FbTz{3eAJUpOaE4E?-N%k3Fa>nUlI>ZGQPX!h&S|r(Po7YMgmf!7@ zca*>~v&-{(i4B+*mxPsHKzN7CKD0*v3UQ>K@2xmAiz|Az)Q4~Uba4bIy+TbY%?7FV zyi)94RTfg|QZTFDBWw(32H2$@hu!B?Jym8k6V{L4AXU9;x_qGA;h*fh(Vo)^mV|Rm z*${2&RYR!r;q^cM_zL!|JrD5Ag;u|rL^yiUbTA&dqvic3yIc+L0a*cbBxZDy;q^R{ zpPH(NR^7SITwB{>a~xdjo$JIUzgjLo9aew$O`j0F)*;2JFe*n@X}qp&l`EOM=b!2U zum`l7(uW?O=ZSd^V)~vwbFZFurR3#VC+G4Q@89!fUi;CzC6hr$yRW(BK?jRo^*_Ur z7S9)3M2^Ev&4E9v^Zz>R2?_6~hDJkU(0S;^GPe{dUB)&Nh7Y&viMVPX31{=_n(dW4 zBR57e%P;_$f=1&+K?8t+BFAUMJK;O1`=uxU`HQMwBbM~fNbhiXrx|cHC=`kn&v^K< zDFQ%i5A8zPH>}(J9oD#dxLBw(00_W|RvPEA6+79TLp`iM-i~7~z4X#c6{BFCr`?_< z&O6ritC_j`?yC0EvPeh>D+5R*3^oafg0+(w{^qBPta^y+T8*x*;_mPnl=p*|Im53OZ$3OM9-cd zBn2k@vY~QP(S)A3rL5_iH|3dBQx?GVkd1jZPB+JMK-466WHJtRO_D7m>rW*kORekv zei$1tiQTtyt#_^`#=+Ltf3h8RhvPY{=XsH==aJR3I*^{s=$Te!p++NZBnky-fT0DQ zAraw%=83jF7VI5zFHgHtg7Nd(LY%q(dR*?;!;stpWZC_YXU+cailM_#?kcWD&9VNK z?u#%?7GXseftEUekGuy;cs`L9&qm~j%wc;HbrQ>!n9r5s;7UCkZ&)@Bo{VgtLIPLq zllh)~!)?8xPfD>ze#eETh#v9L5eSeVG&jM4YS7Tggcq_lgw}M;mukwF5<4=v*1tzl zI%fJDIt2DTI~MD@iqU|AB!NYB^$m5dN%09$UWhU{FjE1& zT}C;7DElu3v$B=kkw+pl9_10|#^oZHMU3^1OX!sDv5bB6oKsOqt1CsWPVwAeMZPcq zz0>F5^O3$D2omInI%Xu|r=6K)^b*iOs=pw>1h|6SAT=GbSLeBK+PEu>PlCFdEOP%` zFTH8P8TIeE8dC7$ZjjKtopOW;9QnNWgAp-vr5)bvW{q|t?${! z-=C5JcvDh5FPjKbj^&lX#WvVHy`Y>ATg_K;b;+y=pF{!kpqT8cmc{}QluW}d^vISq z-yVC^)gO3Wd*80>*Y7wwMV@y$ox%nUM;^nf1Rq1`W_=l`vS3^U>{Shx8 zPdB#d^dbOCLus7nR^xE9@4}Q~BG=?BaoX5w$GMI4H4ER!NogX$w2G*O9S8rUeV-3R z9^>~wB1gkynj|7d$&YgX`ukFuEkNE4DrCXryuSNMZ@W5?lq>j7$0~d*X z1vt;jI=qsod1#wHPD+*1z2{2LPEiG)RL<6R?S-uOnY|% zlgLHfAAL=m@Y5PnGWxDiwX9AnwoL)bi!)_w>(KteKlrq~8YN<=5s5Bp)U(FQnon%R zFTYePNY50iBme>7P}m4P*7Q?EAnsR~PfqFeOwJEsy{qGqnC>FCY(0b}`Uyro=-XTP zXi~5oq4rtXtk3^ecpVN|9?K{16&y;myU1CjEkI(y@v+2EJ?9_!&e``mmG!%{yGr_r zw`Zr z2dfG_s)57AEoj^XJ*u_y%lc5{mehTrCZDgpjuMuNfsP}W;ILo5Ec?y1TUVaHJ=hm% zC^%0WSI${KovQipn91X*alc7$Ul}|;;4zP{!>QS`B+(vb+&`PvD8X&Czc_P(oZF1k zDqIv#I**1?$n{|atF*fO^_73-7I0gHf|@Ziq58p)x3j5Xv|QqefP_sJb$l~}wa-m=Ku3)#i~>wkA$ zYA{}9eZvISK`*oQo>wcZej8SKgCC)>d42#^LS#WomoGH^Q;PsfK()V2lF2Ki#L>^b z`VF1^9$iDB4bt9n4fnCTGUQU>vPt&3PcntbQZgMa z?LPg(uEX^!8SeC@ffGI|50W$#`op`e8j9;2Zwah3P!R?eqr^_CbrvPPS6x^Uel|MLE%9{SAV zW%o%NPtUlu!>;8hYpuOp#hSkKjbrN8N_kdM0*qA7;RnLf+Qj`=(Xvw3(3CW2`XouUM3vO*W>AT> zR-*h;M00!DJTkpS*}Yo0{}1u}clJcV%2^f>_NJ-NG}<)jp2Y3z0flxe2F1WWh#n(T^1&?J#PYem1zAa03)zF{ zaC}kmGt7-{P`~$R&`$cUx0QB6Gx-dge_xYMc=9)>0=Kw@4Jn_e73*>_dtLwdPxCmW zvYjj~YzgIZcbQCIIe@3=spjNa_nP(culqBr$<)}4x3bp^wN3%xo`DrCEur1!tf0nFIyv_uT^ zrKV3rbJ*@&nOC~1LL(wEo(yH>N!7M^+9K3Ukg>hI5&hbvT9dR&>SGx%Yp6;I)xE!z z?ZyJPtZFVvJeI7D*1$bAMT?idWIY=|+_r+Ng}3EXAvZCzdq{-OEU`#k3K? z44sv-_w2?b%b?>cLUZ@qeKrD>$JGTg}o*{wo7|+&TUkjd}Sf1 zTLB6%fZvD@6+~)PlqY%DT-j$7DN zf=*C%G8h*!5BG5IU-!s=_Lm%a*s{M!fG@hORAS1M|x*R z&d)SyF&WkNy9-JDUPzNrUOZLgkTz}82N~dXJ3>TcCFrMa;`#*gwek8& zo`=dax-BpfSvqA0Mf2SDcNuV5@sh8-boXm8iicPO{Nd#}?NYo+13y#)_g5%T^^~^x zU3UBqlONEvU=1R&mV({3T{kUa8wugMg0e-B3F->nj%g_i?EzR`PEl>8{X>LzkW z`rW2Bs}HrlY%`GUe$t}-F8@SDKVTX~&hvO=)ZB|E z+7X&T14{mg>_113Vm&-yZ*VQg*nG$9^&%3w{(nU6s7G5nDc3L6w7JNAQ=v{>K7;A3 zFW)Zn^vqL13Q_N#N<@N~=*meB)yYAdDB~w64I@$2Jn-B|)oYA*#>nf?_bXM;8P+bo zK4z3d;g&RLcNZzX{gH3$>NsdbvX;bInI!5!EtS!$t?&y*c}F)t9d+@wgw(V*~+e-E%L;lxcuWr!~qo4HB1;u-?Qphnly6>AA z{QA*nyM@<;$20b4nf#-CYuV6RWWlnLL`CnTh-C-$)MOzOk}TZ~3NSDZG!%l$3?H7E z?@pPz$-8yZ1nvT8WI}VEg(&N{e&~tyRNEc~Eksch(OovJ)V<{n6O_#%}9JVdP zk$Q&aK8Z-L^`|x3`pRICf9cOC3IYmHnLL4%NK=m`lWNUvWXt(nQ8&OO4u{oW#@U`f znBJo7J{{Rbq|s`D)TjzfB;`yLML}7xa#6FZ?(g`%rQz8<_7YtOnE{NPn&7clqg){) z4p-)I*D1X`ZqDy@%|mnlSN2rM)RI}UkkRe|Z@^s+I;4}8MFqrp?bGL#8vbVWyT{N>I{oRQQq z97m{!!&~NjHqm&mZ}d5oucj*ES4MhKmgur-ijV!~9l*IAyBx5-(bM3D-|gs?**s55 zc>oZkKb@_DyTjLBo~38KpTGUfUhU%B*|ayq_WPF%AAuNEU}}y?>N{+`$~w+>y#HUc zKZ1L^K#I-B-x=AZ@;_7Y$MWurLmYHT7yLE=>6?9et}!L_YOKl5y!+|S6BecR$y-3I z6R<)GkPMSqrrkT+TNKKc)xjsazn&h=<#2dryUUX}E&=5}$@=e=FpULPXwz5osKCC1 zB!FmT78PmN>TQfvtIAr}hl;AwN<#<|B;C#$Zc$s~;9BooCwApX0@6m5hJujRut-H- zMKV=|*k?r}J-d=fg&&XK{=sAbC`|75SP7A=;K7}h)U#*gnH8|u)0UX%!(Xn~!2=ar zA~2UEqczSgnMv?mtZaEwxzZPU@LyEtAe)!~ z@Bk=y@H|Z83{tspi$#?Ie;jmDVE}b3uu(mCU1N)!HwIPSW~MfPZjxsqZcSxTmlw^Y zK%mI*)@Wba-fBnEh1#gMXdgmG2^Jb9CE}+{Wmx-h^Zw;g-~LzMLE~wzFvIrg9L~t@ z{;xxqOSF++ZnmXZV@JXj^8dIUG|Q{iMgxEeN=9KBieBLIk9E-<2xj9O*dCYfad>wCGVkV(^&@ylxVWFYy3JU<>kD-%i84+Khjp93Q)2P z_b=u0Fvhr*YrS(lGY($5nOPjR$e${0D*! zW*&^n*;GDCEUJz?1~dpdCUp2Zch~GqvQ@AC0J3=v7(g4pK^fr`dDyEKDp!1Azk>Yb zSdWL5_2$94Zl5pTe(@NqqS3W6C7d?hz*7zml2%`E8TK7I#xOaY?)87wsCfB_Er1}~ ztJNHDqV;iLF#@IdbEd!Aq026nZ6FH?vf1qyd^@6Grbz&h@z$;&$D!7+N?x6^Pwk;S z5oh$k^Dii{+rSk>B+1;N%m6Wfur|w25T0qJ)S3n90rlN2A&}@QO?u&Sb*UrYX2>g& z8CE`&$b-v73LFi_t&1PMppTxxvF8%Edwf(@&KA$ua>?@GdtnfWv%y5$RRbtW;U1_`5xRKT=Db91Id4FVS(T^R8o!fU4B~MWE2cDrX@l(obcJK6r7_#oX<{KiQn_ zt;6vv+kNQ%egj8$I@S`Qd9(bUC}x2QgL19}nrv_gsNPu-RdJ$JyUzm`l_Z@mgUE>_!Ye}u+lz;F zf$BA<5*E5?TN?ziO_p7c53-|76a=NUVT;K^T5l8Hr7G$tv5KlfpsG}d#q}$FL==kh zQJKY%reetOtJitL_XUBo#1Mo0ickT#NeS~V{QH6CyxjR_)?V#t@!<^`;apF61ocQdb z21gDGw(QxDPHvpCH4`F{C_#G-AO)*Q(NTvU8>J8G)A{bhlOD)BRw278u3Oyldj?ZNkxZ_fZG4fts7{@eXqi}ueG ze)Kc(15GX$UJq6wchr*QO_KfV^}W3JKZ;VZj)n?#{w{Nll>Er-F3Z_+~^)3HYje_g$-|;_Z>pt}os?y^> zGQ-WL`JD5|@lSUmMJ&!@>;)@MW~_Yx#JoAkpysTdnB|WY1KV#g+4&N2R?mqVt4y(;6*XcQ zDlx#M`pZbXMVxLyc7tbgajiaI9u~Bqg=C#LBWrl&wWnlA+vAP8tSnvZR#uCA4FB}M z|GPm=)(fkB1#Ch`(+I4<07QgYtbD%~oDaGzbttHg+pC=KOLQRz1!PAw3;B=UEV7l7 zJ#wlK&$=Hshpk>yg@Zrc4olfP?`UA24f~me=@v(86kHd(KGiq)+qmSKHO+f@omwCH ziKlISI9+UK70qNCaDu@11^8qCdd|q@5sRq{boCQq`Ah>56EaXp*9K-qYf?N?Xt} ziBlE!ltzg-$|7FIKjx_0h6HHa3Dvj5!T2kqPNy#Q$#zZYcrehgAHr5>)yeAIui?UX z7@YN%cuU)Z1vx%o&haAD^cBjnD_ zYW-ih{%g!@|6;G|3My$eQⅇv`L6G)=Db>FBn8iILMC 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%0DTdDO6Kw*4s&`L_RrYTFI|Z2utla9eY?X8e^~ zv-{MX*2T^}iYq^Iv%gc8&EKaLXwmQi>GhW0Nw6@cb&FNI!K{WxL7}JFn*%UN`Dkjk z1wI-&E2Vd*>yV@S;N?A?%;B%}ukto3!`y%R{ASv39>Rb8DDlfpqx_V<)oVi*gkqO6gqAM9sjjOvHWa!@#oErQ2mfvPq|W0O(r++%`}pyq~~bv zPI)<@Jd!jw`Nk*8UbFuj=c3f)sVU~E|3$aPnzpMgXLtKz*MD;pvpZqu9{wUn zZ#alc%gH5v>GY{ha$@#lAEYndzZpjGTI9ABL}rK0Gk?v6Z{wymvus3@&?@basG8~6 zaj#Mt4Gm;1I-y`*^E|CAO_bUfX&{&isSt-q&d*=c8sEFD{3eT6UKc}DgDy6xpDqlk z?hGjiSIBaV+)FgqgH1FeWH?a~O(u6iC>6wA1r!J#oxNUMR1~ouF zv78%DapTw?5|L~v zO}G$5Fk$qQt&eO)3`gd|Avxh1WuH4 za?L#&%Xtq9U-gj~(&;Ho<8&1`vMY88Q#HP~e`?TX(R65V?_cs{;fd3xN%Kh^x$JF? z`T;3TpMIol4gYtQzx}^Die2RCywm!FLmY>dKIzC+3Z$OLlq)>*Jo)BeQwWE%qI=E@}M zG|!S~sAjIoW70}N10hY;nIlShp2 z=z${oimd_c0tjkKJgnCM_D)=__JSXQBngLkta8#;b}G5EQxH4N@nIHOQ6@jQZ&V&v zM!l`r5{?brH}JNB=N@BB<5No?vBs2*Hv8zK)G$qBOgc{@rAP+e1&K%k4ktk3Or@Ia zLakvn9Pd-DW{fjX+kj4Ej9JNlyU|H~vU-nff1u^h>@m}PXj}qr0jN8Cv-n7?!ITYT z$AVtYz=!K~-HgefD~fZBczdah`9x$NNj7LgKp0VGpxKJp9Ubr>;EP{)ZqA3_z(bRr zi~|RrLKezVEt%Qfp&TWxF*stVW~irJ=azndGdkaF>-84#IZj)~ErBtG#TWwyD9b(N zq;hvo<$J;6DuXJsk*~lT? zb6rGElW|xe3_20EpGh!teFjGjBT*7B;4{ zH3$Npa{avPmK*J91Hff6EJ`33WiG58Cbc&Q`(LEC?GVCX%joy~;d+fIrJcD__u9p8 zw)->En?VyKpZ%9_sQI~NtD164{M+66;fM1Z&Y_jpK9T%HdkIyXVzeqQ$gn0vF%B$-X`KogizpC)y&Dxq zX|ju3m_e(su8TeZ!(#I=C%}{edyp%@k;&C70@-|Ae3M!wSR&!KEECH%_A&kLH=6D( zu^s2`5AR~+tF=+vqUvnd=4MTya|LT|95vVTvPg zIc4ji#!pMi^9lwTQ`H{&BJa;ovjG;P^wgf^$9%T{vXJU3xN)GWgwgvvjwApWEve$V zz{+6&7^pts=wn65Bg_0soW z)h&<3hh6d)OYs`lJ8ijGgc8uIi(a(Hedp?9GL2DEbn8!y$gzc6st;b?AN=}z*!>TcLeDRdi%yfykuSY*-2XnLLSG53 z(lFP5QPCoCRBS_x60@|nl0q@$BMcJF(#;2k8)@!=p7X=L;nymUpJ#smG5=R`Kl^Mw zy;`~VBPZbwc^V3?MNp5`Y-)}6N;2*l9zB?9~4B`rAr@mh`_bEZPrJB)7kXiJ+yd$(Jq1!n}>vgRE!bH0Q@yvfGJe7mXsF-Mk<3SGZaccRgnXfpDMrk% z-IScx8NwV1;4uhbUZd)1u-mKv4vihY64%sTU9%5r90*|gG+NAqK|#=PGUU5d*bw*i zGAsbVa;oj_#6Ytc1Eh&^{qtW$r2zO(9}{o-yJ6$sDy)?-wUtl|{qOT@ZBv1uH0?7AYYsvS&O4vR3I^ZFx?fYXuPj zNJT^!sdimQLPN5iVEyM2OJ*b(19C?k{1zNDP4|b@6iP#uzl)eL zD?kaeSvIX^0h6RUrOKsv?uY9iIrnf{FQ@g>uZ5e}{D1eBf}GYZLg>5s8}>pyX58Y_^9=s+5iWWkLpCuO(AOi}=`DLMWPL{avZCDGq@UqrE` zNnQj?#?o%NkQ9G~Y<#74u=*}_w7Lzn1F7-rSAID@_e;OdikqiWX7*FE*cyp2!1pK4-e^gryy(d~R8e`~;E!{so+cO(B#^}N5$zwx6(;k#@(4>s4 z>xh|&*F_1-z2W4>`8orbf$ad}hVJ#IA&sO502C?F6162qa-rpJs8F^g5Ih zD2m&st`TxLyuXndOXoP5YturhHB=eZn~s^(TgID=3p~!K!e+d!ZS0fnTjD`%vAWtXgzgb^sJpD*< z?-)-eWeSmuBEUdw3a)!5`xebEUn61+7?z%AH1Gz8gnKGYMA0ZXc>f}sd(1a7`hL)7 zz(ZcXMEZpt>v{Nv_o?SlrE6BQE~i-Ia{2rc( z1VKeXR8T}4qH9&Oq1WlS#k*bW`XLVeJeB5^Yru=mQP3a?q9CB6OZM(#`-p{|h@_MY zlx8l1rP|=Fr6gn_50&{+7aM8V%iZgu1UvP(y1IY8Rn6S9bLwYk*E#j_`kn7jH@^9| zVfax}c}c*9T!B2c*>wA>YS*;i`m5R(D4Ud8MWW82Q_@^2k#yyZW&O%qOKxH9YrFXU z#M-J~)roS*_Q5Q%2|D%ay;kidGed6O>=!-Qchm>Fa!rze6e&w0dR;UBGnBfD=*=Pm z6|f3YTs71fCFSA6j}ZdKOpF0F)YR0)YpeW^<*;ApFLnIV0U%_r%8s6bRc~Jl$5%i6 zJNEO3jKBPEQmp|PsCAQIB!Dpz%pfrmgE7V!i7|j#5Q0H6F~(rPz(|afz5U_*12Iw7 zkq8oJC+fjA>0}LPd>?4j2o8ZO!K}PVwH$`t%Z+x7uzPF*6_hsy7)>+}GGJg(dutC= zanWP|R@VWNWpsRsX_lfxdRbm?Q99lFP;yX+-J*88YjdJI0q(5`33DBIKH(BpNlV79`|8Sp;g@q?WI+~mhdG!vw^a!3PctpPY1F0$We z{$Loi*GiT9#MF=C>W8qzL@h>92;_!{V?V@AGAy2L6?4AIe-a)bkh%k~8c0mlIcbYm zf$R(MjvuCg1qLeX?myTv5POYTxQ}P>Ppeut?T-GMjRPQ`HzDZ!Eja_}p@ytpZTb#P zJ{Q=oe=2M~wb4UAJW~4Q1U*{li(ZsY_Yb~Jq8Ti}7j!fq9ZD!LU;7ub1xCw-z`0Qb zu+MGgf4A2c7T(FiX?dp<&Rn1_h-WuQ9l~#u_7ekjXaK&Hhp$JXT{Q37@BZmgYSVpY zIeq5-a(u^+R=PHIQg3J<=qyRMxl6K37Zn>mrc;f6=RR-v&9%w?#-9A?H~6jZt-F_V zGcSgVVp>K5wL{}hTl*^j#2f)4F=h3J4`I(Y&CT%Z2oI}y*NkaxT|=HWs2pr!+7^~8 zj+>n4{N&@*4_u7}SKLE8{C5!QkucMFZ!@i&quoyXGp!Uu$W3c!=f3-P?kmH|;-|6V zFT^+fH=0^cW%iT0YyREJTmNCZn8F2FG|cLKr6JpD7|_lViiQj-arK+TOEyaDZM6a* zG=l5aRlgg%{NpV1#2ef^EkN|-LMqf&%Ml2bFS5qB69io>I*3^pUiAE2wFN`Y&_kzjB_8u!HOspV=x#H)Yirj#gCPY zfKiAP98#*))jgnOey%XE4r($aZO$kIwD#t) z)cN6Lr*6sP?7T3yb55$d{hYI~J*tW)tQY85X_FBt0U%W7mmCKsdOndV%!$fa)mY`B znpd?P*YDAcby=qwfa5siahkin#P3oj1r5h=RXtq7kn3}|E-@uUg-9I&h+H4~;HTCZ z*(R{sC0j6SIG}L&#=Dp83a-!<8{;%O#>8lVQrX1C_Rp~SEQpdqUMS^88{#oW7giv! zysNrgy?*-&cO?c5(^3=idCCKo$-jR*tGIBsKkJHPv22B{Cp7d%pJ-aQeg|)-7fn`0 zWs*EF!WOOjUbR*KHa{#wNo29mX}g(7X8Oq$ws>2LXN%`mxLUudKY_w2-iqq( zd#Ud?su2oAv@)J)fW8Lpz3wB&jvn4;78o&ChO+D}({j0ENQQ@@6;&pI&E3?iM>C>$ z7hpW0YxbA?o}av%ZST~%KIs#m4Z5Bk3?avY6sBcxpGPv|#1DNNJson5;O3DV+3!aYGq;FU+6AD7~2OgOF4y_@}$*&wLL-4nI9Uzoo< zw>J%W*S!K0wC+l#Y4U4DxBi!jTmQMlhW{n8@qem(&OcPW<3AJGPkCGd+%F}u=@NU%_Jcf)0X`ZDx05?pFaA8s+-25pCQ(J~kQW?fviL0K zO5$8rF(;2W8%oxXgzXIb@t;)t8GEZk(LLw`ji(R($bwxGZ^`|&N%kh$+16DigTjlE z>uy_FH;LMbkX5GLoF{tdHtpT)AYrfv=}{BUM}65}_80w8&-`=$)OVRHDKao)5{p^| z&^Ypdo;GfPLGD(en5H11kkpvyL1;R)fzePZy;7F2iz5#Q*(_5@h*MIv(9h1Xi7o11 zf{bico|G)3XW^q*4|WhZ!K2mYR#SKD;l56)(<*U@0|ye2E3}fuIiRa^S8|rEbwL~4 zwzl?|R3G$2PgVO8GQ-0__-d&d#`tEFzUbXM3!TVcelNd$SH_Ou)3{I9m)OmV8S^5> z^Zwn)<~o8sfcdH73NcgGPy+DsMzTU+r12_G!n$`pXQr$<+l4+~zJc#7Say*J`%~T< zhseeLrmCLyCO6L=e>yigvb~zW{!<_Jp~JB5Io@BtnAi zX}hGjbtH2rFW(L5dRn|%h4b>x`2^m6+F5uc3v48n%v@M3j_QXPdL(^4vm+%CrA8kd z+Cypw)N)IuCSa1=$}-ICEw_VoC)v5W_*qMjWLcYo$oeFpC{>!(!#wo~r5Ltalc<#o zB&>)`i%@8pD&NGdRLZD`8DIo)P<-n)@V7e!L^dV0A3Aeu=68FfiiBno)+{@7AdFnP z-|&ApgganGJ62$KJFkWJW6i8FV(q(zM6HDJZ>F)|5P8$zAKv=^qhzVw^&i#j`8Q?e zQy$%tF8+QTyYwY0lJ%DLh^WZ5L-a3eb;{~37G%CMti2>wKgM3L6LuH4cCc@K{fD*F zKg08H&xzR0qH0qV@VXILj?7b>XG#5K;W30G=3s#hu%5+g7=(U?T<`df?+8d3A+!n5 zB}sfqoW)-vx>k1Y%}l0(+=BhdZ+HImPuKN;2|3u~o!|1jmi)!F4A`VjBly53y#<-# zlQE#jB;m}Jh+ICtva4_<-|;1Jn}uc!^&?+oHVoxC*$JGR(V3Z^7`+Xk!Nd^k>S||a z6PDOsZ9BG4^?qsqJXpj~;n=qIo|z3-ymU7_O_YJ13if`)JPL71wyK8!g<9 zK>;@p=my)?RI}BA3WcUBMz(2oz$SE%n(76r&pGL zR|EhYr;r;Y8tyOEW_%NlgHV!5WvX{>Y}rrN06^B)oE-Rfvz)#}n$6$cq8|3n{b;-Y zrZ@EcvCgV(EN-5}cgWM(v+Lw*nPh+Tp>MOf)7kg--Zz@L?o+<)-~Du8_d5f7-tO1^ zw5u=SW5kQhq@KnC>A17 zQpQ>qFR{(1_;tLaV2PhiXiuE^G4dOkg=7R%C^r*qeBG5P#$+I`H=$p*f>XYCc>pmN z0MTCibUc^DBSuZus-m*OE&RDV=kr#n+xD6pdGPB=G}Y?S?Fyz@0b$VCH@FX!<5gix z)t{D3i7=)!EX8l!~&|Eu!=0bmW*M7JF5lbfOS>^LMd6dBjB zfr_dD&>}!FbwqcLLvJCC73ASTPuTdF=-gP$3IKVK0>DScU1FsYzM?bjnD@2$Z=~BF z4!31)XYRt7s->l+rDqdmd}J?BrX0%*8X3jiPX_iqAJG4-PxteZ;*+AnA)H#dU0zfw z!pE_luGQFfmrN+pz`Vc`WK(bd z?Jtxe-=i2oSi4CYWiTVCgndCd0aiqO z#+RAA=fWzrI{+Vzu6?3Vqt3cze;Mt+;U7J0>AVG>hqUL+Nza)xM==yb2__vE#*tE2 zbo(pnzU!O1vVw&f_ezcQ2+ggV*P`8}-KE_nL)jK7XoG<^U|^^MmE~+5gM?UeP!cUc z6fG@xYEkWX5EUay?0ksuxmZ+K|zM8>mq{)thnVw1>vsYhM>HPuuOXUE?qI zf732oI-kfs9EkhZh*}S0?CE$sa3ZMMX5!91Q?)cd&$Iw709pWGCSjZCUQ<2ab@>Wg$ z?|Dwz$hfg&0$d6tZ{fh8pOM`0w(7V!cyglqCk1;r!qVgoPZ`4$b}=NEU&l09HoV` za8|zpsYKD+?%wM+@PClTP+pS25mtZp;-&SJ{U6^?@AoXzeZ0o$64nGQKnnm7h`_i@ zu4%deFL|>E$HRa1IC-6a>_gMTmrbbyu4I`a0&Bp{?5J0iY0Bh)4TW`;nJdLDF*B#0 zpHRuw#D%k;ynTD(j_rv%_Rn#L2AiE>NBEn3wZ}atX9igjJ0bRNLQ={i9^(0bto9%g zR;wknV@SNf2DjT_pY7~dzxt1aU^h*?4fv)Im26P4`1EJ zS4FR`mCa~&kkXzX!g_jkK$|E3 z364P>`KTBf$v+|Axx!~F+MB}o37k2BvKx;W?nbqHpEfT??q81#JI=;nS2gs@%Rgp} zmuzF?HCA;zY)lB{Q8iUTfn1dVnI9vE#yzgYOnz@$^?x$)6$uwR-ladJu*lGM+ICt> zr+rFr)9o6N_nCg}8x1~r)FqRy zwcWqmXZrSJ=YGMW2NaraY2|<*EaXTXGSn>Z>rT&ZT-J09T|x*6z0CP?Bn%AD7MfFA zr9+@|l2Na*?{NP4j^ydql^nrUMVTpDkS=;I56>xmtH0s5y6M7}b9IsJZ@<`e6;zK8 zfM}3MhTL&P0=G!$|CW&<-ESghs$9fWnR>9Qpmm zM@iGa#juiIjELP(>tQ@-x~`ZICnIt4x(A{KdX|pS)D&0!yD7dpQ~xIu?#KXerMwUw zEHM5CK6<3qG9=dk?W9*f3e-qM8BEaAo07RMsTQx^zZOLvyL|fGXZqQnQP<~VSB8=j z+V1a?D`tNnk9Ya#A$Ti+0s_+=I7c2ue8^f|+eXn#vG&o`BE05sqF?cI=# zjWfRMJFoTp$7K~F#uHg#;A83sYe``-8jkYR0O;HBfy=k%WnPXxX<0xNNG#Ac?RL77 zv7NLV7GBeuTo~40DbtIsP}0i!HGnZbi0kTXevI`NJ&W~NUY0w*`JcZLv#{cm)CD@66@=www;7)P$iIq3MkzoUUD3!1hSpcI|7!`~uj`>-`fk0nufOFs zY}hEGmOhn(!QwCx3dC-@VBzctyh9gGy3-^EgM>}II zb(S$qD_nQK-H&1kl3vbuD@sbYngnAr&v@F(LtPXr5hXC%S1u&w5!H%D1F685UML2# zkpP?#uZRyNlDM#6t3Z|ck6sN-{?0Z_R6CC+amIC7na;FX`Bbw%OPUIC>H zyj`w&3m6g|&O`t+Nc1n4)K@R9!x`B^rDrmOF z1v=&9aH4PEugpVM&)Y0w1fXbBwLE(otej?h4C&`5(`Db%TnauDg+L^W4 z)Qwjvz4z-Eo=;>PGCkgt@NSB>?@sTFnob9R>j)Az2`xo&M7=s42Z|+S_uR+qcPIVs z{|)urN#AJ&fQYUqZ|;&--avfouT3_)-HYg;`DDXUc%SY1(76w;Z~E}xbnjPx3HSHp zFMeIW`QO~tPIkvZJ`>Xc|wiGr52HmTnT_)F5d5Vr@$WfiVFj4TC1? z3LO^Zh18gKoGtW$*p^_6_A{j@qMp7yz3!i_G|WCP!rSg#PG@8)q08azbb3m`vl08) zvzw)WP8UcdVZ?O!9xg$}hO5>lZ0W;G+F7; z0XQT8)`S1AXDoh2H&U5{twwX2U!Mlkoz(?bJelo(0LOEzw^Y=HS)nDc6U;gcK+QZw z1``>q7UTb{e4>m)$85(P*zV*lZ$HWXA`cZJ9!lA#DSIa)`mX?9;I-ucQ!_wg<%L>rd?NP6jZx|Wrfz)=tONbA=v!>^4|Uv*t%>x0J!Jn+}Qr0c$nH}u3W%4y5Q z_~kh|+W03(m{A~OvGAomIX=whM3Tgt`Ff~mP-R;tm9vhH!PvRAl-cXUfkIcg|Ms^( zbYhhCAo!75Dob%yV2~~3cn-HobBkyiV?uJ_REy(D0#)zp-WNwh?rYafw&Nk-I7=ew| zx5_(t<*W^nx;;$C3*baWWo)Rbx7S{@Nic+c2iJ89 zhc0Z;M5PoXUsY4DsYfOluAUI(NtBmEN}|iC72a3N>~6npR$-6LI@d)etY%)1=|whg zaz&hao8=iQ7YR`;$!$6Vlwu`e$Jw$2Nf8wZ2&4dXz?51Hs%~poG_1+yvkxx4We@}f zn=VP%afHWu-{ssNm~|%n2%#g?jrQrj_|XHt)}z8lI~jG0I ze3X8_PVs&g>N1oj^oG6sZi3_;P${4u&?(l<%K6UCn3Ho#u9jRsKUrJCS8w4h4;O;z z+-vu?77tEuOARsflsHD52CV_WVJs_uR0dFh38IG%=aPy|(VGok@jA*mxNsl8_VfsJ zR1lzuRJBFN51Mvd)?T@-?3*B6o*lEy>vp88u#E8x#t{PUh~T0d2eDHH(V2k|VHjlQ z|8m*IPUSI&kNb`inNTHQiS ziaEH)7y}7%@Zjmgvs$tW)675wDj;zIV1CeD930A_lt|ZMD+t(q-_$gRf{5`eK z&_d-5Gc$ly&kr0=-4=K*<+pn(r{#8`*TO(JHxu&ItTE;M$l_s2|ARj7%o>LkJjnL8 z8~k0gjdF&nOJ;MeHF=%Nt`^SwTHz7yr0DwBPdDEHh6QchTpFEw`B<{Bhls_6ahe?$ zz$KAfz0H(?lM(jBxEbf_FSOZw6@e>AM(54_ss}LcL~6VBG@Kyq(GMlY7`8=uKqP89 z&Kix=Hqk^kdYIlBpsCQ+#gS~~Jik{L&jqq^gNu@mpz-TV*{tJ!S?(lp@7hh%E3g$5 z=#>UY5Q;gYy(UQ#qsp^-Y~D=(1vF~VXjpBusf1xo>w=&+g7r(%z0Pbcuv0gyT1-oO zmjr-HX~1Gw3ac>Fl@txoF-*gSkDsm^(?Upq0V$O>Q>HEZIj!-wJ-!%#Rm}nkxeUR1 z>(zd^z2iaupw6^eqwvseONEl^SAXJbheQCpWO?e1$*<^!O3x{2Wp24Tn+0?)WbhmD zY!NopdX|_tq9G4;z2W2>@cIoXRU}V%Fnm@1nRHR)WP!D13l%Vsu*8UVKf^08!#U3- znoIpjKBnEVeLl}(V~71+%E|^(k`N=u1Mzx7jdU}S z6sLnL7wqH1bupv%fK-B{LeQ+#7XvZfxhLy%c_^wHg^V<0GI5+4+cNGNl0AdZNY_NZ znN6q?S%Vu%hzIPGM^OF0De}%=%CpLHFITd zsCZ84Pj14GeS9`?uqX_&K4!hgb*h@85e{tJv)%mpxhIx}*^-^q6*4R|J3}Uk zQZO(OMODW-rb!p20J_J)a<#YW$iJdfxjxwwzHd9!p|jlDB%Pn4oP@7pz!w}^CGsJW zS|RrYIQsAI8X#r!BaoGtJM!2-ihFLXIXwhe?*+3mR>lN(YcTP6MXcU8fKV~!}uqz{XhNQZnS}RVR)plF`hL8x&)&dCl)1Dayi;5RLfSYpC{Zl46jL>JabLpMM^u#70PvLI>zqNx7x zJ{Cig1*TMli85bR-~nvit^MVQ;N}8;z?>=HGUINOg$M7M*OXv-#s@;k9a57Lz>ZMj=m~w)8SBQ!d zY-=^2L_xcX?SL?bZU(m-!+m>3!WT!5!^necsMj0xpP4DjDLBzG?iwrW0z>tu{f1{| z0Esh)vcEockpV5}8=p&@7kb)#nK_WDjAXKU(KE_rSfu{nRP-w445p)?J!}{^VmJ6! zAmEoX615qfH4oGNBi>%Tbl;-34t?@XHkdWq6`X5zFtxodMaK#8ih(8lSj=Go0x zIcSd>Q!a0wV;ZO#hKk6`h=Im~f*c3x>09LQ8gZ#i-Aw<+FX|*ug@6D30aMe zd#a){(rMap45|PTUgq-3oMuybN5F?^zp{@s%x@-mu^j`UmhqA`?x;-eZyhtW*(!uK z>g3^drP7y7n)768b3K)UuE)T4Cl>vt=x%=~g)2%r5>wW!%6}qmEAH&E>~Fs2^=i zBIOf*QGdGE)UW(XqWOkQF|#^&{k|!f-%mju#|< zwkDjyY5m6kN%iRfs0F!&X=2Evjw}y*_yS8Mgz5vl)+(ml)P!H$Qst0pXr-OlP_J z9e#($a7^|Ll6@F~t?2P`7Jp%H#(0FGg*ZM;B`0K(%-?ZTlx~vZ%s;X`;0&$9CsGJh z6HE;-6nvr>xnOW4KH1kcaI&m7f-NqtHOGiEPbtf-;o6DtTG&H#`eunWh>SAEz(`<0 z;*1+Mvi!!$Aps=lsJ#knig9`ar@yA~r~VQ3R9I>Zhgxg~7+DrushhUb^_8?u_X^qhvEw(t+1kpl*tOUHBT5bN zh$1he&nJj%aE>&c*lBCB8_>BPzbIyu&T723>D~T;{IC4rpZ*~6?C(GsjT_~zagChg zxMUa<#PNkMV1hOC;pUZvTJGuj&9m+K&7PVc7I_*|QaKok*Y%;;2$V46K-y9WMUZ^8 z%}EGTfgM@uet<9-qer*Q78(XSGBAc|D%}&`rDVE5sL+y+_TdUrddYEQ`KuR*F`Oei zP2Z!9w;aWB#R2*WO30q7izaK-ks;Mby4Yv+y0c(aXs8=Bb=t#0c`D&Z&^S8oh*#g- zUwFlWvg|8GRQNXUdwTgE|JDeaCuJ4(dNpfH^mlw+DF9|+&I00IQlfrlhDybB$n>>1 z5*_C29sdO7`2_eDvRcA$V8~~1v z8HUUqN+xb86Y@iOJkkJU?Qk4|X)J*AbO8)e#IFy&kt=x#13^q^@#E=$kkRwUitqA)J_6PMN zw*E3fs-TBVoEFhTefzt$6W>i7xG(vnN?%W?Upc_+#4aFY!c359B-IGy0UWq+Exi1{ zg`fKO3zgYlH7fv4>m@R&X6*N5j8#JElRJL3rOhjGdVoVlpSpeO9?}?1)xwpLcs#5@ zX^jI^F`2Qg!)o$Dqu8+zJh0ocapr<4S#WXKZ0X~ZOWd2!!UK&EfRNp^&s0?vxZzAB zMy?Ci8oe#{(SD5FU+#S+PU?}IwUlMV9UTsXayWbCR+9pyn*#Vk{ETNrK7h~1rjbpd zp{L|Xc(_xaN>l?dgg5u;*R8C}7-`kIJFm;Xp>^A@=E;w~aWAtR%mTB*&fVPV#Upkr#)?V(2n+%f}n60x?cqJwXTS zq715Vg#F&AlfDI!3siQW3_42NSl5V0HlT5(Ik3^wk!F;P5hvC?qu!)gCFb&)E*h8g#A%b*KJq;w8$=OdV2Wsf5b#NaIh}Jo-`dl;2MF6|h}}iee9$ z_>r>hZRlSRA4RbPKK}J%0;QiHtIo#`(bg zd}bjPF(719%;;`Ovkb`4QF_DsNI-+MV+Y>bs+!v!tUPowK*PXofc(-aDl|2o&fkoe zZ}{ckp4!tE7jQGKYGa~5jhG)|GO~syBZow|nQZ3IL0fO)@A};mav#5CPuMMs6o3SY(%W1geFFq?f;C|Js;Ij525Zkg>bRkH1R-Tfob~|6uvSEeuk0BG z#7Yyylr{tc5`=M+ja?_*etqC5?Blj3`|v< zS#4l|0nB8vvarfx#f6DaQcS3qrnwV)*&TnyNv1=7KuWdj1V%Q&+dCm4?ke9>ZQE^* zAtyOQ&5m%KYqe=S-81Ebz!Xf%WW7VJp2_oBsi2)sQBB?bXN4{_Ze4U7#9hC*!B8nH z&Vd1pKXtQiWy$rq>QGWn{K?7$C=625?lj%~If?1owU~*yNdg$an87eA7MyfP4zmTO zh#5B7+I{1g(HRCmhG7In%Y}8RyuAwAoCayz(M8UbA~JcbZ*spNzOb%kq{O{JV$a|R z;Jpq(`rgyDOoJFrwL&q0n%-=FpNpn@NHs7Av{z8MLKDD4zBB&nF?>1IZZjZHyOVZZ z{Mcmmt9~Y`w_FS@_B_^AY}Me~Y;BM9BX+Dv6F2}QU5ssexmhP14}N&p7I7+K6j_X5 zGfcxOAOi%%=`Gbd*=Rla&NwX)f4A9ddB}kbZ(o$Pq8S>P#xAEQ1t~gLq$0`IA31Hi z?cDm<%hS-w^0s~!7joX%zRbs1|D5G>+6tlU)9{)vMSDMQWo}GP5gfQ^v>pRG1(}m? zE#KZ@?V6#qsX=NRE&K9ReGfnd3YNF3}DQH0kdG1%+m~*8+^L)9oYC0 zTy4ah&2l5*hT?75-f=IKWcN81`oIO)P-y{CyeJ#pX=VhRy$(s_63-f(2t zna^zygo1;MVRpp@V_?=Am&xLV`Wh->UiTa#uzfo%`lu|H#HjBTF;Nx{uB_#dWm?UE z!E#0jDAay1CI^*-YxbOat4b?2Pb4kaqqh<_r#g63mOWp z3%C(N92a~7Nj~%4xIV-pRW>0c_UnlUAMA#Z!FEHK>~Kd^W5iZY~%iBLxg$T zJh|Ow%Hf8VoZDAJ>B!aE>bnM&x2%2*?g4>ovVk%Sd1-#sg?ag$>wLIWP2I2V7j<=E zDiv~BojU(;{tH4fjjZ5RIxRhR^Nr&+>#3`NiWQk2jO=jXc#@l!S90S!RZ+j9zx!zP zg>7JGPgZl%NCTM>)+?pybvj3q@1|+D8A#Y<*?~y95(P0C^R93ZoS95MvZ~nk2#+xy z%cHuY%AzN}I6hE#Bu6tkt!kcph`!c}ho#S_dh%=MT-I$53aMmDqlqadiIHy!$ZDX? z8}i-z@a3iEZ3-6cIIiRB%={a7e#BNMygRHX}fSCmcoqke5P49OZcL}4nSv;>&uM(ApB^Kti%$G@I??ft$H z0y4BR!+xrQK@=mvJs}am&}Ix{zd z@BGG*#RE2;dUHpw{j(-%vUiFDTpgf&}YF z7$=88cDbYCU9qUlw5MX@fQ=m*$A~M>gWvYAI6oVZ`RF=&YC4#(;UHF$q~7|n9>7Ax z3gKP`?^G-)&lG}yYMIShjY2XUvp{6xWsiD*v*9ONi45EpjfO6aY1$OFwz#239(z6C z&DTB6Ze5uLkTP0APwh2f7QfVG!N6;mXY{d-cYj z`a532-Y>;{hed*Zt^fCpS9!SOl}HQ$Mi3~Wl|MrbRCoV~t4zILIU%)nBB0?>wsjjI~bTZ{=+=y1oN^zoE z>zzF~EUVaz2EDZI=9N0?&_1PIA(8KSsMM0@Of$_)2nd4(ZabK&=5fO+ge*enO)~Wk z4<8BA&HH>uA7w+jEodr@j4UX7pS`V&*@a!OF$_%g8P%E9pbb-g$3P)x0<;jesI-+% zCH09|4cYKq*lqWui@{F6t}!XGd3FwRrrLApGM_U{#r9!)>(OywCM?^`Yo%V<%`-WG zm#6P#4WqrTOUvcd{P&~8h2`@ZVUe095cgj3Qeg$aC@Vk#aF{qzeY4~8D=Qoq$a%Vf zLV$u{pesd^5t`9Qu3p>!{SB|=`M+A}>ZD)sTYmNpe}7x=n$vc`d)x@VNkvl^N4ntkhxj=7`e6%RbK7?W>2|zibKU2t2Z8Z;)Y9)&V!*5alKJMh|9Ih{w zErm^|l|@GclE^Sd9gH+ci3wa0EV{S=1{Am`2jl={0OY_VYNqr+0A?eXA^A3Mc)>M+ zv??;>l;!!8v;B>SmiHo3h+_g4s2y7vWeIAu%xYtNSti^cNaUapR7C-$6ay4YZ-_xtG0lGKQRfUZMgV>?Vg0DK3s4lZU%s2m`JKy$R zEY6!a_{%Tr6@UHkfzxEe_3*gR1F^aGbH9+g&`Cny5*x`6xYh<5hk!=WNX9^~fS+xU z4PoTOV?$p3WoVtAdMh5mWn>n(G`zMj&mu*8Evk_e5`#Hk>}O{UDEK}jW1n0cf+8KqMI zG^Tb6Ty4+la_PW1|9@iY zbxl{za9uppN-yB~$vYh!o>OW_;UDQ}t8GpI2g_eyxle@tEQqyg)hZH6)Y2v!qv^}`9~HYl_|@!GVY@i9ma|%x zMUXFgQd?AC?sK9?<>f;U{j-y4c6= z8R~|X(PG;>q4+tQn8tLA&c~#;Q?0*anAe2N3c8B((Rmz)*-yI&eT4*u<7b^*8@kMu zmml2EZ6V3%k!w1|opHat)a?*6uIFWQC6_EN-If*6$664C=$Hyz z2aQy)5|9)_i+7zicu49r79#l6?zl)CNZ-yso!|K7?OromH*^$HRUy;ejtk`HEY_6> zB-m}x2C%k$|B+=`)U(Pi%{MJfo6;B~CkYgp$pi>sp{mOQ@Xcazi!~(RxwN+*f4j3+ zKeAx7s*7svy8wdeq-bNdL~NQ&h%gk4?&k2V2IQ}WN1@vn?Cz{=hi*2GmoL;m@>uuJ zW?MFjitM4s$#qXVNR3api=pV*T>(I1A=UJ;8vEfc%qXtNy*1IO6iXGw;Ld=IwCQ2Z z(d3bh{t+j_6=T!Kz5l28F`{U51k2N&p!>4JUOS$+p^nRl;cYVY$y=h-<3_9qN7$c> z#ry>lt~9vTU~q+j5P=$pP^#)Kz0;XZSG_DCN zb`Z6ZZVyqjqj)$uuErxamj1dGArT)7aMeDRVrdQzX)G`1Nhn*Su8G?Ti`xm0tVcG- zVxxpMXXzB91ta>g{i(nCtc7fOfvt+w*VGsGNJ@E@R`9~siD5~S0i>4~Ur?d}jMS88 zxci%Ok{$b`MwQhQuz+hw0zq4~Fpn{ykQm`6jv=)=5;*4|d8#pmIPFHlSAw_upO?4f zBlcf)+eQ{qqf+L(`2r${Adnk$%10Co%zA>mX^-3ytL@u1!rx)T3T$3|(*hKrvS35{ zK3FLTm;o<_dSo@A<_|7vKqkrRd5J`5bChHTaCPPvn8tE{G}p+ z{iZCBo9~&~7x%Jo@Rma%O_CB<9<4kf2>$Q0#aV>q?!~t~Jy$P&u`jfiP4d zOF$f>z{A#q+fNwR7?w@lvuv!6e;rcmYWSMOA%j8Voakwl*U)#b9b&sT7Ao;$A^)C5PqBIYuYQ`aAtsFls5z_T@61 z9;px86L@`KSZB_L#>@4WN`8_r;`K|6&iCvN$Hm?0&(~JV*(GHHpesQ& zArhb0<7b_l^?3!-E`d(Bw4twe)Mrq=e6NtZk)TotdwX|Z9NslCbS9lMvPEPoV;|rY zpWW)0;YQ1arzqquZs1;Sy!4vwac*A5?e?^kN*R*^MhIi0d9|2NEmF{#KsU(21%TPC z2Z;T|{_aN)p7W7!=|}qnOj(>^b=r`?G$c~)Uwo(2ubn<^Bm$T?5tvh^>5Q`qp8eBL z6>lE=^-pOoQKM+?f6MRiWc7)r&oSwV&|^~bnxIVkGVoz`0Ln!P2tZ&UmVt%a@8uOp zi6G5GMP0BtxooUkd{Ffp=lP|K-C3F+hv#8=^OAq+x64v))oM&2_vydp3~cBbckT4~ zTZd&8W?65==IF`Bz?o*MR5>%!!N76fN?;1!Y@$)fW;H%Is&wqpkK+IR3EMc`%VQOV z$A!L{b~QEW@Uwr%;`%1dsx=g3#}KmA`9=q|a=g=o;Y4aDx$h6{0t2K?wiidX@z|Kn z!ttso!rl1!d9ROsMp#bcf^r@@bHvmWeQ78_V1X3Q!~3%nyAzT~u1Sp`sTO4ix% zk+)k6noOT!>W;>qYkcXn>wG(ntQRapQ|ktqb$D8T8^;PrT1Rp4q0ZjRZ0eca~5Mu|7X_0jceeXON0Htd*! zZXsAhqf)7mrBCTX@@P)`=pX_pUeAeFAE(d1&qC`71Uf;07;hiJW0-HF!qkB|I1no; z+Qz2;#>wv5Vk>Y_v+!y;@ix5FsH&yO3TP1APd^qtK2Cj0D=R-@5l{p6c-0Sbn-(v4g`2JN;JL^N zY(+mAe17HgHa`(Cg4(UdxXQpVyHZu!N+5!ARjNjJ0tPPwIZn)pZy_;!X08IG=8-Xp zo{(q7a{j4#=lB<%%$zyrirkOh?LbOyG-=Oh@~zEIHlQLy&T;gQZJ<0L&{^GVm@P4P zssH(R694;xuPRD3+jtkHU?o#6X4@3PD-OgFjBWDx8!pm%Mm_+DW zb0PaCikd zk+RPjGgsJ*A;w)TbqqRyiaG%y&E8UN>4<^A-EiMFHr5R#^0AQY3$oUF-Ur0VppbI0 z9f@<6AeR2|WxObbE8RTV$l%NJ-^icy4$_>})SO#Y`xy{$E z&}f(iiMvux9(8Qnr8t!qI>6eoeUY5rTJqYW!BdK5GBPAGR{KNy=_RcncHC6ffdS-_ zO187fzvrZXzE@6!8++XgH^$dmd9`tROGvZ8q7>6Yb|W$jDIgV@2~0K>rq*#pp;TkW z0fMsb5?odMQClE&l?0HIEyI&na1c?78cyu|d_QF8hlEC8Lu^33LzGLOtvIpflKAJp zkobHvzvzi52wZ8vci$XEKmY-{3zDi(D0Coj!j{WPI<^%ta3&1z%FNW-4_7OPNm^Oj z?UVobulG_XijKTY-+TolTlp2uF~NX}&Wf&YP#t(c7RqC(x_tcDC-q*ggkAfe=8n;$8J76^UNQ zvpnGJKYzsBRh>%#-Yopmd(N6GK{3kqVAhHrMq6|rdXUsGGlrT4$fegZR>~<2*s!Bd zH$7GXfDsaKhV0+@==b%U*C-`^6oE2(M@gPz`+T}M$X-N{3T9n0VR>@69Agi6IL1`G>8s!f`FI_Nkz zwC(&dMm5;eS3xQXFeMU?j0sF87J>vKDib&{nLgK6gbJ5)9Y9KP8 zXH_{@adhR|HL^Hpm6*JbJ@B2_SHDBaWWD1ZDF8X(Uq)uQ)2{oN5JZr?pL7nnk;Y^@ zqQcH4zvV|BzRqXf9yN+xaCLG%P4-s^YfLrQC(u+|4C~p!S)iDm(;X7|7-ue83Jv#J zExh7o?sVPm8`FY|9uy%JF(4=q5`t8?s9&{S*djI21KOr6=y7{EtcTi3zF-dw$3qm? zF98hIeO93IJndN?J@;?6vlsS+sPzn6UwnGXl~3<|@Iwo-O$tKLCJ?`_y+vt50?1kr zWEqRWfuvF?2~w*(Jrf!^Y}j4@TU*6Nq@=-eB&Nharm#5s6TInfTXe%^liC0jk-=5Hk^0PxWK6aDv`271~lQ^u7#8Oi$V z)RdyJ)BcboQ(1}a`p{XA?+d;zFP(1lw-RZ1&11?h-dy;}5M3uR7Qi&W?6@au*}=1; zb1hN)Lio9M3_NJf%LlmVH+1=*KSu7Z z79mNCL?wv0wDipAl4i5nETe&f29Qz%v$a8o&OWE&5GW}o%DajD4A1#^-|%m7pC@#YXNSq43E@!eDR~HPgJC~H^?A2a0Vd5lPltdd0y~{*KyjTuUsrgf@I<6;E-U? zD6(1cVIKA6d2=7%rd&$CPaOIx?w!2bmG_7b-ZQw?xhHp$kFfwAy3HcY3uE+gkSG>I z&}8U1z2g;Jd-t$k`x_tZ?)3y6-mEf86K*O1kZZt{T#N|?=@4pfZb?_KU$U7DEl?CG z!(`ay;Nh7rL~)e5__g@n|%8=eyYZ24=kG7D%Vjl28Ud<<O;4nElAVM}iBIP`2gFR{yVUpB;Sld|qmJrE!ro zqQZ8GhhU|D1llbQzVWOYd?YxMTBN4l%B)U@g@|~Zx`Oqx>%Paw*ZytS=UzlwcN6Wa zljVPc^zhYR(^r6M5G@ZQMy3!mvC!Sve(Btk&OK_ilg?L9!>YV0%m4haP6No0s(5pU z+IrAnBDH$dJALCKXxI%y4)sxIK2!^KI#Kbvx`LO-{xm{>sZv8z&B zo*mN+UH!d>JNo%eTIb_tuH66-SdpKHPXJ$X2T<(N07KZLu$>#D1aTY?BBY!@@fdK% zNyQ~rh!T@+FQZ%1NZ#2cji2e}?54s0vRMu}T{l;Al3W~;D*|C#TBED4QhlT3eDi_? zEN7_9&sh$;N9+#fxVje}4bN5^zt}vyhXGB@yEXW|NpP8-}g8vInG4V*H;L7m)Qia{4bv5 z_PiZsG>1ua2@!+{C3ajKhUZ#axf)}b*Q)e`a9C%#-aNU&i@&o$A@4a!M4A=uvexXfki@O=OzZ{P%@-7jHG2R!^)JIO- z*f+fJf7Y6%k(U%UmH@jz7I3U^Rlq5~0F7CG^%1eu&T=c3L&UM2xJ)X~Wm!ikPwca)kz2>_QVLSU^ zrV(;r4E&~s=}p*c!}H6z5X2**=BdfBX5XpNNU(#E!*e;*c}V`A;4_NGmPWfl$)a1* z4;(O!)xLK?6mvqBGr5YFKNfKn>$dH`FS-8=9u&S3jE=X+ET&ZIcAWX?w)CYo|7o|0 zdb>#5#h&C;1y{qh;+V4ca|ormmZMI5#gD!;%nd`vm_<~=&7e zH#7px!~?+70HnsS2{vh?AW{(F?pE$NhxI+N@8{FKrL7PMDY=~MzyQ86GmnZ*s9`isD(XET;N zfB!7lNpg9XH{TgHKOPT(X@ctH@_#m?x*YR$1SQ`;59|i#ZNsft+TRqbk$CPop^-jo zgwMgk_rZ~1so}VDEO$76Jod%4e@%(BR{a)3tSRRH(NaJ04p>XSsl9^0kcdoo61`W} zgr+%~b!avgXBTaMzg2O=^Qk6>qC=*xseN%0)AjX|aqz;M-#TPGO@V56;#!-5ryEXEr_I6DDwPDBst&|8_Dvu~IrbWlbU9XUS-?@I3 z)zDx+?TOEysquJ{;_Yvh(Hd6cAbPl2&mw zQ&4-qd|AG$Ww_jg7`YnK4fD%(PHs{vO{Gg~kK4FW&Oe%fK^+NZtAj7u`nVJsiqi!^ z08)<1r_o?FSfoITH9Lf&4!!(7Z4iX2)hEG60f1rZVF3|azu~i1rOLYEEr`<_$k(qvEbW#lht``=Au zlS7BW!b+)XX3netNd+QN=9)+KAO){Q-FYp3ULBSND60tZ$k#*f2&-q==J$(wD z%c*JTr!K|DCG`N5wlY2;DLnu>w5hH@&1%Keu1m&NU!^h+L1&40PUp(Kg1uh;C4Yf$ z`Jo-#YH}Gmo4ly5NBdgQArw8KeAq>@^~9ldaVN&x-Vydb*v2sKcgA2`OD99PB#e85 zHMunV4@uyIJGX6bRw2!A|7aii$Z==G3c8_pd`Lqf0i2IJA)5a=yFVS~1=46u0fuWAtGc%v^H_J(4=2+$I}|v*f0<$w2L(4XTZbf3eoj zArF{DF;jCD2*Dbr1AsPIU`ESf?3?J!!FXeLZFg8QdI1Mc`(;e$vj6($pfsZo$Wo46 zeq8wK?K!{o>x;Rezed#|U=fJpm}?oc($1}6sthSANmMjo{%%%(S+}0#>_TCjsX2c9 z(=|a@uIC%>uOyA2Xx^sx{%tX1vyl8==QA>yq1jybZIA$EVQd!s;+qcs=i&O{I2Bh( zm9w0D<-Fcrvj@?QZa?|uxYp9?{wiO~f@ES^0-qMRo;euqeA=DnXv>MiZmbUy~xTA$02yj&(DyXP{G8}?;sBrM8 zziI@Dg&I)lQ`+nZ4}}a!g;3MFAe+e}#(&KYZ0CLGd=jOhbR&-GQZ21f(cz-~p%xEg zkMw3oiF<|1daEi6N2yzVCE{Ylax!t}!TIL?t zO=NEBFvo9T5uBn5%VXTq-EXaBGqsw7$wV8}wT4FRqWJt=U$D7ZOc$(cLqk$|L|`FO zM2^rlL+Rjz;N@%0Hf+9)X0D2(>#n-Kbc}eX}h1eYWMDIB+2@4R zhv@OB^)=3U0~rSY1LStrqX<02?w6-pJFV~^AKi;pZLg>oA3p?f_I zC>MTyj-#NPO#%3mk2{l153uFG%-S7_jD!Vxc0d6RoJ-Pd7-P8L9#OKs2ImTl3y zt2ryQ2BFmWFXjd$|IgTBY?&yPgE#0>d2`@EQ``#7$8jJi>f(dPU0mo3kyHiLik%5( zgRvVGmt~KMy|>n1-)zLIBys7>RkV(xg2SOBMR``BNU3_i=6EHfh?w{?v1(#xQuhPu z5Q$h&XakW;iqu7@YjG8zV8$ODVV53&UNNzp#~Z8bBA6Z~hdCX_UIQuBjAP&FXb%j_ z^Y-s=J89ZJ*EGjupXN08!O9E_uzN3l(O@T687~1~;$s>CR%0VL@|@!4ZE9X|pGwIK z0}c#%&bJI*srL9_v;$tiva+WJ49KtYyZF{_vU-iaIvPADSXE_O3Id=i;JR&a-9$Pdo9Wfh_sad;D7HAXsTgg)J+qWD zdAufjaU#>zdeJy|>A6n9`DCeVdYxi^FdoIku_pta0Gfda17IfX1uv>4NQvP% zfLm7-P|h{TFLCucA!rQTCt{N{qv0=d+De7(fbi1;FBp zxhoYNm@JqGiCVsfNz-in`JVK9aMZ%(bXQ$VCm)Tj2tHLY)-sZ`)(S{pzlxkRtv4PX zPaX7lDJH`LK<4>qf?a?f-#L67zX!j`oxlPo?|>jZaWs1#VXgRA&9;BS8~t=4 zZko3^bBg>Fexl>Ml5vHVU!Yvjdo3vM`ku$(4tVIuDwt3zzrE*Wb;&VNLMUOS4X+lo z*A0RO?{MaoN3cUDZ{4^Va`@o(X=^qfSd^8=*SmwzbJD_x}>+2q0PjhO6#ffo!| zmgOb!g~)>#KQW*RCPN^ah6wbqKIrhf@~E%l?yO@i6iz__u5S!^00&bcAgB%ob*91w zbdFr#sPuacXY+7i)D22AMN}B;Z6T-zLCz1FS?uvw!1A|jTWF=ofTT|HkUfE4;V-dVfuk6D+~%? zG?HiS770i7EECVp?SIqjyut(5x#}^j%~(z&Pxhd>J)ReLX$*(50`hdrYOirM0LI!< zPdiLs`pD@~lbbiu|Lz&mqtcWG9Vn?R5LOCyWl^@}XYsqj8&9?^U$g)eRG!FPpQ@lL z%L$85$W%8(;abr2yqg6IkdrGbdVCc&S|>aKv*K1f4NIGtB^P8&=QCsqw_M$^r$;TZ zdZ-4~DNqW8oCw~HD@bmD48i~qFplKN3CU(}=X3kvHyTX$E~85upq6b%TORUeDmKYJ zXI*rRLao@Z`gzS#0f=UyfruF`zyeNaqs!30;#}u(uU=1-)585+0I5z-3a%>+SY)4{ zm3lxVpm>zMYXCt&zQ3@?>iLhKhNV^A@+eaUKalsX9VS01v&k4~w+l%YIfLbD_gZyU z?h1Hqu6S?*Sy?Ev@SWFG%^IktSxG@sy>wq#8Cx0CI~J%Ux8>)^DQ>V*^;-1C@y|V4 z| zpPk4s6ozdpL)^^FfI4QtQZ6WHP*j1l&kPh$V`L3vRK@^Bv<=K6G>Q5pUgkugG)59<0K-*TB%z~^(jp` zkh+B=jBJy0{j6{2AD4CR)D~Y&WPOTi+35Vm4h;YrKnk5tC}$8eT+k?_uQLw&$=Q79 zDq#(E3Cr=@^0$EP!9X!@|J`U3 zB$5Dc)$jMYtFOyK%;%Y$->{qn0oJKxbBlImI+nN{t+Vp&&OS_iXofpw4h?3le!46v zmnmtczrR#*Eq61S;J`{fVKA70BAze1n)|3tAw~B#m({oMV^>>ktBPilZs z9MA@>fAq(#*LJL&nZopG9AHBA2sqT@{oLa}rv!T;0Oh!VlY*m%;{PTGgrKbru*Wrz zj^XL^zTKCKw>4@#Dj;VCb>zXvZ#!5zf=$h<-MYQ@&OKN)XMPIrXlzN5vh)T{C`*v2k{4$AL zeSfL2F5BY88#4blb^ShrxK0MEK?=E=*Gb9PpX`)U-i@IclR!Zsvni2xY{#Woz?fwV znK;$~$kQqm_47}i2bO#))5+8_=M9r-Z&=W`68B~X!<+%NTmXe(PZiL?6)$pNoK~kB z08#o6MOx6S2VQfXpScpxkNoqxHMBV*Rj8+-!yaJQcH3A$6E*McyIM?^L0|9w|E`27 zAuR;k=tBE?S>DH=T?SM=ok`=Ya|2m2l39jd>A}bMc+T^1YXxl#&`JFgXZF7b8QMs> zVS+w09;%ie%cDzNsx~~_v`=P^&)ht0&sQIG%~#Kse;OR$0{tNN#bFluNKZiz^o9wHp=p&JTlCuDA!uom)}3nTGrZU6i3l&!SvxXGTX7s zTDQHS8RK!B&vh}|2e~jv>@}@`?TbW;Ugl<~LdbX5KhZHJ^c+`r3&QJU!B1~yKUp{Z z&UPGJXfD)pyNKjs z@8smnSHHSf|4nxTK4tC1ch&!T>U$>RwR586r@a;;N{zj5zHI?did@2d{~) zt|A6^C1Ma&|JTdYQW8K*O{0)X$}j}bv$HVHf851D-#C$??iMb@M&=K48EGX#FO+pe z%(o}5Kto)8yCXU33p`*Slb>j79W>(&ezO5^94G)F2j!3#T2$I-&AoQe$I~vSPsdUl z9FP%oP3l+@UHZF+?F!ExeA926g}b-)%lF{$(A1?hpsje1Z^c*gL-?ui`X(I+^vjdt zR^@D+&JckVVsq~nqaVMJP%WH=J;U@|nJFujKRB~bHk&DUo!OR*m(9R005G_0Dz7w> zs|IDv1QPbY2ovyw{dxDmeeFWiF5)ny@Dck&E2T6oerr0=!>3+mH);uu1{ebj;r?6rI6UQIuW6cQ0}`a5>TJ(6x$wBOdTA3bGscu0F;MCmpjx~D zih1Y46t0CaKp9s#_=F&da8(OJ;jBzZ_!LR?)bnDyV2lc}NCg@I9^4)w*fh~QU$B0- zVsE1O9wpXDE+Zh}loBDW!t&SqoWoAz?oJ}|$UA)Ie+UKj+Zz5v4>_{MbIPa{&-#4vi7A<^bp&6?VKGYf)wZ{Fg%`5Wl2-U zd5Kqqi@kz`*Tx^f_k32lFi0GO1V(}hNU2Ngv}YnPSofhrTEMJWCydjXecBn#0atnC z$#PA`WcLPq&q%r(9gA#rJK%eTajdXWPRKH9bEP?2a+o`{w0eo2-;Gy$7B4ze)#s^js0ogD)K|a)3_XkaK1s5rhN5KIE0)lD{ zd$31m2j@|7?y zOzT-rU62*;Xc^m+Vaxh+0#S_p0ni$m4Q*ugC}I;M(R|G{TOHZLOhsqe7ypp_Ax2cN zm83Xzp_|>-C6yZ6A*`wWs{H9q^Zz9C80DC#^0d*at&NlmER`H@k3@I}pX_bFmpl$7 zl0#AsqGGEOvT94hjy6iSF7C?%N|K4gZt{h4rwDg~x;>c{@^c|KJ~L*Ffg=n!!U5Id z1r!E63fhn@D72;PL5@G+K)A{UWZ6t$5)MYMu(kbXXuD)nRY4$Vv;cEKyXczzV7UPW zEZcJ#oENgzQ#P?8~91R^>wC+cwWmSon1l zR;sF|;&==DhBBy6t##?6wRn&8cXNCjDQAUn86F<~c8*$Ks^+8y^NaHB*kSC7up|F3 z{1KH+K$jJxp%7`ME6zJ|ljK}tCnhax_+&VQwVx;+Dq$VByvHk6WZ|@Pv{T^Fk}OEG zN63>oaAvV@JIE9nL&ArPqq#sJ0mOX)g(*$A!qxl~CR_6Mlr{TSA|Ww78~x%-+bXxw zXx!fHne)OlnX0ve0T>q9*M|5R)q6l>Yzlw{I(v)8*?Gjh3A3b{OBA|bI)P$A5=G$SNS06cHgsi#?w%R%E$iTB=VnaO)@vv=YP#%`{Y0S zsqbZOj*D}9V0>;sHozd%=Wl=ehgJeJciIhi0l5;D>pW5OS!w0Fjx<+mrp`2vC4ETt z*rg7-l6szF)7ban`|t;`GkIH!ELUepf8(KAKQ=skHclNP0HAw&Q+jz@S2GDRZR*kw zSkn6&OM*}|V!(`gKUEUg?gIgOW3->6o3Ah478>r{ru`tLl+zzVeOXwNtqb+*f-!?} z;RpkCaR#UoVgV?st1W>^R=`8_h2u`Xn28j^lVBPbb&j=HZ;^En|Z_ImcI2yg8I*@Y6lw={;5wPa2Inl#{%G zoP`WG=3c{ibvxnP_ttrPv|K8uRHLIPx`bWN3-k&$yjlHKwAY6A66kNkdwb=4bNe3Y z$JYX*irizaqQ|rCVDGR?@#ln7;7#D6Y~`yT3l`NBt%)hpHIVN}i;q&LPRu4C8WT>i zoGed93Rh33gpqb;aX8}@mSi~a&|_QTa7|D|ZYn^F29N|t0s?4zH(}z5JW`zSM!T{5 z&u>X-wG>5i&wsE#`j~31(Js~TY5jaYn@$EZpms1o_lEcx9f59-v4Nt7ZnF1-z3IJU z>xDFw)d1IVW?`*LD}w3;2n+?Z#=+w?7}u-*m%Na?&o7Ak-t;8v``Z@|MZ0}r_f_`` z^YflN=g;bjj=jzwsU4WBe8Uf>HI9!WwCnT={g|6QvBz%#-&`{XA&dJRp?Zgn`2zyH zSzypB+l#Cn$k5)##C+WiVK`>0im?{{9Im*cX6ltvj3(dv38y<6*Iz9m92(&mZ9aaz zt^bvH_~ch3sdn4j^!~jqU|u9~h1~3tNw+2FM9GRJbqG;Y+JCA-(-O>v<)zCdj`o48 zG+e0IDH3t(`bO{4VoRYgIS>aJv=V*Si#;fv3?W+r%qUi4zzk5zXG&-Zu^$AU!Beg_ zhpVVQg$sju&ZUOucD*}`2s*CYpZzzxigVD+f`Va5#rhxWUh=!LvaHKXnkZuelmD$) zU8+44+hzE^m_H6#3EU$?H6NL9d=fSCLA-goo3^XI-)33e{yc7$!jQ;TvUVlBf zdW&x{^v>e#BeH&n#YeKeTm2*OY|(|^twD+ZZKt#QDRiDKV!Yah^Z9lojaGahfy^N{ zN4zY2IsBa2p@l!X(8Z;l_3xC+!Efu?a%s;2(pWqXUM$p<4m*3#3VVedA^2+C>-v_L zp0`MX6e3@I8-@W@Z*{ksNh}<5@`j?9gh%a^lG;D}1zFXW<%xNz^ zX_cl+sq!ccyvBf?;QeD=%$aP>^;2=?A)`Xfv(& zA{lQ^v#);#_f3#q=Q5nq=+rnQ zP$guAcW_2pbl3A0M3=-~y)8ClJ}Q2q`2QR;;C(z}_B~*+9R~)fv}d?ep|`6m!PHs2 zOeV;16-O55yoI^w-0-}1Tj?EF7bnMCmun7_$xQaKwFy_ZP3Qq_+B-ee6~jG3u(}vU zM~`&c*k-50=CA(dl^ZVX=QM)>UMoeH8zC|oawm*OgNBTb2}7GXYhK%Wp(BGv*VXc9-qv*BL!URzYEizw4fzA3eYc6{LgMZ(l1H(&IVypA)o zNL`ZCG%b~m)w_;d>9B(=i$YS-z-Q1;i!pw!UbEMQn%=_Yw!eW~NM>hWjiCmeq%~`$ z4!cRdzZ4DOgx6rlPrQ4uyA8Blm>v70{}UzmWm(w{&}e%`J5Vbzn-oseI`+w6vw}y# zAXJwIHiz{R4}9#2FmcTa=uC!0 zE=#=f3FTVZ&l9hNO`BgdKP~I0;fkWrtY3T2Tge;-NOw!2SM7grw%u#ykf%GcW~SS6 z!;LMMIHrkYcpE1(8x*8+yr8k)!bH^!qkjB=k}9*us5T!j2(~TCDI}cWlmJ{IT&y_l~Zmq`8$W!yno(){F%Z+K>|_6 z=M}x^kK=9rahV$u-LW6RjH}Q9{efU&My54G zw%vgND(yii+B?abtmh6@N*NJZEO<{WAu4EQ{m~v3Yg)wA z-a3lj+#Qe7zVxdjGLp_=nm2uh__HcMwT)yOi`uK?*`3V~SkCLz$KguQM99IC`f!>m z`}abD8rKSpJ@@WTPrm}OPFt?Q4fpmn0>omALf?&`a7GH#WrW#U4*9Dz?KCy)b%jm? z22Mlpm%iVVYRN^fE-YBOYpt8TAi5#zo^dX4%8oA1j>|nRO)0$UzoC{ufII+Xfmthg zW;@&aeth)kWH5^*tk(7-<*U^W)fF1j5 zYR$X+h{^oYfxRBl?jsM-KfX5Xy)~^LvAm4;vsSob)XM`?2ik%vf*JvanxqQG3o`9b zc38$!w{G8?GKfta#v8C|tjld3Yj!gHaA)^cG*Fb$?n^GuBMz2|lWkEFoi#9!Kx(pi zU_q+nn3Pftoo|jUz@90Komn+o8}ZA|rp%PA!HJz9SK})bAFm8zRK$JeDJb1+s@v86 z{qiMqQ6vl_Qff13FuMR%;`9{qm~><^df?7wjM*lko)|D%8#KDF=jHt>f0BZR;W35| z1?cD#=!ZA2)^bYt6)lz?=H1FN{#1FltS)%gPuEGYrB6pAOA1UAWh3Fl_!=<=9gO2I zzgQs zFcsA5_qhTheD0_)wj-dFqmJmzz$z4yX^mV<7))T@X5(SVG$Q25XNC2^R$oo&ydGdj zT{1ZcoFvIpry0;IsO=u^p_QA;o%a!i^jUk_lGWJiyRsa(U%tIv_h>Af@VM=+Li3rv zEBM*(K7helbzE=U??Up~QdkOQ5=?`%p}$FXtAj(DZ3bXg#$_#044Tl0vj-uX-`&RXEb$Rr*>U_D%ax6Y@vn%I)Dz~yh=tUfmh5H%jqlmRX*3- zWr0~JGLTxjP(scjPp63BY3&1>{fv)zC(RJ?{&IjFMu8)wai{7G1%Q*Z12?MOj7fyx zI7A52WzP<&NHnxk<^rKL@3MVw$(5Z1cj|zgkkr39OD2fXGt#vHJmip6eJpXGGLC*^~`E;jrdt?ti}6mvV=4y9`Xs392_zCAbNs#a zm+vgr)9lt;xpjw@;|tMn6%FrVS9ol0;DDC@=IGqk9X%@-PSy8A=Xs$v9>0lXF^xBwjK^9MVg&v$Yk$CRB!&9TYs5H9Pk7MEviW>?@!5T@QN>9 zG&x?t0_a!+sgLE2F0uQ&tp9A~>uoP$T2iy{nHIa`>CAO@?kk^J1aE9VV|^*yzS5MO zWl`EQ%_HlV%#^A%l!lWIn-0E^39?aQxh~-XfIgJ+$MEhiv89+`nkW-b@dq z9SRJ(E!n0*-lg=}O-@uhA8{1RA|VxW=J2DLS*ciNh}<*k{~8VdS}MFnZf`dFYI}!s zvvF0g8e+b{>*`>UkM7@`mf6-dK82hUTW`#pZvFVhZ!Nps!R}Ubv90o?#0(!C_XSYc zQ>=N_o}b&=R<#)isZ-F#0E&<&9=WfYiE^%(Xfs6X+F(mP<@=g&4In`j0vHTQnP57I zfVdRgay_cvH%ynd2xan?=h4RuT!6Bah~6=LYSm|CY=7rwe7O2};hS zK{M@?4cY}Slrse<+4a}A@2fYOU^S4pYyMEZAhmLcYVz!jWud-%-Ls6W(X0$(*pMQc zbjEFPk&aB0G6_S!SX3EXxWoLYQ*HGk!cA$b>vL$SX>a zJ_nFvVW;ZKb#}UoyRh#QZ6r5wfMzyL?2X`Kc`!`6*UaL6l&{E2X8?!*j^y+9!t&2! z5g1xh9#ev9As9?kA#ai;}%KoZZN*QXLn%z)8vl`d5?Q|Dm6;`7VVF6wCo$h5L( zQ0bK&+z()CRowR~D!fC(zn*%&*j$xi@dUImN)JyTkCVH*!{GV^x|Dg!orl|+HCyF@ zHUKNKpT$<#&Q|#*;kQuF-I49(s0kY+8SWC5LqtklK!AN`GuWHC;JM^*k%4*sZMWjB z@Jh3WSQKj+J`JnHT4|n$SE0r56|o6Cuib7Xtya5$L(G$|Uez5=VZ;n32WX!>bj`5l z#V($r&8Cr8F8lISBm!CT<+?tI+d9pxoqNR%OA=rVGuS{?g~!1MLXi{MmAer{lx!Tk zsSqIFTPks*nJ$CTt*NRmeIQpzxXve4YBfG72RbV2L6i)kFoRWN-Ps{wS?dG?iM{ zTi*Llc5iPxZoWm=aBlOaLbJ>6V7DCNWnn)m0a1#OiY;zjl~q{#frZtncC5Nm!wkc) zl2o|QyzN>NuBme_U*|GFph$?jN!diyASpZVbYZyJ;ng_>GFtfnLe$KZ2c`m`mZ{5y zgL?AK7BbK>0{dyZ^+>z6tv2poX{h0Mt&k?t+?x_wq9JPoyKM6#Z~pNu{EUv=;~^3C zuC6f4f(sIYWKt?e(Yf*t{|`?EJFfCvNz~58Dd7o01HBI5DG1B@cPZ?7{Qis!1 z$mu1#`!^5vU6H-p)LcJA{W*q=R<b?KM$)FWH~l%!WS+j~DqjL zxTc!)&8H}i5LG#E7)=JUfzdl+AH8zvS3XY4Tr<0tSRx#; z^woCR+ecjf6-phc|JhNa03bKl%eOETlX!*JWqFZ<35BI= z3%S)Q&qQ(ag8O~a`Ff*IJHSM9Tr#!a6*e{=4AM6rhBH~dOA2?7^+PG?ugA4+>Xt7k zbfy=EfuY*ia_=!ZNS!Evhyc+#Y(~|(KoQ&LG)#6tVXAlgwPG^g^C~iD%qkirLPTOL zZdJ|UK5k8pMP20SbUPQj4rGF;5nfwGx4GGNt`Gy@IEz_ZyaGw@BWukN81K%ejFp&L z3;;N2=;W-OUu4(pA6cvGPlL`p3Em;&NQrdXRzR2Jl|T_0+e_MB+SJY69=aMi?L<~G zj(6o>)1tG454B7YnZ4R^Tvs_PTxAqFUx{NqmU_ib&GLKQN9$bqxJvt&`}*zez|Gf9 zdnvI?l)EJ;F*|sqPgdD>W?fQYmDWyUJYn)$6;lcPBNh@L@f0iXd^qSI= zGyf+^09s%uRO7TfK+;->po(JV4_iexq0WSiMq=<@`>ULbl%sRS>7r;G+u+xB)lzC5 zv%R^V^`uwzR=fCJg=&$Zp1K>UIk^=gvE3pxK*d0x#d~x%9NMrsHbQfC9qkLEwCzdC zA(9eio|vzJ_vEin9`CP(g{Dw}BHCP`D{mO23Q1OE=WgvTghz%Fv=IMFt1?Gs)?&98 z^I*v`Id|AZE)S}&DSf2w+hZ4o*C53)X#3qi>_o+k*dx|uCDhRj0DxnfFZh?it|qhKH{m{>c~R0siI z)R$$U(MI>n5-vcGmvdkf4of)cPobQ?`|wLSU1>Qtz%-20)PCmT_%g-}UQ+~pf)!v$ zki)Y6EZO&3#zi9Xki&5nGWB6HMmEK=itekTJ^aF%Q)Fb`{jFmgqt^aVk(l!bn6olk z*8^XOg+(lkT^%%<)67j?K89~Ne)9%IO%toRmV!yDAVcq$Xwl(v?BxL2bOe-w9i>U? z#FgbfFTQo`XR8dV&-x1tum_LFxWcQ+azBvyg&gIOC#P0B?ygk)dA+LiMdPzy-`tdE zHLP`BvzF@XcQpRjd=I!?!=XC$|L>p9iA}Mj`9X28diBr&L8lRm5yZNl*%*h^_Q8&* zC!Q_oKJyCGR7{a;3eX#K6S<)Z1<0?>wLFlN*0&sye;6YOlYezJd=C07nyo#P6($Z# z<)xy6e0Rt|9Gfn>f6%7Tww~_MOrLC{&Un*4c_6H!Mc;`@OO~JRy^(B{h*ce`f^06{ zzCc;qM~=KM8QGFcl^Nw|u4I9iSOm)t6AxJ2104)4kbT>`dmf4M$mR?(2If|ruJiMp z{uC|0m5}lT3rkeOEEOsJm!mvHxNv)9W~t1sXU=kAl0k*TQRjQ8^8hnOy3t=#oLWjV zDh?bm<|fE$s8rx-k`#^*gryanFu(cw_+$3PZS??PUr$WBw%;~CO3f)2I_bsW*KXKK!S#~N3fkz>hLVOQ`7EXcU_>MBVmhU^vWv<&v?eSBICr#bK7BXW*sk~4ONE<`$`J_978gEq!*W2dKS1#q{@fY@d1}QrX!`dm&rZ zD;w9{GPcA^|D2cVYuK{ekGUtK_jSA>YfdRC__-W}I<4vrQ`jZqv0CQ{n3QEey+XEq z*vNM1%XunL4dVGI(ojIfddSlQqA!U(iCjni_T_aut+ih{N%p%P=cVSfL4ipT+LaBAb>^dy7eA~CZ zc0I~~gbF@qQcFnD9vVszcI$(F#RU<9pyUV?_NFbqZ#8vOQX5(ayum0w@}NOVcY0ed zSu+@~bkxQTgUy#@n3p9O_Bi|EC|a*pBNT`%sMrbJ7jAs-|Mr=|_gqi`raB*g+FdZ= z!Y1?5g)gdrjybZ%=paf# z@cU~5`O7C-SHO83XW@$??jMTD7-a&bWYN{@_r%h|Yz{MkhlWy73<4R2ues*e%#Y~O z?lh?_6&gzQmI^lYJnjb7&hjtg*f@)-caFHXH6+(ZCOiQ z;`{DeTY2nEK$P8~-tEN2hx~~_4vla0%B_10_*8dXV;EJ=;`HO)bxCkupIum5MSJ1o zgxO=#$Ij`CNF|ZU5Cy9wq!0ik4d{S0v=0Lp$wP&hsLrh`FYforKkDV~{r1C6e&^iv z2OTvFryw-pKz8DDRZ(`^XP zzAm6uV_9H%^VM0t&(`O;V`M&W)Aw~lU*(xjMBrnZ#$<5eG33>xLT^PkOMyle>!3?v z8o4aKZ7cqp?^4*ZSq3a6o>f*bvzv*+v^4rpECQS)W`G1u#ySHzqZs(#KAP44-8VoE zP1WR}oI^KXu@bVa#qP9NWF_XO#p~1laQdoRFUE7{ExU$-D=WMnlD<1z{^ouzT;0ym z8_E(VFT~;~q+6rWGBN%5sOD9axn5p5&T2=w%26J+`Nww2?2rsVQMxO@l~W_lMc%{3){Saf{-lY1v*28Ho{%MLsZMsO`AWJ#LMIV%9B&Gfm<)Vq5 zobfvCu&JvvV#{_#NIEw=HTSwxBp3c!ziM05I%KrH)Q~5IOlP;vb{SH{F%bbJ>SVpJ zj!*%PTEJX+V&;)jO{<72=o`wj3kF$dUo*slbbaH=K2EoWfh2p!u72fkHVMqpWU6=q(H?#E`otfl3LjXt6 zMivpm7%11yKN#(2R|iuWd;z>~3BPbY9iR3;aNHJXap!0( zyO14yW!W@b?rdH!?&mM1?Dd#d+ku)bF_}0Nt*7q&<%bVnnxFNB2{b9y>O@j)pwQRq zt-rF>s=lQ@R^9aaj^r!|iuf5~q1kr@bGtQ4NktBWR#23IZu;$HFpM^XcT{f8tF^3#7t|7dCeFbnKD4&xZGCey$6sPHcW+nh0dj zXYmOw?G9?X!llM30WI?Oo2jDKebQrcb?plcUbBUge&}cSSNG5#|A3c%;T&gwSQ9H> zk}BEkNily^PJK|8h>I=p$FsCpu>#d)yxo8%@0~vwO&1vn!&O$LXVn{32s3@IHpH?< zG@;Wt+5E(yiFZb|$CdeNf|z0f;zEHG@@+SR?18#M6Oum=eO~OT&@|6*>8IieT?ZUM zHq6_G84{xUVI0jb*R2#y5^ZNahU1haDw2N3ls-l>SH($NvT#}Ka4}a;w+Yj(`~mra04ji1Q&Db{6iNX10ycI6@H(Slwe4I0T_C{pm40Oh&)<7$ z2POmLat#zDMMWgn;t2%7HMW9QJ+cd5%u}vA3ODl ziRa5|V*r6LaVQ!a_x{R#4gNR(_9CTDwHjzdDX-|+HJ9U@s+>A>F$o}@Dsj%w+bwGn z>qPbba{EICZX34u6WpG4y92R%t5Ka4>KgJ|3N6AlM`>g)T|YJC(dw9Kmy$#w zpzM_c5@;|#-i4z0T>P+K5`{uBh;tB)L?S>wY$!v^F0FT`!50WX=B-z3f5@y3( zG?*hf&8C-+^ZTtCzR|G(09JUZtgvRfxVqSd{m7@xCDtn2+-t+UHr2j|{=`6Q80jXg zUjSV4bY=wjxT)<;>Xj-Stozf60V6N$XJfG8>nmm5Y1O7ib&r{`ZTs&29{W{CJogLr`D<$K%aotC zpis=Ix|Wx@`tK*xe{Sx-f_+m30^6Ax18MCkn@&bD_N{brBpY53SL6EQD;4rtSyyke(Y|o_cxHIv|BtPV_I_jL-8WtF=B?A=YA@olXaxWPq>+`6*mG0nQ%>u@o0 zH<|W0aqgv3w^o^j50LH4$KZ9~&zJ5fw!^fxSnr^$R%hH`X0V?^-ZCDMx}GC7_2}wk zuX1xVvz^QK!Ma)J9mTxAf4?Yea2qsvP2<&QP4u-hv)&pMQ?DA|np0v8^4W!{q~J?N zDU2EVIG*T%kB@Ko3bY_;u5eiv7wey^R+p^5HySlF3^O(D>2+sG>jdi`+%V(1F5-s& z&lZiI90On1!9>Vd_()Xo`ufVY)2yuU5+qgohW72-v9U5EHsDB^FbK_?GJgX!T2l26 zX<8>d?MB8yaX*yNp|JUdSMQ(rs>AgjlF*pJ-i|DB`UTlcmg7W!`-Ttx`r{w^u~`1< zW8y}0RPKrEogbmsuWI=34F%PQ`D@tUhqR66WtTXk9fo@Qn&##2zI^LeskJJ#p6ic) zV4Fgq_A|RfIYCeaETW1!kO0Xps9Oi3$vP25DD>#_S8wd_KY4FgeLi9o2lw;9 zH(%3F{?d_~x9#B&m>%*#`}COsMIgzK!6Jqxc-ocSbu-VgYKTx4ijaZU1Z?$H%GJgZ zPl5HjltU@{2#uFhyw1pjRIb*1>joY`WZ#8Fb?Um<{0-jp8%%tc<*eA1d@M5K^w3Ld z-^Gy#5z^sgXANoO#%W}K#D+aZ%M%*U7HmYD|GoItR|;L+0+Xr=0O+LowtOFck^Fm3 zHx%1lw9!h!D(J>jSV2#gSPt07u$^LEd zKPO8$>unAfYTA=(j*_Q!AO%+qJC*F5risUs;R+5IDyl{R!E}XJ9l2lZ>+ip3g#MS^ zqQ>e9ay9y$p|aC&#SP?gxtwpL;WDa*jB@?3^w?HIGPwS@){2@k$IDMo2eyE9Y%(=>3eQWEx5~Z%bLJU<$I-tF~@zUKBUz;i> z+?WswV!6CLN08qA0?~Tz;bootpN@Oz$Ks`H+1x!FK?n+Y#)LdXSKdf^3@}ApC+qsL zM29vGh4hRC>rj?FvEO=pcysBK*Mo^vMJ5A26*z+I3MP=EOjHqVI{{QcMPNAt6ya+2 z!$QAk-(mcNbIkrTN9ekaxf!wb=oddCeA<^R^itDd+PP}${7lpZRKUe^4rozhX&^n# z*=IypPlEdU_(@<}Q*%rx|xYwjc&xauGu5lf+JL<(VzdG{6aU7;=1=S?POr z{nhF;0-kG^^%*-4cWI}9kGsreE^`?vxb4|1^#v2FwS5C{D!m$4s=)|(l^>he*FvR7 zA)g~x8#$`IdC)9}zd%;fWRMGRF5n0x2q)dxl-q380lPi&dAGH06@wKbbUNgG;klb9 zzPN8ZL-@;0OpRK}unwyI5Hs&BIymM0eXF_0(f{ZO2Y)o0J|>c#XeXPQWH?hHZ#1v7 zg$(DYGFR0+hQuev8#o@}DxIcF+5hX`I=}ht%ZsTeQK=$zyPeRyjU))y)l(z2w;sKH z^h^KTN!Gp%+}|_5{4>@;2Gg@FJsW!|JLj*`n)~X24am>^4Lw+r5S^N4s9wt(|l%=^_#V_a$G1Y1mD|AnedOXstj(Twg0|>z3%`Sk|bj7}qUX%~AoE03XVG16t#m2<;B`a5U zE^HPg!cbFN)Piiw?Ac-6@)gUEV*JL2Z5yVmCG#8hb^Vsw%kglo`lWI@;zCm};9k?C zd@Ia#x>hfFH(LSOTA^^aw!{vx=TF>A(?s0v3KjHmQhxDfU7bU1;@W3ZTn(D!%6 z2`!OL=TB|ks9(NU6r)#pE-9TRXe4bi09K@}wqCH}<{I~*QT2&ILy}h*c(H~a8a2jD zO%^jCNe%$Vmvwh?UgCv~zQ*%Dr@_n}#V@k}P@r2una&oZD*Mwcco8yUweaZ_X48$5 zTL)WbT3z47H^q&v?XDrEn=534`HC-un&aD!&setA6 zHV9CzOkNnYe4*7xx@;P{lx0*;JWS7|fb3r8d_7J~u{ts&t@zRq$?Mj4<1Z3!9in`q zqU!|23^jK2;nR{;!*Ig=#ewpmR+IMu3PBPNk^J%M~>6AK*k6@`O>Y_YLlH;Yo2H+!loRfc&c2-JYB%D1t-r%nXF-fnAM)t zYCa?G1lj_vF>Nyqm+bS;^CEAv>)MOSlL<0e21Jlq%nX?Yn9|NRi9U_Eu%sY`c2Y_5 zk}`ecIrBZ)qKxAJ2BcIzhbXKQt7%}D5amYsR8iSKESA$~uD+3FDwlJ!9{{Ctve=WO zz{hmWzt#;NmwdHh+lu^Mar1|Yb?iNUH4?31S(>-}T9h)2AZR|y==Qw1TYa`YtUR^W zbY_!QnQUnxxqIQk?THWg$*<r*F9~_QqkuuI4BMDL5}l3DQa_^vUML9(}_o z@4R{Wa!yvz8X&6emyPvnB^*Ff0N??D10|)H?H2WTa7Fw9}Z|J-ZhE z+9uV7^23LnN3B>VvS`4o8sH94s7e6MB!M|Fjrf^sH_xvj8@1Wkd;7YuS}8Tn){H4S z#7`bYndWU+cn#~!V87%bJl85(&7vVlP! z!-?5);XxjMm!ACWT3FJ)rhRFDIuh(lyVNME)itd&Q5q37I}6A7Jqs)R!Owhp*d}EH zu0u>e%$c~wI6VlMWOVod{3&!%wv^BNgv0bdHzmK)Qn&Z@pQ22yjFONHcXtOtr*VRU zO+RIVIQd1>X_~F>(9KuoJRw|nk+3vkQkeoIL$5Y(XkM~yS+3^FQxL<%*8g6ISW-8> z>MjNfiqQqurfy@V?3yC5CQ)9YVHz-LllLxar19HuY1sZ%l1i*~^Zt?HA+JZhN2rDYUD2;h<2@ z7~=}QuJSkz1mMh=5%3$SWLpweO@>yO*ca+4Xb?8&1jZzUGK8w$ve77LjcK2jGZV;= z$);=@ek^qNz$&v*Pmx5jir>zds#@B1#!!nEo4%}Byk&9wp%XnZ+Xt>H7}v; zKG_vzFr7{pj1h@3Br~|4j1E*mJ4f?z~Mt(z06VXrg@!h9{fmHEENW z$)rM+AdHSMi)OlcJ)awSSx}_k^-|fR>$D!s>fyftSU{)0i|1v(3A$d?rEfy_KAqje z>)2G>%g#NbEh|Od&qpx3kT>wSsK)m>o1!rFf(J-YfF#9vreybx2Z_Adl(s5~qeT2bztTwDv8Cd~aP#9OQGD9xAti0h>ZS$i$UM^RMJy5{F-_eS8y&SqZavDtI^x=W7Lb7i2%LQu6J=dDl znpkT+U%N6@_O!VZVrAVOwCWXy_})?3mda&`&k$FER?|y$e0igh)2CURqV>Rv!&!`_ zOt$Oh%8JieklyNX_uyw%*%2qW!9FRcfkD zm7DHR#U|&!%*(XDucMRb{AJeIE@yA_4|}DSTmkJyGS%%P{XI+vT!rs(q5_DGk!gi> z25fBH*fNv3G>GF;?z~U_V>xAmDG_=urt=!cHwv3q+sA|3cUFIJC0xI&uaBxDvjX3K zJ~YWlsTt_W6+FswGKEtui$znWvn(-Ei|L(x38+JVRj#bN{f)fDgrtg^g@S|c5r;E# zC9r4(2h-DsVqF&B4{65wnyS?MI*ykxO@rUq+*85JCD%$NE8<3Ey*}1gTUXq{ zUU(hzbCHr)3WWPRyJVp~&vOI1UmiCm=w4~tA=Nl*@u09`IQe#{xOwm-T1=SKVSWp%o03smIzl}B3 z*}_$1k%L-xwTl;`8u7>2-0$&OUPpUX8FXRa-bcA71x@)q1aBU`9_#mh%Ecw|QeMh8 z7bv|a=VZ(rb9DvkP>uu;V3Z~I{$+=C25b@p7A+VXZO+z-hWkDlYKL~S3C`d7zT2@tGDD5*lIZzGaX8{|t!)JR9xFHi5$Rv{q^6gJu@lhOEd6&V)HrHdd$A zdma>?tceWH>`_deT9Cw&mD3>afYq!~?vy~Fk0(!_vaU%EoIkCsSvzIg*)mi{dv#B) z8I#N95EAUxqq9EC45?;dh_Y)TvN`2~wZKf&=a*@Kbk2~|pV87Eem7BJCQr_Z4pm;| z#J*q6&wdm+_^nuRsa~bacRP;nr5yzYsaULv-rkTpwTdl zz|gpsy~p&Io9;OyFJhkE=-*4dukR4vqOl7t$Q1%~K^&0W0xAeg_H9pkzdlA^KtHel zYDdCQO;sW_qFQf37H}`iqYMBg!H0u1IjF7nmiy%w=tAeOzmESBvXVzS9qv3RSL_E&2623=a9U<-&= zF1Ebfsb_I{WD!dki*ZA3|KUaVPMT91g}TC%YQsS@=Cv;;<2arms z9`sCA&rm9?P6S9S{Q?01&!59Y6;KvcHnCBi`Y1m%b0wfx@Kjw4T-<;CdX?Jyt@6mN z>Xy`L&B(278v4zBZ61VxkD4rp)w2gTF@52dd*vDig}p2(3k3`p{+Y8&N+_WGyHfT! zXPl`YA0Tsi9t#eMDt9TCYYNxc9lwc8@G-^hxa!|0{6nM_An{pcNTu zK&R?dav3>yN5&Kc-ED!Nu$<}(`gkI0@8hTem4@1kVxffC@&E=3$iVa(C0JN`ktPD` zTda(fQOEs)`jN#7^J*dW&uT}@HaGkd1hg7JF4qn%S#ZwDnP)%ViNgzk6V&t7bTw-e zCf3fh2?$^_A&TN`S0{ZfE zz>1_y|FXED!ru6d|FKfOW+ikTmoQyeQanJLXeQNQJTJ+h8VrtBkljdbAV<0?eOG9x z0Tfsr5TM3>_`R-SL}w zZ5L1eR89UwcA%l-X`~^L5_7jf@0X~sJkrE}{Q!&q=9!y68Ph$=gU>VCd}HT()xMU| zu5Zw9MME?LBXtL7+UqB=boWm1pDA8t%G=+LT>_M2Dt9<~)*hZt3!o2-Kz*TKMF}WU zH^)<&*sTd&(wIu=_xn6(@1=)hu*<@8=7l60jfus_vvxjQw$7v_R{)$8>{VKrJ%00z zzdjxhILb_0i6@l1eubfSdu-OJB682D2{9sT!!F8bAUDG9VFwg3;GCUk>fR>bKigSu2q@*=x6A zO3^&JoU!1eDtnoZ)eraOp61LA;=I3+6x>pU<`37BjkDv*BTp~4d3ZbZak4nTe8pCe z$=mm(*q6ogbBx{go8-tlHKV^vxQ$6QKpMIk5){dCVCr3}?nAmh+^+uV1C0I44_Emw z&Xs(->EI){==p>R^v+4N`|0aB%TGUQz~I1t@5tZRu`cjTFv|ZuxaTJB1iCuo(3CM? zRz90A%-UPBNLxU#ps2W{*(1i&e<_m2w3S)=Mv8W2tz}~0tF!jq_l+EvW@_XLaAE4N zj@#btF*78`+_b<&zl8uIxWJl8F`$%*w$%m|nB8=Kfzml+(_>n};`nvS;eY|ysx&oBkdC;dl<9wmZQpuTB~_c#<2E`)9%ALv zHj+ zX=2ZJCl7t5nYYVm1~WBvRn3M9507x*ul?z*AoCP}_V&3JG%{ROwXL%JHn2l)Zee+i z=k0dN*EmiVb#nx8{V9Dz_GoKR1z6?=%ndr=(yVX zFu$N)k9qlg^CuGZooKbaeN>T0Ig?9^CH*D zVn0hw8psVP!no2B(N*u`h)hMTfyC%RTT^zQyW`cG($eg~(m9!3CsF{=j^u)bi1d0N z&wADgToM?@WDelHOl~g+-*1!YhDqe2u3Ep-zH@1@u!$w99-^mP&Ed1Tt^{qW#l-1^ zPDdWRc>+k%zxC<2bNW*x;iVGQY(wPAj&rt)Xz zO}nLu%Bs4RplhKiY* zl3MzAZDpOWtL8`PNbW7K;};LZg8G!D&L{axgrR2+YloFRO4w(@RU$ESk%f|5t0*G8 zXnsESS=mo3akkp|uy{dMOENAN(@k(jLhuZf0Lm96t+{3eme2w~0*G#q$}GSKjLsu@ zfA_stZ<{CQB>`IIeQd|B`*!Qft&K7QhjK7)9Xsr%ubpJ2+4Z@pc}@V!04M-g9jZB1 zwH|dBu8$a#aUwkt*00>$AK0*A5-w_j)EJs`AY-adv1qU01k(#7vTbAp0Fqbov`FY;d_hYrBEU0O}fOOwUjhp?D@M=;Z>70~ogN(vd0t-F~D*fRp~| zzx z(7U`k2|OCLt3KIo?|144-&p6Cry&t}$lEPw?iKg>AAEyWKu8)INt=t!=s$9*k|j(@ zsmgGP2jiQagreEG!I18`>|^GSgN-cA8=n9C@7WXYQHCDPwU3hx^H>*avpQ6~XM`K( zOC+XJe_C~q*gmQDAA=WQMX?|YJv8(H4VdI?Sb#xN2Y!;==Hj!y&vKs2IMY{eIo%CG z1VmLHCzUw=5Uh3^ecQGAwA(-JRGO}gpVMj}$$G|>3>x>Yur71b%K9o^(u0dslI*%5 z)2Z}CqIG=k+k;!MAs5^U&$;i_?0{TTVG&cgF)+6#a2s`5VHJ!fn z>DO_?v{F|a3ZNa4?qN*PKxjKnCD%WcpP1|?hYWT9?CT#DApD_ss}H4VmFZM^TQ{_6 z4;o$meM9S^tAQ0X`0>SF2hJQryThnPjj$)fm%XTl4B`ruG{kG-(mv z;DZu!YMK^e&|8a=dbpcI*)@xT5M4sq5*{tFp8Fm5{bFU$E7?C}PSzP%B4*TeFw^Sd zs(Orw8U6*|P>@t|P(D`fr zC7!t$sZ$SaXky5MELKXVFSuwxMX^FPiEGyNqc(0uiyvhws}1!3G!HF+r=b*BePXm`@(c zFZPuwqhcvxx<{_s+IkOF18Qh!DyXWFV=ruU)BkJ!CjVLI@urc|X&wD+nQwPQi;#n` z-FV(X*k>7Y5!(v?15)bj84(LO=~bGDLD&=qfT%`chYogDi&%9jia6Qbzic z>3#goKOZk_Oue@lfw~hq!jC7-(14q_$&X@Lc#suHs=Kc^)DD8BcqxfU3godxeUll{ zId<_m#q&0X-rPZP96z@VH!4PVE{ZaHjA(GCPTV#n1>G$o2?x(m+F!-4!Y#h2+W8#w zv+4Iji&0pH#&m-Ug^)T3^xg&mu79JQIedMm*@xpepdZl}y~2~7V_zX;A^;`jO1<0d zEcZ4dB&rtd*;>)w9*P|*iT1j~urHG|?{bxKThjnkszex>v_n zEw&oi*f2hD$7EU?d$m)ya=MpU0U` zzUgg#O}{KW(95PBJwvXlIMYH~D2gC2SBxWyRTOAdBSHHttEAo#K%W^iL#vR#&4+U6 z(mh!MtzkM1RPzUow&%6h4XCIKgK46-rKUafC+aXlSSE(Hp}=+hXSU-j6EmiMW>|kS z_e87KB~_{{bN+;m37|^py)RNMzVMYgR(BNKi+pQ#Qj_=nQpKvzLQ%QP53mOpF{IED zTT|@@u7oYBTGt{W0)Oq9WJFdmdMH=w+~cO0F`2r$a!Fa#QR>_B89)0D>C3~d?)%Kn z6J^Ib)?c;s`ST2o*jWLGDb;FL3a5{~#HlE&VZ-BCZ>{6}xhx>PpEZd_azQBpB1nQu zq8g^S?y#6LEf~odw__E9XEx_BXubPIEYyF}8%1`*oLcII{VMT;rtn=x{k zp!>rWi!J5}t)7^UxrS`Tt0cM@n7~a1H0u+ZQ-;zC`sj$$)p>)jOT z1hW8?C<(IrGh_l%;F0!bmJq)lDsWYPW?+GG*2LSsJ#PDVBk_7=A_VKK7^=kf;-eKl zHd#y3+O+4m>_zI|)~sY1NTk1v^>gPMt`;n%_5~JYlqJY$OF)i<(a?CFBOSs~-_r2itn)$DUldDgP8w667@y*F9r7TnKk4U|BiD{2 zs$*b%wVY;h<0m4?o+%OrWi4m!zj5!`&4;TUi@}Jw8_3Q0LKF)vrC6%xjCcbK$2+XH zRV7;`t9L7YW*tpx8I0=!`HQauoqWZw?PCLgh!~Su5+L?5_Ts^Y4IA7!Xe4c%jQd`h zz?U9wEoRSRoVC*f7&l@;g1nZlO;Z75fCgJN5yfBq=?^piy3c+KYun1QW+t+3(zXVK z{G*izy(+@~vc#_3q8K~GiG=khHDz(#jn3Im^mkXqfFlZEd2Z>#VK16zPw&_gj%A|g z3=PDp=c#TK&G7=1x?T5_|DV}$w8BcD+E~{f3?GjYYBDeci9Y$AF*JjxArwMXIY?dU z!VB_Q3+!9f_+*>TZ->O>(?e?J-FCnQWryv({y{>&Cp0$6Ntj_7YTQx`hmFu^)>isb zheOlyjRhC>&9wlIWHYry65@W*EKhnHyVAsKbd0tVwl8cCA3~-nu49=#l4?NX_h_GRU4esPBy>Q*Dp<6l2M6(k!@|@{IMeu{G zZZ&|>S>ug$$C6rSuIBWsw2w&PFIu!hrZ5b-QWwm$N8Ygrh)_fma$0d^9i;Nn}_-3eG zZ%(Wa_v&lmHbXgZ1Yo3Z+$C;KG*vzRWy9GOT@al-~1Y_uVDIq|79elr4>vWpm-A}SWz4W`5H zUM;NZRdjc72c`z1)XpJ;=dXSGl@{(0kBn4p0}41ZSZ2Mcf<&tIYXY&o|EOupEr70P z4Zx^|>_PP{w4QqYujPJZL++cJ+ARQbOpg8P|1%FMK*Sbh>}qI!obB~E*92rvYXPgQ z;-I}!ncw%zI|)n}FB=DX9E7}g=?9SV*QL&N>HhUS{qMh=>wh)g^y%+^Z9eBuHql3I zeR4E5(#Ng%+Gt!yOH{@(H7*BJkdm5Yj}JE1b&*v~h1FqE5fW1iii=D%S+*N^^?!Hqkp0dxu!1(D6hb+ltPf5y%8YghC0SM@l?Od(6>JO_THq^Nv>+h_Jy1o61P4ootiF)yaHd-mO_~B+l)!QM??NglS=LNM{z- z$G<*9R>d6bwMJaMR^iCceE7okIsL^s{eB($i&hCVjc1^taVFKqE5nED?Je)xO6)w6 z^0>H)kX}1nz%_?hR#n^%%xQ549Ef5ms_jNh;%LpT$*~|I$36jr*XL-Z7|1k;-%ja} zmQhlmR?uE*FpXIvXI809ig;I_oz|Qey3*DQXfH>8_VnSI;=N-d05Rs$4?vEC39BT- z;BCk1zHhsFE%*J`r9r*6r@!s6-EmkjPBTjr40U^y94#nglPMGOPqhZ=g(a&2@DfOC+W2HEaB)MQn4Z zveCh(WtHdBw3|u-2JccXK4xRDbBCzcg<6z^JV&{z8IE!wfi3EjyJ~qCXKQ>yi#rY9 z+@^bS1iW_~^X1|GI+X!nOgA%(xRymCW@#gUO*6^HLkW`#^ORKE54p?x8DOr2Eulo& zFGNDjV^$xldQszmHJD?R7-f>9^IDu(+oB~^rz?^jJ6gGF2aD+nl{S@DT*+#_paBP; z#c<`cm3rfM4J_g^u+voyGnmN)?%!d{@}#jb*=oT9lyIMfT>xxK{%I0#^eERSp09NrH*9XjXL36{pg}G`4j}a4*DpIZ+L;p)BmmePD z1wVa`Ri{z&s!f?k65Et`-3p@bld(Z~T zHpiaR&7EXA*Eef4jSB_;QpS}}Q|x(&@qbIH=B0c1{wHq;<=>liFLI@p0ptb}kS>_1 zx7K{J0IRE^Ltl;`*AGT3Xho%HR#<#=NsAkn^)|`1AXSLd>tjAjyzE c;{PZBY`(Le0YCfuRL-s3kUQ3 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∾Yd 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 From 417793b9441849069ec73b3654d3314ba428031a Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 12:34:27 +0200 Subject: [PATCH 07/15] feat(ai): added concept --- ai-data/generative-apis/concepts.mdx | 4 ++++ ai-data/generative-apis/how-to/use-function-calling.mdx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/ai-data/generative-apis/concepts.mdx b/ai-data/generative-apis/concepts.mdx index 271e06a440..be243fa7da 100644 --- a/ai-data/generative-apis/concepts.mdx +++ b/ai-data/generative-apis/concepts.mdx @@ -20,6 +20,10 @@ API rate limits define the maximum number of requests a user can make to the Gen A context window is the maximum amount of prompt data considered by the model to generate a response. Using models with high context length, you can provide more information to generate relevant responses. The context is measured in tokens. +## Function calling + +Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. + ## Embeddings Embeddings are numerical representations of text data that capture semantic information in a dense vector format. In Generative APIs, embeddings are essential for tasks such as similarity matching, clustering, and serving as inputs for downstream models. These vectors enable the model to understand and generate text based on the underlying meaning rather than just the surface-level words. diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index aaecfbeb75..1bb9f41f7a 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -186,6 +186,10 @@ if response.choices[0].message.tool_calls: ### Parallel function calling + + Meta models do not support parallel tool calls. + + In addition to one function call described above, you can also call multiple functions in a single turn. This section shows an example for how you can use parallel function calling. From 3529969db94491adf6b68b03b68922968a6d6709 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 12:52:29 +0200 Subject: [PATCH 08/15] feat(ifr): added reference page --- .../function-calling-support.mdx | 49 +++++++++++++++++++ .../index.mdx | 18 +++++-- 2 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 ai-data/managed-inference/reference-content/function-calling-support.mdx diff --git a/ai-data/managed-inference/reference-content/function-calling-support.mdx b/ai-data/managed-inference/reference-content/function-calling-support.mdx new file mode 100644 index 0000000000..6d7ec04b8f --- /dev/null +++ b/ai-data/managed-inference/reference-content/function-calling-support.mdx @@ -0,0 +1,49 @@ +--- +meta: + title: Support for function calling in Scaleway Managed Inference + description: Function calling allows models to connect to external tools. +content: + h1: Support for function calling in Scaleway Managed Inference + paragraph: Function calling allows models to connect to external tools. +tags: +categories: + - ai-data +--- + +## What is function calling? + +Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. + +## How to implement function calling in Scaleway Managed Inference? + +[This tutorial](/tutorials/building-ai-application-function-calling/) will guide you through the steps of creating a simple flight schedule assistant that can understand natural language queries about flights and return structured information. + +## What are models with function calling capabilities? + +The following models in Scaleway's Managed Inference library can call tools as per the OpenAI method: + +* meta/llama-3.1-8b-instruct +* meta/llama-3.1-70b-instruct +* mistral/mistral-7b-instruct-v0.3 +* mistral/mistral-nemo-instruct-2407 + +## Understanding function calling + +Function calling consists of three main components: +- **Tool definitions**: JSON schemas that describe available functions and their parameters +- **Tool selection**: Automatic or manual selection of appropriate functions based on user queries +- **Tool execution**: Processing function calls and handling their responses + +The workflow typically follows these steps: +1. Define available tools using JSON schema +2. Send system and user query along with tool definitions +3. Process model's function selection +4. Execute selected functions +5. Return results to model for final response + +## Further resources + +For more information about function calling and advanced implementations, refer to these resources: + +- [OpenAI Function Calling Guide](https://platform.openai.com/docs/guides/function-calling) +- [JSON Schema Specification](https://json-schema.org/specification) diff --git a/tutorials/building-ai-application-function-calling/index.mdx b/tutorials/building-ai-application-function-calling/index.mdx index b6ade7163e..bc8ac033d4 100644 --- a/tutorials/building-ai-application-function-calling/index.mdx +++ b/tutorials/building-ai-application-function-calling/index.mdx @@ -24,7 +24,7 @@ This tutorial will guide you through creating a simple flight schedule assistant - A Scaleway account logged into the [console](https://console.scaleway.com) - Python 3.7 or higher - An API key from Scaleway [Identity and Access Management](https://www.scaleway.com/en/docs/identity-and-access-management/iam/) -- Access to Scaleway [Generative APIs](/ai-data/generative-apis/quickstart/) +- Access to Scaleway [Generative APIs](/ai-data/generative-apis/quickstart/) or to Scaleway [Managed Inference](/ai-data/managed-inference/quickstart/) - The `openai` Python library installed ## Understanding function calling @@ -106,9 +106,17 @@ import json from flight_schedule import get_flight_schedule # Initialize the OpenAI client with Scaleway configuration + +MODEL="meta/llama-3.1-70b-instruct:fp8" +# use the right name according to your Managed Inference deployment or Generative APIs model + +API_KEY = os.environ.get("SCALEWAY_API_KEY") +BASE_URL = os.environ.get("SCALEWAY_INFERENCE_ENDPOINT_URL") +# use https://api.scaleway.ai/v1 for Scaleway Generative APIs + client = OpenAI( - base_url="https://api.scaleway.com/v1", - api_key=os.environ.get("SCALEWAY_API_KEY") + base_url=BASE_URL, + api_key=API_KEY ) # Define the tool specification @@ -155,7 +163,7 @@ def process_query(user_query: str) -> str: # Get the model's response response = client.chat.completions.create( - model="llama-3.1-70b-instruct", # Use appropriate model name + model=MODEL, messages=messages, tools=tools, tool_choice="auto" @@ -184,7 +192,7 @@ def process_query(user_query: str) -> str: # Get final response final_response = client.chat.completions.create( - model="llama-3.1-70b-instruct", + model=MODEL, messages=messages ) From d507eef6ab541f43b50b7e951c28c4f102008ab9 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 25 Oct 2024 13:39:51 +0200 Subject: [PATCH 09/15] Apply suggestions from code review --- tutorials/building-ai-application-function-calling/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/building-ai-application-function-calling/index.mdx b/tutorials/building-ai-application-function-calling/index.mdx index bc8ac033d4..a06266b3d0 100644 --- a/tutorials/building-ai-application-function-calling/index.mdx +++ b/tutorials/building-ai-application-function-calling/index.mdx @@ -3,7 +3,7 @@ meta: title: Agentic AI with function calling on open-weight LLMs description: Learn how to implement function calling in your applications using a practical flight schedule example. content: - h1: Get started with agentic AI: building a flight assistant with function calling on open-weight Llama 3.1 + h1: Get started with agentic AI - building a flight assistant with function calling on open-weight Llama 3.1 paragraph: Create a smart flight assistant that can understand natural language queries and return structured flight information using function calling capabilities. tags: AI function-calling LLM python structured-data categories: From 09fc6c809f3d42e2ff99f995eff06db0e40237b6 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 25 Oct 2024 13:54:07 +0200 Subject: [PATCH 10/15] fix(ai): added menu items --- ai-data/generative-apis/how-to/use-function-calling.mdx | 2 +- menu/navigation.json | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index 1bb9f41f7a..257aeaa1ff 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -144,7 +144,7 @@ response = client.chat.completions.create( ``` - The model automatically decides which functions to call. However, you can specify a particular function by using the `tool_choice` parameter. In the example above, you can replace tool_choice=auto with tool_choice={"type": "function", "function": {"name": "get_flight_schedule"}} to explicitly call the desired function. + The model automatically decides which functions to call. However, you can specify a particular function by using the `tool_choice` parameter. In the example above, you can replace `tool_choice=auto` with `tool_choice={"type": "function", "function": {"name": "get_flight_schedule"}}` to explicitly call the desired function. ### Multi-turn conversation handling diff --git a/menu/navigation.json b/menu/navigation.json index a5a6fb6625..86d74e66f8 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -591,6 +591,10 @@ "label": "OpenAI API compatibility", "slug": "openai-compatibility" }, + { + "label": "Support for function calling", + "slug": "function-calling-support" + }, { "label": "Llama-3-8b-instruct model", "slug": "llama-3-8b-instruct" @@ -666,6 +670,10 @@ { "label": "Use structured outputs", "slug": "use-structured-outputs" + }, + { + "label": "Use function calling", + "slug": "use-function-calling" } ], "label": "How to", From 97537293c08a09973f1abec0fff1d966105d83fe Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 25 Oct 2024 14:04:35 +0200 Subject: [PATCH 11/15] fix(ai): fix warning box --- ai-data/generative-apis/how-to/use-function-calling.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index 257aeaa1ff..9459aae61d 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -186,7 +186,7 @@ if response.choices[0].message.tool_calls: ### Parallel function calling - + Meta models do not support parallel tool calls. @@ -327,5 +327,5 @@ For more information about function calling and advanced implementations, refer Function calling significantly extends the capabilities of language models by allowing them to interact with external tools and APIs. - We can't wait to see what you will build with function calls. Tell us what you are up to, share your experiments on Scaleway's Slack community #ai + We can't wait to see what you will build with function calls. Tell us what you are up to, share your experiments on Scaleway's [Slack community](https://slack.scaleway.com/) #ai \ No newline at end of file From 506cedd5f2f9739458365185bcd2aa5e56fe95f0 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 25 Oct 2024 14:15:07 +0200 Subject: [PATCH 12/15] Apply suggestions from code review Co-authored-by: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> --- ai-data/generative-apis/concepts.mdx | 2 +- ai-data/generative-apis/how-to/use-function-calling.mdx | 2 +- ai-data/managed-inference/concepts.mdx | 2 +- .../reference-content/function-calling-support.mdx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ai-data/generative-apis/concepts.mdx b/ai-data/generative-apis/concepts.mdx index be243fa7da..8b2e247f41 100644 --- a/ai-data/generative-apis/concepts.mdx +++ b/ai-data/generative-apis/concepts.mdx @@ -22,7 +22,7 @@ A context window is the maximum amount of prompt data considered by the model to ## Function calling -Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. +Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the results as structured data, typically in JSON format. ## Embeddings diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index 9459aae61d..c8b3a8220a 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -15,7 +15,7 @@ Scaleway's Chat Completions API supports function calling as introduced by OpenA ## What is function calling? -Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. +Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. diff --git a/ai-data/managed-inference/concepts.mdx b/ai-data/managed-inference/concepts.mdx index be1f11d210..5b84c499c3 100644 --- a/ai-data/managed-inference/concepts.mdx +++ b/ai-data/managed-inference/concepts.mdx @@ -44,7 +44,7 @@ It demonstrates the model's ability to generalize from limited training data to ## Function calling -Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. +Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the results as structured data, typically in JSON format. ## Hallucinations diff --git a/ai-data/managed-inference/reference-content/function-calling-support.mdx b/ai-data/managed-inference/reference-content/function-calling-support.mdx index 6d7ec04b8f..19351f3ddb 100644 --- a/ai-data/managed-inference/reference-content/function-calling-support.mdx +++ b/ai-data/managed-inference/reference-content/function-calling-support.mdx @@ -12,7 +12,7 @@ categories: ## What is function calling? -Function calling allows a language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts needed parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. +Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. ## How to implement function calling in Scaleway Managed Inference? From e602f7b92391251073b913ee5ef1eb670d5a14ea Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 25 Oct 2024 15:18:02 +0200 Subject: [PATCH 13/15] Update tutorials/building-ai-application-function-calling/index.mdx --- tutorials/building-ai-application-function-calling/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/building-ai-application-function-calling/index.mdx b/tutorials/building-ai-application-function-calling/index.mdx index a06266b3d0..d12754e42d 100644 --- a/tutorials/building-ai-application-function-calling/index.mdx +++ b/tutorials/building-ai-application-function-calling/index.mdx @@ -1,6 +1,6 @@ --- meta: - title: Agentic AI with function calling on open-weight LLMs + title: Get started with agentic AI - building a flight assistant with function calling on open-weight Llama 3.1 description: Learn how to implement function calling in your applications using a practical flight schedule example. content: h1: Get started with agentic AI - building a flight assistant with function calling on open-weight Llama 3.1 From 7f04739d52c806a7b82cd95f196506253395b277 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 17:12:22 +0200 Subject: [PATCH 14/15] Update ai-data/generative-apis/how-to/use-function-calling.mdx Co-authored-by: Guillaume Calmettes --- ai-data/generative-apis/how-to/use-function-calling.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ai-data/generative-apis/how-to/use-function-calling.mdx b/ai-data/generative-apis/how-to/use-function-calling.mdx index c8b3a8220a..7c817d3126 100644 --- a/ai-data/generative-apis/how-to/use-function-calling.mdx +++ b/ai-data/generative-apis/how-to/use-function-calling.mdx @@ -15,7 +15,7 @@ Scaleway's Chat Completions API supports function calling as introduced by OpenA ## What is function calling? -Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the results as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. +Function calling allows a large language model (LLM) to interact with external tools or APIs, executing specific tasks based on user requests. The LLM identifies the appropriate function, extracts the required parameters, and returns the tool call to be done as structured data, typically in JSON format. While errors can occur, custom parsers or tools like LlamaIndex and LangChain can help ensure valid results. From 9e5fea6bfe2ea654b00ed963bc3b8f3d95848181 Mon Sep 17 00:00:00 2001 From: Thibault Genaitay Date: Fri, 25 Oct 2024 17:13:02 +0200 Subject: [PATCH 15/15] Update tutorials/building-ai-application-function-calling/index.mdx Co-authored-by: Guillaume Calmettes --- tutorials/building-ai-application-function-calling/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/building-ai-application-function-calling/index.mdx b/tutorials/building-ai-application-function-calling/index.mdx index d12754e42d..e5fd792794 100644 --- a/tutorials/building-ai-application-function-calling/index.mdx +++ b/tutorials/building-ai-application-function-calling/index.mdx @@ -250,7 +250,7 @@ if __name__ == "__main__": 3. **Parameter extraction**: The model extracts key information (airports, date) from the query. -4. **Function calling**: The model calls the `get_flight_schedule` function with the extracted parameters. +4. **Function calling**: The model returns the function call to be made by the user, in this case the `get_flight_schedule` function with the extracted parameters provided by the model. 5. **Response generation**: The model receives the function's response and generates a natural language reply for the user.