From a2df2787b32e0846205f7151dfad88ceab592beb Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 31 Jan 2025 06:04:53 +0100 Subject: [PATCH 01/77] server : update help metrics processing/deferred (#11512) This commit updates the help text for the metrics `requests_processing` and `requests_deferred` to be more grammatically correct. Currently the returned metrics look like this: ```console \# HELP llamacpp:requests_processing Number of request processing. \# TYPE llamacpp:requests_processing gauge llamacpp:requests_processing 0 \# HELP llamacpp:requests_deferred Number of request deferred. \# TYPE llamacpp:requests_deferred gauge llamacpp:requests_deferred 0 ``` With this commit, the metrics will look like this: ```console \# HELP llamacpp:requests_processing Number of requests processing. \# TYPE llamacpp:requests_processing gauge llamacpp:requests_processing 0 \# HELP llamacpp:requests_deferred Number of requests deferred. \# TYPE llamacpp:requests_deferred gauge llamacpp:requests_deferred 0 ``` This is also consistent with the description of the metrics in the server examples [README.md](https://github.com/ggerganov/llama.cpp/tree/master/examples/server#get-metrics-prometheus-compatible-metrics-exporter). --- examples/server/server.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/server/server.cpp b/examples/server/server.cpp index d1ea343dd..1ebcb5085 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -3633,11 +3633,11 @@ int main(int argc, char ** argv) { {"value", (uint64_t) res_metrics->kv_cache_tokens_count} },{ {"name", "requests_processing"}, - {"help", "Number of request processing."}, + {"help", "Number of requests processing."}, {"value", (uint64_t) res_metrics->n_processing_slots} },{ {"name", "requests_deferred"}, - {"help", "Number of request deferred."}, + {"help", "Number of requests deferred."}, {"value", (uint64_t) res_metrics->n_tasks_deferred} }}} }; From 1bd3047a939e561adfb3c7dd2e17c4cc7a4e4e6f Mon Sep 17 00:00:00 2001 From: Steve Grubb Date: Fri, 31 Jan 2025 00:58:55 -0500 Subject: [PATCH 02/77] common: Add missing va_end (#11529) The va_copy man page states that va_end must be called to revert whatever the copy did. For some implementaions, not calling va_end has no consequences. For others it could leak memory. --- common/log.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/common/log.cpp b/common/log.cpp index 04c7c0ed1..0b8994ae1 100644 --- a/common/log.cpp +++ b/common/log.cpp @@ -206,6 +206,7 @@ public: vsnprintf(entry.msg.data(), entry.msg.size(), ss.str().c_str(), args_copy); } #endif + va_end(args_copy); } entry.level = level; From 4a2b196d03d52da31236390e9f5694a88d43d11d Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Fri, 31 Jan 2025 08:12:40 +0000 Subject: [PATCH 03/77] server : fix --jinja when there's no tools or schema (typo was forcing JSON) (#11531) --- examples/server/tests/unit/test_chat_completion.py | 7 +++---- examples/server/utils.hpp | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/examples/server/tests/unit/test_chat_completion.py b/examples/server/tests/unit/test_chat_completion.py index 0be04bab5..f5d8b0572 100644 --- a/examples/server/tests/unit/test_chat_completion.py +++ b/examples/server/tests/unit/test_chat_completion.py @@ -14,11 +14,10 @@ def create_server(): "model,system_prompt,user_prompt,max_tokens,re_content,n_prompt,n_predicted,finish_reason,jinja,chat_template", [ (None, "Book", "What is the best book", 8, "(Suddenly)+|\\{ \" Sarax.", 77, 8, "length", False, None), + (None, "Book", "What is the best book", 8, "(Suddenly)+|\\{ \" Sarax.", 77, 8, "length", True, None), + (None, "Book", "What is the best book", 8, "^ blue", 23, 8, "length", True, "This is not a chat template, it is"), ("codellama70b", "You are a coding assistant.", "Write the fibonacci function in c++.", 128, "(Aside|she|felter|alonger)+", 104, 64, "length", False, None), - # TODO: fix testing of non-tool jinja mode - # (None, "Book", "What is the best book", 8, "(Suddenly)+|\\{ \" Sarax.", 77, 8, "length", True, None), - # (None, "Book", "What is the best book", 8, "I want to play with", 23, 8, "length", True, "This is not a chat template, it is"), - # ("codellama70b", "You are a coding assistant.", "Write the fibonacci function in c++.", 128, "(Aside|she|felter|alonger)+", 104, 64, "length", True, None), + ("codellama70b", "You are a coding assistant.", "Write the fibonacci function in c++.", 128, "(Aside|she|felter|alonger)+", 104, 64, "length", True, None), ] ) def test_chat_completion(model, system_prompt, user_prompt, max_tokens, re_content, n_prompt, n_predicted, finish_reason, jinja, chat_template): diff --git a/examples/server/utils.hpp b/examples/server/utils.hpp index 3d2c04666..70bd6a42c 100644 --- a/examples/server/utils.hpp +++ b/examples/server/utils.hpp @@ -642,7 +642,7 @@ static json oaicompat_completion_params_parse( inputs.parallel_tool_calls = json_value(body, "parallel_tool_calls", false); inputs.stream = stream; // TODO: support mixing schema w/ tools beyond generic format. - inputs.json_schema = json_value(llama_params, "json_schema", json::object()); + inputs.json_schema = json_value(llama_params, "json_schema", json()); auto chat_params = common_chat_params_init(tmpl, inputs); llama_params["chat_format"] = static_cast(chat_params.format); From 5783575c9d99c4d9370495800663aa5397ceb0be Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Fri, 31 Jan 2025 08:24:29 +0000 Subject: [PATCH 04/77] Fix chatml fallback for unsupported builtin templates (when --jinja not enabled) (#11533) --- examples/server/server.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 1ebcb5085..e7daceef1 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -1858,7 +1858,12 @@ struct server_context { llama_init_dft.context.reset(); } - chat_templates = common_chat_templates_from_model(model, params_base.chat_template); + if (params_base.chat_template.empty() && !validate_builtin_chat_template(params.use_jinja)) { + LOG_WRN("%s: The chat template that comes with this model is not yet supported, falling back to chatml. This may cause the model to output suboptimal responses\n", __func__); + chat_templates = common_chat_templates_from_model(model, "chatml"); + } else { + chat_templates = common_chat_templates_from_model(model, params_base.chat_template); + } GGML_ASSERT(chat_templates.template_default.get() != nullptr); return true; @@ -4435,14 +4440,6 @@ int main(int argc, char ** argv) { LOG_INF("%s: model loaded\n", __func__); - // if a custom chat template is not supplied, we will use the one that comes with the model (if any) - if (params.chat_template.empty()) { - if (!ctx_server.validate_builtin_chat_template(params.use_jinja)) { - LOG_WRN("%s: The chat template that comes with this model is not yet supported, falling back to chatml. This may cause the model to output suboptimal responses\n", __func__); - params.chat_template = "chatml"; - } - } - // print sample chat example to make it clear which template is used LOG_INF("%s: chat template, chat_template: %s, example_format: '%s'\n", __func__, ctx_server.chat_templates.template_default->source().c_str(), From b1bcd309fc8ac929cbd4a6207b3a19886bda031f Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Fri, 31 Jan 2025 13:48:31 +0000 Subject: [PATCH 05/77] fix stop regression (#11543) --- examples/server/utils.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/server/utils.hpp b/examples/server/utils.hpp index 70bd6a42c..94e189457 100644 --- a/examples/server/utils.hpp +++ b/examples/server/utils.hpp @@ -484,13 +484,14 @@ static bool ends_with(const std::string & str, const std::string & suffix) { static size_t find_partial_stop_string(const std::string &stop, const std::string &text) { if (!text.empty() && !stop.empty()) { - auto it = std::find(stop.rbegin(), stop.rend(), text.back()); - while (it != stop.rend()) { - size_t length = std::distance(it, stop.rend()); - if (text.length() >= length && 0 == text.compare(text.length() - length, length, stop)) { - return text.length() - length; + const char text_last_char = text.back(); + for (int64_t char_index = stop.size() - 1; char_index >= 0; char_index--) { + if (stop[char_index] == text_last_char) { + const std::string current_partial = stop.substr(0, char_index + 1); + if (ends_with(text, current_partial)) { + return text.size() - char_index - 1; + } } - it = std::find(std::next(it), stop.rend(), text.back()); } } From a83f528688324a21484a97af1d1be5e1bc8d4c8e Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Fri, 31 Jan 2025 14:15:25 +0000 Subject: [PATCH 06/77] `tool-call`: fix llama 3.x and functionary 3.2, play nice w/ pydantic_ai package, update readme (#11539) * An empty tool_call_id is better than none! * sync: minja (tool call name optional https://github.com/google/minja/pull/36) * Force-disable parallel_tool_calls if template doesn't support it * More debug logs * Llama 3.x tools: accept / trigger on more varied spaced outputs * Fix empty content for functionary v3.2 tool call * Add proper tool call docs to server README * readme: function calling *is* supported now * Apply suggestions from code review Co-authored-by: Georgi Gerganov --------- Co-authored-by: Georgi Gerganov --- common/chat-template.hpp | 4 +- common/chat.cpp | 21 +++++-- examples/server/README.md | 110 ++++++++++++++++++++++++++++++++++--- examples/server/server.cpp | 5 +- examples/server/utils.hpp | 4 ++ 5 files changed, 129 insertions(+), 15 deletions(-) diff --git a/common/chat-template.hpp b/common/chat-template.hpp index 75ba5d938..58e119a3b 100644 --- a/common/chat-template.hpp +++ b/common/chat-template.hpp @@ -283,10 +283,12 @@ class chat_template { message["role"] = "user"; auto obj = json { {"tool_response", { - {"tool", message.at("name")}, {"content", message.at("content")}, }}, }; + if (message.contains("name")) { + obj["tool_response"]["name"] = message.at("name"); + } if (message.contains("tool_call_id")) { obj["tool_response"]["tool_call_id"] = message.at("tool_call_id"); } diff --git a/common/chat.cpp b/common/chat.cpp index d9a654892..58db12af9 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -384,14 +384,19 @@ static common_chat_params common_chat_params_init_llama_3_1_tool_calls(const com tool_rules.push_back( builder.add_rule( name + "-call", - "\"{\" ( \"\\\"type\\\": \\\"function\\\", \" | space ) " + "\"{\" space " + "( \"\\\"type\\\":\" space \"\\\"function\\\",\" space )? " "\"\\\"name\\\": \\\"" + name + "\\\", \\\"parameters\\\": \" " + builder.add_schema(name + "-args", parameters) + " \"}\"")); data.grammar_triggers.push_back({"{\"name\": \"" + name + "\"", /* .at_start = */ true}); }); data.grammar_triggers.push_back({"{\"name\":", /* .at_start = */ true}); + data.grammar_triggers.push_back({"{\n \"name\":", /* .at_start = */ true}); + data.grammar_triggers.push_back({"{\n \"name\":", /* .at_start = */ true}); data.grammar_triggers.push_back({"{\"type\": \"function\"", /* .at_start = */ true}); + data.grammar_triggers.push_back({"{\n \"type\": \"function\"", /* .at_start = */ true}); + data.grammar_triggers.push_back({"{\n \"type\": \"function\"", /* .at_start = */ true}); if (!builtin_tools.empty()) { data.grammar_triggers.push_back({"<|python_tag|>", /* .at_start = */ false}); } @@ -586,9 +591,17 @@ static common_chat_msg common_chat_parse_functionary_v3_2(const std::string & in } } // TODO: tighten & simplify. - auto res = parse_json_tool_calls(std::string(it, end), std::nullopt, function_regex, close_regex); - res.content = content; - return res; + try { + auto res = parse_json_tool_calls(std::string(it, end), std::nullopt, function_regex, close_regex); + res.content = content + res.content; + return res; + } catch (const std::exception & e) { + LOG_ERR("Failed to parse functionary v3.2 input: %s\n", e.what()); + common_chat_msg res; + res.role = "assistant"; + res.content = input; + return res; + } } static common_chat_params common_chat_params_init_functionary_v3_1_llama_3_1(const common_chat_template & tmpl, const struct common_chat_inputs & inputs) { diff --git a/examples/server/README.md b/examples/server/README.md index ce1ae8858..276b43013 100644 --- a/examples/server/README.md +++ b/examples/server/README.md @@ -126,7 +126,7 @@ The project is under active development, and we are [looking for feedback and co | `--grammar GRAMMAR` | BNF-like grammar to constrain generations (see samples in grammars/ dir) (default: '') | | `--grammar-file FNAME` | file to read grammar from | | `-j, --json-schema SCHEMA` | JSON schema to constrain generations (https://json-schema.org/), e.g. `{}` for any JSON object
For schemas w/ external $refs, use --grammar + example/json_schema_to_grammar.py instead | -| `--jinja` | Enable experimental Jinja templating engine (needed for tool use) | +| `--jinja` | Enable experimental Jinja templating engine (required for tool use) | **Example-specific params** @@ -1069,7 +1069,7 @@ Given a ChatML-formatted json description in `messages`, it returns the predicte *Options:* -See [OpenAI Chat Completions API documentation](https://platform.openai.com/docs/api-reference/chat). While some OpenAI-specific features such as function calling aren't supported, llama.cpp `/completion`-specific features such as `mirostat` are supported. +See [OpenAI Chat Completions API documentation](https://platform.openai.com/docs/api-reference/chat). llama.cpp `/completion`-specific features such as `mirostat` are also supported. The `response_format` parameter supports both plain JSON output (e.g. `{"type": "json_object"}`) and schema-constrained JSON (e.g. `{"type": "json_object", "schema": {"type": "string", "minLength": 10, "maxLength": 100}}` or `{"type": "json_schema", "schema": {"properties": { "name": { "title": "Name", "type": "string" }, "date": { "title": "Date", "type": "string" }, "participants": { "items": {"type: "string" }, "title": "Participants", "type": "string" } } } }`), similar to other OpenAI-inspired API providers. @@ -1117,17 +1117,111 @@ curl http://localhost:8080/v1/chat/completions \ }' ``` -... and even tool usage (needs `--jinja` flag): +*Tool call support* + +[Function calling](https://platform.openai.com/docs/guides/function-calling) is supported for all models (see https://github.com/ggerganov/llama.cpp/pull/9639): + +- Requires `--jinja` flag +- Native tool call formats supported: + - Llama 3.1 / 3.3 (including builtin tools support - tool names for `wolfram_alpha`, `web_search` / `brave_search`, `code_interpreter`), Llama 3.2 + - Functionary v3.1 / v3.2 + - Hermes 2/3, Qwen 2.5 + - Mistral Nemo + - Firefunction v2 + - DeepSeek R1 (WIP / seems reluctant to call any tools?) + +
+ Show some common templates and which format handler they use + + | Template | Format | + |----------|--------| + | CohereForAI-c4ai-command-r-plus-default.jinja | generic tool calls | + | CohereForAI-c4ai-command-r-plus-rag.jinja | generic tool calls | + | CohereForAI-c4ai-command-r-plus-tool_use.jinja | generic tool calls | + | MiniMaxAI-MiniMax-Text-01.jinja | generic tool calls | + | NexaAIDev-Octopus-v2.jinja | generic tool calls | + | NousResearch-Hermes-2-Pro-Llama-3-8B-default.jinja | generic tool calls | + | NousResearch-Hermes-2-Pro-Llama-3-8B-tool_use.jinja | hermes 2 pro tool calls | + | NousResearch-Hermes-2-Pro-Mistral-7B-default.jinja | generic tool calls | + | NousResearch-Hermes-2-Pro-Mistral-7B-tool_use.jinja | hermes 2 pro tool calls | + | NousResearch-Hermes-3-Llama-3.1-70B-default.jinja | generic tool calls | + | NousResearch-Hermes-3-Llama-3.1-70B-tool_use.jinja | hermes 2 pro tool calls | + | OrionStarAI-Orion-14B-Chat.jinja | generic tool calls | + | Qwen-QwQ-32B-Preview.jinja | hermes 2 pro tool calls | + | Qwen-Qwen2-7B-Instruct.jinja | generic tool calls | + | Qwen-Qwen2-VL-7B-Instruct.jinja | generic tool calls | + | Qwen-Qwen2.5-7B-Instruct.jinja | hermes 2 pro tool calls | + | Qwen-Qwen2.5-Math-7B-Instruct.jinja | hermes 2 pro tool calls | + | TheBloke-FusionNet_34Bx2_MoE-AWQ.jinja | generic tool calls | + | abacusai-Fewshot-Metamath-OrcaVicuna-Mistral.jinja | generic tool calls | + | bofenghuang-vigogne-2-70b-chat.jinja | generic tool calls | + | databricks-dbrx-instruct.jinja | generic tool calls | + | deepseek-ai-DeepSeek-Coder-V2-Instruct.jinja | generic tool calls | + | deepseek-ai-DeepSeek-R1-Distill-Llama-8B.jinja | deepseek r1 tool calls | + | deepseek-ai-DeepSeek-R1-Distill-Qwen-32B.jinja | deepseek r1 tool calls | + | deepseek-ai-DeepSeek-R1-Distill-Qwen-7B.jinja | deepseek r1 tool calls | + | deepseek-ai-DeepSeek-V2.5.jinja | deepseek r1 tool calls | + | deepseek-ai-deepseek-coder-33b-instruct.jinja | generic tool calls | + | google-gemma-2-2b-it.jinja | generic tool calls | + | google-gemma-7b-it.jinja | generic tool calls | + | indischepartij-MiniCPM-3B-OpenHermes-2.5-v2.jinja | generic tool calls | + | mattshumer-Reflection-Llama-3.1-70B.jinja | generic tool calls | + | meetkai-functionary-medium-v3.2.jinja | functionary v3.2 tool calls | + | meta-llama-Llama-3.1-8B-Instruct.jinja | llama 3.x tool calls (w/ builtin tools) | + | meta-llama-Llama-3.2-3B-Instruct.jinja | llama 3.x tool calls | + | meta-llama-Llama-3.3-70B-Instruct.jinja | llama 3.x tool calls (w/ builtin tools) | + | meta-llama-Meta-Llama-3.1-8B-Instruct.jinja | llama 3.x tool calls (w/ builtin tools) | + | microsoft-Phi-3-medium-4k-instruct.jinja | generic tool calls | + | microsoft-Phi-3-mini-4k-instruct.jinja | generic tool calls | + | microsoft-Phi-3-small-8k-instruct.jinja | generic tool calls | + | microsoft-Phi-3.5-mini-instruct.jinja | generic tool calls | + | microsoft-Phi-3.5-vision-instruct.jinja | generic tool calls | + | mistralai-Mistral-7B-Instruct-v0.2.jinja | generic tool calls | + | mistralai-Mistral-Large-Instruct-2407.jinja | mistral nemo tool calls | + | mistralai-Mistral-Large-Instruct-2411.jinja | generic tool calls | + | mistralai-Mistral-Nemo-Instruct-2407.jinja | mistral nemo tool calls | + | mistralai-Mixtral-8x7B-Instruct-v0.1.jinja | generic tool calls | + | mlabonne-AlphaMonarch-7B.jinja | generic tool calls | + | nvidia-Llama-3.1-Nemotron-70B-Instruct-HF.jinja | llama 3.x tool calls (w/ builtin tools) | + | openchat-openchat-3.5-0106.jinja | generic tool calls | + | teknium-OpenHermes-2.5-Mistral-7B.jinja | generic tool calls | + + This table can be generated with: + + ```bash + ./build/bin/test-chat ../minja/build/tests/*.jinja 2>/dev/null + +
+ +- Generic tool call is supported when the template isn't recognized by native format handlers (you'll see `Chat format: Generic` in the logs). + - Use `--chat-template-file` to override the template when appropriate (see examples below) + - Generic support may consume more tokens and be less efficient than a model's native format. + +- Run with: ```shell - llama-server --jinja -hfr lmstudio-community/Meta-Llama-3.1-8B-Instruct-GGUF -hff Meta-Llama-3.1-8B-Instruct-Q5_K_M.gguf -fa + # Native support: + llama-server --jinja -fa -hf bartowski/Qwen2.5-7B-Instruct-GGUF:Q4_K_M + llama-server --jinja -fa -hf bartowski/Mistral-Nemo-Instruct-2407-GGUF:Q4_K_M + llama-server --jinja -fa -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q6_K + llama-server --jinja -fa -hf bartowski/functionary-small-v3.2-GGUF:Q4_K_M + llama-server --jinja -fa -hf bartowski/Hermes-2-Pro-Llama-3-8B-GGUF:Q4_K_M \ + --chat-template-file <( python scripts/get_chat_template.py NousResearch/Hermes-2-Pro-Llama-3-8B ) - # https://huggingface.co/meetkai/functionary-medium-v3.2 - llama-server --jinja -hfr bartowski/functionary-medium-v3.2-GGUF -hff functionary-medium-v3.2-IQ4_XS.gguf -fa + # Native support requires the right template for these GGUFs: + llama-server --jinja -fa -hf bartowski/Hermes-3-Llama-3.1-8B-GGUF:Q4_K_M \ + --chat-template-file <( python scripts/get_chat_template.py NousResearch/Hermes-3-Llama-3.1-8B tool_use ) + llama-server --jinja -fa -hf bartowski/firefunction-v2-GGUF -hff firefunction-v2-IQ1_M.gguf \ + --chat-template-file <( python scripts/get_chat_template.py fireworks-ai/firellama-3-firefunction-v2 ) - # https://huggingface.co/meetkai/functionary-medium-v3.1 - llama-server --jinja -hfr meetkai/functionary-medium-v3.1-GGUF -hff functionary-medium-llama-3.1.Q4_0.gguf -fa + # Generic format support + llama-server --jinja -fa -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M + llama-server --jinja -fa -hf bartowski/gemma-2-2b-it-GGUF:Q4_K_M + ``` +- Test in CLI: + + ```bash curl http://localhost:8080/v1/chat/completions -d '{ "model": "gpt-3.5-turbo", "tools": [ diff --git a/examples/server/server.cpp b/examples/server/server.cpp index e7daceef1..3451e96a2 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -345,7 +345,7 @@ struct server_task { auto it = data.find("chat_format"); if (it != data.end()) { params.oaicompat_chat_format = static_cast(it->get()); - LOG_DBG("Chat format: %s\n", common_chat_format_name(params.oaicompat_chat_format).c_str()); + LOG_INF("Chat format: %s\n", common_chat_format_name(params.oaicompat_chat_format).c_str()); } else { params.oaicompat_chat_format = defaults.oaicompat_chat_format; } @@ -697,6 +697,7 @@ struct server_task_result_cmpl_final : server_task_result { std::string finish_reason = "length"; common_chat_msg message; if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { + LOG_DBG("Parsing chat message: %s\n", content.c_str()); message = common_chat_parse(content, oaicompat_chat_format); finish_reason = message.tool_calls.empty() ? "stop" : "tool_calls"; } else { @@ -713,7 +714,7 @@ struct server_task_result_cmpl_final : server_task_result { {"name", tc.name}, {"arguments", tc.arguments}, }}, - {"id", tc.id.empty() ? json() : json(tc.id)}, + {"id", tc.id}, }); } } diff --git a/examples/server/utils.hpp b/examples/server/utils.hpp index 94e189457..bfe623c4c 100644 --- a/examples/server/utils.hpp +++ b/examples/server/utils.hpp @@ -641,6 +641,10 @@ static json oaicompat_completion_params_parse( inputs.tools = tools; inputs.tool_choice = tool_choice; inputs.parallel_tool_calls = json_value(body, "parallel_tool_calls", false); + if (inputs.parallel_tool_calls && !tmpl.original_caps().supports_parallel_tool_calls) { + LOG_DBG("Disabling parallel_tool_calls because the template does not support it\n"); + inputs.parallel_tool_calls = false; + } inputs.stream = stream; // TODO: support mixing schema w/ tools beyond generic format. inputs.json_schema = json_value(llama_params, "json_schema", json()); From aa6fb1321333fae8853d0cdc26bcb5d438e650a1 Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Fri, 31 Jan 2025 17:12:40 +0000 Subject: [PATCH 07/77] `ci`: use sccache on windows instead of ccache (#11545) * Use sccache on ci for windows * Detect sccache in cmake --- .github/workflows/build.yml | 6 ++++++ ggml/src/CMakeLists.txt | 12 +++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c02dd6a81..022b9bd03 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -689,6 +689,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: windows-msys2 + variant: sccache evict-old-files: 1d - name: Setup ${{ matrix.sys }} @@ -763,6 +764,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: windows-latest-cmake-${{ matrix.build }} + variant: sccache evict-old-files: 1d - name: Clone Kompute submodule @@ -949,6 +951,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: ${{ github.job }}-${{ matrix.cuda }}-${{ matrix.build }} + variant: sccache evict-old-files: 1d - name: Install Cuda Toolkit 11.7 @@ -1090,6 +1093,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: windows-latest-cmake-sycl + variant: sccache evict-old-files: 1d - name: Install @@ -1174,6 +1178,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: ${{ github.job }} + variant: sccache evict-old-files: 1d - name: Build @@ -1208,6 +1213,7 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: windows-latest-cmake-hip-release + variant: sccache evict-old-files: 1d - name: Install diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 566709135..0002ac18a 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -93,12 +93,18 @@ endif() if (GGML_CCACHE) find_program(GGML_CCACHE_FOUND ccache) + find_program(GGML_SCCACHE_FOUND sccache) - if (GGML_CCACHE_FOUND) + if (GGML_CCACHE_FOUND OR GGML_SCCACHE_FOUND) + if(GGML_CCACHE_FOUND) + set(GGML_CCACHE_VARIANT ccache) + else() + set(GGML_CCACHE_VARIANT sccache) + endif() # TODO: should not be set globally - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${GGML_CCACHE_VARIANT}") set(ENV{CCACHE_SLOPPINESS} time_macros) - message(STATUS "ccache found, compilation results will be cached. Disable with GGML_CCACHE=OFF.") + message(STATUS "${GGML_CCACHE_VARIANT} found, compilation results will be cached. Disable with GGML_CCACHE=OFF.") else() message(STATUS "Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF") endif () From 5bbc7362cb93265f4c853fd89800a6255cc26985 Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sat, 1 Feb 2025 00:01:20 +0000 Subject: [PATCH 08/77] ci: simplify cmake build commands (#11548) --- .github/workflows/build.yml | 86 +++++++++++++------------------------ 1 file changed, 30 insertions(+), 56 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 022b9bd03..03eabbbe5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,16 +59,14 @@ jobs: id: cmake_build run: | sysctl -a - mkdir build - cd build - cmake .. \ + cmake -B build \ -DCMAKE_BUILD_RPATH="@loader_path" \ -DLLAMA_FATAL_WARNINGS=ON \ -DLLAMA_CURL=ON \ -DGGML_METAL_USE_BF16=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DGGML_RPC=ON - cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) + cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) - name: Test id: cmake_test @@ -199,13 +197,11 @@ jobs: - name: Build id: cmake_build run: | - mkdir build - cd build - cmake .. \ + cmake -B build \ -DLLAMA_FATAL_WARNINGS=ON \ -DLLAMA_CURL=ON \ -DGGML_RPC=ON - cmake --build . --config Release -j $(nproc) + cmake --build build --config Release -j $(nproc) - name: Test id: cmake_test @@ -283,26 +279,22 @@ jobs: id: cmake_build if: ${{ matrix.sanitizer != 'THREAD' }} run: | - mkdir build - cd build - cmake .. \ + cmake -B build \ -DLLAMA_FATAL_WARNINGS=ON \ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - cmake --build . --config ${{ matrix.build_type }} -j $(nproc) + cmake --build build --config ${{ matrix.build_type }} -j $(nproc) - name: Build (no OpenMP) id: cmake_build_no_openmp if: ${{ matrix.sanitizer == 'THREAD' }} run: | - mkdir build - cd build - cmake .. \ + cmake -B build \ -DLLAMA_FATAL_WARNINGS=ON \ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ -DGGML_OPENMP=OFF - cmake --build . --config ${{ matrix.build_type }} -j $(nproc) + cmake --build build --config ${{ matrix.build_type }} -j $(nproc) - name: Test id: cmake_test @@ -335,11 +327,9 @@ jobs: - name: Build id: cmake_build run: | - mkdir build - cd build - cmake .. \ + cmake -B build \ -DGGML_RPC=ON - cmake --build . --config Release -j $(nproc) + cmake --build build --config Release -j $(nproc) - name: Test id: cmake_test @@ -372,11 +362,9 @@ jobs: - name: Build id: cmake_build run: | - mkdir build - cd build - cmake .. \ + cmake -B build \ -DGGML_VULKAN=ON - cmake --build . --config Release -j $(nproc) + cmake --build build --config Release -j $(nproc) - name: Test id: cmake_test @@ -493,13 +481,11 @@ jobs: id: cmake_build run: | source /opt/intel/oneapi/setvars.sh - mkdir build - cd build - cmake .. \ + cmake -B build \ -DGGML_SYCL=ON \ -DCMAKE_C_COMPILER=icx \ -DCMAKE_CXX_COMPILER=icpx - cmake --build . --config Release -j $(nproc) + cmake --build build --config Release -j $(nproc) ubuntu-22-cmake-sycl-fp16: runs-on: ubuntu-22.04 @@ -543,14 +529,12 @@ jobs: id: cmake_build run: | source /opt/intel/oneapi/setvars.sh - mkdir build - cd build - cmake .. \ + cmake -B build \ -DGGML_SYCL=ON \ -DCMAKE_C_COMPILER=icx \ -DCMAKE_CXX_COMPILER=icpx \ -DGGML_SYCL_F16=ON - cmake --build . --config Release -j $(nproc) + cmake --build build --config Release -j $(nproc) macOS-latest-cmake-ios: runs-on: macos-latest @@ -576,9 +560,7 @@ jobs: id: cmake_build run: | sysctl -a - mkdir build - cd build - cmake -G Xcode .. \ + cmake -B build -G Xcode \ -DGGML_METAL_USE_BF16=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DLLAMA_BUILD_EXAMPLES=OFF \ @@ -587,7 +569,7 @@ jobs: -DCMAKE_SYSTEM_NAME=iOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml - cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO + cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO macOS-latest-cmake-tvos: runs-on: macos-latest @@ -613,9 +595,7 @@ jobs: id: cmake_build run: | sysctl -a - mkdir build - cd build - cmake -G Xcode .. \ + cmake -B build -G Xcode \ -DGGML_METAL_USE_BF16=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DLLAMA_BUILD_EXAMPLES=OFF \ @@ -624,7 +604,7 @@ jobs: -DCMAKE_SYSTEM_NAME=tvOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml - cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO + cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO macOS-latest-swift: runs-on: macos-latest @@ -654,17 +634,15 @@ jobs: id: cmake_build run: | sysctl -a - mkdir build - cd build - cmake -G Xcode .. \ + cmake -B build -G Xcode \ -DGGML_METAL_USE_BF16=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DLLAMA_BUILD_EXAMPLES=OFF \ -DLLAMA_BUILD_TESTS=OFF \ -DLLAMA_BUILD_SERVER=OFF \ -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" - cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) - sudo cmake --install . --config Release + cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) + sudo cmake --install build --config Release - name: xcodebuild for swift package id: xcodebuild @@ -806,21 +784,19 @@ jobs: run: | git clone https://github.com/KhronosGroup/OpenCL-Headers cd OpenCL-Headers - mkdir build && cd build - cmake .. ` + cmake -B build ` -DBUILD_TESTING=OFF ` -DOPENCL_HEADERS_BUILD_TESTING=OFF ` -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF ` -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" - cmake --build . --target install + cmake --build build --target install git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader cd OpenCL-ICD-Loader - mkdir build-arm64-release && cd build-arm64-release - cmake .. ` + cmake -B build-arm64-release ` -A arm64 ` -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" ` -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release" - cmake --build . --target install --config release + cmake --build build-arm64-release --target install --config release - name: Build id: cmake_build @@ -1284,9 +1260,7 @@ jobs: id: cmake_build run: | sysctl -a - mkdir build - cd build - cmake -G Xcode .. \ + cmake -B build -G Xcode \ -DGGML_METAL_USE_BF16=ON \ -DGGML_METAL_EMBED_LIBRARY=ON \ -DLLAMA_BUILD_EXAMPLES=OFF \ @@ -1295,8 +1269,8 @@ jobs: -DCMAKE_SYSTEM_NAME=iOS \ -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml - cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO - sudo cmake --install . --config Release + cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO + sudo cmake --install build --config Release - name: xcodebuild for swift package id: xcodebuild From ecef206ccb186a1cde8dd2523b1da3e12f593f9e Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Sat, 1 Feb 2025 11:30:54 +0100 Subject: [PATCH 09/77] Implement s3:// protocol (#11511) For those that want to pull from s3 Signed-off-by: Eric Curtin --- examples/run/run.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/examples/run/run.cpp b/examples/run/run.cpp index 9cecae48c..cf61f4add 100644 --- a/examples/run/run.cpp +++ b/examples/run/run.cpp @@ -65,6 +65,13 @@ static int printe(const char * fmt, ...) { return ret; } +static std::string strftime_fmt(const char * fmt, const std::tm & tm) { + std::ostringstream oss; + oss << std::put_time(&tm, fmt); + + return oss.str(); +} + class Opt { public: int init(int argc, const char ** argv) { @@ -698,6 +705,39 @@ class LlamaData { return download(url, bn, true); } + int s3_dl(const std::string & model, const std::string & bn) { + const size_t slash_pos = model.find('/'); + if (slash_pos == std::string::npos) { + return 1; + } + + const std::string bucket = model.substr(0, slash_pos); + const std::string key = model.substr(slash_pos + 1); + const char * access_key = std::getenv("AWS_ACCESS_KEY_ID"); + const char * secret_key = std::getenv("AWS_SECRET_ACCESS_KEY"); + if (!access_key || !secret_key) { + printe("AWS credentials not found in environment\n"); + return 1; + } + + // Generate AWS Signature Version 4 headers + // (Implementation requires HMAC-SHA256 and date handling) + // Get current timestamp + const time_t now = time(nullptr); + const tm tm = *gmtime(&now); + const std::string date = strftime_fmt("%Y%m%d", tm); + const std::string datetime = strftime_fmt("%Y%m%dT%H%M%SZ", tm); + const std::vector headers = { + "Authorization: AWS4-HMAC-SHA256 Credential=" + std::string(access_key) + "/" + date + + "/us-east-1/s3/aws4_request", + "x-amz-content-sha256: UNSIGNED-PAYLOAD", "x-amz-date: " + datetime + }; + + const std::string url = "https://" + bucket + ".s3.amazonaws.com/" + key; + + return download(url, bn, true, headers); + } + std::string basename(const std::string & path) { const size_t pos = path.find_last_of("/\\"); if (pos == std::string::npos) { @@ -738,6 +778,9 @@ class LlamaData { rm_until_substring(model_, "github:"); rm_until_substring(model_, "://"); ret = github_dl(model_, bn); + } else if (string_starts_with(model_, "s3://")) { + rm_until_substring(model_, "://"); + ret = s3_dl(model_, bn); } else { // ollama:// or nothing rm_until_substring(model_, "ollama.com/library/"); rm_until_substring(model_, "://"); From cfd74c86dbaa95ed30aa6b30e14d8801eb975d63 Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sat, 1 Feb 2025 12:24:51 +0000 Subject: [PATCH 10/77] `sync`: minja (https://github.com/google/minja/commit/418a2364b56dc9be4ed9a1a2b0fb16fb53a7a22e) (#11574) --- common/minja.hpp | 49 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/common/minja.hpp b/common/minja.hpp index f0e80fd7c..bcb5a0824 100644 --- a/common/minja.hpp +++ b/common/minja.hpp @@ -693,7 +693,7 @@ enum SpaceHandling { Keep, Strip, StripSpaces, StripNewline }; class TemplateToken { public: - enum class Type { Text, Expression, If, Else, Elif, EndIf, For, EndFor, Generation, EndGeneration, Set, EndSet, Comment, Macro, EndMacro, Filter, EndFilter }; + enum class Type { Text, Expression, If, Else, Elif, EndIf, For, EndFor, Generation, EndGeneration, Set, EndSet, Comment, Macro, EndMacro, Filter, EndFilter, Break, Continue }; static std::string typeToString(Type t) { switch (t) { @@ -714,6 +714,8 @@ public: case Type::EndFilter: return "endfilter"; case Type::Generation: return "generation"; case Type::EndGeneration: return "endgeneration"; + case Type::Break: return "break"; + case Type::Continue: return "continue"; } return "Unknown"; } @@ -815,6 +817,22 @@ struct CommentTemplateToken : public TemplateToken { CommentTemplateToken(const Location & location, SpaceHandling pre, SpaceHandling post, const std::string& t) : TemplateToken(Type::Comment, location, pre, post), text(t) {} }; +enum class LoopControlType { Break, Continue }; + +class LoopControlException : public std::runtime_error { +public: + LoopControlType control_type; + LoopControlException(const std::string & message, LoopControlType control_type) : std::runtime_error(message), control_type(control_type) {} + LoopControlException(LoopControlType control_type) + : std::runtime_error((std::ostringstream() << (control_type == LoopControlType::Continue ? "continue" : "break") << " outside of a loop").str()), + control_type(control_type) {} +}; + +struct LoopControlTemplateToken : public TemplateToken { + LoopControlType control_type; + LoopControlTemplateToken(const Location & location, SpaceHandling pre, SpaceHandling post, LoopControlType control_type) : TemplateToken(Type::Break, location, pre, post), control_type(control_type) {} +}; + class TemplateNode { Location location_; protected: @@ -825,6 +843,12 @@ public: void render(std::ostringstream & out, const std::shared_ptr & context) const { try { do_render(out, context); + } catch (const LoopControlException & e) { + // TODO: make stack creation lazy. Only needed if it was thrown outside of a loop. + std::ostringstream err; + err << e.what(); + if (location_.source) err << error_location_suffix(*location_.source, location_.pos); + throw LoopControlException(err.str(), e.control_type); } catch (const std::exception & e) { std::ostringstream err; err << e.what(); @@ -897,6 +921,15 @@ public: } }; +class LoopControlNode : public TemplateNode { + LoopControlType control_type_; + public: + LoopControlNode(const Location & location, LoopControlType control_type) : TemplateNode(location), control_type_(control_type) {} + void do_render(std::ostringstream &, const std::shared_ptr &) const override { + throw LoopControlException(control_type_); + } +}; + class ForNode : public TemplateNode { std::vector var_names; std::shared_ptr iterable; @@ -961,7 +994,12 @@ public: loop.set("last", i == (n - 1)); loop.set("previtem", i > 0 ? filtered_items.at(i - 1) : Value()); loop.set("nextitem", i < n - 1 ? filtered_items.at(i + 1) : Value()); - body->render(out, loop_context); + try { + body->render(out, loop_context); + } catch (const LoopControlException & e) { + if (e.control_type == LoopControlType::Break) break; + if (e.control_type == LoopControlType::Continue) continue; + } } } }; @@ -2159,7 +2197,7 @@ private: static std::regex comment_tok(R"(\{#([-~]?)(.*?)([-~]?)#\})"); static std::regex expr_open_regex(R"(\{\{([-~])?)"); static std::regex block_open_regex(R"(^\{%([-~])?[\s\n\r]*)"); - static std::regex block_keyword_tok(R"((if|else|elif|endif|for|endfor|generation|endgeneration|set|endset|block|endblock|macro|endmacro|filter|endfilter)\b)"); + static std::regex block_keyword_tok(R"((if|else|elif|endif|for|endfor|generation|endgeneration|set|endset|block|endblock|macro|endmacro|filter|endfilter|break|continue)\b)"); static std::regex non_text_open_regex(R"(\{\{|\{%|\{#)"); static std::regex expr_close_regex(R"([\s\n\r]*([-~])?\}\})"); static std::regex block_close_regex(R"([\s\n\r]*([-~])?%\})"); @@ -2291,6 +2329,9 @@ private: } else if (keyword == "endfilter") { auto post_space = parseBlockClose(); tokens.push_back(std::make_unique(location, pre_space, post_space)); + } else if (keyword == "break" || keyword == "continue") { + auto post_space = parseBlockClose(); + tokens.push_back(std::make_unique(location, pre_space, post_space, keyword == "break" ? LoopControlType::Break : LoopControlType::Continue)); } else { throw std::runtime_error("Unexpected block: " + keyword); } @@ -2414,6 +2455,8 @@ private: children.emplace_back(std::make_shared(token->location, std::move(filter_token->filter), std::move(body))); } else if (dynamic_cast(token.get())) { // Ignore comments + } else if (auto ctrl_token = dynamic_cast(token.get())) { + children.emplace_back(std::make_shared(token->location, ctrl_token->control_type)); } else if (dynamic_cast(token.get()) || dynamic_cast(token.get()) || dynamic_cast(token.get()) From 53debe6f3c9cca87e9520a83ee8c14d88977afa4 Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sat, 1 Feb 2025 18:22:38 +0000 Subject: [PATCH 11/77] ci: use sccache on windows HIP jobs (#11553) --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03eabbbe5..7392f2bfe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1154,7 +1154,6 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: ${{ github.job }} - variant: sccache evict-old-files: 1d - name: Build @@ -1189,7 +1188,6 @@ jobs: uses: hendrikmuhs/ccache-action@v1.2.16 with: key: windows-latest-cmake-hip-release - variant: sccache evict-old-files: 1d - name: Install From 0cec062a638700495673f5494d200b74340538be Mon Sep 17 00:00:00 2001 From: piDack <104877312+piDack@users.noreply.github.com> Date: Sun, 2 Feb 2025 15:48:46 +0800 Subject: [PATCH 12/77] llama : add support for GLM-Edge and GLM-Edge-V series models (#10573) * add glm edge chat model * use config partial_rotary_factor as rope ratio * support for glm edge model * vision model support * remove debug info * fix format * llava.cpp trailing whitespace * remove unused AutoTokenizer * Update src/llama.cpp for not contain <|end|> or Co-authored-by: Xuan Son Nguyen * add edge template * fix chat template * fix confict * fix confict * fix ci err * fix format err * fix template err * 9b hf chat support * format * format clip.cpp * fix format * Apply suggestions from code review * Apply suggestions from code review * Update examples/llava/clip.cpp * fix format * minor : style --------- Co-authored-by: liyuhang Co-authored-by: piDack Co-authored-by: Xuan Son Nguyen Co-authored-by: liyuhang Co-authored-by: Georgi Gerganov --- README.md | 3 +- convert_hf_to_gguf.py | 58 +--- examples/llava/README-glmedge.md | 43 +++ examples/llava/clip.cpp | 110 ++++++- examples/llava/clip.h | 2 + .../glmedge-convert-image-encoder-to-gguf.py | 280 ++++++++++++++++++ examples/llava/glmedge-surgery.py | 33 +++ examples/llava/llava.cpp | 17 ++ gguf-py/gguf/constants.py | 3 + src/llama-arch.cpp | 3 + src/llama-chat.cpp | 11 +- src/llama-chat.h | 1 + src/llama-model.cpp | 28 +- src/llama.cpp | 35 ++- tests/test-chat-template.cpp | 8 + 15 files changed, 568 insertions(+), 67 deletions(-) create mode 100644 examples/llava/README-glmedge.md create mode 100644 examples/llava/glmedge-convert-image-encoder-to-gguf.py create mode 100644 examples/llava/glmedge-surgery.py diff --git a/README.md b/README.md index d40309875..7f306d199 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo - [x] [Bitnet b1.58 models](https://huggingface.co/1bitLLM) - [x] [Flan T5](https://huggingface.co/models?search=flan-t5) - [x] [Open Elm models](https://huggingface.co/collections/apple/openelm-instruct-models-6619ad295d7ae9f868b759ca) -- [x] [ChatGLM3-6b](https://huggingface.co/THUDM/chatglm3-6b) + [ChatGLM4-9b](https://huggingface.co/THUDM/glm-4-9b) +- [x] [ChatGLM3-6b](https://huggingface.co/THUDM/chatglm3-6b) + [ChatGLM4-9b](https://huggingface.co/THUDM/glm-4-9b) + [GLMEdge-1.5b](https://huggingface.co/THUDM/glm-edge-1.5b-chat) + [GLMEdge-4b](https://huggingface.co/THUDM/glm-edge-4b-chat) - [x] [SmolLM](https://huggingface.co/collections/HuggingFaceTB/smollm-6695016cad7167254ce15966) - [x] [EXAONE-3.0-7.8B-Instruct](https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct) - [x] [FalconMamba Models](https://huggingface.co/collections/tiiuae/falconmamba-7b-66b9a580324dd1598b0f6d4a) @@ -117,6 +117,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo - [x] [Mini CPM](https://huggingface.co/models?search=MiniCPM) - [x] [Moondream](https://huggingface.co/vikhyatk/moondream2) - [x] [Bunny](https://github.com/BAAI-DCAI/Bunny) +- [x] [GLM-EDGE](https://huggingface.co/models?search=glm-edge) - [x] [Qwen2-VL](https://huggingface.co/collections/Qwen/qwen2-vl-66cee7455501d7126940800d) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 63b54a9cf..018a2a588 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -648,7 +648,7 @@ class Model: if chkhsh == "7967bfa498ade6b757b064f31e964dddbb80f8f9a4d68d4ba7998fcf281c531a": # ref: https://huggingface.co/jinaai/jina-embeddings-v2-base-code res = "jina-v2-code" - if chkhsh == "b6e8e1518dc4305be2fe39c313ed643381c4da5db34a98f6a04c093f8afbe99b": + if chkhsh == "b6e8e1518dc4305be2fe39c313ed643381c4da5db34a98f6a04c093f8afbe99b" or chkhsh == "81d72c7348a9f0ebe86f23298d37debe0a5e71149e29bd283904c02262b27516": # ref: https://huggingface.co/THUDM/glm-4-9b-chat res = "chatglm-bpe" if chkhsh == "7fc505bd3104ca1083b150b17d088b59534ede9bde81f0dd2090967d7fe52cee": @@ -4513,7 +4513,7 @@ class JaisModel(Model): self.gguf_writer.add_max_alibi_bias(self.max_alibi_bias) -@Model.register("ChatGLMModel", "ChatGLMForConditionalGeneration") +@Model.register("GlmForCausalLM", "ChatGLMModel", "ChatGLMForConditionalGeneration") class ChatGLMModel(Model): model_arch = gguf.MODEL_ARCH.CHATGLM @@ -4619,47 +4619,15 @@ class ChatGLMModel(Model): from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(dir_model, trust_remote_code=True) - vocab_size = hparams["padded_vocab_size"] + vocab_size = hparams.get("padded_vocab_size",hparams["vocab_size"]) assert max(tokenizer.get_vocab().values()) < vocab_size - tokpre = self.get_vocab_base_pre(tokenizer) - - merges = [] - vocab = {} - mergeable_ranks = tokenizer.mergeable_ranks - for token, rank in mergeable_ranks.items(): - vocab[ChatGLMModel.token_bytes_to_string(token)] = rank - if len(token) == 1: - continue - merged = ChatGLMModel.bpe(mergeable_ranks, token, max_rank=rank) - assert len(merged) >= 2 and len(merged) <= 7 - merges.append(' '.join(map(ChatGLMModel.token_bytes_to_string, merged))) - - # for this kind of tokenizer, added_vocab is not a subset of vocab, so they need to be combined - added_vocab = tokenizer.get_added_vocab() - reverse_vocab = {id_ : encoded_tok for encoded_tok, id_ in {**vocab, **added_vocab}.items()} - - for i in range(vocab_size): - if i not in reverse_vocab: - tokens.append(f"[PAD{i}]") - toktypes.append(gguf.TokenType.UNUSED) - elif reverse_vocab[i] in added_vocab: - tokens.append(reverse_vocab[i]) - if tokenizer.added_tokens_decoder[i].special: - toktypes.append(gguf.TokenType.CONTROL) - else: - toktypes.append(gguf.TokenType.USER_DEFINED) - else: - tokens.append(reverse_vocab[i]) - toktypes.append(gguf.TokenType.NORMAL) - + tokens, toktypes, tokpre = self.get_vocab_base() self.gguf_writer.add_tokenizer_model("gpt2") self.gguf_writer.add_tokenizer_pre(tokpre) self.gguf_writer.add_token_list(tokens) self.gguf_writer.add_token_types(toktypes) - - special_vocab = gguf.SpecialVocab(dir_model, load_merges=False) - special_vocab.merges = merges + special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=True) # only add special tokens when they were not already loaded from config.json special_vocab._set_special_token("eos", tokenizer.get_added_vocab()["<|endoftext|>"]) special_vocab._set_special_token("eot", tokenizer.get_added_vocab()["<|user|>"]) @@ -4670,16 +4638,20 @@ class ChatGLMModel(Model): def set_gguf_parameters(self): n_embed = self.hparams.get("hidden_size", self.hparams.get("n_embed")) n_head = self.hparams.get("n_head", self.hparams.get("num_attention_heads")) - n_head_kv = self.hparams.get("multi_query_group_num", n_head) + n_head_kv = self.hparams.get("multi_query_group_num", self.hparams.get("num_key_value_heads", n_head)) self.gguf_writer.add_context_length(self.hparams.get("seq_length", n_embed)) self.gguf_writer.add_embedding_length(n_embed) - self.gguf_writer.add_feed_forward_length(self.hparams.get("ffn_hidden_size", 4 * n_embed)) - self.gguf_writer.add_block_count(self.hparams["num_layers"]) + self.gguf_writer.add_feed_forward_length(self.hparams.get("ffn_hidden_size", self.hparams.get("intermediate_size", 4 * n_embed))) + self.gguf_writer.add_block_count(self.hparams.get("num_layers", self.hparams["num_hidden_layers"])) self.gguf_writer.add_head_count(n_head) self.gguf_writer.add_head_count_kv(n_head_kv) - self.gguf_writer.add_layer_norm_rms_eps(self.hparams["layernorm_epsilon"]) + self.gguf_writer.add_layer_norm_rms_eps(self.hparams.get("layernorm_epsilon",1e-5)) self.gguf_writer.add_file_type(self.ftype) - self.gguf_writer.add_rope_dimension_count(64) + if "attention_dim" in self.hparams: + rope_dim = self.hparams["attention_dim"] + else: + rope_dim = self.hparams["hidden_size"] // self.hparams["num_attention_heads"] + self.gguf_writer.add_rope_dimension_count(int(rope_dim * self.hparams.get("partial_rotary_factor", 0.5))) self.gguf_writer.add_add_bos_token(False) rope_freq = 10000 if "rope_ratio" in self.hparams: @@ -4689,7 +4661,7 @@ class ChatGLMModel(Model): def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: del bid # unused - if name.endswith(".rotary_pos_emb.inv_freq"): + if name.endswith(".rotary_pos_emb.inv_freq") or name.startswith("model.vision."): return [] name = name.removeprefix("transformer.") diff --git a/examples/llava/README-glmedge.md b/examples/llava/README-glmedge.md new file mode 100644 index 000000000..603d01474 --- /dev/null +++ b/examples/llava/README-glmedge.md @@ -0,0 +1,43 @@ +# GLMV-EDGE + +Currently this implementation supports [glm-edge-v-2b](https://huggingface.co/THUDM/glm-edge-v-2b) and [glm-edge-v-5b](https://huggingface.co/THUDM/glm-edge-v-5b). + +## Usage +Build with cmake or run `make llama-llava-cli` to build it. + +After building, run: `./llama-llava-cli` to see the usage. For example: + +```sh +./llama-llava-cli -m model_path/ggml-model-f16.gguf --mmproj model_path/mmproj-model-f16.gguf --image img_path/image.jpg -p "<|system|>\n system prompt <|user|>\n prompt <|assistant|>\n" +``` + +**note**: A lower temperature like 0.1 is recommended for better quality. add `--temp 0.1` to the command to do so. +**note**: For GPU offloading ensure to use the `-ngl` flag just like usual + +## GGUF conversion + +1. Clone a GLMV-EDGE model ([2B](https://huggingface.co/THUDM/glm-edge-v-2b) or [5B](https://huggingface.co/THUDM/glm-edge-v-5b)). For example: + +```sh +git clone https://huggingface.co/THUDM/glm-edge-v-5b or https://huggingface.co/THUDM/glm-edge-v-2b +``` + +2. Use `glmedge-surgery.py` to split the GLMV-EDGE model to LLM and multimodel projector constituents: + +```sh +python ./examples/llava/glmedge-surgery.py -m ../model_path +``` + +4. Use `glmedge-convert-image-encoder-to-gguf.py` to convert the GLMV-EDGE image encoder to GGUF: + +```sh +python ./examples/llava/glmedge-convert-image-encoder-to-gguf.py -m ../model_path --llava-projector ../model_path/glm.projector --output-dir ../model_path +``` + +5. Use `examples/convert_hf_to_gguf.py` to convert the LLM part of GLMV-EDGE to GGUF: + +```sh +python convert_hf_to_gguf.py ../model_path +``` + +Now both the LLM part and the image encoder are in the `model_path` directory. diff --git a/examples/llava/clip.cpp b/examples/llava/clip.cpp index 24073c5a9..7367d44cb 100644 --- a/examples/llava/clip.cpp +++ b/examples/llava/clip.cpp @@ -102,6 +102,7 @@ static std::string format(const char * fmt, ...) { #define KEY_HAS_VIS_ENC "clip.has_vision_encoder" #define KEY_HAS_LLAVA_PROJ "clip.has_llava_projector" #define KEY_HAS_MINICPMV_PROJ "clip.has_minicpmv_projector" +#define KEY_HAS_GLM_PROJ "clip.has_glm_projector" #define KEY_MINICPMV_VERSION "clip.minicpmv_version" #define KEY_HAS_QWEN2VL_MERGER "clip.has_qwen2vl_merger" #define KEY_USE_GELU "clip.use_gelu" @@ -160,6 +161,15 @@ static std::string format(const char * fmt, ...) { #define TN_MINICPMV_ATTN "resampler.attn.%s.%s" #define TN_MINICPMV_LN "resampler.ln_%s.%s" +#define TN_GLM_ADAPER_CONV "adapter.conv.%s" +#define TN_GLM_ADAPTER_LINEAR "adapter.linear.linear.%s" +#define TN_GLM_ADAPTER_NORM_1 "adapter.linear.norm1.%s" +#define TN_GLM_ADAPTER_D_H_2_4H "adapter.linear.dense_h_to_4h.%s" +#define TN_GLM_ADAPTER_GATE "adapter.linear.gate.%s" +#define TN_GLM_ADAPTER_D_4H_2_H "adapter.linear.dense_4h_to_h.%s" +#define TN_GLM_BOI_W "adapter.boi" +#define TN_GLM_EOI_W "adapter.eoi" + enum projector_type { PROJECTOR_TYPE_MLP, @@ -167,6 +177,7 @@ enum projector_type { PROJECTOR_TYPE_LDP, PROJECTOR_TYPE_LDPV2, PROJECTOR_TYPE_RESAMPLER, + PROJECTOR_TYPE_GLM_EDGE, PROJECTOR_TYPE_MERGER, PROJECTOR_TYPE_UNKNOWN, }; @@ -176,6 +187,7 @@ static std::map PROJECTOR_TYPE_NAMES = { { PROJECTOR_TYPE_LDP, "ldp" }, { PROJECTOR_TYPE_LDPV2, "ldpv2"}, { PROJECTOR_TYPE_RESAMPLER, "resampler"}, + { PROJECTOR_TYPE_GLM_EDGE, "adapter"}, { PROJECTOR_TYPE_MERGER, "qwen2vl_merger"}, }; @@ -500,6 +512,12 @@ struct clip_vision_model { struct ggml_tensor * mm_4_w = NULL; struct ggml_tensor * mm_4_b = NULL; + //GLMV-Edge projection + struct ggml_tensor * mm_model_adapter_conv_w; + struct ggml_tensor * mm_model_adapter_conv_b; + struct ggml_tensor * boi_w; + struct ggml_tensor * eoi_w; + // MobileVLM projection struct ggml_tensor * mm_model_mlp_1_w; struct ggml_tensor * mm_model_mlp_1_b; @@ -560,6 +578,7 @@ struct clip_ctx { bool has_vision_encoder = false; bool has_llava_projector = false; bool has_minicpmv_projector = false; + bool has_glm_projector = false; bool has_qwen2vl_merger = false; int minicpmv_version = 2; @@ -638,7 +657,7 @@ static ggml_cgraph * clip_image_build_graph(clip_ctx * ctx, const clip_image_f32 const int batch_size = imgs->size; - if (ctx->has_llava_projector || ctx->has_minicpmv_projector) { + if (ctx->has_llava_projector || ctx->has_minicpmv_projector || ctx->has_glm_projector) { GGML_ASSERT(batch_size == 1); } @@ -734,8 +753,7 @@ static ggml_cgraph * clip_image_build_graph(clip_ctx * ctx, const clip_image_f32 } // loop over layers - if (ctx->has_minicpmv_projector || ctx->has_qwen2vl_merger) { - // TODO: figure out why we doing thing in this way ??? + if (ctx->has_minicpmv_projector || ctx->has_glm_projector || ctx->has_qwen2vl_merger) { n_layer += 1; } for (int il = 0; il < n_layer - 1; il++) { @@ -1095,7 +1113,33 @@ static ggml_cgraph * clip_image_build_graph(clip_ctx * ctx, const clip_image_f32 GGML_ASSERT(false); } } - else if (ctx->proj_type == PROJECTOR_TYPE_MERGER) { + // glm projector + else if (ctx->has_glm_projector) { + if (ctx->proj_type == PROJECTOR_TYPE_GLM_EDGE) { + size_t gridsz = (size_t)sqrt(embeddings->ne[1]); + embeddings = ggml_cont(ctx0, ggml_permute(ctx0,embeddings,1,0,2,3)); + embeddings = ggml_reshape_3d(ctx0, embeddings, gridsz, gridsz, embeddings->ne[1]); + embeddings = ggml_conv_2d(ctx0, model.mm_model_adapter_conv_w, embeddings, 2, 2, 0, 0, 1, 1); + embeddings = ggml_reshape_3d(ctx0, embeddings,embeddings->ne[0]*embeddings->ne[1] , embeddings->ne[2], batch_size); + embeddings = ggml_cont(ctx0, ggml_permute(ctx0,embeddings, 1, 0, 2, 3)); + embeddings = ggml_add(ctx0, embeddings, model.mm_model_adapter_conv_b); + //GLU + { + embeddings = ggml_mul_mat(ctx0, model.mm_model_mlp_0_w, embeddings); + embeddings = ggml_norm(ctx0, embeddings, eps); + embeddings = ggml_add(ctx0, ggml_mul(ctx0, embeddings, model.mm_model_ln_q_w), model.mm_model_ln_q_b); + embeddings = ggml_gelu_inplace(ctx0, embeddings); + struct ggml_tensor * x = embeddings; + embeddings = ggml_mul_mat(ctx0, model.mm_model_mlp_2_w, embeddings); + x = ggml_mul_mat(ctx0, model.mm_model_mlp_1_w,x); + embeddings = ggml_silu_inplace(ctx0, embeddings); + embeddings = ggml_mul(ctx0, embeddings,x); + embeddings = ggml_mul_mat(ctx0, model.mm_model_mlp_3_w, embeddings); + } + } else { + GGML_ABORT("fatel error"); + } + } else if (ctx->proj_type == PROJECTOR_TYPE_MERGER) { embeddings = ggml_reshape_3d(ctx0, embeddings, hidden_size * 4, num_positions / 4, batch_size); embeddings = ggml_mul_mat(ctx0, model.mm_0_w, embeddings); @@ -1284,6 +1328,11 @@ struct clip_ctx * clip_model_load(const char * fname, const int verbosity = 1) { new_clip->minicpmv_version = gguf_get_val_i32(ctx, idx); } + idx = gguf_find_key(ctx, KEY_HAS_GLM_PROJ); + if (idx != -1) { + new_clip->has_glm_projector = gguf_get_val_bool(ctx, idx); + } + idx = gguf_find_key(ctx, KEY_HAS_QWEN2VL_MERGER); if (idx != -1) { new_clip->has_qwen2vl_merger = gguf_get_val_bool(ctx, idx); @@ -1308,6 +1357,7 @@ struct clip_ctx * clip_model_load(const char * fname, const int verbosity = 1) { LOG_INF("%s: vision_encoder: %d\n", __func__, new_clip->has_vision_encoder); LOG_INF("%s: llava_projector: %d\n", __func__, new_clip->has_llava_projector); LOG_INF("%s: minicpmv_projector: %d\n", __func__, new_clip->has_minicpmv_projector); + LOG_INF("%s: glm_projector: %d\n", __func__, new_clip->has_glm_projector); LOG_INF("%s: model size: %.2f MB\n", __func__, model_size / 1024.0 / 1024.0); LOG_INF("%s: metadata size: %.2f MB\n", __func__, ggml_get_mem_size(meta) / 1024.0 / 1024.0); } @@ -1575,6 +1625,18 @@ struct clip_ctx * clip_model_load(const char * fname, const int verbosity = 1) { vision_model.mm_model_ln_post_w = get_tensor(new_clip->ctx_data, format(TN_MINICPMV_LN, "post", "weight")); vision_model.mm_model_ln_post_b = get_tensor(new_clip->ctx_data, format(TN_MINICPMV_LN, "post", "bias")); } + else if (new_clip->proj_type == PROJECTOR_TYPE_GLM_EDGE) { + vision_model.mm_model_adapter_conv_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPER_CONV, "weight")); + vision_model.mm_model_adapter_conv_b = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPER_CONV, "bias")); + vision_model.mm_model_mlp_0_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_LINEAR,"weight")); + vision_model.mm_model_ln_q_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_NORM_1,"weight")); + vision_model.mm_model_ln_q_b = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_NORM_1,"bias")); + vision_model.mm_model_mlp_1_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_D_H_2_4H,"weight")); + vision_model.mm_model_mlp_2_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_GATE,"weight")); + vision_model.mm_model_mlp_3_w = get_tensor(new_clip->ctx_data, format(TN_GLM_ADAPTER_D_4H_2_H,"weight")); + vision_model.boi_w = get_tensor(new_clip->ctx_data, TN_GLM_BOI_W); + vision_model.eoi_w = get_tensor(new_clip->ctx_data, TN_GLM_EOI_W); + } else if (new_clip->proj_type == PROJECTOR_TYPE_MERGER) { vision_model.mm_0_w = get_tensor(new_clip->ctx_data, format(TN_LLAVA_PROJ, 0, "weight")); vision_model.mm_0_b = get_tensor(new_clip->ctx_data, format(TN_LLAVA_PROJ, 0, "bias")); @@ -2115,6 +2177,20 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, cli return true; } + if (ctx->has_glm_projector) { + res_imgs->size = 1; + res_imgs->data = new clip_image_f32[res_imgs->size]; + clip_image_u8 resized_image; + int32_t sz=ctx->vision_model.hparams.image_size; + bicubic_resize(*img, resized_image,sz,sz); + clip_image_f32 * res = clip_image_f32_init(); + //clip_image_save_to_bmp(resized_image, "resized.bmp"); + normalize_image_u8_to_f32(&resized_image, res, ctx->image_mean, ctx->image_std); + res_imgs->data[0] = *res; + clip_image_f32_free(res); + return true; + } + bool pad_to_square = true; if (!ctx->has_vision_encoder) { LOG_ERR("This gguf file seems to have no vision encoder\n"); @@ -2300,7 +2376,8 @@ void clip_free(clip_ctx * ctx) { } size_t clip_embd_nbytes(const struct clip_ctx * ctx) { - return clip_n_patches(ctx) * clip_n_mmproj_embd(ctx) * sizeof(float); + int extra_tokens = ctx->has_glm_projector ? 2 : 0; + return (clip_n_patches(ctx) + extra_tokens) * clip_n_mmproj_embd(ctx) * sizeof(float); } size_t clip_embd_nbytes_by_img(const struct clip_ctx * ctx, int img_h, int img_w) { @@ -2342,7 +2419,7 @@ int clip_n_patches_by_img(const struct clip_ctx * ctx, struct clip_image_f32 * i int n_patches = (params.image_size / params.patch_size) * (params.image_size / params.patch_size); - if (ctx->proj_type == PROJECTOR_TYPE_LDP || ctx->proj_type == PROJECTOR_TYPE_LDPV2) { + if (ctx->proj_type == PROJECTOR_TYPE_LDP || ctx->proj_type == PROJECTOR_TYPE_LDPV2 || ctx->proj_type == PROJECTOR_TYPE_GLM_EDGE) { n_patches /= 4; } else if (ctx->proj_type == PROJECTOR_TYPE_RESAMPLER) { if (ctx->minicpmv_version == 2) { @@ -2475,6 +2552,12 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima if (ctx->has_minicpmv_projector) { GGML_ASSERT(batch_size == 1); } + if (ctx->has_glm_projector) { + GGML_ASSERT(batch_size == 1); + ggml_tensor * boi = ctx->vision_model.boi_w; + ggml_backend_tensor_get(boi,vec,0,ggml_nbytes(boi)); + vec = (float*)(vec+ggml_nelements(boi)); //offset for boi + } // build the inference graph ggml_cgraph * gf = clip_image_build_graph(ctx, imgs, ctx->load_image_size, true); @@ -2627,7 +2710,7 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima ggml_backend_tensor_set(positions, positions_data, 0, ggml_nbytes(positions)); free(positions_data); - { + if (!ctx->has_glm_projector) { struct ggml_tensor * patches = ggml_graph_get_tensor(gf, "patches"); int* patches_data = (int*)malloc(ggml_nbytes(patches)); for (int i = 0; i < num_patches; i++) { @@ -2651,6 +2734,13 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima // copy the embeddings to the location passed by the user ggml_backend_tensor_get(embeddings, vec, 0, ggml_nbytes(embeddings)); + if (ctx->has_glm_projector) { + //eoi + ggml_tensor * eoi = ctx->vision_model.eoi_w; + int offset = ggml_nelements(embeddings); + ggml_backend_tensor_get(eoi, vec+offset, 0, ggml_nbytes(eoi)); + } + return true; } @@ -2812,6 +2902,9 @@ int clip_n_mmproj_embd(const struct clip_ctx * ctx) { return 3584; } } + if (ctx->proj_type == PROJECTOR_TYPE_GLM_EDGE){ + return ctx->vision_model.mm_model_mlp_3_w->ne[1]; + } if (ctx->proj_type == PROJECTOR_TYPE_MERGER) { return ctx->vision_model.mm_1_b->ne[0]; } @@ -2827,6 +2920,9 @@ int clip_is_minicpmv(const struct clip_ctx * ctx) { return 0; } +bool clip_is_glm(const struct clip_ctx * ctx) { + return ctx->has_glm_projector; +} bool clip_is_qwen2vl(const struct clip_ctx * ctx) { return ctx->has_qwen2vl_merger; } diff --git a/examples/llava/clip.h b/examples/llava/clip.h index 1603edd26..841b4f6f9 100644 --- a/examples/llava/clip.h +++ b/examples/llava/clip.h @@ -93,6 +93,8 @@ CLIP_API bool clip_is_qwen2vl(const struct clip_ctx * ctx); CLIP_API bool clip_encode_float_image (struct clip_ctx * ctx, int n_threads, float * img, int h, int w, float * vec); +CLIP_API bool clip_is_glm(const struct clip_ctx * ctx); + #ifdef __cplusplus } #endif diff --git a/examples/llava/glmedge-convert-image-encoder-to-gguf.py b/examples/llava/glmedge-convert-image-encoder-to-gguf.py new file mode 100644 index 000000000..848ef1cf3 --- /dev/null +++ b/examples/llava/glmedge-convert-image-encoder-to-gguf.py @@ -0,0 +1,280 @@ +import argparse +import os +import json +import re + +import torch +import numpy as np +from gguf import * + +TEXT = "clip.text" +VISION = "clip.vision" +from transformers import SiglipVisionModel, SiglipVisionConfig + +def k(raw_key: str, arch: str) -> str: + return raw_key.format(arch=arch) + + +def should_skip_tensor(name: str, has_text: bool, has_vision: bool, has_llava: bool) -> bool: + if name in ( + "logit_scale", + "text_model.embeddings.position_ids", + "vision_model.embeddings.position_ids", + ): + return True + + if name in ( + "vision_model.head.probe", + "vision_model.head.attention.in_proj_weight", + "vision_model.head.attention.in_proj_bias", + "vision_model.head.attention.out_proj.weight", + "vision_model.head.attention.out_proj.bias", + "vision_model.head.layernorm.weight", + "vision_model.head.layernorm.bias", + "vision_model.head.mlp.fc1.weight", + "vision_model.head.mlp.fc1.bias", + "vision_model.head.mlp.fc2.weight", + "vision_model.head.mlp.fc2.bias" + ): + return True + + if name.startswith("v") and not has_vision: + return True + + if name.startswith("t") and not has_text: + return True + + return False + + +def get_tensor_name(name: str) -> str: + if "projection" in name: + return name + if "mm_projector" in name: + name = name.replace("model.mm_projector", "mm") + name = re.sub(r'mm\.mlp\.mlp', 'mm.model.mlp', name, count=1) + name = re.sub(r'mm\.peg\.peg', 'mm.model.peg', name, count=1) + return name + + return name.replace("text_model", "t").replace("vision_model", "v").replace("encoder.layers", "blk").replace("embeddings.", "").replace("_proj", "").replace("self_attn.", "attn_").replace("layer_norm", "ln").replace("layernorm", "ln").replace("mlp.fc1", "ffn_down").replace("mlp.fc2", "ffn_up").replace("embedding", "embd").replace("final", "post").replace("layrnorm", "ln") + + +def bytes_to_unicode(): + """ + Returns list of utf-8 byte and a corresponding list of unicode strings. + The reversible bpe codes work on unicode strings. + This means you need a large # of unicode characters in your vocab if you want to avoid UNKs. + When you're at something like a 10B token dataset you end up needing around 5K for decent coverage. + This is a significant percentage of your normal, say, 32K bpe vocab. + To avoid that, we want lookup tables between utf-8 bytes and unicode strings. + And avoids mapping to whitespace/control characters the bpe code barfs on. + """ + bs = ( + list(range(ord("!"), ord("~") + 1)) + + list(range(ord("¡"), ord("¬") + 1)) + + list(range(ord("®"), ord("ÿ") + 1)) + ) + cs = bs[:] + n = 0 + for b in range(2**8): + if b not in bs: + bs.append(b) + cs.append(2**8 + n) + n += 1 + cs = [chr(n) for n in cs] + return dict(zip(bs, cs)) + + +ap = argparse.ArgumentParser() +ap.add_argument("-m", "--model-dir", help="Path to model directory cloned from HF Hub", required=True) +ap.add_argument("--use-f32", action="store_true", default=False, help="Use f32 instead of f16") +ap.add_argument("--text-only", action="store_true", required=False, + help="Save a text-only model. It can't be used to encode images") +ap.add_argument("--vision-only", action="store_true", required=False, + help="Save a vision-only model. It can't be used to encode texts") +ap.add_argument("--clip-model-is-vision", action="store_true", required=False, + help="The clip model is a pure vision model (ShareGPT4V vision extract for example)") +ap.add_argument("--clip-model-is-openclip", action="store_true", required=False, + help="The clip model is from openclip (for ViT-SO400M type))") +ap.add_argument("--llava-projector", help="Path to llava.projector file. If specified, save an image encoder for LLaVA models.") +ap.add_argument("--projector-type", help="Type of projector. Possible values: mlp, ldp, ldpv2", choices=["mlp", "ldp", "ldpv2","adapter"], default="adapter") +ap.add_argument("-o", "--output-dir", help="Directory to save GGUF files. Default is the original model directory", default=None) +# Example --image_mean 0.48145466 0.4578275 0.40821073 --image_std 0.26862954 0.26130258 0.27577711 +# Example --image_mean 0.5 0.5 0.5 --image_std 0.5 0.5 0.5 +default_image_mean = [0.5, 0.5, 0.5] +default_image_std = [0.5, 0.5, 0.5] +ap.add_argument('--image-mean', type=float, nargs='+', help='Mean of the images for normalization (overrides processor) ', default=None) +ap.add_argument('--image-std', type=float, nargs='+', help='Standard deviation of the images for normalization (overrides processor)', default=None) + +# with proper +args = ap.parse_args() + + +if args.text_only and args.vision_only: + print("--text-only and --image-only arguments cannot be specified at the same time.") + exit(1) + +if args.use_f32: + print("WARNING: Weights for the convolution op is always saved in f16, as the convolution op in GGML does not support 32-bit kernel weights yet.") + +# output in the same directory as the model if output_dir is None +dir_model = args.model_dir + +if args.clip_model_is_vision or not os.path.exists(dir_model + "/vocab.json") or args.clip_model_is_openclip: + vocab = None + tokens = None +else: + with open(dir_model + "/vocab.json", "r", encoding="utf-8") as f: + vocab = json.load(f) + tokens = [key for key in vocab] + +with open(dir_model + "/config.json", "r", encoding="utf-8") as f: + config = json.load(f) + if args.clip_model_is_vision: + v_hparams = config + t_hparams = None + else: + v_hparams = config["vision_config"] + t_hparams = None + +# possible data types +# ftype == 0 -> float32 +# ftype == 1 -> float16 +# +# map from ftype to string +ftype_str = ["f32", "f16"] + +ftype = 1 +if args.use_f32: + ftype = 0 + +vision_config = SiglipVisionConfig(**v_hparams) +model = SiglipVisionModel(vision_config) +model.load_state_dict(torch.load(os.path.join(dir_model, "glm.clip"))) + +fname_middle = None +has_text_encoder = False +has_vision_encoder = True +has_glm_projector = True +if args.text_only: + fname_middle = "text-" + has_vision_encoder = False +elif args.llava_projector is not None: + fname_middle = "mmproj-" + has_text_encoder = False + has_glm_projector = True +elif args.vision_only: + fname_middle = "vision-" + has_text_encoder = False +else: + fname_middle = "" + +output_dir = args.output_dir if args.output_dir is not None else dir_model +os.makedirs(output_dir, exist_ok=True) +output_prefix = os.path.basename(output_dir).replace("ggml_", "") +fname_out = os.path.join(output_dir, f"{fname_middle}model-{ftype_str[ftype]}.gguf") +fout = GGUFWriter(path=fname_out, arch="clip") + +fout.add_bool("clip.has_text_encoder", has_text_encoder) +fout.add_bool("clip.has_vision_encoder", has_vision_encoder) +fout.add_bool("clip.has_glm_projector", has_glm_projector) +fout.add_file_type(ftype) +model_name = config["_name_or_path"] if "_name_or_path" in config else os.path.basename(dir_model) +fout.add_name(model_name) +if has_glm_projector: + fout.add_description("image encoder for glm4v") + fout.add_string("clip.projector_type", "adapter") +else: + fout.add_description("two-tower CLIP model") + +if has_text_encoder: + assert t_hparams is not None + assert tokens is not None + # text_model hparams + fout.add_uint32(k(KEY_CONTEXT_LENGTH, TEXT), t_hparams["max_position_embeddings"]) + fout.add_uint32(k(KEY_EMBEDDING_LENGTH, TEXT), t_hparams["hidden_size"]) + fout.add_uint32(k(KEY_FEED_FORWARD_LENGTH, TEXT), t_hparams["intermediate_size"]) + fout.add_uint32("clip.text.projection_dim", t_hparams.get("projection_dim", config["projection_dim"])) + fout.add_uint32(k(KEY_ATTENTION_HEAD_COUNT, TEXT), t_hparams["num_attention_heads"]) + fout.add_float32(k(KEY_ATTENTION_LAYERNORM_EPS, TEXT), t_hparams["layer_norm_eps"]) + fout.add_uint32(k(KEY_BLOCK_COUNT, TEXT), t_hparams["num_hidden_layers"]) + fout.add_token_list(tokens) + +if has_vision_encoder: + # vision_model hparams + fout.add_uint32("clip.vision.image_size", v_hparams["image_size"]) + fout.add_uint32("clip.vision.patch_size", v_hparams["patch_size"]) + fout.add_uint32(k(KEY_EMBEDDING_LENGTH, VISION), v_hparams["hidden_size"]) + fout.add_uint32(k(KEY_FEED_FORWARD_LENGTH, VISION), v_hparams["intermediate_size"]) + fout.add_uint32("clip.vision.projection_dim", 0) + fout.add_uint32(k(KEY_ATTENTION_HEAD_COUNT, VISION), v_hparams["num_attention_heads"]) + fout.add_float32(k(KEY_ATTENTION_LAYERNORM_EPS, VISION), 1e-6) + fout.add_uint32(k(KEY_BLOCK_COUNT, VISION), v_hparams["num_hidden_layers"]) + + image_mean = args.image_mean if args.image_mean is not None else default_image_mean + image_std = args.image_std if args.image_std is not None else default_image_std + fout.add_array("clip.vision.image_mean", image_mean) + fout.add_array("clip.vision.image_std", image_std) + +fout.add_bool("clip.use_gelu", True) + + +if has_glm_projector: + # model.vision_model.encoder.layers.pop(-1) # pyright: ignore[reportAttributeAccessIssue] + projector = torch.load(args.llava_projector) + for name, data in projector.items(): + name = get_tensor_name(name) + # pw and dw conv ndim==4 + if data.ndim == 2 or data.ndim == 4: + data = data.squeeze().numpy().astype(np.float16) + else: + data = data.squeeze().numpy().astype(np.float32) + if name.startswith("vision."): + name=name.replace("vision.","") + fout.add_tensor(name, data) + print(f"Projector {name} - {data.dtype} - shape = {data.shape}") + # print(f"Projector {name} tensors added\n") + +state_dict = model.state_dict() # pyright: ignore[reportAttributeAccessIssue] +for name, data in state_dict.items(): + if should_skip_tensor(name, has_text_encoder, has_vision_encoder, has_glm_projector): + # we don't need this + print(f"skipping parameter: {name}") + continue + + name = get_tensor_name(name) + data = data.squeeze().numpy() + + n_dims = len(data.shape) + + # ftype == 0 -> float32, ftype == 1 -> float16 + ftype_cur = 0 + if n_dims == 4: + print(f"tensor {name} is always saved in f16") + data = data.astype(np.float16) + ftype_cur = 1 + elif ftype == 1: + if name[-7:] == ".weight" and n_dims == 2: + # print(" Converting to float16") + data = data.astype(np.float16) + ftype_cur = 1 + else: + # print(" Converting to float32") + data = data.astype(np.float32) + ftype_cur = 0 + else: + if data.dtype != np.float32: + # print(" Converting to float32") + data = data.astype(np.float32) + ftype_cur = 0 + print(f"siglip {name} - {data.dtype} - shape = {data.shape}") + # print(f"{name} - {ftype_str[ftype_cur]} - shape = {data.shape}") + fout.add_tensor(name, data) + + +fout.write_header_to_file() +fout.write_kv_data_to_file() +fout.write_tensors_to_file() +fout.close() + +print("Done. Output file: " + fname_out) diff --git a/examples/llava/glmedge-surgery.py b/examples/llava/glmedge-surgery.py new file mode 100644 index 000000000..16bb915d0 --- /dev/null +++ b/examples/llava/glmedge-surgery.py @@ -0,0 +1,33 @@ +import argparse +import os +import torch +from transformers import AutoModel + +ap = argparse.ArgumentParser() +ap.add_argument("-m", "--model", help="Path to GLM model") +args = ap.parse_args() + +# find the model part that includes the the multimodal projector weights +model = AutoModel.from_pretrained(args.model, trust_remote_code=True, local_files_only=True) +checkpoint = model.state_dict() + +# get a list of mm tensor names +mm_tensors = [k for k, v in checkpoint.items() if k.startswith("vision.adapter.")] + +# store these tensors in a new dictionary and torch.save them +projector = {name: checkpoint[name].float() for name in mm_tensors} +torch.save(projector, f"{args.model}/glm.projector") + +clip_tensors = [k for k, v in checkpoint.items() if k.startswith("vision.vit.model.vision_model.")] +if len(clip_tensors) > 0: + clip = {name.replace("vision.vit.model.", ""): checkpoint[name].float() for name in clip_tensors} + torch.save(clip, f"{args.model}/glm.clip") + + # added tokens should be removed to be able to convert Mistral models + if os.path.exists(f"{args.model}/added_tokens.json"): + with open(f"{args.model}/added_tokens.json", "w") as f: + f.write("{}\n") + +print("Done!") +print(f"Now you can convert {args.model} to a regular LLaMA GGUF file.") +print(f"Also, use {args.model}glm.projector to prepare a glm-encoder.gguf file.") diff --git a/examples/llava/llava.cpp b/examples/llava/llava.cpp index 2cac7933d..300714045 100644 --- a/examples/llava/llava.cpp +++ b/examples/llava/llava.cpp @@ -311,6 +311,20 @@ static bool encode_image_with_clip(clip_ctx * ctx_clip, int n_threads, const cli img_res_v.size = 0; img_res_v.data = nullptr; } + else if (clip_is_glm(ctx_clip)){ + struct clip_image_size * load_image_size = clip_image_size_init(); + load_image_size->width = img_res_v.data[0].nx; + load_image_size->height = img_res_v.data[0].ny; + clip_add_load_image_size(ctx_clip, load_image_size); + + bool encoded = clip_image_encode(ctx_clip, n_threads, &img_res_v.data[0], image_embd); + int pos = int(load_image_size->width/clip_patch_size(ctx_clip)/2); + *n_img_pos = (pos * pos + 2); + if (!encoded){ + LOG_ERR("Unable to encode image \n"); + return false; + } + } else if (strcmp(mm_patch_merge_type, "spatial_unpad") != 0) { // flat / default llava-1.5 type embedding *n_img_pos = clip_n_patches(ctx_clip); @@ -395,6 +409,9 @@ bool llava_image_embed_make_with_clip_img(clip_ctx * ctx_clip, int n_threads, co if (clip_is_minicpmv(ctx_clip)) { num_max_patches = 10; } + if (clip_is_glm(ctx_clip)) { + num_max_patches = 1; + } float * image_embd; if (clip_is_qwen2vl(ctx_clip)) { // qwen2vl don't split image into chunks, so `num_max_patches` is not needed. diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 8fe84df21..ecac5b4bb 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -1357,6 +1357,9 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = { MODEL_TENSOR.OUTPUT, MODEL_TENSOR.ATTN_NORM, MODEL_TENSOR.ATTN_QKV, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_V, MODEL_TENSOR.ATTN_OUT, MODEL_TENSOR.FFN_NORM, MODEL_TENSOR.FFN_DOWN, diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index a7260f495..97a1e7e5e 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -1024,6 +1024,9 @@ static const std::map> LLM_TENSOR_N { LLM_TENSOR_OUTPUT, "output" }, { LLM_TENSOR_ATTN_NORM, "blk.%d.attn_norm" }, { LLM_TENSOR_ATTN_QKV, "blk.%d.attn_qkv" }, + { LLM_TENSOR_ATTN_Q, "blk.%d.attn_q" }, + { LLM_TENSOR_ATTN_K, "blk.%d.attn_k" }, + { LLM_TENSOR_ATTN_V, "blk.%d.attn_v" }, { LLM_TENSOR_ATTN_OUT, "blk.%d.attn_output" }, { LLM_TENSOR_FFN_NORM, "blk.%d.ffn_norm" }, { LLM_TENSOR_FFN_UP, "blk.%d.ffn_up" }, diff --git a/src/llama-chat.cpp b/src/llama-chat.cpp index 5c19bab24..028a64794 100644 --- a/src/llama-chat.cpp +++ b/src/llama-chat.cpp @@ -51,6 +51,7 @@ static const std::map LLM_CHAT_TEMPLATES = { { "llama3", LLM_CHAT_TEMPLATE_LLAMA_3 }, { "chatglm3", LLM_CHAT_TEMPLATE_CHATGML_3 }, { "chatglm4", LLM_CHAT_TEMPLATE_CHATGML_4 }, + { "glmedge", LLM_CHAT_TEMPLATE_GLMEDGE }, { "minicpm", LLM_CHAT_TEMPLATE_MINICPM }, { "exaone3", LLM_CHAT_TEMPLATE_EXAONE_3 }, { "rwkv-world", LLM_CHAT_TEMPLATE_RWKV_WORLD }, @@ -115,7 +116,7 @@ llm_chat_template llm_chat_detect_template(const std::string & tmpl) { } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|end|>")) { return LLM_CHAT_TEMPLATE_PHI_3; } else if (tmpl_contains("<|assistant|>") && tmpl_contains("<|user|>")) { - return LLM_CHAT_TEMPLATE_FALCON_3; + return tmpl_contains("") ? LLM_CHAT_TEMPLATE_FALCON_3 : LLM_CHAT_TEMPLATE_GLMEDGE; } else if (tmpl_contains("<|user|>") && tmpl_contains("<|endoftext|>")) { return LLM_CHAT_TEMPLATE_ZEPHYR; } else if (tmpl_contains("bos_token + message['role']")) { @@ -440,6 +441,14 @@ int32_t llm_chat_apply_template( if (add_ass) { ss << "<|assistant|>"; } + } else if (tmpl == LLM_CHAT_TEMPLATE_GLMEDGE) { + for (auto message : chat) { + std::string role(message->role); + ss << "<|" << role << "|>" << "\n" << message->content; + } + if (add_ass) { + ss << "<|assistant|>"; + } } else if (tmpl == LLM_CHAT_TEMPLATE_MINICPM) { // MiniCPM-3B-OpenHermes-2.5-v2-GGUF for (auto message : chat) { diff --git a/src/llama-chat.h b/src/llama-chat.h index 3a4d07ce3..2f6a0e3e2 100644 --- a/src/llama-chat.h +++ b/src/llama-chat.h @@ -31,6 +31,7 @@ enum llm_chat_template { LLM_CHAT_TEMPLATE_LLAMA_3, LLM_CHAT_TEMPLATE_CHATGML_3, LLM_CHAT_TEMPLATE_CHATGML_4, + LLM_CHAT_TEMPLATE_GLMEDGE, LLM_CHAT_TEMPLATE_MINICPM, LLM_CHAT_TEMPLATE_EXAONE_3, LLM_CHAT_TEMPLATE_RWKV_WORLD, diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 18bd0b071..0487c978b 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1093,8 +1093,20 @@ void llama_model::load_hparams(llama_model_loader & ml) { { ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); switch (hparams.n_layer) { - case 28: type = LLM_TYPE_6B; break; - case 40: type = LLM_TYPE_9B; break; + case 28: { + if (hparams.n_head(0) == 16) { + type = LLM_TYPE_1_5B; + } else { + type = LLM_TYPE_6B; + } + } break; + case 40: { + if (hparams.n_head(0) == 24) { + type = LLM_TYPE_4B; + } else { + type = LLM_TYPE_9B; + } + } break; default: type = LLM_TYPE_UNKNOWN; } } break; @@ -3068,9 +3080,17 @@ bool llama_model::load_tensors(llama_model_loader & ml) { auto & layer = layers[i]; layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), {n_embd}, 0); + layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), {n_embd, n_embd + 2*n_embd_gqa}, llama_model_loader::TENSOR_NOT_REQUIRED); + layer.bqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "bias", i), {n_embd + 2*n_embd_gqa}, llama_model_loader::TENSOR_NOT_REQUIRED); - layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), {n_embd, n_embd + 2*n_embd_gqa}, 0); - layer.bqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "bias", i), {n_embd + 2*n_embd_gqa}, 0); + if (layer.wqkv == nullptr) { + layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), {n_embd, n_embd_head_k * n_head}, 0); + layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), {n_embd, n_embd_k_gqa}, 0); + layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), {n_embd, n_embd_v_gqa}, 0); + layer.bq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "bias", i), {n_embd}, llama_model_loader::TENSOR_NOT_REQUIRED); + layer.bk = create_tensor(tn(LLM_TENSOR_ATTN_K, "bias", i), {n_embd_gqa}, llama_model_loader::TENSOR_NOT_REQUIRED); + layer.bv = create_tensor(tn(LLM_TENSOR_ATTN_V, "bias", i), {n_embd_gqa}, llama_model_loader::TENSOR_NOT_REQUIRED); + } layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), {n_embd, n_embd}, 0); diff --git a/src/llama.cpp b/src/llama.cpp index 192b20a27..5760017e0 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -7215,17 +7215,30 @@ struct llm_build_context { struct ggml_tensor * Qcur = nullptr; struct ggml_tensor * Kcur = nullptr; struct ggml_tensor * Vcur = nullptr; - - cur = llm_build_lora_mm(lctx, ctx0, model.layers[il].wqkv, cur); - cb(cur, "wqkv", il); - - cur = ggml_add(ctx0, cur, model.layers[il].bqkv); - cb(cur, "bqkv", il); - - Qcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd, n_tokens, cur->nb[1], 0*sizeof(float)*(n_embd))); - Kcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd_gqa, n_tokens, cur->nb[1], 1*sizeof(float)*(n_embd))); - Vcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd_gqa, n_tokens, cur->nb[1], 1*sizeof(float)*(n_embd + n_embd_gqa))); - + if (model.type == LLM_TYPE_1_5B || model.type == LLM_TYPE_4B || model.type == LLM_TYPE_9B) { + Qcur = llm_build_lora_mm(lctx, ctx0, model.layers[il].wq, cur); + if (model.layers[il].bq) { + Qcur = ggml_add(ctx0, Qcur, model.layers[il].bq); + } + Kcur = llm_build_lora_mm(lctx, ctx0, model.layers[il].wk, cur); + if (model.layers[il].bk) { + Kcur = ggml_add(ctx0, Kcur, model.layers[il].bk); + } + Vcur = llm_build_lora_mm(lctx, ctx0, model.layers[il].wv, cur); + if (model.layers[il].bv) { + Vcur = ggml_add(ctx0, Vcur, model.layers[il].bv); + } + } else { + cur = llm_build_lora_mm(lctx, ctx0, model.layers[il].wqkv, cur); + cb(cur, "wqkv", il); + if (model.layers[il].bqkv) { + cur = ggml_add(ctx0, cur, model.layers[il].bqkv); + cb(cur, "bqkv", il); + } + Qcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd, n_tokens, cur->nb[1], 0*sizeof(float)*(n_embd))); + Kcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd_gqa, n_tokens, cur->nb[1], 1*sizeof(float)*(n_embd))); + Vcur = ggml_cont(ctx0, ggml_view_2d(ctx0, cur, n_embd_gqa, n_tokens, cur->nb[1], 1*sizeof(float)*(n_embd + n_embd_gqa))); + } cb(Qcur, "Qcur", il); cb(Kcur, "Kcur", il); cb(Vcur, "Vcur", il); diff --git a/tests/test-chat-template.cpp b/tests/test-chat-template.cpp index 4563f9dcb..e0314ae1d 100644 --- a/tests/test-chat-template.cpp +++ b/tests/test-chat-template.cpp @@ -175,6 +175,14 @@ int main(void) { /* .bos_token= */ "", /* .eos_token= */ "", }, + { + /* .name= */ "GLMEdge", + /* .template_str= */ "{% for item in messages %}{% if item['role'] == 'system' %}<|system|>\n{{ item['content'] }}{% elif item['role'] == 'user' %}<|user|>\n{{ item['content'] }}{% elif item['role'] == 'assistant' %}<|assistant|>\n{{ item['content'] }}{% endif %}{% endfor %}<|assistant|>", + /* .expected_output= */ "<|system|>\nYou are a helpful assistant<|user|>\nHello<|assistant|>\nHi there<|user|>\nWho are you<|assistant|>\n I am an assistant <|user|>\nAnother question<|assistant|>", + /* .expected_output_jinja= */ "<|system|>\nYou are a helpful assistant<|user|>\nHello<|assistant|>\nHi there<|user|>\nWho are you<|assistant|>\n I am an assistant <|user|>\nAnother question<|assistant|>", + /* .bos_token= */ "", + /* .eos_token= */ "", + }, { /* .name= */ "MiniCPM-3B-OpenHermes-2.5-v2-GGUF", /* .template_str= */ u8"{% for message in messages %}{% if message['role'] == 'user' %}{{'<用户>' + message['content'].strip() + ''}}{% else %}{{message['content'].strip()}}{% endif %}{% endfor %}", From ff227703d6d6e1888bdc7af6138514092ffcdb96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Moskal?= Date: Sat, 1 Feb 2025 23:55:32 -0800 Subject: [PATCH 13/77] sampling : support for llguidance grammars (#10224) * initial porting of previous LLG patch * update for new APIs * build: integrate llguidance as an external project * use '%llguidance' as marker to enable llg lark syntax * add some docs * clarify docs * code style fixes * remove llguidance.h from .gitignore * fix tests when llg is enabled * pass vocab not model to llama_sampler_init_llg() * copy test-grammar-integration.cpp to test-llguidance.cpp * clang fmt * fix ref-count bug * build and run test * gbnf -> lark syntax * conditionally include llguidance test based on LLAMA_LLGUIDANCE flag * rename llguidance test file to test-grammar-llguidance.cpp * add gh action for llg test * align tests with LLG grammar syntax and JSON Schema spec * llama_tokenizer() in fact requires valid utf8 * update llg * format file * add $LLGUIDANCE_LOG_LEVEL support * fix whitespace * fix warning * include for INFINITY * add final newline * fail llama_sampler_init_llg() at runtime * Link gbnf_to_lark.py script; fix links; refer to llg docs for lexemes * simplify #includes * improve doc string for LLAMA_LLGUIDANCE * typo in merge * bump llguidance to 0.6.12 --- .github/workflows/build.yml | 30 + CMakeLists.txt | 1 + common/CMakeLists.txt | 28 + common/json-schema-to-grammar.cpp | 9 +- common/json-schema-to-grammar.h | 3 +- common/llguidance.cpp | 270 ++++++ common/sampling.cpp | 22 +- common/sampling.h | 3 + docs/llguidance.md | 51 ++ tests/CMakeLists.txt | 3 + tests/test-grammar-integration.cpp | 2 +- tests/test-grammar-llguidance.cpp | 1140 +++++++++++++++++++++++++ tests/test-json-schema-to-grammar.cpp | 2 +- 13 files changed, 1555 insertions(+), 9 deletions(-) create mode 100644 common/llguidance.cpp create mode 100644 docs/llguidance.md create mode 100644 tests/test-grammar-llguidance.cpp diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7392f2bfe..8f9c82f87 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -302,6 +302,36 @@ jobs: cd build ctest -L main --verbose --timeout 900 + ubuntu-latest-llguidance: + runs-on: ubuntu-latest + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Dependencies + id: depends + run: | + sudo apt-get update + sudo apt-get install build-essential + + - name: Build + id: cmake_build + run: | + mkdir build + cd build + cmake .. \ + -DLLAMA_FATAL_WARNINGS=ON \ + -DLLAMA_LLGUIDANCE=ON + cmake --build . --config Release -j $(nproc) + + - name: Test + id: cmake_test + run: | + cd build + ctest -L main --verbose --timeout 900 + ubuntu-latest-cmake-rpc: runs-on: ubuntu-latest diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c62d1788..74b48d24d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,6 +80,7 @@ option(LLAMA_BUILD_SERVER "llama: build server example" ${LLAMA_STANDALONE}) # 3rd party libs option(LLAMA_CURL "llama: use libcurl to download model from an URL" OFF) +option(LLAMA_LLGUIDANCE "llama-common: include LLGuidance library for structured output in common utils" OFF) # Required for relocatable CMake package include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/build-info.cmake) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 72f0915c1..e61015d2a 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -65,6 +65,7 @@ add_library(${TARGET} STATIC console.h json-schema-to-grammar.cpp json.hpp + llguidance.cpp log.cpp log.h minja.hpp @@ -91,6 +92,33 @@ if (LLAMA_CURL) set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARY}) endif () +if (LLAMA_LLGUIDANCE) + include(ExternalProject) + set(LLGUIDANCE_SRC ${CMAKE_BINARY_DIR}/llguidance/source) + set(LLGUIDANCE_PATH ${LLGUIDANCE_SRC}/target/release) + ExternalProject_Add(llguidance_ext + GIT_REPOSITORY https://github.com/guidance-ai/llguidance + # v0.6.12: + GIT_TAG ced1c9023d47ec194fa977932d35ce65c2ebfc09 + PREFIX ${CMAKE_BINARY_DIR}/llguidance + SOURCE_DIR ${LLGUIDANCE_SRC} + BUILD_IN_SOURCE TRUE + CONFIGURE_COMMAND "" + BUILD_COMMAND cargo build --release + INSTALL_COMMAND "" + BUILD_BYPRODUCTS ${LLGUIDANCE_PATH}/libllguidance.a ${LLGUIDANCE_PATH}/llguidance.h + UPDATE_COMMAND "" + ) + target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_LLGUIDANCE) + + add_library(llguidance STATIC IMPORTED) + set_target_properties(llguidance PROPERTIES IMPORTED_LOCATION ${LLGUIDANCE_PATH}/libllguidance.a) + add_dependencies(llguidance llguidance_ext) + + target_include_directories(${TARGET} PRIVATE ${LLGUIDANCE_PATH}) + set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} llguidance) +endif () + target_include_directories(${TARGET} PUBLIC .) target_compile_features (${TARGET} PUBLIC cxx_std_17) target_link_libraries (${TARGET} PRIVATE ${LLAMA_COMMON_EXTRA_LIBS} PUBLIC llama Threads::Threads) diff --git a/common/json-schema-to-grammar.cpp b/common/json-schema-to-grammar.cpp index 1f47e313e..3ebcc3d9f 100644 --- a/common/json-schema-to-grammar.cpp +++ b/common/json-schema-to-grammar.cpp @@ -991,7 +991,14 @@ public: } }; -std::string json_schema_to_grammar(const json & schema) { +std::string json_schema_to_grammar(const json & schema, bool force_gbnf) { +#ifdef LLAMA_USE_LLGUIDANCE + if (!force_gbnf) { + return "%llguidance {}\nstart: %json " + schema.dump(); + } +#else + (void)force_gbnf; +#endif // LLAMA_USE_LLGUIDANCE return build_grammar([&](const common_grammar_builder & callbacks) { auto copy = schema; callbacks.resolve_refs(copy); diff --git a/common/json-schema-to-grammar.h b/common/json-schema-to-grammar.h index ba4112cb9..62a3b0a44 100644 --- a/common/json-schema-to-grammar.h +++ b/common/json-schema-to-grammar.h @@ -5,7 +5,8 @@ #define JSON_ASSERT GGML_ASSERT #include "json.hpp" -std::string json_schema_to_grammar(const nlohmann::ordered_json & schema); +std::string json_schema_to_grammar(const nlohmann::ordered_json & schema, + bool force_gbnf = false); struct common_grammar_builder { std::function add_rule; diff --git a/common/llguidance.cpp b/common/llguidance.cpp new file mode 100644 index 000000000..7aa8ddd80 --- /dev/null +++ b/common/llguidance.cpp @@ -0,0 +1,270 @@ +#include "sampling.h" +#include "log.h" + +#ifdef LLAMA_USE_LLGUIDANCE + +# include "llguidance.h" +# include + +struct llama_sampler_llg { + const llama_vocab * vocab; + std::string grammar_kind; + std::string grammar_data; + LlgTokenizer * tokenizer; + LlgConstraint * grammar; + LlgMaskResult llg_res; + bool has_llg_res; +}; + +static LlgConstraint * llama_sampler_llg_new(LlgTokenizer * tokenizer, const char * grammar_kind, + const char * grammar_data) { + LlgConstraintInit cinit; + llg_constraint_init_set_defaults(&cinit, tokenizer); + const char * log_level = getenv("LLGUIDANCE_LOG_LEVEL"); + if (log_level && *log_level) { + cinit.log_stderr_level = atoi(log_level); + } + auto c = llg_new_constraint_any(&cinit, grammar_kind, grammar_data); + if (llg_get_error(c)) { + LOG_ERR("llg error: %s\n", llg_get_error(c)); + llg_free_constraint(c); + return nullptr; + } + return c; +} + +static const char * llama_sampler_llg_name(const llama_sampler * /*smpl*/) { + return "llguidance"; +} + +static void llama_sampler_llg_accept_impl(llama_sampler * smpl, llama_token token) { + auto * ctx = (llama_sampler_llg *) smpl->ctx; + if (ctx->grammar) { + LlgCommitResult res; + llg_commit_token(ctx->grammar, token, &res); + ctx->has_llg_res = false; + } +} + +static void llama_sampler_llg_apply(llama_sampler * smpl, llama_token_data_array * cur_p) { + auto * ctx = (llama_sampler_llg *) smpl->ctx; + if (ctx->grammar) { + if (!ctx->has_llg_res) { + if (llg_compute_mask(ctx->grammar, &ctx->llg_res) == 0) { + ctx->has_llg_res = true; + } else { + LOG_ERR("llg error: %s\n", llg_get_error(ctx->grammar)); + llg_free_constraint(ctx->grammar); + ctx->grammar = nullptr; + } + } + if (ctx->has_llg_res) { + if (ctx->llg_res.is_stop) { + for (size_t i = 0; i < cur_p->size; ++i) { + if (!llama_vocab_is_eog(ctx->vocab, cur_p->data[i].id)) { + cur_p->data[i].logit = -INFINITY; + } + } + } else { + const uint32_t * mask = ctx->llg_res.sample_mask; + for (size_t i = 0; i < cur_p->size; ++i) { + auto token = cur_p->data[i].id; + if ((mask[token / 32] & (1 << (token % 32))) == 0) { + cur_p->data[i].logit = -INFINITY; + } + } + } + } + } +} + +static void llama_sampler_llg_reset(llama_sampler * smpl) { + auto * ctx = (llama_sampler_llg *) smpl->ctx; + if (!ctx->grammar) { + return; + } + + auto * grammar_new = llama_sampler_llg_new(ctx->tokenizer, ctx->grammar_kind.c_str(), ctx->grammar_data.c_str()); + llg_free_constraint(ctx->grammar); + ctx->grammar = grammar_new; + ctx->has_llg_res = false; +} + +static llama_sampler * llama_sampler_llg_clone(const llama_sampler * smpl) { + const auto * ctx = (const llama_sampler_llg *) smpl->ctx; + + auto * result = llama_sampler_init_llg(ctx->vocab, nullptr, nullptr); + + // copy the state + { + auto * result_ctx = (llama_sampler_llg *) result->ctx; + + if (ctx->grammar) { + result_ctx->grammar_kind = ctx->grammar_kind; + result_ctx->grammar_data = ctx->grammar_data; + result_ctx->grammar = llg_clone_constraint(ctx->grammar); + result_ctx->tokenizer = llg_clone_tokenizer(ctx->tokenizer); + } + } + + return result; +} + +static void llama_sampler_llg_free(llama_sampler * smpl) { + const auto * ctx = (llama_sampler_llg *) smpl->ctx; + + if (ctx->grammar) { + llg_free_constraint(ctx->grammar); + llg_free_tokenizer(ctx->tokenizer); + } + + delete ctx; +} + +static llama_sampler_i llama_sampler_llg_i = { + /* .name = */ llama_sampler_llg_name, + /* .accept = */ llama_sampler_llg_accept_impl, + /* .apply = */ llama_sampler_llg_apply, + /* .reset = */ llama_sampler_llg_reset, + /* .clone = */ llama_sampler_llg_clone, + /* .free = */ llama_sampler_llg_free, +}; + +static size_t llama_sampler_llg_tokenize_fn(const void * user_data, const uint8_t * bytes, size_t bytes_len, + uint32_t * output_tokens, size_t output_tokens_len) { + const llama_vocab * vocab = (const llama_vocab *) user_data; + int r = 0; + try { + r = llama_tokenize(vocab, (const char *) bytes, bytes_len, (int32_t *) output_tokens, output_tokens_len, false, + true); + } catch (const std::exception & e) { + GGML_ABORT("llama_tokenize failed: %s\n", e.what()); + } + if (r < 0) { + return -r; + } + return r; +} + +static LlgTokenizer * llama_sampler_llg_new_tokenizer(const llama_vocab * vocab) { + // TODO store the tokenizer in the vocab somehow + static const llama_vocab * vocab_cache; + static LlgTokenizer * tokenizer_cache; + + if (vocab_cache == vocab) { + return llg_clone_tokenizer(tokenizer_cache); + } + + auto tok_eos = llama_vocab_eot(vocab); + if (tok_eos == LLAMA_TOKEN_NULL) { + tok_eos = llama_vocab_eos(vocab); + } + + size_t vocab_size = llama_vocab_n_tokens(vocab); + + auto token_lens = new uint32_t[vocab_size]; + // we typically have ~7 bytes per token; let's go on the safe side here + auto token_bytes_size = vocab_size * 16 + 1024 * 1024; + auto token_bytes = new uint8_t[token_bytes_size]; + + size_t offset = 0; + for (size_t i = 0; i < vocab_size; i++) { + size_t max_token = 1024; + if (token_bytes_size - offset < max_token) { + GGML_ABORT("token_bytes buffer too small\n"); + } + + llama_token token = i; + auto dp = (char *) token_bytes + offset; + auto size = llama_detokenize(vocab, &token, 1, dp, max_token, false, false); + if (size < 0) { + GGML_ABORT("llama_detokenize failed\n"); + } + if (size == 0) { + size = llama_detokenize(vocab, &token, 1, dp + 1, max_token - 1, false, true); + if (size < 0) { + GGML_ABORT("llama_detokenize failed\n"); + } + if (size != 0) { + *dp = '\xff'; // special token prefix marker + size += 1; + } + } + + token_lens[i] = size; + offset += size; + } + + LlgTokenizerInit tinit = { + /* .vocab_size = */ (uint32_t) vocab_size, + /* .tok_eos = */ (uint32_t) tok_eos, + /* .token_lens = */ token_lens, + /* .token_bytes = */ token_bytes, + /* .tokenizer_json = */ nullptr, + /* .tokenize_assumes_string = */ true, + /* .tokenize_fn = */ llama_sampler_llg_tokenize_fn, + /* .use_approximate_greedy_tokenize_fn = */ false, + /* .tokenize_user_data = */ vocab, + }; + + char error_buffer[1024]; + LlgTokenizer * tokenizer = llg_new_tokenizer(&tinit, error_buffer, sizeof(error_buffer)); + + delete[] token_bytes; + delete[] token_lens; + + if (tokenizer == nullptr) { + LOG_ERR("llg tokenizer error: %s\n", error_buffer); + return tokenizer; + } + + if (tokenizer_cache) { + llg_free_tokenizer(tokenizer_cache); + } + vocab_cache = vocab; + tokenizer_cache = tokenizer; + + return llg_clone_tokenizer(tokenizer_cache); +} + +llama_sampler * llama_sampler_init_llg(const llama_vocab * vocab, const char * grammar_kind, + const char * grammar_data) { + auto * ctx = new llama_sampler_llg; + + if (grammar_kind != nullptr && grammar_kind[0] != '\0') { + auto tokenizer = llama_sampler_llg_new_tokenizer(vocab); + *ctx = { + /* .vocab = */ vocab, + /* .grammar_kind = */ grammar_kind, + /* .grammar_data = */ grammar_data, + /* .tokenizer = */ tokenizer, + /* .grammar = */ llama_sampler_llg_new(tokenizer, grammar_kind, grammar_data), + /* .llg_res = */ {}, + /* .has_llg_res = */ false, + }; + } else { + *ctx = { + /* .vocab = */ vocab, + /* .grammar_kind = */ {}, + /* .grammar_data = */ {}, + /* .tokenizer = */ nullptr, + /* .grammar = */ nullptr, + /* .llg_res = */ {}, + /* .has_llg_res = */ false, + }; + } + + return new llama_sampler{ + /* .iface = */ &llama_sampler_llg_i, + /* .ctx = */ ctx, + }; +} + +#else + +llama_sampler * llama_sampler_init_llg(const llama_vocab *, const char *, const char *) { + LOG_WRN("llguidance (cmake -DLLAMA_LLGUIDANCE=ON) is not enabled"); + return nullptr; +} + +#endif // LLAMA_USE_LLGUIDANCE diff --git a/common/sampling.cpp b/common/sampling.cpp index bc7e49fdb..e4b21ca10 100644 --- a/common/sampling.cpp +++ b/common/sampling.cpp @@ -156,13 +156,25 @@ struct common_sampler * common_sampler_init(const struct llama_model * model, co for (const auto & str : params.grammar_trigger_words) { trigger_words.push_back(str.word.c_str()); } + + struct llama_sampler * grmr; + if (params.grammar.compare(0, 11, "%llguidance") == 0) { +#ifdef LLAMA_USE_LLGUIDANCE + grmr = llama_sampler_init_llg(vocab, "lark", params.grammar.c_str()); +#else + GGML_ABORT("llguidance (cmake -DLLAMA_LLGUIDANCE=ON) is not enabled"); +#endif // LLAMA_USE_LLGUIDANCE + } else { + grmr = params.grammar_lazy + ? llama_sampler_init_grammar_lazy(vocab, params.grammar.c_str(), "root", + trigger_words.data(), trigger_words.size(), + params.grammar_trigger_tokens.data(), params.grammar_trigger_tokens.size()) + : llama_sampler_init_grammar(vocab, params.grammar.c_str(), "root"); + } + auto * result = new common_sampler { /* .params = */ params, - /* .grmr = */ params.grammar_lazy - ? llama_sampler_init_grammar_lazy(vocab, params.grammar.c_str(), "root", - trigger_words.data(), trigger_words.size(), - params.grammar_trigger_tokens.data(), params.grammar_trigger_tokens.size()) - : llama_sampler_init_grammar(vocab, params.grammar.c_str(), "root"), + /* .grmr = */ grmr, /* .chain = */ llama_sampler_chain_init(lparams), /* .prev = */ ring_buffer(std::max(32, params.n_prev)), /* .cur = */ {}, diff --git a/common/sampling.h b/common/sampling.h index 348911b18..2064421db 100644 --- a/common/sampling.h +++ b/common/sampling.h @@ -102,3 +102,6 @@ std::string common_sampler_type_to_str(enum common_sampler_type cnstr); std::vector common_sampler_types_from_names(const std::vector & names, bool allow_alt_names); std::vector common_sampler_types_from_chars(const std::string & chars); + +llama_sampler * llama_sampler_init_llg(const llama_vocab * vocab, + const char * grammar_kind, const char * grammar_data); diff --git a/docs/llguidance.md b/docs/llguidance.md new file mode 100644 index 000000000..792d20704 --- /dev/null +++ b/docs/llguidance.md @@ -0,0 +1,51 @@ +# LLGuidance Support in llama.cpp + +[LLGuidance](https://github.com/guidance-ai/llguidance) is a library for constrained decoding (also called constrained sampling or structured outputs) for Large Language Models (LLMs). Initially developed as the backend for the [Guidance](https://github.com/guidance-ai/guidance) library, it can also be used independently. + +LLGuidance supports JSON Schemas and arbitrary context-free grammars (CFGs) written in a [variant](https://github.com/guidance-ai/llguidance/blob/main/docs/syntax.md) of Lark syntax. It is [very fast](https://github.com/guidance-ai/jsonschemabench/tree/main/maskbench) and has [excellent](https://github.com/guidance-ai/llguidance/blob/main/docs/json_schema.md) JSON Schema coverage but requires the Rust compiler, which complicates the llama.cpp build process. + +## Building + +To enable LLGuidance support, build llama.cpp with the `LLAMA_LLGUIDANCE` option: + +```sh +cmake -B build -DLLAMA_LLGUIDANCE=ON +make -C build -j +``` + +This requires the Rust compiler and the `cargo` tool to be [installed](https://www.rust-lang.org/tools/install). + +## Interface + +There are no new command-line arguments or modifications to `common_params`. When enabled, grammars starting with `%llguidance` are passed to LLGuidance instead of the [current](../grammars/README.md) llama.cpp grammars. Additionally, JSON Schema requests (e.g., using the `-j` argument in `llama-cli`) are also passed to LLGuidance. + +For your existing GBNF grammars, you can use [gbnf_to_lark.py script](https://github.com/guidance-ai/llguidance/blob/main/scripts/gbnf_to_lark.py) to convert them to LLGuidance Lark-like format. + +## Performance + +Computing a "token mask" (i.e., the set of allowed tokens) for a llama3 tokenizer with 128k tokens takes, on average, 50μs of single-core CPU time for the [JSON Schema Bench](https://github.com/guidance-ai/jsonschemabench). The p99 time is 0.5ms, and the p100 time is 20ms. These results are due to the lexer/parser split and several [optimizations](https://github.com/guidance-ai/llguidance/blob/main/docs/optimizations.md). + +## JSON Schema + +LLGuidance adheres closely to the JSON Schema specification. For example: + +- `additionalProperties` defaults to `true`, unlike current grammars, though you can set `"additionalProperties": false` if needed. +- any whitespace is allowed. +- The definition order in the `"properties": {}` object is maintained, regardless of whether properties are required (current grammars always puts required properties first). + +Unsupported schemas result in an error message—no keywords are silently ignored. + +## Why Not Reuse GBNF Format? + +GBNF lacks the concept of a lexer. + +Most programming languages, including JSON, use a two-step process: a lexer (built with regular expressions) converts a byte stream into lexemes, which are then processed by a CFG parser. This approach is faster because lexers are cheaper to evaluate, and there is ~10x fewer lexemes than bytes. +LLM tokens often align with lexemes, so the parser is engaged in under 0.5% of tokens, with the lexer handling the rest. + +However, the user has to provide the distinction between lexemes and CFG symbols. In [Lark](https://github.com/lark-parser/lark), lexeme names are uppercase, while CFG symbols are lowercase. +The [gbnf_to_lark.py script](https://github.com/guidance-ai/llguidance/blob/main/scripts/gbnf_to_lark.py) can often take care of this automatically. +See [LLGuidance syntax docs](https://github.com/guidance-ai/llguidance/blob/main/docs/syntax.md#terminals-vs-rules) for more details. + +## Error Handling + +Errors are currently printed to `stderr`, and generation continues. Improved error handling may be added in the future. diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 40f83ff0d..7a158d602 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -86,6 +86,9 @@ llama_test(test-tokenizer-0 NAME test-tokenizer-0-qwen2 ARGS ${CMAKE llama_test(test-tokenizer-0 NAME test-tokenizer-0-refact ARGS ${CMAKE_CURRENT_SOURCE_DIR}/../models/ggml-vocab-refact.gguf) llama_test(test-tokenizer-0 NAME test-tokenizer-0-starcoder ARGS ${CMAKE_CURRENT_SOURCE_DIR}/../models/ggml-vocab-starcoder.gguf) +if (LLAMA_LLGUIDANCE) + llama_target_and_test(test-grammar-llguidance.cpp ARGS ${CMAKE_CURRENT_SOURCE_DIR}/../models/ggml-vocab-llama-bpe.gguf) +endif () if (NOT WIN32) # these tests are disabled on Windows because they use internal functions not exported with LLAMA_API diff --git a/tests/test-grammar-integration.cpp b/tests/test-grammar-integration.cpp index 288e08f51..890608648 100644 --- a/tests/test-grammar-integration.cpp +++ b/tests/test-grammar-integration.cpp @@ -129,7 +129,7 @@ static void test_grammar(const std::string & test_desc, const std::string & gram test(test_desc + ". Grammar: " + grammar_str, grammar_str, passing_strings, failing_strings); } static void test_schema(const std::string & test_desc, const std::string & schema_str, const std::vector & passing_strings, const std::vector & failing_strings) { - test(test_desc + ". Schema: " + schema_str, json_schema_to_grammar(json::parse(schema_str)), passing_strings, failing_strings); + test(test_desc + ". Schema: " + schema_str, json_schema_to_grammar(json::parse(schema_str), true), passing_strings, failing_strings); } static void test_simple_grammar() { diff --git a/tests/test-grammar-llguidance.cpp b/tests/test-grammar-llguidance.cpp new file mode 100644 index 000000000..8b696006b --- /dev/null +++ b/tests/test-grammar-llguidance.cpp @@ -0,0 +1,1140 @@ +#ifdef NDEBUG +# undef NDEBUG +#endif + +#include "unicode.h" +#include "sampling.h" + +#include +#include +#include + +static const llama_vocab * vocab; + +static bool match_string(const std::string & input, llama_sampler * grammar) { + llama_sampler_reset(grammar); + auto tokens = common_tokenize(vocab, input, false, false); + + auto n_vocab = llama_vocab_n_tokens(vocab); + + std::vector cur; + cur.reserve(n_vocab); + for (llama_token token_id = 0; token_id < (llama_token) n_vocab; token_id++) { + cur.emplace_back(llama_token_data{ token_id, 0.0f, 0.0f }); + } + auto tok_arr = llama_token_data_array{ cur.data(), cur.size(), -1, false }; + + for (const auto token : tokens) { + for (llama_token token_id = 0; token_id < (llama_token) n_vocab; token_id++) { + cur[token_id].logit = 0.0f; + } + llama_sampler_apply(grammar, &tok_arr); + if (cur[token].logit < 0.0f) { + return false; + } + llama_sampler_accept(grammar, token); + } + + // do we allow EOS at the end? if so the grammar is accepting + + auto tok_eos = llama_vocab_eot(vocab); + if (tok_eos == LLAMA_TOKEN_NULL) { + tok_eos = llama_vocab_eos(vocab); + } + + cur[tok_eos].logit = 0.0f; + llama_sampler_apply(grammar, &tok_arr); + + return cur[tok_eos].logit >= 0.0f; +} + +static void test(const std::string & test_desc, const std::string & grammar_str, + const std::vector & passing_strings, const std::vector & failing_strings) { + fprintf(stderr, "⚫ Testing %s\n%s\n", test_desc.c_str(), grammar_str.c_str()); + fflush(stderr); + + auto * grammar = llama_sampler_init_llg(vocab, "lark", grammar_str.c_str()); + + fprintf(stderr, " 🔵 Valid strings:\n"); + + // Passing strings + for (const auto & test_string : passing_strings) { + fprintf(stderr, " \"%s\" ", test_string.c_str()); + fflush(stderr); + + bool matched = match_string(test_string, grammar); + + if (!matched) { + fprintf(stderr, "❌ (failed to match)\n"); + + // DEBUG: Write strings to files so that we can analyze more easily with gbnf-validator program to see exactly where things failed. + // DEBUG: Write the grammar_str to test-grammar-integration.grammar.gbnf + FILE * grammar_file = fopen("test-grammar-integration.grammar.gbnf", "w"); + if (grammar_file) { + fprintf(grammar_file, "%s", grammar_str.c_str()); + fclose(grammar_file); + } + + // DEBUG: Write the test string to test-grammar-integration.string.txt + FILE * string_file = fopen("test-grammar-integration.string.txt", "w"); + if (string_file) { + fprintf(string_file, "%s", test_string.c_str()); + fclose(string_file); + } + + fprintf(stderr, + "\n NOTE: Debug grammar file generated. To analyze this failure in detail, run the following " + "command: ./llama-gbnf-validator test-grammar-integration.grammar.gbnf " + "test-grammar-integration.string.txt\n\n"); + } else { + fprintf(stdout, "✅︎\n"); + } + + assert(matched); + } + + fprintf(stderr, " 🟠 Invalid strings:\n"); + + // Failing strings + for (const auto & test_string : failing_strings) { + fprintf(stderr, " \"%s\" ", test_string.c_str()); + fflush(stderr); + + bool matched = match_string(test_string, grammar); + + if (matched) { + fprintf(stderr, "❌ (incorrectly matched)\n"); + } else { + fprintf(stdout, "✅︎\n"); + } + assert(!matched); + } + + llama_sampler_free(grammar); +} + +static void test_grammar(const std::string & test_desc, const std::string & grammar_str, + const std::vector & passing_strings, + const std::vector & failing_strings) { + test(test_desc + ". Grammar: " + grammar_str, grammar_str, passing_strings, failing_strings); +} + +static void test_schema(const std::string & test_desc, const std::string & schema_str, + const std::vector & passing_strings, + const std::vector & failing_strings) { + test(test_desc + ". Schema: " + schema_str, "%llguidance {}\nstart: %json " + schema_str, passing_strings, + failing_strings); +} + +static void test_simple_grammar() { + test_schema("min 0", + R"""({ + "type": "integer", + "minimum": 0 + })""", + // Passing strings + { + "0", + "10", + "12", + "10000", + }, + // Failing strings + { + "-1", + "-10", + "-10000", + "-100000000000000000000000000000000", + // "100000000000000000000000000000000", + "00", + "01", + "-0", + }); + test_schema("min 2", + // Schema + R"""({ + "type": "integer", + "minimum": 2 + })""", + // Passing strings + { + "2", + "3", + "4", + "10", + "20", + "1234567890000000", + }, + // Failing strings + { + "0", "1", "-1", "-100", "0", "1", "01", "02", + // "12345678900000000", + }); + test_schema("min 456", + R"""({ + "type": "integer", + "minimum": 456 + })""", + // Passing strings + { + "456", + "4560", + "457", + "460", + "500", + }, + // Failing strings + { + "455", + "356", + "50", + "050", + "-1", + "-456", + }); + test_schema("min -123", + R"""({ + "type": "integer", + "minimum": -123 + })""", + // Passing strings + { + "-123", + "-122", + "-11", + "-1", + "0", + "1", + "123", + "1234", + "2345", + }, + // Failing strings + { + "-1234", + "-124", + }); + + test_schema("max 9999", + // Schema + R"""({ + "type": "integer", + "maximum": 9999 + })""", + // Passing strings + { + "-99999", + "0", + "9999", + }, + // Failing strings + { + "10000", + "99991", + }); + test_schema("max -9999", + // Schema + R"""({ + "type": "integer", + "maximum": -9999 + })""", + // Passing strings + { + "-10000", + "-9999", + }, + // Failing strings + { + "-9998", + "0", + "9999", + }); + test_schema("min 5 max 30", + // Schema + R"""({ + "type": "integer", + "minimum": 5, + "maximum": 30 + })""", + // Passing strings + { + "5", + "10", + "30", + }, + // Failing strings + { + "05", + "4", + "-1", + "31", + "123", + "0123", + }); + test_schema("min -1 max 1", + R"""({ + "type": "integer", + "minimum": -1, + "maximum": 1 + })""", + // Passing strings + { + "-1", + "0", + "1", + }, + // Failing strings + { + "-11", + "-10", + "-2", + "2", + "10", + "11", + }); + test_schema("min -123 max 42", + R"""({ + "type": "integer", + "minimum": -123, + "maximum": 42 + })""", + // Passing strings + { + "-123", + "-122", + "-13", + "-11", + "-2", + "-1", + "0", + "1", + "5", + "10", + "39", + "40", + "42", + }, + // Failing strings + { + "-0123", + "-124", + "-1123", + "-200", + "43", + "123", + "0123", + }); + test_schema("exclusive min / max", + // Schema + R"""({ + "type": "integer", + "exclusiveMinimum": 0, + "exclusiveMaximum": 10000 + })""", + // Passing strings + { + "1", + "9999", + }, + // Failing strings + { + "0", + "01", + "10000", + "99999", + }); + + // Test case for a simple grammar + test_grammar("simple grammar", + R"""( + start: expr + expr: term ("+" term)* + term: number + number: /[0-9]+/ )""", + // Passing strings + { + "42", + "1+2+3+4+5", + "123+456", + }, + // Failing strings + { + "+", + "/ 3", + "1+2+3+4+5+", + "12a45", + }); +} + +static void test_complex_grammar() { + // Test case for a more complex grammar, with both failure strings and success strings + test_grammar("medium complexity grammar", + // Grammar + R"""( + start: expression + expression: term ws (("+"|"-") ws term)* + term: factor ws (("*"|"/") ws factor)* + factor: number | variable | "(" expression ")" | function-call + number: /[0-9]+/ + variable: /[a-zA-Z_][a-zA-Z0-9_]*/ + function-call: variable ws "(" (expression ("," ws expression)*)? ")" + ws: /[ \t\n\r]?/ )""", + // Passing strings + { "42", + "1*2*3*4*5", + "x", + "x+10", + "x1+y2", + "(a+b)*(c-d)", + "func()", + "func(x,y+2)", + "a*(b+c)-d/e", + "f(g(x),h(y,z))", + "x + 10", + "x1 + y2", + "(a + b) * (c - d)", + "func()", + "func(x, y + 2)", + "a * (b + c) - d / e", + "f(g(x), h(y, z))", + "123+456", + "123*456*789-123/456+789*123", + "123+456*789-123/456+789*123-456/789+123*456-789/123+456*789-123/456+789*123-456" }, + // Failing strings + { + "+", + "/ 3x", + "x + + y", + "a * / b", + "func(,)", + "func(x y)", + "(a + b", + "x + y)", + "a + b * (c - d", + "42 +", + "x +", + "x + 10 +", + "(a + b) * (c - d", + "func(", + "func(x, y + 2", + "a * (b + c) - d /", + "f(g(x), h(y, z)", + "123+456*789-123/456+789*123-456/789+123*456-789/123+456*789-123/456+789*123-456/", + }); +} + +static void test_special_chars() { + // A collection of tests to exercise special characters such as "." + test_grammar("special characters", + // Grammar + R"""( + start: /.../ "abc" /.../ + )""", + // Passing strings + { "abcabcabc", "aaaabcccc", + // NOTE: Also ensures that multi-byte characters still count as a single character + "🔵🟠✅abc❌🟠🔵" }, + // Failing strings + { "aaabcccc", "aaaaabcccc", "aaaabccc", "aaaabccccc", "🔵🟠✅❌abc❌✅🟠🔵", "🔵🟠abc🟠🔵" }); +} + +static void test_quantifiers() { + // A collection of tests to exercise * + and ? quantifiers + + test_grammar( + "* quantifier", + // Grammar + R"""(start: "a"*)""", + // Passing strings + { "", "a", "aaaaa", "aaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }, + // Failing strings + { "b", "ab", "aab", "ba", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab" }); + test_grammar( + "+ quantifier", + // Grammar + R"""(start: "a"+)""", + // Passing strings + { "a", "aaaaa", "aaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }, + // Failing strings + { "", "b", "ab", "aab", "ba", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab" }); + test_grammar("? quantifier", + // Grammar + R"""(start: "a"?)""", + // Passing strings + { "", "a" }, + // Failing strings + { + "b", + "ab", + "aa", + "ba", + }); + test_grammar("mixed quantifiers", + // Grammar + R"""( + start: cons+ vowel* cons? (vowel cons)* + vowel: /[aeiouy]/ + cons: /[bcdfghjklmnpqrstvwxyz]/ + )""", + // Passing strings + { + "yes", + "no", + "noyes", + "crwth", + "four", + "bryyyy", + }, + // Failing strings + { + "yess", + "yesno", + "forty", + "catyyy", + }); + test_grammar("simple exact repetition", + // Grammar + R"""( + start: /[ab]{4}/ + )""", + // Passing strings + { + "aaaa", + "bbbb", + "abab", + }, + // Failing strings + { + "a", + "b", + "aaaaa", + }); + test_grammar("simple min repetition", + // Grammar + R"""( + start: /[ab]{4,}/ + )""", + // Passing strings + { + "aaaa", + "aaaaab", + "bbbb", + "ababab", + }, + // Failing strings + { + "", + "aba", + }); + test_grammar("simple max repetition", + // Grammar + R"""( + start: /[ab]{0,4}/ + )""", + // Passing strings + { + "", + "a", + "aa", + "aaa", + "aaab", + }, + // Failing strings + { + "aaaaa", + }); + // test_grammar("min / max repetition", + // // Grammar + // R"""( + // start: ("0x" /[A-F0-9]{2}/ " "?){3,5} + // )""", + // // Passing strings + // { + // "0xFF 0x12 0xAB", + // "0xFF 0x12 0xAB 0x00 0x00", + // }, + // // Failing strings + // { + // "", + // "0xFF", + // "0xFF 0x12", + // "0xFF 0x12 0xAB 0x00 0x00 0x00", + // }); +} + +static void test_json_schema() { + // Note that this is similar to the regular grammar tests, + // but we convert each json schema to a grammar before parsing. + // Otherwise, this test structure is the same. + + test_schema("empty schema (object)", + // Schema + R"""( + {"type":"object"} + )""", + // Passing strings + { + R"""({})""", + R"""({"foo": "bar"})""", + }, + // Failing strings + { + "", + "[]", + "null", + R"""("")""", + "true", + }); + + test_schema( + "exotic formats (list)", + // Schema + R"""({ + "items": [ + { "format": "date" }, + { "format": "uuid" }, + { "format": "time" }, + { "format": "date-time" } + ] + })""", + // Passing strings + { + // "{}", // NOTE: This string passes for this schema on https://www.jsonschemavalidator.net/ -- should it? + // "[]", // NOTE: This string passes for this schema on https://www.jsonschemavalidator.net/ -- should it? + R"""(["2012-04-23", "12345678-1234-1234-1234-1234567890ab", "18:25:43.511Z", "2012-04-23T18:25:43.511Z"])""", + //R"""(["2012-04-23","12345678-1234-1234-1234-1234567890ab"])""", // NOTE: This string passes for this schema on https://www.jsonschemavalidator.net/ -- should it? + //R"""({"foo": "bar"})""", // NOTE: This string passes for this schema on https://www.jsonschemavalidator.net/ -- should it? + }, + // Failing strings + { + R"""(["foo", "bar"])""", + R"""(["12345678-1234-1234-1234-1234567890ab"])""", + }); + + test_schema("string", + // Schema + R"""({ + "type": "string" + })""", + // Passing strings + { + R"""("foo")""", + R"""("bar")""", + R"""("")""", + }, + // Failing strings + { + R"""({})""", + R"""("foo": "bar")""", + }); + + test_schema("string w/ min length 1", + // Schema + R"""({ + "type": "string", + "minLength": 1 + })""", + // Passing strings + { + R"""("foo")""", + R"""("bar")""", + }, + // Failing strings + { + R"""("")""", + R"""({})""", + R"""("foo": "bar")""", + }); + + test_schema("string w/ min length 3", + // Schema + R"""({ + "type": "string", + "minLength": 3 + })""", + // Passing strings + { + R"""("foo")""", + R"""("bar")""", + R"""("foobar")""", + }, + // Failing strings + { + R"""("")""", + R"""("f")""", + R"""("fo")""", + }); + + test_schema("string w/ max length", + // Schema + R"""({ + "type": "string", + "maxLength": 3 + })""", + // Passing strings + { + R"""("foo")""", + R"""("bar")""", + R"""("")""", + R"""("f")""", + R"""("fo")""", + }, + // Failing strings + { + R"""("foobar")""", + }); + + test_schema("string w/ min & max length", + // Schema + R"""({ + "type": "string", + "minLength": 1, + "maxLength": 4 + })""", + // Passing strings + { + R"""("foo")""", + R"""("bar")""", + R"""("f")""", + R"""("barf")""", + }, + // Failing strings + { + R"""("")""", + R"""("barfo")""", + R"""("foobar")""", + }); + + test_schema("boolean", + // Schema + R"""({ + "type": "boolean" + })""", + // Passing strings + { + "true", + "false", + }, + // Failing strings + { + R"""("")""", + R"""("true")""", + R"""(True)""", + R"""(FALSE)""", + }); + + test_schema("integer", + // Schema + R"""({ + "type": "integer" + })""", + // Passing strings + { + R"""(0)""", + R"""(12345)""", + R"""(1234567890123456)""", + }, + // Failing strings + { + R"""()""", + R"""(01)""", + R"""(007)""", + R"""(12345678901234567 )""", + }); + + test_schema("string const", + // Schema + R"""({ + "const": "foo" + })""", + // Passing strings + { + R"""("foo")""", + }, + // Failing strings + { + R"""(foo)""", + R"""("bar")""", + }); + + test_schema("non-string const", + // Schema + R"""({ + "const": true + })""", + // Passing strings + { + R"""(true)""", + }, + // Failing strings + { + R"""()""", + R"""(foo)""", + R"""("true")""", + }); + + test_schema("non-string const", + // Schema + R"""({ + "enum": ["red", "amber", "green", null, 42, ["foo"]] + })""", + // Passing strings + { + R"""("red")""", + R"""(null)""", + R"""(42)""", + R"""(["foo"])""", + }, + // Failing strings + { + R"""()""", + R"""(420)""", + R"""(true)""", + R"""(foo)""", + }); + + test_schema("simple pattern", + // Schema + R"""({ + "pattern": "^[a-zA-Z0-9_-]*$" + })""", + // Passing strings + { + R"""("")""", + R"""("He_llo-12")""", + }, + // Failing strings + { + R"""("!")""", + R"""("Hello World")""", + }); + + test_schema("pattern with escapes", + // Schema + R"""({ + "pattern": "^a\\^\\$\\.\\[\\]\\(\\)\\|\\{\\}\\*\\+\\?b$" + })""", + // Passing strings + { + R"""("a^$.[]()|{}*+?b")""", + }, + // Failing strings + { + R"""("ab")""", + }); + + test_schema("", + // Schema + R"""( + { + "type": ["array", "null"], + "items": { "type": "string" } + } + )""", + // Passing strings + { + "null", + "[]", + "[\"123\"]", + "[\"foo\", \"bar\"]", + }, + // Failing strings + { + "", + "[123]", + "\"foo\"", + "[\"foo\", 42]", + }); + + test_schema("min+max items", + // Schema + R"""({ + "items": { + "type": ["number", "integer"] + }, + "minItems": 3, + "maxItems": 5 + })""", + // Passing strings + { + R"""([1, 2, 3])""", + R"""([1, 2, 3, 4])""", + R"""([1, 2, 3, 4, 5])""", + // this is in fact correct; keyword do not apply if the type is wrong + R"""(1)""", + }, + // Failing strings + { + R"""([1, 2])""", + R"""([1, 2, 3, 4, 5, 6])""", + }); + + // Properties (from: https://json-schema.org/understanding-json-schema/reference/object#properties) + test_schema("object properties", + // Schema + R"""({ + "type": "object", + "properties": { + "number": { "type": "number" }, + "street_name": { "type": "string" }, + "street_type": { "enum": ["Street", "Avenue", "Boulevard"] } + }, + "additionalProperties": false + })""", + // Passing strings + { + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type":"Avenue"})""", + // "By default, leaving out properties is valid" + R"""({ "street_name": "Pennsylvania" })""", + R"""({ "number": 1600, "street_name": "Pennsylvania" })""", + // "By extension, even an empty object is valid" + R"""({})""", + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type": "Avenue" })""", + }, + // Failing strings + { + // Change datatype from number to string + R"""({ "number": "1600", "street_name": "Pennsylvania", "street_type":"Avenue"})""", + // Reorder properties + R"""({ "street_name": "Pennsylvania", "number": 1600 })""", + // Reorder properties + R"""({ "number": "1600", "street_name": "Pennsylvania", "street_type":"Avenue"})""", + // Additional properties set to false + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type":"Avenue", "direction":"NW"})""", + + }); + + test_schema("additional properties can't override other properties", + R"""({ + "properties": { + "a": {"type": "integer"}, + "b": {"type": "integer"} + }, + "additionalProperties": true + })""", + // Passing strings + { + R"""({"a": 42})""", + R"""({"c": ""})""", + R"""({"a": 42, "c": ""})""", + R"""({"a_": ""})""", + }, + // Failing strings + { + R"""()""", + R"""({"a": ""})""", + R"""({"a": "", "b": ""})""", + }); + + // Properties (from: https://json-schema.org/understanding-json-schema/reference/object#properties) + test_schema("object properties, additionalProperties: true", + // Schema + R"""({ + "type": "object", + "properties": { + "number": { "type": "number" }, + "street_name": { "type": "string" }, + "street_type": { "enum": ["Street", "Avenue", "Boulevard"] } + }, + "additionalProperties": true + })""", + // Passing strings + { + // "By extension, even an empty object is valid" + R"""({})""", + R"""({"number":1600,"street_name":"Pennsylvania","street_type":"Avenue"})""", + // "By default, leaving out properties is valid" + R"""({ "street_name": "Pennsylvania" })""", + R"""({ "number": 1600, "street_name": "Pennsylvania" })""", + // "By default, providing additional properties is valid" + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type":"Avenue", "direction":"NW"})""", + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type": "Avenue" })""", + }, + // Failing strings + { + // Change datatype from number to string + R"""({ "number": "1600", "street_name": "Pennsylvania", "street_type":"Avenue"})""", + // Reorder properties + R"""({ "street_name": "Pennsylvania", "number": 1600, "street_type":"Avenue"})""", + }); + + // Additional properties: false + test_schema( + "required + optional props each in original order", + // Schema + R"""({ + "type": "object", + "properties": { + "number": { "type": "number" }, + "street_name": { "type": "string" }, + "street_type": { "enum": ["Street", "Avenue", "Boulevard"] } + }, + "additionalProperties": false + })""", + // Passing strings + { + R"""({ "street_name": "Pennsylvania" })""", + R"""({ "number": 1600, "street_type":"Avenue"})""", + R"""({ "number": 1600, "street_name": "Pennsylvania" })""", + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type":"Avenue"})""", + // Spaces are permitted around enum values + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type": "Avenue" })""", + }, + // Failing strings + { + // Reorder properties + R"""({ "street_type": "Avenue", "number": 1600 })""", + // Add "direction" + R"""({ "number": 1600, "street_name": "Pennsylvania", "street_type": "Avenue", "direction": "NW" })""", + }); + + test_schema("required + optional props each in original order", + // Schema + R"""({ + "properties": { + "b": {"type": "string"}, + "a": {"type": "string"}, + "d": {"type": "string"}, + "c": {"type": "string"} + }, + "required": ["a", "b"], + "additionalProperties": false + })""", + // Passing strings + { + R"""({"b": "foo", "a": "bar"})""", + R"""({"b":"foo","a":"bar","d":"qux"})""", + R"""({"b":"foo", "a":"bar", "d":"qux", "c":"baz"})""", + }, + // Failing strings + { + R"""({"a": "foo", "b": "bar"})""", + R"""({"b": "bar"})""", + R"""({"a": "foo", "c": "baz"})""", + R"""({"a":"foo", "b":"bar", "c":"baz", "d":"qux"})""", + }); + + // NOTE: Example from https://json-schema.org/learn/getting-started-step-by-step#define-required-properties + test_schema( + "required props", + // Schema + R"""({ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://example.com/product.schema.json", + "title": "Product", + "description": "A product from Acme's catalog", + "type": "object", + "properties": { + "productId": { + "description": "The unique identifier for a product", + "type": "integer" + }, + "productName": { + "description": "Name of the product", + "type": "string" + }, + "price": { + "description": "The price of the product", + "type": "number", + "exclusiveMinimum": 0 + }, + "tags": { + "description": "Tags for the product", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "DISABLED_uniqueItems": true + }, + "dimensions": { + "type": "object", + "properties": { + "length": { + "type": "number" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + } + }, + "required": [ "length", "width", "height" ] + } + }, + "required": [ "productId", "productName", "price" ] + })""", + // Passing strings + { + R"""({"productId": 1, "productName": "A green door", "price": 12.50})""", + R"""({"productId": 1, "productName": "A green door", "price": 12.50, "tags": ["home", "green"]})""", + R"""({"productId": 1, "productName": "A green door", "price": 12.50, "tags": ["home", "green"], "dimensions": {"length": 785, "width": 250.5, "height": -0.359}})""", + }, + // Failing strings + { + R"""({})""", // Missing all required properties + R"""({"productName": "A green door", "price": 12.50, "productId": 1})""", // Out of order properties + // `exclusiveMinimum` is OK for llg + R"""({"productId": 1, "productName": "A green door", "price": -12.50})""", + R"""({"productId": 1, "productName": "A green door"})""", // Missing required property (price) + R"""({"productName": "A green door", "price": 12.50})""", // Missing required property (productId) + R"""({"productId": 1, "productName": "A green door", "price": 12.50, "tags": []})""", // tags is empty, but minItems is 1 + R"""({"productId": 1, "productName": "A green door", "price": 12.50, "dimensions": {"length": 785, "width": 250.5, "height": -0.359}, "tags": ["home", "green"]})""", // Tags and dimensions are out of order + // TODO: The following line should fail, but currently it passes. `uniqueItems` is not supported, as it would likely be too difficult to implement. + // R"""({"productId": 1, "productName": "A green door", "price": 12.50, "tags": ["home", "green", "home"]})""", + }); +} + +int main(int argc, const char ** argv) { + fprintf(stdout, "Running llguidance integration tests...\n"); + + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + const char * vocab_file = argv[1]; + + fprintf(stderr, "reading vocab from: '%s'\n", vocab_file); + + llama_model * model; + llama_context * ctx; + + llama_backend_init(); + + // load the vocab + { + auto mparams = llama_model_default_params(); + + mparams.vocab_only = true; + + model = llama_model_load_from_file(vocab_file, mparams); + + if (model == NULL) { + fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, vocab_file); + return 1; + } + + // needed? + auto cparams = llama_context_default_params(); + + ctx = llama_init_from_model(model, cparams); + + if (ctx == NULL) { + fprintf(stderr, "%s: error: failed to load vocab '%s'\n", __func__, vocab_file); + llama_model_free(model); + return 1; + } + } + + vocab = llama_model_get_vocab(model); + + test_simple_grammar(); + test_complex_grammar(); + test_special_chars(); + test_quantifiers(); + test_json_schema(); + fprintf(stdout, "All tests passed.\n"); + return 0; +} diff --git a/tests/test-json-schema-to-grammar.cpp b/tests/test-json-schema-to-grammar.cpp index 9d2db91f5..f38994c92 100755 --- a/tests/test-json-schema-to-grammar.cpp +++ b/tests/test-json-schema-to-grammar.cpp @@ -1246,7 +1246,7 @@ int main() { test_all("C++", [](const TestCase & tc) { try { - tc.verify(json_schema_to_grammar(nlohmann::ordered_json::parse(tc.schema))); + tc.verify(json_schema_to_grammar(nlohmann::ordered_json::parse(tc.schema), true)); tc.verify_status(SUCCESS); } catch (const std::runtime_error & ex) { fprintf(stderr, "Error: %s\n", ex.what()); From 69804487e0b10f2c5c06316f0ac0eb6ada68433f Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sun, 2 Feb 2025 09:10:15 +0000 Subject: [PATCH 14/77] Fix exotic ci env that lacks ostringstream::str (#11581) --- common/minja.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/minja.hpp b/common/minja.hpp index bcb5a0824..e77eb69d5 100644 --- a/common/minja.hpp +++ b/common/minja.hpp @@ -824,7 +824,7 @@ public: LoopControlType control_type; LoopControlException(const std::string & message, LoopControlType control_type) : std::runtime_error(message), control_type(control_type) {} LoopControlException(LoopControlType control_type) - : std::runtime_error((std::ostringstream() << (control_type == LoopControlType::Continue ? "continue" : "break") << " outside of a loop").str()), + : std::runtime_error((control_type == LoopControlType::Continue ? "continue" : "break") + std::string(" outside of a loop")), control_type(control_type) {} }; From bfcce4d693617ec843d0b2510f6ee16e6bc6720d Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sun, 2 Feb 2025 09:25:38 +0000 Subject: [PATCH 15/77] `tool-call`: support Command R7B (+ return tool_plan "thoughts" in API) (#11585) * `tool-call`: support Command R7B (w/ tool_plan return) * `tool-call`: cleaner preservation of tokens + warn when likely bad chat template override * `tool-call`: test cleanup / handle lazy grammar triggers --- common/chat.cpp | 86 +++++++++- common/chat.hpp | 2 + common/common.h | 3 + examples/server/README.md | 22 ++- examples/server/server.cpp | 52 ++++-- examples/server/utils.hpp | 1 + ...AI-c4ai-command-r7b-12-2024-tool_use.jinja | 156 ++++++++++++++++++ tests/test-chat.cpp | 154 +++++++++++++---- 8 files changed, 420 insertions(+), 56 deletions(-) create mode 100644 models/templates/CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja diff --git a/common/chat.cpp b/common/chat.cpp index 58db12af9..f87583d85 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -16,6 +16,7 @@ std::string common_chat_format_name(common_chat_format format) { case COMMON_CHAT_FORMAT_FUNCTIONARY_V3_2: return "Functionary v3.2"; case COMMON_CHAT_FORMAT_FUNCTIONARY_V3_1_LLAMA_3_1: return "Functionary v3.1 Llama 3.1"; case COMMON_CHAT_FORMAT_HERMES_2_PRO: return "Hermes 2 Pro"; + case COMMON_CHAT_FORMAT_COMMAND_R7B: return "Command R7B"; default: throw std::runtime_error("Unknown chat format"); } @@ -317,6 +318,79 @@ static common_chat_msg common_chat_parse_mistral_nemo(const std::string & input) return parse_prefixed_json_tool_call_array(input, "[TOOL_CALLS]"); } +static common_chat_params common_chat_params_init_command_r7b(const common_chat_template & tmpl, const struct common_chat_inputs & inputs) { + common_chat_params data; + data.grammar_lazy = inputs.tool_choice != "required"; + data.grammar = build_grammar([&](const common_grammar_builder & builder) { + auto schemas = json::array(); + foreach_function(inputs.tools, [&](const json & tool) { + const auto & function = tool["function"]; + schemas.push_back({ + {"type", "object"}, + {"properties", { + {"tool_call_id", { + {"type", "string"}, + // Command-R's template expects an integer string. + {"pattern", "^[0-9]{1,10}$"}, + }}, + {"tool_name", { + {"type", "string"}, + {"const", function["name"]}, + }}, + {"parameters", function["parameters"]}, + }}, + {"required", json::array({"tool_call_id", "tool_name", "parameters"})}, + }); + }); + auto schema = json { + {"type", "array"}, + {"items", schemas.size() == 1 ? schemas[0] : json {{"anyOf", schemas}}}, + {"minItems", 1}, + }; + if (!inputs.parallel_tool_calls) { + schema["maxItems"] = 1; + } + builder.add_rule("root", "\"<|START_ACTION|>\" " + builder.add_schema("tool_calls", schema) + " \"<|END_ACTION|>\""); + }, grammar_options); + data.grammar_triggers.push_back({"<|START_ACTION|>", /* .at_start = */ false}); + data.preserved_tokens = { + "<|START_RESPONSE|>", + "<|END_RESPONSE|>", + "<|START_THINKING|>", + "<|END_THINKING|>", + "<|END_ACTION|>", + }; + data.prompt = tmpl.apply(inputs.messages, inputs.tools.empty() ? json() : inputs.tools, inputs.add_generation_prompt); + data.format = COMMON_CHAT_FORMAT_COMMAND_R7B; + return data; +} +static common_chat_msg common_chat_parse_command_r7b(const std::string & input) { + static std::regex response_regex("<\\|START_RESPONSE\\|>(.*?)<\\|END_RESPONSE\\|>"); + static std::regex thought_action_regex("<\\|START_THINKING\\|>([\\s\\S\\n\\r]*?)<\\|END_THINKING\\|><\\|START_ACTION\\|>([\\s\\S\\n\\r]*?)<\\|END_ACTION\\|>"); + std::smatch match; + + common_chat_msg result; + result.role = "assistant"; + if (std::regex_match(input, match, response_regex)) { + result.content = match[1].str(); + } else if (std::regex_match(input, match, thought_action_regex)) { + result.tool_plan = match[1].str(); + auto actions_str = match[2].str(); + auto actions = json::parse(actions_str); + for (const auto & action : actions) { + result.tool_calls.push_back({ + /* .name = */ action["tool_name"], + /* .arguments = */ action["parameters"].dump(), + /* .id = */ action["tool_call_id"], + }); + } + } else { + LOG_ERR("Failed to parse command_r output"); + result.content = input; + } + return result; +} + static void expect_tool_parameters(const std::string & name, const json & parameters, const std::vector & expected_properties) { if (!parameters.is_object() || !parameters.contains("type") || parameters["type"] != "object" || !parameters.contains("properties") || !parameters.contains("required")) { throw std::runtime_error("Parameters of tool " + name + " must be an object w/ required properties"); @@ -462,6 +536,10 @@ static common_chat_params common_chat_params_init_deepseek_r1(const common_chat_ "\"<|tool▁call▁begin|>function<|tool▁sep|>" + name + "\\n```json\\n\" " + args_rule + " \"```<|tool▁call▁end|>\"")); }); data.grammar_triggers.push_back({"<|tool▁calls▁begin|>", /* .at_start = */ false}); + data.preserved_tokens = { + "<|tool▁sep|>", + "<|tool▁call▁end|>", + }; builder.add_rule("root", "\"<|tool▁calls▁begin|>\" (" + string_join(tool_rules, " | ") + ")" + (inputs.parallel_tool_calls ? "*" : "") + " space"); }, grammar_options); data.prompt = tmpl.apply(inputs.messages, inputs.tools.empty() ? json() : inputs.tools, inputs.add_generation_prompt); @@ -704,8 +782,7 @@ static common_chat_params common_chat_params_init_hermes_2_pro(const common_chat auto tool_call = "\"\" space " + builder.add_rule("tool_call", string_join(tool_rules, " | ")) + " \"\" space"; builder.add_rule("root", inputs.parallel_tool_calls ? "(" + tool_call + ")+" : tool_call); data.grammar_triggers.push_back({"", /* .at_start = */ false}); - // Not really a trigger but need to print this special token to get a successful parse. - data.grammar_triggers.push_back({"", /* .at_start = */ false}); + data.preserved_tokens = { "" }; }, grammar_options); data.prompt = tmpl.apply(inputs.messages, inputs.tools.empty() ? json() : inputs.tools, inputs.add_generation_prompt); @@ -822,6 +899,9 @@ common_chat_params common_chat_params_init(const common_chat_template & tmpl, co if (src.find("[TOOL_CALLS]") != std::string::npos) { return common_chat_params_init_mistral_nemo(tmpl, inputs); } + if (src.find("<|END_THINKING|><|START_ACTION|>") != std::string::npos) { + return common_chat_params_init_command_r7b(tmpl, inputs); + } return common_chat_params_init_generic(tmpl, inputs); } @@ -855,6 +935,8 @@ common_chat_msg common_chat_parse(const std::string & input, common_chat_format return common_chat_parse_hermes_2_pro(input); case COMMON_CHAT_FORMAT_FIREFUNCTION_V2: return common_chat_parse_firefunction_v2(input); + case COMMON_CHAT_FORMAT_COMMAND_R7B: + return common_chat_parse_command_r7b(input); default: throw std::runtime_error("Unsupported format: " + common_chat_format_name(format)); } diff --git a/common/chat.hpp b/common/chat.hpp index ca165aa13..33e64a430 100644 --- a/common/chat.hpp +++ b/common/chat.hpp @@ -32,6 +32,7 @@ enum common_chat_format { COMMON_CHAT_FORMAT_FUNCTIONARY_V3_2, COMMON_CHAT_FORMAT_FUNCTIONARY_V3_1_LLAMA_3_1, COMMON_CHAT_FORMAT_HERMES_2_PRO, + COMMON_CHAT_FORMAT_COMMAND_R7B, COMMON_CHAT_FORMAT_COUNT, // Not a format, just the # formats }; @@ -42,6 +43,7 @@ struct common_chat_params { std::string grammar; bool grammar_lazy = false; std::vector grammar_triggers; + std::vector preserved_tokens; std::vector additional_stops; }; diff --git a/common/common.h b/common/common.h index 6c1809277..b208d0c7e 100644 --- a/common/common.h +++ b/common/common.h @@ -4,6 +4,7 @@ #include "llama-cpp.h" +#include #include #include #include @@ -163,6 +164,7 @@ struct common_params_sampling { bool grammar_lazy = false; std::vector grammar_trigger_words; // optional trigger words to trigger lazy grammar std::vector grammar_trigger_tokens; // optional trigger tokens to trigger lazy grammar and print trigger special tokens. + std::set preserved_tokens; std::vector logit_bias; // logit biases to apply @@ -621,6 +623,7 @@ struct common_chat_msg { std::string role; std::string content; std::vector tool_calls; + std::string tool_plan = ""; }; // Check if the template supplied via "--chat-template" is supported or not. Returns true if it's valid diff --git a/examples/server/README.md b/examples/server/README.md index 276b43013..e9d0374ad 100644 --- a/examples/server/README.md +++ b/examples/server/README.md @@ -1128,6 +1128,7 @@ curl http://localhost:8080/v1/chat/completions \ - Hermes 2/3, Qwen 2.5 - Mistral Nemo - Firefunction v2 + - Command R7B - DeepSeek R1 (WIP / seems reluctant to call any tools?)
@@ -1202,21 +1203,28 @@ curl http://localhost:8080/v1/chat/completions \ ```shell # Native support: llama-server --jinja -fa -hf bartowski/Qwen2.5-7B-Instruct-GGUF:Q4_K_M - llama-server --jinja -fa -hf bartowski/Mistral-Nemo-Instruct-2407-GGUF:Q4_K_M - llama-server --jinja -fa -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q6_K + llama-server --jinja -fa -hf bartowski/Mistral-Nemo-Instruct-2407-GGUF:Q6_K_L llama-server --jinja -fa -hf bartowski/functionary-small-v3.2-GGUF:Q4_K_M - llama-server --jinja -fa -hf bartowski/Hermes-2-Pro-Llama-3-8B-GGUF:Q4_K_M \ - --chat-template-file <( python scripts/get_chat_template.py NousResearch/Hermes-2-Pro-Llama-3-8B ) + llama-server --jinja -fa -hf bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M # Native support requires the right template for these GGUFs: + + llama-server --jinja -fa -hf bartowski/Hermes-2-Pro-Llama-3-8B-GGUF:Q4_K_M \ + --chat-template-file <( python scripts/get_chat_template.py NousResearch/Hermes-2-Pro-Llama-3-8B tool_use ) + llama-server --jinja -fa -hf bartowski/Hermes-3-Llama-3.1-8B-GGUF:Q4_K_M \ --chat-template-file <( python scripts/get_chat_template.py NousResearch/Hermes-3-Llama-3.1-8B tool_use ) + llama-server --jinja -fa -hf bartowski/firefunction-v2-GGUF -hff firefunction-v2-IQ1_M.gguf \ - --chat-template-file <( python scripts/get_chat_template.py fireworks-ai/firellama-3-firefunction-v2 ) + --chat-template-file <( python scripts/get_chat_template.py fireworks-ai/llama-3-firefunction-v2 tool_use ) + + llama-server --jinja -fa -hf bartowski/c4ai-command-r7b-12-2024-GGUF:Q6_K_L \ + --chat-template-file <( python scripts/get_chat_template.py CohereForAI/c4ai-command-r7b-12-2024 tool_use ) # Generic format support - llama-server --jinja -fa -hf bartowski/Phi-3.5-mini-instruct-GGUF:Q4_K_M - llama-server --jinja -fa -hf bartowski/gemma-2-2b-it-GGUF:Q4_K_M + llama-server --jinja -fa -hf bartowski/phi-4-GGUF:Q4_0 + llama-server --jinja -fa -hf bartowski/gemma-2-2b-it-GGUF:Q8_0 + llama-server --jinja -fa -hf bartowski/c4ai-command-r-v01-GGUF:Q2_K ``` - Test in CLI: diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 3451e96a2..e0acc4705 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -131,6 +131,11 @@ struct slot_params { lora.push_back({{"id", i}, {"scale", this->lora[i].scale}}); } + std::vector grammar_trigger_words; + for (const auto & trigger : sampling.grammar_trigger_words) { + grammar_trigger_words.push_back(trigger.word); + } + return json { {"n_predict", n_predict}, // Server configured n_predict {"seed", sampling.seed}, @@ -165,8 +170,9 @@ struct slot_params { {"n_probs", sampling.n_probs}, {"min_keep", sampling.min_keep}, {"grammar", sampling.grammar}, - // {"grammar_trigger_words", sampling.grammar_trigger_words}, + {"grammar_trigger_words", grammar_trigger_words}, {"grammar_trigger_tokens", sampling.grammar_trigger_tokens}, + {"preserved_tokens", sampling.preserved_tokens}, {"samplers", samplers}, {"speculative.n_max", speculative.n_max}, {"speculative.n_min", speculative.n_min}, @@ -363,12 +369,26 @@ struct server_task { if (ids.size() == 1) { LOG_DBG("Grammar trigger token: %d (`%s`)\n", ids[0], trigger.word.c_str()); params.sampling.grammar_trigger_tokens.push_back(ids[0]); + params.sampling.preserved_tokens.insert(ids[0]); continue; } LOG_DBG("Grammar trigger word: `%s`\n", trigger.word.c_str()); params.sampling.grammar_trigger_words.push_back(trigger); } } + const auto preserved_tokens = data.find("preserved_tokens"); + if (preserved_tokens != data.end()) { + for (const auto & t : *preserved_tokens) { + auto ids = common_tokenize(vocab, t.get(), /* add_special= */ false, /* parse_special= */ true); + if (ids.size() == 1) { + LOG_DBG("Preserved token: %d\n", ids[0]); + params.sampling.preserved_tokens.insert(ids[0]); + } else { + // This may happen when using a tool call style meant for a model with special tokens to preserve on a model without said tokens. + LOG_WRN("Not preserved because more than 1 token (wrong chat template override?): %s\n", t.get().c_str()); + } + } + } if (params.sampling.grammar_lazy) { GGML_ASSERT(params.sampling.grammar_trigger_tokens.size() > 0 || params.sampling.grammar_trigger_words.size() > 0); } @@ -695,19 +715,19 @@ struct server_task_result_cmpl_final : server_task_result { json to_json_oaicompat_chat() { std::string finish_reason = "length"; - common_chat_msg message; + common_chat_msg msg; if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { LOG_DBG("Parsing chat message: %s\n", content.c_str()); - message = common_chat_parse(content, oaicompat_chat_format); - finish_reason = message.tool_calls.empty() ? "stop" : "tool_calls"; + msg = common_chat_parse(content, oaicompat_chat_format); + finish_reason = msg.tool_calls.empty() ? "stop" : "tool_calls"; } else { - message.content = content; + msg.content = content; } json tool_calls; - if (!message.tool_calls.empty()) { + if (!msg.tool_calls.empty()) { tool_calls = json::array(); - for (const auto & tc : message.tool_calls) { + for (const auto & tc : msg.tool_calls) { tool_calls.push_back({ {"type", "function"}, {"function", { @@ -719,14 +739,19 @@ struct server_task_result_cmpl_final : server_task_result { } } + json message { + {"content", msg.content}, + {"tool_calls", tool_calls}, + {"role", "assistant"}, + }; + if (!msg.tool_plan.empty()) { + message["tool_plan"] = msg.tool_plan; + } + json choice { {"finish_reason", finish_reason}, {"index", 0}, - {"message", json { - {"content", message.content}, - {"tool_calls", tool_calls}, - {"role", "assistant"}, - }}, + {"message", message}, }; if (!stream && probs_output.size() > 0) { @@ -2833,8 +2858,7 @@ struct server_context { server_slot * slot_batched = nullptr; auto accept_special_token = [&](server_slot & slot, llama_token token) { - const auto & trigger_tokens = slot.params.sampling.grammar_trigger_tokens; - return params_base.special || std::find(trigger_tokens.begin(), trigger_tokens.end(), token) != trigger_tokens.end(); + return params_base.special || slot.params.sampling.preserved_tokens.find(token) != slot.params.sampling.preserved_tokens.end(); }; // frist, add sampled tokens from any ongoing sequences diff --git a/examples/server/utils.hpp b/examples/server/utils.hpp index bfe623c4c..fefdce55b 100644 --- a/examples/server/utils.hpp +++ b/examples/server/utils.hpp @@ -662,6 +662,7 @@ static json oaicompat_completion_params_parse( }); } llama_params["grammar_triggers"] = grammar_triggers; + llama_params["preserved_tokens"] = chat_params.preserved_tokens; for (const auto & stop : chat_params.additional_stops) { llama_params["stop"].push_back(stop); } diff --git a/models/templates/CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja b/models/templates/CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja new file mode 100644 index 000000000..078e9f545 --- /dev/null +++ b/models/templates/CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja @@ -0,0 +1,156 @@ +{{ bos_token }}{%- macro document_turn(documents) -%} +{# format documents into chat turn #} +<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|><|START_THINKING|>I will look through the document to address the users needs.<|END_THINKING|><|START_ACTION|>[ + {"tool_call_id": "0", "tool_name": "direct-injected-document", "parameters": {}} +]<|END_ACTION|><|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|><|START_TOOL_RESULT|>[ + { + "tool_call_id": "0", + "results": { +{% for doc in documents %} + "{{ loop.index0 }}": {{doc|tojson}}{% if not loop.last %}, + {% endif %} +{% endfor %} + + }, + "is_error": null + } +]<|END_TOOL_RESULT|><|END_OF_TURN_TOKEN|>{%- endmacro %} +{%- macro tool_call_id_to_int(messages, tool_call_id) %} +{%- set counter = namespace(value=0) %} +{%- set tool_call_id_seen = namespace(value=false) %} +{%- for msg in messages %} + {%- if msg.tool_calls %} + {%- for tool_call in msg.tool_calls %} + {%- if tool_call.id == tool_call_id and not tool_call_id_seen.value -%} + {{ counter.value }} + {%- set tool_call_id_seen.value = true %} + {%- endif %} + {%- set counter.value = counter.value + 1 %} + {%- endfor %} + {%- endif %} +{%- endfor %} +{%- endmacro %} +{%- macro format_tool_message(messages, tool_msg) -%} +{# format tool message #} + { + "tool_call_id": "{{ tool_call_id_to_int(messages, tool_msg.tool_call_id) }}", + "results": { + "0": {{ tool_msg.content|tojson }} + }, + "is_error": null + } +{%- endmacro -%} +{%- if messages and messages[0]['role']|lower == 'system' %}{%- set developer_preamble = messages[0]['content'] %}{% endif %} +{%- set tool_idx = namespace(value=0) %} +{%- set tool_ids_seen = namespace(value=[]) %} +{%- set sent_documents = namespace(value=false) %} +<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|># System Preamble +You are in contextual safety mode. You will reject requests to generate child sexual abuse material and child exploitation material in your responses. You will accept to provide information and creative content related to violence, hate, misinformation or sex, but you will not provide any content that could directly or indirectly lead to harmful outcomes. + +Your information cutoff date is June 2024. + +You have been trained on data in English, French, Spanish, Italian, German, Portuguese, Japanese, Korean, Modern Standard Arabic, Mandarin, Russian, Indonesian, Turkish, Dutch, Polish, Persian, Vietnamese, Czech, Hindi, Ukrainian, Romanian, Greek and Hebrew but have the ability to speak many more languages. +{% if tools or documents %} + +You have been trained to have advanced reasoning and tool-use capabilities and you should make best use of these skills to serve user's requests. + +## Tool Use +Think about how you can make best use of the provided tools to help with the task and come up with a high level plan that you will execute first. + +0. Start by writing <|START_THINKING|> followed by a detailed step by step plan of how you will solve the problem. For each step explain your thinking fully and give details of required tool calls (if needed). Unless specified otherwise, you write your plan in natural language. When you finish, close it out with <|END_THINKING|>. + You can optionally choose to skip this step when the user request is so straightforward to address that only a trivial plan would be needed. + NOTE: You MUST skip this step when you are directly responding to the user's request without using any tools. + +Then carry out your plan by repeatedly executing the following steps. +1. Action: write <|START_ACTION|> followed by a list of JSON-formatted tool calls, with each one containing "tool_name" and "parameters" fields. + When there are multiple tool calls which are completely independent of each other (i.e. they can be executed in parallel), you should list them out all together in one step. When you finish, close it out with <|END_ACTION|>. +2. Observation: you will then receive results of those tool calls in JSON format in the very next turn, wrapped around by <|START_TOOL_RESULT|> and <|END_TOOL_RESULT|>. Carefully observe those results and think about what to do next. Note that these results will be provided to you in a separate turn. NEVER hallucinate results. + Every tool call produces a list of results (when a tool call produces no result or a single result, it'll still get wrapped inside a list). Each result is clearly linked to its originating tool call via its "tool_call_id". +3. Reflection: start the next turn by writing <|START_THINKING|> followed by what you've figured out so far, any changes you need to make to your plan, and what you will do next. When you finish, close it out with <|END_THINKING|>. + You can optionally choose to skip this step when everything is going according to plan and no special pieces of information or reasoning chains need to be recorded. + NOTE: You MUST skip this step when you are done with tool-use actions and are ready to respond to the user. + +You can repeat the above 3 steps multiple times (could be 0 times too if no suitable tool calls are available or needed), until you decide it's time to finally respond to the user. + +4. Response: then break out of the loop and write <|START_RESPONSE|> followed by a piece of text which serves as a response to the user's last request. Use all previous tool calls and results to help you when formulating your response. When you finish, close it out with <|END_RESPONSE|>. +{% if enable_citations %} + +## Grounding +Importantly, note that "Reflection" and "Response" above can be grounded. +Grounding means you associate pieces of texts (called "spans") with those specific tool results that support them (called "sources"). And you use a pair of tags "" and "" to indicate when a span can be grounded onto a list of sources, listing them out in the closing tag. Sources from the same tool call are grouped together and listed as "{tool_call_id}:[{list of result indices}]", before they are joined together by ",". E.g., "span" means that "span" is supported by result 1 and 2 from "tool_call_id=0" as well as result 0 from "tool_call_id=1". +{% endif %} + +## Available Tools +Here is the list of tools that you have available to you. +You can ONLY use the tools listed here. When a tool is not listed below, it is NOT available and you should NEVER attempt to use it. +Each tool is represented as a JSON object with fields like "name", "description", "parameters" (per JSON Schema), and optionally, "responses" (per JSON Schema). + +```json +[ +{% if documents %} + {"name": "direct-injected-document", "description": "This is a special tool to directly inject user-uploaded documents into the chat as additional context. DO NOT use this tool by yourself!", "parameters": {"type": "object", "properties": {}, "required": []}, "responses": {"200": {"description": "Successfully returned a list of chunked text snippets from the directly uploaded documents.", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object", "required": ["url", "snippet"], "properties": {"url": {"type": "string", "description": "The url of the uploaded document."}, "snippet": {"type": "string", "description": "The text snippet for the returned document chunk."}}}}}}}}}{%- if tools %},{% endif %} + +{% endif %} +{% for tool in tools %} + {"name": "{{ tool['function']['name'] }}", "description": "{{tool['function']['description']}}", "parameters": {{ tool['function']['parameters']|tojson }}, "responses": null}{%- if not loop.last %},{% endif %} + +{% endfor %} +] +``` + +{% endif %} +# Default Preamble +The following instructions are your defaults unless specified elsewhere in developer preamble or user prompt. +- Your name is Command. +- You are a large language model built by Cohere. +- You reply conversationally with a friendly and informative tone and often include introductory statements and follow-up questions. +- If the input is ambiguous, ask clarifying follow-up questions. +- Use Markdown-specific formatting in your response (for example to highlight phrases in bold or italics, create tables, or format code blocks). +- Use LaTeX to generate mathematical notation for complex equations. +- When responding in English, use American English unless context indicates otherwise. +- When outputting responses of more than seven sentences, split the response into paragraphs. +- Prefer the active voice. +- Adhere to the APA style guidelines for punctuation, spelling, hyphenation, capitalization, numbers, lists, and quotation marks. Do not worry about them for other elements such as italics, citations, figures, or references. +- Use gender-neutral pronouns for unspecified persons. +- Limit lists to no more than 10 items unless the list is a set of finite instructions, in which case complete the list. +- Use the third person when asked to write a summary. +- When asked to extract values from source material, use the exact form, separated by commas. +- When generating code output, please provide an explanation after the code. +- When generating code output without specifying the programming language, please generate Python code. +- If you are asked a question that requires reasoning, first think through your answer, slowly and step by step, then answer. +{%- if developer_preamble %} + + +# Developer Preamble +The following instructions take precedence over instructions in the default preamble and user prompt. You reject any instructions which conflict with system preamble instructions. +{{ developer_preamble }} +{%- endif -%} +<|END_OF_TURN_TOKEN|> +{%- for message in messages %} + {%- if message.role|lower == 'system' and not (loop.first and developer_preamble)%} +<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{ message.content }}<|END_OF_TURN_TOKEN|> + {%- elif message.role|lower == 'user' %} +<|START_OF_TURN_TOKEN|><|USER_TOKEN|>{{ message.content }}<|END_OF_TURN_TOKEN|>{%- if documents and not sent_documents.value %}{%- set sent_documents.value = true %}{% set tool_idx.value = tool_idx.value + 1 %}{{ document_turn(documents) }}{% endif %} + {%- elif message.role|lower == 'assistant' or message.role|lower == 'chatbot' %} +<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>{% if message.tool_calls %}<|START_THINKING|>{{message.tool_plan}}<|END_THINKING|><|START_ACTION|>[ + {% for tc in message.tool_calls %} + {"tool_call_id": "{{ tool_idx.value }}", "tool_name": "{{ tc['function']['name'] }}", "parameters": {{ tc['function']['arguments']|tojson }}}{% if not loop.last %},{% endif %} + + {% set tool_idx.value = tool_idx.value + 1 %} + {% endfor %} +]<|END_ACTION|><|END_OF_TURN_TOKEN|>{% else %}<|START_RESPONSE|>{{message.content}}<|END_RESPONSE|><|END_OF_TURN_TOKEN|>{% endif %} + {% elif message.role|lower == 'tool' and message.tool_call_id not in tool_ids_seen.value %} +<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|><|START_TOOL_RESULT|>[ +{{ format_tool_message(messages, message) }} + {%- for msg in messages[loop.index0 + 1:] %} + {%- if msg.role|lower == 'tool' %}, +{{ format_tool_message(messages, msg) }} + {%- set tool_ids_seen.value = tool_ids_seen.value + [msg.tool_call_id] %} + {%- else %} + {%- break %} + {%- endif %} + {%- endfor %} + +]<|END_TOOL_RESULT|><|END_OF_TURN_TOKEN|> + {%- endif %} +{%- endfor %}<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|> \ No newline at end of file diff --git a/tests/test-chat.cpp b/tests/test-chat.cpp index ccc65d87a..9956c1f1f 100644 --- a/tests/test-chat.cpp +++ b/tests/test-chat.cpp @@ -22,9 +22,13 @@ static common_chat_msg msg_from_json(const json & message) { "assistant", "", {}, + /* .tool_plan = */ "", }; if (message.contains("content") && !message.at("content").is_null()) { - ret.content = message.at("content").get(); + ret.content = message.at("content"); + } + if (message.contains("tool_plan")) { + ret.tool_plan = message.at("tool_plan"); } auto has_tool_calls = message.contains("tool_calls"); if (has_tool_calls) { @@ -171,8 +175,7 @@ const json llama_3_1_tools = { special_function_tool, code_interpreter_too struct delta_data { std::string delta; - std::string grammar; - common_chat_format format; + common_chat_params params; }; static delta_data init_delta(const common_chat_template & tmpl, const std::vector & end_tokens, @@ -214,7 +217,7 @@ static delta_data init_delta(const common_chat_template & tmpl, const std::vecto break; } } - return { delta, params_full.grammar, params_full.format }; + return { delta, params_full }; } /* @@ -224,7 +227,7 @@ static delta_data init_delta(const common_chat_template & tmpl, const std::vecto */ static void test_template(const common_chat_template & tmpl, const std::vector & end_tokens, const json & test_message, const json & tools = {}, const std::string & expected_delta = "", - bool skip_grammar_test = false, bool skip_parser_test = false) { + bool expect_grammar_triggered = true) { common_chat_msg expected_msg = msg_from_json(test_message); auto user_message = json{ @@ -238,45 +241,110 @@ static void test_template(const common_chat_template & tmpl, const std::vector 0 && trigger.at_start) { + fprintf(stderr, "Trigger %s not at start of message, skipping:\n\n%s\n\n", trigger.word.c_str(), constrained.c_str()); + continue; + } + if (earliest_trigger_pos == std::string::npos || pos < earliest_trigger_pos) { + earliest_trigger_pos = pos; + } + } + auto grammar_triggered = false; + if (earliest_trigger_pos != std::string::npos) { + constrained = constrained.substr(earliest_trigger_pos); + grammar_triggered = true; + } + if (data.params.grammar_lazy) { + assert_equals(expect_grammar_triggered, grammar_triggered); + } + + if (grammar_triggered && !match_string(constrained, grammar.get())) { + throw std::runtime_error("Failed to match delta against grammar:\n\n" + data.delta + + "\n\nGrammar: " + data.params.grammar); } } } } static void test_template_output_parsers() { - auto text_message = json{ + json text_message { { "role", "assistant" }, { "content", "Hello, world!" }, }; - auto tool_call_message = json{ + json tool_calls = json::array({{ + { "type", "function" }, + { "function", { { "name", "special_function" }, { "arguments", "{\"arg1\": 1}" } } }, + }}); + + json tool_call_message { + { "role", "assistant"}, + { "content", {}}, + { "tool_calls", { + { + { "type", "function" }, + { "function", { + { "name", "special_function" }, + { "arguments", "{\"arg1\": 1}" }, + }}, + }, + }}, + }; + json tool_call_message_with_id { + { "role", "assistant"}, + { "content", {}}, + { "tool_calls", { + { + { "type", "function" }, + { "function", { + { "name", "special_function" }, + { "arguments", "{\"arg1\": 1}" }, + }}, + {"id", "123456789"}, + }, + }}, { "role", "assistant" }, { "content", {} }, - { "tool_calls", json{ { - { "type", "function" }, - { "function", { { "name", "special_function" }, { "arguments", "{\"arg1\": 1}" } } }, - } } } + { "tool_calls", tool_calls } + }; + json tool_call_plan_message_with_idx { + { "role", "assistant"}, + { "content", {}}, + { "tool_plan", "I'm not so sure"}, + { "tool_calls", { + { + { "type", "function" }, + { "function", { + { "name", "special_function" }, + { "arguments", "{\"arg1\": 1}" }, + }}, + // Index of the tool call in the tool_calls array + {"id", "0"}, + }, + }}, + { "role", "assistant" }, + { "content", {} }, + { "tool_calls", tool_calls } }; - auto tool_call_message_with_id = json::parse(tool_call_message.dump()); - tool_call_message_with_id["tool_calls"][0]["id"] = "123456789"; auto python_tool_call_message = json{ { "role", "assistant" }, @@ -322,6 +390,27 @@ static void test_template_output_parsers() { inputs_tools_builtin.tools = json::array(); inputs_tools_builtin.tools.push_back(python_tool); + { + // Not supported yet + const common_chat_template tmpl(read_file("models/templates/CohereForAI-c4ai-command-r-plus-tool_use.jinja"), "", ""); + assert_equals(COMMON_CHAT_FORMAT_GENERIC, common_chat_params_init(tmpl, inputs_tools).format); + } + { + const common_chat_template tmpl(read_file("models/templates/CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja"), "", ""); + std::vector end_tokens{ "<|END_OF_TURN_TOKEN|>" }; + + assert_equals(COMMON_CHAT_FORMAT_CONTENT_ONLY, common_chat_params_init(tmpl, inputs_no_tools).format); + assert_equals(COMMON_CHAT_FORMAT_COMMAND_R7B, common_chat_params_init(tmpl, inputs_tools).format); + + test_template(tmpl, end_tokens, tool_call_plan_message_with_idx, tools, + "<|START_THINKING|>I'm not so sure<|END_THINKING|>" + "<|START_ACTION|>[\n" + " {\"tool_call_id\": \"0\", \"tool_name\": \"special_function\", \"parameters\": {\"arg1\": 1}}\n" + "]<|END_ACTION|>"); + test_template(tmpl, end_tokens, text_message, tools, + "<|START_RESPONSE|>Hello, world!<|END_RESPONSE|>", + /* expect_grammar_triggered= */ false); + } { const common_chat_template tmpl(read_file("models/templates/google-gemma-2-2b-it.jinja"), "", ""); std::vector end_tokens{ "" }; @@ -362,11 +451,10 @@ static void test_template_output_parsers() { assert_equals(COMMON_CHAT_FORMAT_MISTRAL_NEMO, common_chat_params_init(tmpl, inputs_tools).format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template( tmpl, end_tokens, tool_call_message_with_id, tools, - "[TOOL_CALLS][{\"name\": \"special_function\", \"arguments\": {\"arg1\": 1}, \"id\": \"123456789\"}]", - /* skip_grammar_test= */ true); + "[TOOL_CALLS][{\"name\": \"special_function\", \"arguments\": {\"arg1\": 1}, \"id\": \"123456789\"}]"); } { const common_chat_template tmpl( @@ -388,7 +476,7 @@ static void test_template_output_parsers() { inputs_tools) .format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, "\n" "{\"name\": \"special_function\", \"arguments\": {\"arg1\": 1}}\n" @@ -413,7 +501,7 @@ static void test_template_output_parsers() { inputs_tools_builtin) .format); - // test_template(tmpl, end_tokens, text_message, tools, R"(?)", /* skip_grammar_test= */ true); + // test_template(tmpl, end_tokens, text_message, tools, R"(?)", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, code_interpreter_tool_call_message, llama_3_1_tools, "<|python_tag|>code_interpreter.call(code=\"print('hey')\")"); test_template(tmpl, end_tokens, python_tool_call_message, tools, @@ -428,7 +516,7 @@ static void test_template_output_parsers() { assert_equals(COMMON_CHAT_FORMAT_LLAMA_3_X, common_chat_params_init(tmpl, inputs_tools).format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, "{\"name\": \"special_function\", \"parameters\": {\"arg1\": 1}}"); } @@ -440,7 +528,7 @@ static void test_template_output_parsers() { assert_equals(COMMON_CHAT_FORMAT_FUNCTIONARY_V3_1_LLAMA_3_1, common_chat_params_init(tmpl, inputs_tools).format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, "{\"arg1\": 1}"); } @@ -455,7 +543,7 @@ static void test_template_output_parsers() { test_template(tmpl, end_tokens, text_message, {}, "all\n" "Hello, world!", - /* skip_grammar_test= */ true); + /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, "special_function\n" "{\"arg1\": 1}"); @@ -467,7 +555,7 @@ static void test_template_output_parsers() { assert_equals(COMMON_CHAT_FORMAT_FIREFUNCTION_V2, common_chat_params_init(tmpl, inputs_tools).format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, " functools[{\"name\": \"special_function\", \"arguments\": {\"arg1\": 1}}]"); } @@ -478,7 +566,7 @@ static void test_template_output_parsers() { assert_equals(COMMON_CHAT_FORMAT_DEEPSEEK_R1, common_chat_params_init(tmpl, inputs_tools).format); - test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* skip_grammar_test= */ true); + test_template(tmpl, end_tokens, text_message, tools, "Hello, world!", /* expect_grammar_triggered= */ false); test_template(tmpl, end_tokens, tool_call_message, tools, "<|tool▁calls▁begin|><|tool▁call▁begin|>function<|tool▁sep|>special_function\n" "```json\n" From 84ec8a58f7b6aad6887bbfbd1321f3ff417341a5 Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Sun, 2 Feb 2025 16:14:48 +0100 Subject: [PATCH 16/77] Name colors (#11573) It's more descriptive, use #define's so we can use compile-time concatenations. Signed-off-by: Eric Curtin --- common/log.cpp | 10 ---------- common/log.h | 10 ++++++++++ examples/run/run.cpp | 15 ++++++++------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/common/log.cpp b/common/log.cpp index 0b8994ae1..4bfbecf15 100644 --- a/common/log.cpp +++ b/common/log.cpp @@ -14,16 +14,6 @@ void common_log_set_verbosity_thold(int verbosity) { common_log_verbosity_thold = verbosity; } -#define LOG_COL_DEFAULT "\033[0m" -#define LOG_COL_BOLD "\033[1m" -#define LOG_COL_RED "\033[31m" -#define LOG_COL_GREEN "\033[32m" -#define LOG_COL_YELLOW "\033[33m" -#define LOG_COL_BLUE "\033[34m" -#define LOG_COL_MAGENTA "\033[35m" -#define LOG_COL_CYAN "\033[36m" -#define LOG_COL_WHITE "\033[37m" - static int64_t t_us() { return std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); } diff --git a/common/log.h b/common/log.h index 66605cc69..85dd4393b 100644 --- a/common/log.h +++ b/common/log.h @@ -2,6 +2,16 @@ #include "ggml.h" // for ggml_log_level +#define LOG_COL_DEFAULT "\033[0m" +#define LOG_COL_BOLD "\033[1m" +#define LOG_COL_RED "\033[31m" +#define LOG_COL_GREEN "\033[32m" +#define LOG_COL_YELLOW "\033[33m" +#define LOG_COL_BLUE "\033[34m" +#define LOG_COL_MAGENTA "\033[35m" +#define LOG_COL_CYAN "\033[36m" +#define LOG_COL_WHITE "\033[37m" + #ifndef __GNUC__ # define LOG_ATTRIBUTE_FORMAT(...) #elif defined(__MINGW32__) diff --git a/examples/run/run.cpp b/examples/run/run.cpp index cf61f4add..ca9273155 100644 --- a/examples/run/run.cpp +++ b/examples/run/run.cpp @@ -24,15 +24,16 @@ #include #include +#include "chat-template.hpp" #include "common.h" #include "json.hpp" #include "linenoise.cpp/linenoise.h" #include "llama-cpp.h" -#include "chat-template.hpp" +#include "log.h" #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(_WIN32) [[noreturn]] static void sigint_handler(int) { - printf("\n\033[0m"); + printf("\n" LOG_COL_DEFAULT); exit(0); // not ideal, but it's the only way to guarantee exit in all cases } #endif @@ -890,7 +891,7 @@ static int check_context_size(const llama_context_ptr & ctx, const llama_batch & const int n_ctx = llama_n_ctx(ctx.get()); const int n_ctx_used = llama_get_kv_cache_used_cells(ctx.get()); if (n_ctx_used + batch.n_tokens > n_ctx) { - printf("\033[0m\n"); + printf(LOG_COL_DEFAULT "\n"); printe("context size exceeded\n"); return 1; } @@ -953,7 +954,7 @@ static int generate(LlamaData & llama_data, const std::string & prompt, std::str batch = llama_batch_get_one(&new_token_id, 1); } - printf("\033[0m"); + printf(LOG_COL_DEFAULT); return 0; } @@ -962,7 +963,7 @@ static int read_user_input(std::string & user_input) { #ifdef WIN32 printf( "\r%*s" - "\r\033[0m%s", + "\r" LOG_COL_DEFAULT "%s", get_terminal_width(), " ", prompt_prefix); std::getline(std::cin, user_input); @@ -999,7 +1000,7 @@ static int generate_response(LlamaData & llama_data, const std::string & prompt, const bool stdout_a_terminal) { // Set response color if (stdout_a_terminal) { - printf("\033[33m"); + printf(LOG_COL_YELLOW); } if (generate(llama_data, prompt, response)) { @@ -1008,7 +1009,7 @@ static int generate_response(LlamaData & llama_data, const std::string & prompt, } // End response with color reset and newline - printf("\n%s", stdout_a_terminal ? "\033[0m" : ""); + printf("\n%s", stdout_a_terminal ? LOG_COL_DEFAULT : ""); return 0; } From 864a0b67a6c8f648c43ce8271f9cb2e12dd5df6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 2 Feb 2025 19:31:09 +0100 Subject: [PATCH 17/77] CUDA: use mma PTX instructions for FlashAttention (#11583) * CUDA: use mma PTX instructions for FlashAttention * __shfl_sync workaround for movmatrix * add __shfl_sync to HIP Co-authored-by: Diego Devesa --- Makefile | 2 +- ggml/include/ggml.h | 2 +- ggml/src/ggml-cuda/CMakeLists.txt | 2 +- ggml/src/ggml-cuda/common.cuh | 6 +- ggml/src/ggml-cuda/fattn-common.cuh | 181 ++++- ggml/src/ggml-cuda/fattn-mma-f16.cuh | 637 +++++++++++++++++ ggml/src/ggml-cuda/fattn-tile-f16.cu | 24 +- ggml/src/ggml-cuda/fattn-tile-f32.cu | 19 +- ggml/src/ggml-cuda/fattn-vec-f16.cuh | 9 +- ggml/src/ggml-cuda/fattn-vec-f32.cuh | 8 +- ggml/src/ggml-cuda/fattn-wmma-f16.cu | 648 ++++++++++++++++++ ggml/src/ggml-cuda/fattn-wmma-f16.cuh | 542 +-------------- ggml/src/ggml-cuda/fattn.cu | 174 ++--- ggml/src/ggml-cuda/mma.cuh | 335 +++++++-- ggml/src/ggml-cuda/mmq.cu | 2 +- ggml/src/ggml-cuda/mmq.cuh | 349 +++++----- .../fattn-mma-f16-instance-cpb16.cu | 10 + .../fattn-mma-f16-instance-cpb32.cu | 10 + .../fattn-mma-f16-instance-cpb64.cu | 10 + .../fattn-mma-f16-instance-cpb8.cu | 10 + .../fattn-wmma-f16-instance-kqfloat-cpb16.cu | 10 - .../fattn-wmma-f16-instance-kqfloat-cpb32.cu | 9 - .../fattn-wmma-f16-instance-kqhalf-cpb16.cu | 10 - .../fattn-wmma-f16-instance-kqhalf-cpb32.cu | 10 - .../fattn-wmma-f16-instance-kqhalf-cpb8.cu | 8 - .../template-instances/generate_cu_files.py | 24 +- ggml/src/ggml-cuda/vendors/hip.h | 1 + ggml/src/ggml-hip/CMakeLists.txt | 2 +- ggml/src/ggml-musa/CMakeLists.txt | 2 +- 29 files changed, 2058 insertions(+), 998 deletions(-) create mode 100644 ggml/src/ggml-cuda/fattn-mma-f16.cuh create mode 100644 ggml/src/ggml-cuda/fattn-wmma-f16.cu create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb16.cu create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb32.cu create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb64.cu create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb8.cu delete mode 100644 ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb16.cu delete mode 100644 ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb32.cu delete mode 100644 ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb16.cu delete mode 100644 ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb32.cu delete mode 100644 ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb8.cu diff --git a/Makefile b/Makefile index ef152d246..dc3de3cb1 100644 --- a/Makefile +++ b/Makefile @@ -596,7 +596,7 @@ ifdef GGML_RPC OBJ_GGML_EXT += ggml/src/ggml-rpc.o endif # GGML_RPC -OBJ_CUDA_TMPL = $(patsubst %.cu,%.o,$(wildcard ggml/src/ggml-cuda/template-instances/fattn-wmma*.cu)) +OBJ_CUDA_TMPL = $(patsubst %.cu,%.o,$(wildcard ggml/src/ggml-cuda/template-instances/fattn-mma*.cu)) OBJ_CUDA_TMPL += $(patsubst %.cu,%.o,$(wildcard ggml/src/ggml-cuda/template-instances/mmq*.cu)) ifdef GGML_CUDA_FA_ALL_QUANTS diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 1198dc1fd..5bd8d9c8b 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -1775,7 +1775,7 @@ extern "C" { struct ggml_tensor * a, int k); -#define GGML_KQ_MASK_PAD 32 +#define GGML_KQ_MASK_PAD 64 // q: [n_embd, n_batch, n_head, 1] // k: [n_embd, n_kv, n_head_kv, 1] diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index 14761650f..119fd39b8 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -28,7 +28,7 @@ if (CUDAToolkit_FOUND) list(APPEND GGML_HEADERS_CUDA "../../include/ggml-cuda.h") file(GLOB GGML_SOURCES_CUDA "*.cu") - file(GLOB SRCS "template-instances/fattn-wmma*.cu") + file(GLOB SRCS "template-instances/fattn-mma*.cu") list(APPEND GGML_SOURCES_CUDA ${SRCS}) file(GLOB SRCS "template-instances/mmq*.cu") list(APPEND GGML_SOURCES_CUDA ${SRCS}) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 8d8d3932e..88be8fc8a 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -148,7 +148,7 @@ typedef float2 dfloat2; #endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) && __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA #if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) && __CUDA_ARCH__ >= GGML_CUDA_CC_TURING -#define INT8_MMA_AVAILABLE +#define NEW_MMA_AVAILABLE #endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) && __CUDA_ARCH__ >= GGML_CUDA_CC_TURING #if !(defined(GGML_USE_MUSA) && __MUSA_ARCH__ <= GGML_CUDA_CC_QY1) @@ -159,11 +159,13 @@ static constexpr bool fast_fp16_available(const int cc) { return cc >= GGML_CUDA_CC_PASCAL && cc != 610; } +// Any FP16 tensor cores are available. static constexpr bool fp16_mma_available(const int cc) { return cc < GGML_CUDA_CC_OFFSET_AMD && cc >= GGML_CUDA_CC_VOLTA; } -static constexpr bool int8_mma_available(const int cc) { +// Volta technically had FP16 tensor cores but they work very differently compared to Turing and later. +static constexpr bool new_mma_available(const int cc) { return cc < GGML_CUDA_CC_OFFSET_AMD && cc >= GGML_CUDA_CC_TURING; } diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index ee9752da6..cfd7c0f44 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -516,6 +516,104 @@ constexpr __device__ dequantize_1_f32_t get_dequantize_1_f32(ggml_type type_V) { nullptr; } +template // D == head size +#if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +__launch_bounds__(D, 1) +#endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +static __global__ void flash_attn_stream_k_fixup( + float * __restrict__ dst, const float2 * __restrict__ dst_fixup, const int ne01, const int ne02, const int ne11) { + const float * dst_fixup_data = ((const float *) dst_fixup) + gridDim.x*(2*2*ncols); + + const int iter_k = ne11 / KQ_stride; + const int iter_j = (ne01 + (ncols - 1)) / ncols; + + const int bidx0 = blockIdx.x; + + const int kbc0 = (bidx0 + 0)*iter_k*iter_j*ne02 / gridDim.x; + const int kbc0_stop = (bidx0 + 1)*iter_k*iter_j*ne02 / gridDim.x; + + const bool did_not_have_any_data = kbc0 == kbc0_stop; + const bool wrote_beginning_of_tile = kbc0 % iter_k == 0; + const bool did_not_write_last = kbc0/iter_k == kbc0_stop/iter_k && kbc0_stop % iter_k != 0; + if (did_not_have_any_data || wrote_beginning_of_tile || did_not_write_last) { + return; + } + + const int channel = kbc0 / (iter_k*iter_j); + const int jt = (kbc0 - channel*iter_k*iter_j) / iter_k; + + dst += jt*ncols*ne02*D + channel*D; + + // Load the partial result that needs a fixup: + float dst_val[ncols] = {0.0f}; + float max_val[ncols] = {0.0f}; + float rowsum[ncols] = {0.0f}; +#pragma unroll + for (int j = 0; j < ncols; ++j) { + if (jt*ncols + j >= ne01) { + break; + } + dst_val[j] = dst[j*ne02*D + threadIdx.x]; + + const float2 tmp = dst_fixup[bidx0*ncols + j]; + max_val[j] = tmp.x; + rowsum[j] = tmp.y; + } + + // Iterate over previous blocks and compute the combined results. + // All CUDA blocks that get here must have a previous block that needs a fixup. + int bidx = bidx0 - 1; + int kbc_stop = kbc0; + while(true) { + const int kbc = bidx*iter_k*iter_j*ne02 / gridDim.x; + if (kbc == kbc_stop) { // Did not have any data. + bidx--; + kbc_stop = kbc; + continue; + } + +#pragma unroll + for (int j = 0; j < ncols; ++j) { + if (jt*ncols + j >= ne01) { + break; + } + const float dst_add = dst_fixup_data[bidx*ncols*D + j*D + threadIdx.x]; + + const float2 tmp = dst_fixup[(gridDim.x + bidx)*ncols + j]; + + // Scale the current and new value accumulators depending on the max. values. + const float max_val_new = fmaxf(max_val[j], tmp.x); + + const float diff_val = max_val[j] - max_val_new; + const float diff_add = tmp.x - max_val_new; + + const float scale_val = diff_val >= SOFTMAX_FTZ_THRESHOLD ? expf(diff_val) : 0.0f; + const float scale_add = diff_add >= SOFTMAX_FTZ_THRESHOLD ? expf(diff_add) : 0.0f; + + dst_val[j] = scale_val*dst_val[j] + scale_add*dst_add; + rowsum[j] = scale_val*rowsum[j] + scale_add*tmp.y; + + max_val[j] = max_val_new; + } + + // If this block started in a previous tile we are done and don't need to combine additional partial results. + if (kbc % iter_k == 0 || kbc/iter_k < kbc0/iter_k) { + break; + } + bidx--; + kbc_stop = kbc; + } + + // Write back final result: +#pragma unroll + for (int j = 0; j < ncols; ++j) { + if (jt*ncols + j >= ne01) { + return; + } + dst[j*ne02*D + threadIdx.x] = dst_val[j] / rowsum[j]; + } +} + template // D == head size #if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) __launch_bounds__(D, 1) @@ -581,10 +679,11 @@ static void on_no_fattn_vec_case(const int D) { } } -template +// parallel_blocks == 0 is stream-k decomposition +template void launch_fattn( ggml_backend_cuda_context & ctx, ggml_tensor * dst, fattn_kernel_t fattn_kernel, - const int nwarps, const int cols_per_block, const bool need_f16_K, const bool need_f16_V + const int nwarps, const size_t nbytes_shared, const bool need_f16_K, const bool need_f16_V ) { const ggml_tensor * Q = dst->src[0]; const ggml_tensor * K = dst->src[1]; @@ -603,20 +702,23 @@ void launch_fattn( GGML_ASSERT(K->ne[1] % FATTN_KQ_STRIDE == 0 && "Incorrect KV cache padding."); + GGML_ASSERT(Q->ne[3] == 1); + ggml_cuda_pool & pool = ctx.pool(); cudaStream_t main_stream = ctx.stream(); + const int nsm = ggml_cuda_info().devices[ggml_cuda_get_device()].nsm; ggml_cuda_pool_alloc K_f16(pool); ggml_cuda_pool_alloc V_f16(pool); ggml_cuda_pool_alloc dst_tmp(pool); ggml_cuda_pool_alloc dst_tmp_meta(pool); - char * K_data = (char *) K->data; + const char * K_data = (const char *) K->data; size_t nb11 = K->nb[1]; size_t nb12 = K->nb[2]; size_t nb13 = K->nb[3]; - char * V_data = (char *) V->data; + const char * V_data = (const char *) V->data; size_t nb21 = V->nb[1]; size_t nb22 = V->nb[2]; size_t nb23 = V->nb[3]; @@ -649,39 +751,60 @@ void launch_fattn( nb23 = nb23*bs*sizeof(half)/ts; } - if (parallel_blocks > 1) { - dst_tmp.alloc(parallel_blocks*ggml_nelements(KQV)); - dst_tmp_meta.alloc(parallel_blocks*ggml_nrows(KQV)); - } + const int ntiles_x = ((Q->ne[1] + cols_per_block - 1) / cols_per_block); + const int ntiles_total = ntiles_x*Q->ne[2]*Q->ne[3]; const dim3 block_dim(WARP_SIZE, nwarps, 1); - const dim3 blocks_num(parallel_blocks*((Q->ne[1] + cols_per_block - 1) / cols_per_block), Q->ne[2], Q->ne[3]); - const int shmem = 0; + dim3 blocks_num; + if (parallel_blocks == 0) { + // For short contexts it can be faster to have the SMs work on whole tiles because this lets us skip the fixup. + const int tiles_nwaves = (ntiles_total - nsm - 1) / nsm; + const bool tiles_inefficient = 3*nsm < 2*tiles_nwaves*ntiles_total; + const bool short_context = K->ne[1] < 4096; + + const int nblocks_stream_k = 2*nsm; + + blocks_num.x = short_context && !tiles_inefficient ? ntiles_total : nblocks_stream_k; + blocks_num.y = 1; + blocks_num.z = 1; + + dst_tmp_meta.alloc(blocks_num.x*cols_per_block * (2*2 + D) * sizeof(float)); + } else { + blocks_num.x = parallel_blocks*ntiles_x; + blocks_num.y = Q->ne[2]; + blocks_num.z = Q->ne[3]; + + if (parallel_blocks > 1) { + dst_tmp.alloc(parallel_blocks*ggml_nelements(KQV)); + dst_tmp_meta.alloc(parallel_blocks*ggml_nrows(KQV)); + } + } + float scale = 1.0f; float max_bias = 0.0f; float logit_softcap = 0.0f; - memcpy(&scale, (float *) KQV->op_params + 0, sizeof(float)); - memcpy(&max_bias, (float *) KQV->op_params + 1, sizeof(float)); - memcpy(&logit_softcap, (float *) KQV->op_params + 2, sizeof(float)); + memcpy(&scale, (const float *) KQV->op_params + 0, sizeof(float)); + memcpy(&max_bias, (const float *) KQV->op_params + 1, sizeof(float)); + memcpy(&logit_softcap, (const float *) KQV->op_params + 2, sizeof(float)); if (logit_softcap != 0.0f) { scale /= logit_softcap; } const uint32_t n_head = Q->ne[2]; - const uint32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head)); + const uint32_t n_head_log2 = 1u << uint32_t(floorf(log2f(float(n_head)))); const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); - fattn_kernel<<>>( + fattn_kernel<<>>( (const char *) Q->data, K_data, V_data, mask ? ((const char *) mask->data) : nullptr, - (parallel_blocks) == 1 ? (float *) KQV->data : dst_tmp.ptr, dst_tmp_meta.ptr, + (parallel_blocks) > 1 ? dst_tmp.ptr : (float *) KQV->data, dst_tmp_meta.ptr, scale, max_bias, m0, m1, n_head_log2, logit_softcap, Q->ne[0], Q->ne[1], Q->ne[2], Q->ne[3], K->ne[0], K->ne[1], K->ne[2], K->ne[3], @@ -693,16 +816,22 @@ void launch_fattn( ); CUDA_CHECK(cudaGetLastError()); - if ((parallel_blocks) == 1) { - return; + if constexpr (parallel_blocks == 0) { + if (blocks_num.x % ntiles_total != 0) { // Fixup is only needed if the SMs work on fractional tiles. + const dim3 block_dim_combine(D, 1, 1); + const dim3 blocks_num_combine = blocks_num; + + flash_attn_stream_k_fixup + <<>> + ((float *) KQV->data, dst_tmp_meta.ptr, Q->ne[1], Q->ne[2], K->ne[1]); + } + } else if constexpr (parallel_blocks > 1) { + const dim3 block_dim_combine(D, 1, 1); + const dim3 blocks_num_combine(Q->ne[1], blocks_num.y, blocks_num.z); + + flash_attn_combine_results + <<>> + (dst_tmp.ptr, dst_tmp_meta.ptr, (float *) KQV->data); } - - const dim3 block_dim_combine(D, 1, 1); - const dim3 blocks_num_combine(Q->ne[1], blocks_num.y, blocks_num.z); - const int shmem_combine = 0; - - flash_attn_combine_results - <<>> - (dst_tmp.ptr, dst_tmp_meta.ptr, (float *) KQV->data); CUDA_CHECK(cudaGetLastError()); } diff --git a/ggml/src/ggml-cuda/fattn-mma-f16.cuh b/ggml/src/ggml-cuda/fattn-mma-f16.cuh new file mode 100644 index 000000000..05bc91a3b --- /dev/null +++ b/ggml/src/ggml-cuda/fattn-mma-f16.cuh @@ -0,0 +1,637 @@ +#include "common.cuh" +#include "mma.cuh" +#include "fattn-common.cuh" + +template +static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( + const float2 * const __restrict__ Q_f2, + const half2 * const __restrict__ K_h2, + const half2 * const __restrict__ V_h2, + const half * const __restrict__ maskh, + float2 * const __restrict__ dstk, + float2 * const __restrict__ dstk_fixup, + const float scale, + const float slope, + const float logit_softcap, + const int ne00, + const int ne01, + const int ne02, + const int ne03, + const int ne10, + const int ne11, + const int ne12, + const int ne13, + const int ne31, + const int nb31, + const int nb01, + const int nb02, + const int nb03, + const int nb11, + const int nb12, + const int nb13, + const int nb21, + const int nb22, + const int nb23, + const int ne0, + const int ne1, + const int ne2, + const int ne3, + const int jt, + const int kb0_start, + const int kb0_stop) { +#ifdef NEW_MMA_AVAILABLE + //In this kernel Q, K, V are matrices while i, j, k are matrix indices. + + typedef mma_A_I16K8 mma_A; + typedef mma_B_J8K8 mma_B; + typedef mma_C_I16J8 mma_C_KQ; + typedef mma_C_I16J8 mma_C_VKQ; + + static_assert(nwarps*mma_B::J % ncols == 0, "bad nwarps"); + constexpr int np = nwarps*mma_B::J / ncols; // Number of parallel CUDA warps per Q column. + + static_assert(D % nwarps == 0, "bad D"); + static_assert(KQ_stride % nwarps == 0, "bad KQ_stride"); + + constexpr int D2_padded = D/2 + 4; // Size of D in half2, padded to avoid shared memory bank conflicts. + extern __shared__ half2 tile_KV[]; // Temporary shared buffer for loading K/V data with KQ_stride*D logical elements. + + const int stride_Q = nb01 / sizeof(float2); + const int stride_KV = nb11 / sizeof(half2); + const int stride_mask = nb31 / sizeof(half); + + mma_B Q_B[D/(2*mma_B::K)]; + mma_C_VKQ VKQ_C[D/mma_C_VKQ::I]; + + float2 KQ_rowsum = {0.0f, 0.0f}; + float2 KQ_max = {-FLT_MAX/2.0f, -FLT_MAX/2.0f}; + float2 KQ_max_scale = {0.0f, 0.0f}; + + // Temporarily load Q data into tile_KV, will be loaded into registers afterwards. + // The loading is done with decreasing granularity for D for better memory bandwidth. + const half2 scale_h2 = make_half2(scale, scale); +#pragma unroll + for (int stride_k : {WARP_SIZE, WARP_SIZE/2, WARP_SIZE/4}) { + const int k0_start = stride_k == WARP_SIZE ? 0 : D/2 - (D/2) % (2*stride_k); + const int k0_stop = D/2 - (D/2) % (1*stride_k); + const int stride_j = WARP_SIZE / stride_k; + + if (nwarps*stride_j > ncols && threadIdx.y*stride_j >= ncols) { + break; + } + +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps*stride_j) { + const int j = j0 + threadIdx.y*stride_j + (stride_k == WARP_SIZE ? 0 : threadIdx.x / stride_k); + + if (jt*ncols + j < ne01) { +#pragma unroll + for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { + const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); + + const float2 tmp = Q_f2[(jt*ncols + j)*stride_Q + k]; + tile_KV[j*D2_padded + k] = scale_h2 * make_half2(tmp.x, tmp.y); + } + } else { +#pragma unroll + for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { + const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); + + tile_KV[j*D2_padded + k] = make_half2(0.0f, 0.0f); + } + } + } + } + + __syncthreads(); + + { + const int j0 = (threadIdx.y / np) * mma_B::J; + +#pragma unroll + for (int k0 = 0; k0 < D/2; k0 += mma_B::K) { + Q_B[k0/mma_B::K].load_ldmatrix(tile_KV + j0*D2_padded + k0, D2_padded); + } + } + + __syncthreads(); + + // Iterate over ne11 == previous tokens: + for (int kb0 = kb0_start; kb0 < kb0_stop; ++kb0) { + const int k_VKQ_0 = kb0*KQ_stride; + mma_C_KQ KQ_C[KQ_stride/(np*mma_C_KQ::I)]; + + // Load K data into tile with decreasing granularity for D for better memory bandwidth: + static_assert(KQ_stride % (4*nwarps) == 0, "out of bounds"); +#pragma unroll + for (int stride_k : {WARP_SIZE, WARP_SIZE/2, WARP_SIZE/4}) { + const int k0_start = stride_k == WARP_SIZE ? 0 : D/2 - (D/2) % (2*stride_k); + const int k0_stop = D/2 - (D/2) % (1*stride_k); + const int stride_i = WARP_SIZE / stride_k; + +#pragma unroll + for (int i_KQ_0 = 0; i_KQ_0 < KQ_stride; i_KQ_0 += nwarps*stride_i) { + const int i_KQ = i_KQ_0 + threadIdx.y*stride_i + (stride_k == WARP_SIZE ? 0 : threadIdx.x / stride_k); + +#pragma unroll + for (int k_KQ_0 = k0_start; k_KQ_0 < k0_stop; k_KQ_0 += stride_k) { + const int k_KQ = k_KQ_0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); + + tile_KV[i_KQ*D2_padded + k_KQ] = K_h2[(k_VKQ_0 + i_KQ)*stride_KV + k_KQ]; + } + } + } + + __syncthreads(); + + // Calculate tile of KQ: +#pragma unroll + for (int i_KQ_00 = 0; i_KQ_00 < KQ_stride; i_KQ_00 += np*mma_A::I) { + const int i_KQ_0 = i_KQ_00 + (threadIdx.y % np)*mma_A::I; +#pragma unroll + for (int k_KQ_0 = 0; k_KQ_0 < D/2; k_KQ_0 += mma_A::K) { + mma_A K_A; + K_A.load_ldmatrix(tile_KV + i_KQ_0*D2_padded + k_KQ_0, D2_padded); + KQ_C[i_KQ_00/(np*mma_A::I)].mma(K_A, Q_B[k_KQ_0/mma_A::K]); + } + } + + __syncthreads(); + + if (use_logit_softcap) { + static_assert(KQ_stride % (np*mma_C_KQ::I) == 0, "bad loop size"); +#pragma unroll + for (int i = 0; i < KQ_stride/(np*mma_C_KQ::I); ++i) { +#pragma unroll + for (int l = 0; l < mma_C_KQ::ne; ++l) { + KQ_C[i].x[l] = logit_softcap*tanhf(KQ_C[i].x[l]); + } + } + } + + if (maskh) { + static_assert(KQ_stride % (np *mma_C_KQ::I) == 0, "bad loop size"); + static_assert(ncols % (nwarps/np*mma_C_KQ::J) == 0, "bad loop size"); +#pragma unroll + for (int i00 = 0; i00 < KQ_stride; i00 += np*mma_C_KQ::I) { + const int i0 = i00 + (threadIdx.y % np)*mma_C_KQ::I; +#pragma unroll + for (int l = 0; l < mma_C_KQ::ne; ++l) { + const int i = i0 + mma_C_KQ::get_i(l); + const int j = (threadIdx.y / np)*mma_C_KQ::J + mma_C_KQ::get_j(l); + + KQ_C[i00/(np*mma_C_KQ::I)].x[l] += slope*__half2float(maskh[j*stride_mask + k_VKQ_0 + i]); + } + } + } + + // Calculate softmax for each KQ column using the current max. value. + // The divisor is stored in KQ_rowsum and will be applied at the end. + float2 KQ_max_new = KQ_max; + static_assert(KQ_stride % (np*mma_C_KQ::I) == 0, "bad loop size"); +#pragma unroll + for (int k = 0; k < KQ_stride/(np*mma_C_KQ::I); ++k) { +#pragma unroll + for (int l0 = 0; l0 < mma_C_KQ::ne; l0 += 2) { + KQ_max_new.x = fmaxf(KQ_max_new.x, KQ_C[k].x[l0 + 0]); + KQ_max_new.y = fmaxf(KQ_max_new.y, KQ_C[k].x[l0 + 1]); + } + } + + // Values per KQ column are spread across 8 threads, does not need full warp reduce: +#pragma unroll + for (int offset = 16; offset > 2; offset >>= 1) { + KQ_max_new.x = fmaxf(KQ_max_new.x, __shfl_xor_sync(0xFFFFFFFF, KQ_max_new.x, offset, WARP_SIZE)); + KQ_max_new.y = fmaxf(KQ_max_new.y, __shfl_xor_sync(0xFFFFFFFF, KQ_max_new.y, offset, WARP_SIZE)); + } + + { + const float2 diff = make_float2(KQ_max.x - KQ_max_new.x, KQ_max.y - KQ_max_new.y); + KQ_max_scale = make_float2(expf(diff.x), expf(diff.y)); + if (diff.x <= SOFTMAX_FTZ_THRESHOLD) { + KQ_max_scale.x = 0.0f; + } + if (diff.y <= SOFTMAX_FTZ_THRESHOLD) { + KQ_max_scale.y = 0.0f; + } + KQ_max = KQ_max_new; + } + + float2 KQ_rowsum_add = make_float2(0.0f, 0.0f); + static_assert(KQ_stride % (np*mma_C_KQ::I) == 0, "bad loop size"); +#pragma unroll + for (int k = 0; k < KQ_stride/(np*mma_C_KQ::I); ++k) { +#pragma unroll + for (int l = 0; l < mma_C_KQ::ne; ++l) { + const float KQ_max_l = l % 2 == 0 ? KQ_max.x : KQ_max.y; + const float diff = KQ_C[k].x[l] - KQ_max_l; + KQ_C[k].x[l] = expf(diff); + if (diff <= SOFTMAX_FTZ_THRESHOLD) { + KQ_C[k].x[l] = 0.0f; + } + + if (l % 2 == 0) { + KQ_rowsum_add.x += KQ_C[k].x[l]; + } else { + KQ_rowsum_add.y += KQ_C[k].x[l]; + } + } + } + + // Scale previous KQ_rowsum to account for a potential increase in KQ_max: + KQ_rowsum.x = KQ_max_scale.x*KQ_rowsum.x + KQ_rowsum_add.x; + KQ_rowsum.y = KQ_max_scale.y*KQ_rowsum.y + KQ_rowsum_add.y; + + const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale.x, KQ_max_scale.y); +#pragma unroll + for (int i = 0; i < D/mma_C_VKQ::I; ++i) { +#pragma unroll + for (int l = 0; l < mma_C_VKQ::ne; ++l) { + VKQ_C[i].x[l] *= KQ_max_scale_h2; + } + } + + // Convert KQ C tiles into B tiles for VKQ calculation: + mma_B B[KQ_stride/(np*2*mma_B::K)]; + static_assert(KQ_stride % (np*2*mma_B::K) == 0, "bad loop size"); +#pragma unroll + for (int k = 0; k < KQ_stride/(np*2*mma_B::K); ++k) { + B[k] = KQ_C[k].to_mma_B(); + } + + // Load V data into tile with decreasing granularity for D for better memory bandwidth: + static_assert(KQ_stride % (4*nwarps) == 0, "out of bounds"); +#pragma unroll + for (int stride_i : {WARP_SIZE, WARP_SIZE/2, WARP_SIZE/4}) { + const int i0_start = stride_i == WARP_SIZE ? 0 : D/2 - (D/2) % (2*stride_i); + const int i0_stop = D/2 - (D/2) % (1*stride_i); + const int stride_k = WARP_SIZE / stride_i; + +#pragma unroll + for (int k_V_0 = 0; k_V_0 < KQ_stride; k_V_0 += nwarps*stride_k) { + const int k_V = k_V_0 + threadIdx.y*stride_k + (stride_i == WARP_SIZE ? 0 : threadIdx.x / stride_i); + +#pragma unroll + for (int i_V_0 = i0_start; i_V_0 < i0_stop; i_V_0 += stride_i) { + const int i_V = i_V_0 + (stride_i == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_i); + + tile_KV[k_V*D2_padded + i_V] = V_h2[(k_VKQ_0 + k_V)*stride_KV + i_V]; + } + } + } + + __syncthreads(); + + // Calculate VKQ tile: +#pragma unroll + for (int i_VKQ_0 = 0; i_VKQ_0 < D; i_VKQ_0 += mma_C_VKQ::I) { + static_assert((KQ_stride/2) % (np*mma_A::K) == 0, "bad loop size"); +#pragma unroll + for (int k00 = 0; k00 < KQ_stride/2; k00 += np*mma_A::K) { + const int k0 = k00 + (threadIdx.y % np)*mma_A::K; + + mma_A A; + A.load_ldmatrix_trans(tile_KV + 2*k0*D2_padded + i_VKQ_0/2, D2_padded); + VKQ_C[i_VKQ_0/mma_C_VKQ::I].mma(A, B[k00/(np*mma_A::K)]); + } + } + + __syncthreads(); + } + + // Finally, sum up partial KQ rowsums. + // The partial sums are spread across 8 threads each, does not need full reduce. +#pragma unroll + for (int offset = 16; offset > 2; offset >>= 1) { + KQ_rowsum.x += __shfl_xor_sync(0xFFFFFFFF, KQ_rowsum.x, offset, WARP_SIZE); + KQ_rowsum.y += __shfl_xor_sync(0xFFFFFFFF, KQ_rowsum.y, offset, WARP_SIZE); + } + + // Write VKQ accumulators to shared memory in column-major format. + // It's faster to do small writes to shared memory, then large write to VRAM than to do small writes to VRAM. + // Also for np > 1 the combination is done via these values in shared memory. + const int j_cwd = threadIdx.y*mma_B::J + mma_B::get_j(-1); // j combine write data +#pragma unroll + for (int k0 = 0; k0 < D/2; k0 += mma_B::K) { + const mma_B B = VKQ_C[k0/mma_B::K].to_mma_B(); // Conversion of C to B matrix puts it in column-major format. + +#pragma unroll + for (int l = 0; l < mma_B::ne; ++l) { + const int k = k0 + mma_B::get_k(l); + + tile_KV[j_cwd*D2_padded + k] = B.x[l]; + } + } + + const int j_cwmo = (threadIdx.x % (2*mma_C_VKQ::J)) / mma_C_VKQ::J; // j combine write meta offset + const int j_cwm = threadIdx.y*(2*mma_C_VKQ::J) + 2*mma_C_VKQ::get_j(-1) + j_cwmo; // j combine write meta + const float2 KQ_cmr = make_float2(((const float *) &KQ_max)[j_cwmo], ((const float *) &KQ_rowsum)[j_cwmo]); // KQ combine max rowsum + + if (((!needs_fixup && !is_fixup) || np > 1) && threadIdx.x < 2*mma_C_VKQ::J) { + // Use the 16 bytes of padding in each row to store the meta data: KQ max, KQ rowsum, KQ max scale. + ((float2 *) tile_KV)[j_cwm*(D2_padded/2) + D/4] = KQ_cmr; + } + + __syncthreads(); + + static_assert(np == 1 || np == 2 || np == 4, "bad np"); + if (np == 1) { + // No combination is needed, the meta data can be directly written from registers to VRAM. + if (needs_fixup && threadIdx.x < mma_B::J) { + float2 * dstk_fixup_meta = dstk_fixup + blockIdx.x*ncols; + dstk_fixup_meta[j_cwm] = KQ_cmr; + } + if (is_fixup && threadIdx.x < mma_B::J) { + float2 * dstk_fixup_meta = dstk_fixup + (gridDim.x + blockIdx.x)*ncols; + dstk_fixup_meta[j_cwm] = KQ_cmr; + } + } else if (threadIdx.y % np == 0) { + // Combine the meta data for parallel warps via shared memory. + // Warps with threadIdx.y % np != 0 must NOT return early. + // All threads must return simultaneously to avoid race conditions with work on the next tile. + + float * meta_j = (float *) tile_KV + (threadIdx.y*mma_B::J + threadIdx.x)*D2_padded + D/2; + + float KQ_cm = -FLT_MAX/2; // KQ combine max per parallel warp. + if (np*mma_B::J == WARP_SIZE || threadIdx.x < np*mma_B::J) { + KQ_cm = meta_j[0]; + } + + float KQ_cmn = KQ_cm; // KQ combine max new, max between all parallel warps. +#pragma unroll + for (int offset = np*mma_B::J/2; offset >= mma_B::J; offset >>= 1) { + KQ_cmn = fmaxf(KQ_cmn, __shfl_xor_sync(0xFFFFFFFF, KQ_cmn, offset, WARP_SIZE)); + } + + const float KQ_cms = expf(KQ_cm - KQ_cmn); // KQ combine max scale per warp. + float KQ_crs = 0.0f; // KQ combine rowsum, scaled sum of all parallel warps. + if (np*mma_B::J == WARP_SIZE || threadIdx.x < np*mma_B::J) { + KQ_crs = KQ_cms*meta_j[1]; + } +#pragma unroll + for (int offset = np*mma_B::J/2; offset >= mma_B::J; offset >>= 1) { + KQ_crs += __shfl_xor_sync(0xFFFFFFFF, KQ_crs, offset, WARP_SIZE); + } + + // Write back combined meta data: + if (np*mma_B::J == WARP_SIZE || threadIdx.x < np*mma_B::J) { + meta_j[0] = KQ_cmn; // Combined max. KQ values. + meta_j[1] = KQ_crs; // Combined KQ rowsums. + meta_j[2] = KQ_cms; // KQ max scales per parallel warp. + } + if (needs_fixup && threadIdx.x < mma_B::J) { + float2 * dstk_fixup_meta = dstk_fixup + blockIdx.x*ncols; + dstk_fixup_meta[(threadIdx.y/np)*mma_B::J + threadIdx.x] = make_float2(KQ_cmn, KQ_crs); + } + if (is_fixup && threadIdx.x < mma_B::J) { + float2 * dstk_fixup_meta = dstk_fixup + (gridDim.x + blockIdx.x)*ncols; + dstk_fixup_meta[(threadIdx.y/np)*mma_B::J + threadIdx.x] = make_float2(KQ_cmn, KQ_crs); + } + } + + if (np > 1) { + __syncthreads(); + } + + if (np == 1 || threadIdx.y % np == 0) { + // The first 2*2*gridDim.x*ncols floats in dstk_fixup are for storing max. values and row sums. + // The values after that are for the partial results of the individual blocks. + float2 * dstk_fixup_data = dstk_fixup + gridDim.x*(2*ncols) + blockIdx.x*(ncols*(D/2)); + +#pragma unroll + for (int stride_k : {WARP_SIZE, WARP_SIZE/2, WARP_SIZE/4}) { + const int k0_start = stride_k == WARP_SIZE ? 0 : D/2 - (D/2) % (2*stride_k); + const int k0_stop = D/2 - (D/2) % (1*stride_k); + const int stride_j = WARP_SIZE / stride_k; + + if (nwarps*stride_j > ncols && threadIdx.y*stride_j >= ncols) { + break; + } + +#pragma unroll + for (int j0_dst = 0; j0_dst < ncols; j0_dst += (nwarps/np)*stride_j) { + const int j_dst = j0_dst + (threadIdx.y/np)*stride_j + (stride_k == WARP_SIZE ? 0 : threadIdx.x / stride_k); + const int j_tile_KV = (j_dst/mma_B::J)*(np*mma_B::J) + j_dst % mma_B::J; + + if (!is_fixup && jt*ncols + j_dst >= ne01) { + continue; + } + const float * meta_j = (const float *) tile_KV + j_tile_KV*D2_padded + D/2; +#pragma unroll + for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { + const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); + + float2 dstk_val = make_float2(0.0f, 0.0f); +#pragma unroll + for (int ip = 0; ip < np; ++ip) { + const float KQ_crs = np == 1 ? 1.0f : meta_j[ip*mma_B::J*D2_padded + 2]; + const float2 dstk_val_add = __half22float2(tile_KV[(j_tile_KV + ip*mma_B::J)*D2_padded + k]); + dstk_val.x += dstk_val_add.x*KQ_crs; + dstk_val.y += dstk_val_add.y*KQ_crs; + } + + if (!needs_fixup && !is_fixup) { + const float KQ_rowsum_j = meta_j[1]; + dstk_val.x /= KQ_rowsum_j; + dstk_val.y /= KQ_rowsum_j; + } + + if (is_fixup) { + dstk_fixup_data[j_dst*(D/2) + k] = dstk_val; + } else { + dstk[(jt*ncols + j_dst)*ne02*(D/2) + k] = dstk_val; + } + } + } + } + } + + if (np > 1) { + __syncthreads(); + } +#else + NO_DEVICE_CODE; +#endif // NEW_MMA_AVAILABLE +} + +template +#if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +__launch_bounds__(nwarps*WARP_SIZE, 2) +#endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +static __global__ void flash_attn_ext_f16( + const char * __restrict__ Q, + const char * __restrict__ K, + const char * __restrict__ V, + const char * __restrict__ mask, + float * __restrict__ dst, + float2 * __restrict__ dst_meta, + const float scale, + const float max_bias, + const float m0, + const float m1, + const uint32_t n_head_log2, + const float logit_softcap, + const int ne00, + const int ne01, + const int ne02, + const int ne03, + const int ne10, + const int ne11, + const int ne12, + const int ne13, + const int ne31, + const int nb31, + const int nb01, + const int nb02, + const int nb03, + const int nb11, + const int nb12, + const int nb13, + const int nb21, + const int nb22, + const int nb23, + const int ne0, + const int ne1, + const int ne2, + const int ne3) { + // Skip unused kernel variants for faster compilation: + if (use_logit_softcap && !(D == 128 || D == 256)) { + NO_DEVICE_CODE; + return; + } + + static_assert(FATTN_KQ_STRIDE % KQ_stride == 0, "bad KQ_stride"); + + const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. + + const int iter_k = ne11 / KQ_stride; + const int iter_j = (ne01 + (ncols - 1)) / ncols; + + // kbc == k block continuous, current index in continuous ijk space. + int kbc = (blockIdx.x + 0)*iter_k*iter_j*ne02 / gridDim.x; + const int kbc_stop = (blockIdx.x + 1)*iter_k*iter_j*ne02 / gridDim.x; + + // If the seams of 2 CUDA blocks fall within an output tile their results need to be combined. + // For this we need to track both the block that starts the tile (needs_fixup) and the block that finishes the tile (is_fixup). + // In the most general case >2 seams can fall into the same tile. + + // kb0 == k start index when in the output tile. + int kb0_start = kbc % iter_k; + int kb0_stop = min(iter_k, kb0_start + kbc_stop - kbc); + while (kbc < kbc_stop && kb0_stop == iter_k) { + const int channel = kbc / (iter_k*iter_j); + const int jt = (kbc - channel*iter_k*iter_j) / iter_k; // j index of current tile. + + const float2 * Q_f2 = (const float2 *) (Q + nb02* channel); + const half2 * K_h2 = (const half2 *) (K + nb12*(channel / gqa_ratio)); + const half2 * V_h2 = (const half2 *) (V + nb12*(channel / gqa_ratio)); // K and V have same shape + const half * maskh = mask ? (const half *) mask + (nb31/sizeof(half))*jt*ncols : nullptr; + float2 * dstk = ((float2 *) dst) + channel*(D/2); + + const float slope = get_alibi_slope(max_bias, channel, n_head_log2, m0, m1); + + constexpr bool is_fixup = false; // All but (potentially) the last iterations write their data to dst rather than the fixup buffer. + if (kb0_start == 0) { + constexpr bool needs_fixup = false; // CUDA block is working on an entire tile. + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, maskh, dstk, dst_meta, scale, slope, logit_softcap, + ne00, ne01, ne02, ne03, ne10, ne11, ne12, ne13, ne31, nb31, nb01, nb02, nb03, nb11, nb12, nb13, nb21, nb22, nb23, ne0, ne1, ne2, ne3, + jt, kb0_start, kb0_stop); + } else { + constexpr bool needs_fixup = true; // CUDA block is working on the beginning of a tile. + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, maskh, dstk, dst_meta, scale, slope, logit_softcap, + ne00, ne01, ne02, ne03, ne10, ne11, ne12, ne13, ne31, nb31, nb01, nb02, nb03, nb11, nb12, nb13, nb21, nb22, nb23, ne0, ne1, ne2, ne3, + jt, kb0_start, kb0_stop); + } + + kbc += iter_k; + kbc -= kbc % iter_k; + + kb0_start = 0; + kb0_stop = min(iter_k, kbc_stop - kbc); + } + + if (kbc >= kbc_stop) { + return; + } + + const int channel = kbc / (iter_k*iter_j); + const int jt = (kbc - channel*iter_k*iter_j) / iter_k; // j index of current tile. + + const float2 * Q_f2 = (const float2 *) (Q + nb02* channel); + const half2 * K_h2 = (const half2 *) (K + nb12*(channel / gqa_ratio)); + const half2 * V_h2 = (const half2 *) (V + nb12*(channel / gqa_ratio)); // K and V have same shape + const half * maskh = mask ? (const half *) mask + (nb31/sizeof(half))*jt*ncols : nullptr; + float2 * dstk = ((float2 *) dst) + channel*(D/2); + + const float slope = get_alibi_slope(max_bias, channel, n_head_log2, m0, m1); + + constexpr bool is_fixup = true; // Last index writes its data to fixup buffer to avoid data races with other blocks. + constexpr bool needs_fixup = false; + flash_attn_ext_f16_process_tile + (Q_f2, K_h2, V_h2, maskh, dstk, dst_meta, scale, slope, logit_softcap, + ne00, ne01, ne02, ne03, ne10, ne11, ne12, ne13, ne31, nb31, nb01, nb02, nb03, nb11, nb12, nb13, nb21, nb22, nb23, ne0, ne1, ne2, ne3, + jt, kb0_start, kb0_stop); +} + +template +void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + typedef mma_A_I16K8 mma_A; + typedef mma_B_J8K8 mma_B; + + static_assert(D % mma_B::K == 0, "bad D"); + static_assert(cols_per_block % mma_B::J == 0, "bad cols_per_block"); + + const ggml_tensor * KQV = dst; + + constexpr int KQ_stride = D <= 128 ? 64 : 32; + constexpr int nwarps = (KQ_stride == 32 && cols_per_block <= 16) ? + cols_per_block/mma_B::J * KQ_stride/mma_A::I : (cols_per_block <= 8 ? 4 : 8); + constexpr size_t nbytes_shared = std::max(KQ_stride, nwarps*mma_B::J) * (D + 8) * sizeof(half); + + float logit_softcap; + memcpy(&logit_softcap, (const float *) KQV->op_params + 2, sizeof(float)); + + fattn_kernel_t fattn_kernel; + if (logit_softcap == 0.0f) { + constexpr bool use_logit_softcap = false; + fattn_kernel = flash_attn_ext_f16; + } else { + constexpr bool use_logit_softcap = true; + fattn_kernel = flash_attn_ext_f16; + } + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, true, true); +} + +#define DECL_FATTN_MMA_F16_CASE(D, cols_per_block) \ + template void ggml_cuda_flash_attn_ext_mma_f16_case \ + (ggml_backend_cuda_context & ctx, ggml_tensor * dst) \ + +extern DECL_FATTN_MMA_F16_CASE( 64, 8); +extern DECL_FATTN_MMA_F16_CASE( 80, 8); +extern DECL_FATTN_MMA_F16_CASE( 96, 8); +extern DECL_FATTN_MMA_F16_CASE(112, 8); +extern DECL_FATTN_MMA_F16_CASE(128, 8); +extern DECL_FATTN_MMA_F16_CASE(256, 8); + +extern DECL_FATTN_MMA_F16_CASE( 64, 16); +extern DECL_FATTN_MMA_F16_CASE( 80, 16); +extern DECL_FATTN_MMA_F16_CASE( 96, 16); +extern DECL_FATTN_MMA_F16_CASE(112, 16); +extern DECL_FATTN_MMA_F16_CASE(128, 16); +extern DECL_FATTN_MMA_F16_CASE(256, 16); + +extern DECL_FATTN_MMA_F16_CASE( 64, 32); +extern DECL_FATTN_MMA_F16_CASE( 80, 32); +extern DECL_FATTN_MMA_F16_CASE( 96, 32); +extern DECL_FATTN_MMA_F16_CASE(112, 32); +extern DECL_FATTN_MMA_F16_CASE(128, 32); +extern DECL_FATTN_MMA_F16_CASE(256, 32); + +extern DECL_FATTN_MMA_F16_CASE( 64, 64); +extern DECL_FATTN_MMA_F16_CASE( 80, 64); +extern DECL_FATTN_MMA_F16_CASE( 96, 64); +extern DECL_FATTN_MMA_F16_CASE(112, 64); +extern DECL_FATTN_MMA_F16_CASE(128, 64); +extern DECL_FATTN_MMA_F16_CASE(256, 64); diff --git a/ggml/src/ggml-cuda/fattn-tile-f16.cu b/ggml/src/ggml-cuda/fattn-tile-f16.cu index 4d314dacb..d4edbad07 100644 --- a/ggml/src/ggml-cuda/fattn-tile-f16.cu +++ b/ggml/src/ggml-cuda/fattn-tile-f16.cu @@ -45,7 +45,17 @@ static __global__ void flash_attn_tile_ext_f16( const int ne2, const int ne3) { #ifdef FP16_AVAILABLE + +#ifndef FLASH_ATTN_AVAILABLE + NO_DEVICE_CODE; + return; +#endif // FLASH_ATTN_AVAILABLE + // Skip unused kernel variants for faster compilation: +#ifdef FP16_MMA_AVAILABLE + NO_DEVICE_CODE; + return; +#endif // FP16_MMA_AVAILABLE if (use_logit_softcap && !(D == 128 || D == 256)) { NO_DEVICE_CODE; return; @@ -288,16 +298,18 @@ void launch_fattn_tile_f16_64_128(ggml_backend_cuda_context & ctx, ggml_tensor * const ggml_tensor * Q = dst->src[0]; switch (Q->ne[0]) { case 64: { - constexpr int D = 64; - constexpr int nwarps = 8; + constexpr int D = 64; + constexpr int nwarps = 8; + constexpr size_t nbytes_shared = 0; fattn_kernel_t fattn_kernel = flash_attn_tile_ext_f16; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, true, true); } break; case 128: { - constexpr int D = 128; - constexpr int nwarps = 8; + constexpr int D = 128; + constexpr int nwarps = 8; + constexpr size_t nbytes_shared = 0; fattn_kernel_t fattn_kernel = flash_attn_tile_ext_f16; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, true, true); } break; default: { GGML_ABORT("FlashAttention without tensor cores only supports head sizes 64 and 128."); diff --git a/ggml/src/ggml-cuda/fattn-tile-f32.cu b/ggml/src/ggml-cuda/fattn-tile-f32.cu index bb3360447..0d274f332 100644 --- a/ggml/src/ggml-cuda/fattn-tile-f32.cu +++ b/ggml/src/ggml-cuda/fattn-tile-f32.cu @@ -48,7 +48,12 @@ static __global__ void flash_attn_tile_ext_f32( NO_DEVICE_CODE; return; #endif // FLASH_ATTN_AVAILABLE + // Skip unused kernel variants for faster compilation: +#ifdef FP16_MMA_AVAILABLE + NO_DEVICE_CODE; + return; +#endif // FP16_MMA_AVAILABLE if (use_logit_softcap && !(D == 128 || D == 256)) { NO_DEVICE_CODE; return; @@ -287,16 +292,18 @@ void launch_fattn_tile_f32_64_128(ggml_backend_cuda_context & ctx, ggml_tensor * const ggml_tensor * Q = dst->src[0]; switch (Q->ne[0]) { case 64: { - constexpr int D = 64; - constexpr int nwarps = 8; + constexpr int D = 64; + constexpr int nwarps = 8; + constexpr size_t nbytes_shared = 0; fattn_kernel_t fattn_kernel = flash_attn_tile_ext_f32; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, true, true); } break; case 128: { - constexpr int D = 128; - constexpr int nwarps = 8; + constexpr int D = 128; + constexpr int nwarps = 8; + constexpr size_t nbytes_shared = 0; fattn_kernel_t fattn_kernel = flash_attn_tile_ext_f32; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, true, true); } break; default: { GGML_ABORT("FlashAttention without tensor cores only supports head sizes 64 and 128."); diff --git a/ggml/src/ggml-cuda/fattn-vec-f16.cuh b/ggml/src/ggml-cuda/fattn-vec-f16.cuh index 34a2992c7..d9ac44246 100644 --- a/ggml/src/ggml-cuda/fattn-vec-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-vec-f16.cuh @@ -42,6 +42,12 @@ static __global__ void flash_attn_vec_ext_f16( const int ne2, const int ne3) { #ifdef FP16_AVAILABLE + +#ifndef FLASH_ATTN_AVAILABLE + NO_DEVICE_CODE; + return; +#endif // FLASH_ATTN_AVAILABLE + // Skip unused kernel variants for faster compilation: if (use_logit_softcap && !(D == 128 || D == 256)) { NO_DEVICE_CODE; @@ -303,7 +309,8 @@ void ggml_cuda_flash_attn_ext_vec_f16_case_impl(ggml_backend_cuda_context & ctx, fattn_kernel_t fattn_kernel = flash_attn_vec_ext_f16; constexpr bool need_f16_K = D != 128; constexpr bool need_f16_V = D != 128 && D != 64; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, need_f16_K, need_f16_V); + constexpr size_t nbytes_shared = 0; + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, need_f16_K, need_f16_V); } template diff --git a/ggml/src/ggml-cuda/fattn-vec-f32.cuh b/ggml/src/ggml-cuda/fattn-vec-f32.cuh index a28fc8b7f..6ef8f9dcc 100644 --- a/ggml/src/ggml-cuda/fattn-vec-f32.cuh +++ b/ggml/src/ggml-cuda/fattn-vec-f32.cuh @@ -41,6 +41,11 @@ static __global__ void flash_attn_vec_ext_f32( const int ne1, const int ne2, const int ne3) { +#ifndef FLASH_ATTN_AVAILABLE + NO_DEVICE_CODE; + return; +#endif // FLASH_ATTN_AVAILABLE + // Skip unused kernel variants for faster compilation: if (use_logit_softcap && !(D == 128 || D == 256)) { NO_DEVICE_CODE; @@ -284,7 +289,8 @@ void ggml_cuda_flash_attn_ext_vec_f32_case_impl(ggml_backend_cuda_context & ctx, fattn_kernel_t fattn_kernel = flash_attn_vec_ext_f32; constexpr bool need_f16_K = D != 128; constexpr bool need_f16_V = D != 128 && D != 64; - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, need_f16_K, need_f16_V); + constexpr size_t nbytes_shared = 0; + launch_fattn(ctx, dst, fattn_kernel, nwarps, nbytes_shared, need_f16_K, need_f16_V); } template diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cu b/ggml/src/ggml-cuda/fattn-wmma-f16.cu new file mode 100644 index 000000000..1054ff95d --- /dev/null +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cu @@ -0,0 +1,648 @@ +// Old and deprecated WMMA FlashAttention implementation. +// It is still needed for Volta since the memory layout of NVIDIA tensor cores changed with Turing. +// Long-term the WMMA code should be replaced with a dedicated Volta implementation. + +#include "common.cuh" +#include "fattn-common.cuh" +#include "fattn-wmma-f16.cuh" + +#ifdef FP16_MMA_AVAILABLE +#include +#endif // FP16_MMA_AVAILABLE + +// D == head size, VKQ_stride == num VKQ rows calculated in parallel: +template +#if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +__launch_bounds__(nwarps*WARP_SIZE, 1) +#endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) +static __global__ void flash_attn_ext_f16( + const char * __restrict__ Q, + const char * __restrict__ K, + const char * __restrict__ V, + const char * __restrict__ mask, + float * __restrict__ dst, + float2 * __restrict__ dst_meta, + const float scale, + const float max_bias, + const float m0, + const float m1, + const uint32_t n_head_log2, + const float logit_softcap, + const int ne00, + const int ne01, + const int ne02, + const int ne03, + const int ne10, + const int ne11, + const int ne12, + const int ne13, + const int ne31, + const int nb31, + const int nb01, + const int nb02, + const int nb03, + const int nb11, + const int nb12, + const int nb13, + const int nb21, + const int nb22, + const int nb23, + const int ne0, + const int ne1, + const int ne2, + const int ne3) { +#if __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA + // Skip unused kernel variants for faster compilation: + if (use_logit_softcap && !(D == 128 || D == 256)) { + NO_DEVICE_CODE; + return; + } + + //In this kernel Q, K, V are matrices while i, j, k are matrix indices. + + const int ic0 = ncols*(blockIdx.x / parallel_blocks); // Index of the first Q/QKV column to work on. + const int ip = blockIdx.x % parallel_blocks; // Index in group of blocks running for the same column in parallel. + + static_assert(D <= FATTN_KQ_STRIDE, "D must be <= FATTN_KQ_STRIDE."); + static_assert(ncols == 8 || ncols % 16 == 0, "ncols must be 8 or a multiple of 16."); + constexpr int frag_m = ncols == 8 ? 32 : 16; + constexpr int frag_n = ncols == 8 ? 8 : 16; + static_assert(D % frag_m == 0, "If ncols == 8 then D % frag_m must be 0."); + typedef nvcuda::wmma::fragment frag_a_K; + typedef nvcuda::wmma::fragment frag_a_V; + typedef nvcuda::wmma::fragment frag_b; + typedef nvcuda::wmma::fragment frag_c_KQ; + typedef nvcuda::wmma::fragment frag_c_VKQ; + + constexpr int KQ_stride_tc = nwarps*frag_m; // Number of KQ rows calculated in parallel. + constexpr int VKQ_ratio = KQ_stride_tc/VKQ_stride; // Number of parallel VKQ accumulators needed to keep all warps busy. + static_assert(VKQ_ratio <= nwarps, "VKQ_ratio must be <= nwarps."); + + // Pad internal representation of KQ, KQV to reduce shared memory bank conflicts: + constexpr int D_padded = D + 8; + constexpr int kqs_padded = FATTN_KQ_STRIDE + 8; + constexpr int kqar = sizeof(KQ_acc_t)/sizeof(half); + + const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. + const float * Q_f = (const float *) (Q + nb02* blockIdx.y + nb01*ic0); + const half * K_h = (const half *) (K + nb12*(blockIdx.y / gqa_ratio)); + const half * V_h = (const half *) (V + nb12*(blockIdx.y / gqa_ratio)); // K and V have same shape + const half * maskh = (const half *) mask + (nb31/sizeof(half))* ic0; + const half2 * mask2 = (const half2 *) mask + (nb31/sizeof(half))*(ic0/2); + + const int stride_Q = nb01 / sizeof(float); + const int stride_KV = nb11 / sizeof(half); + + const float slopef = get_alibi_slope(max_bias, blockIdx.y, n_head_log2, m0, m1); + const half slopeh = __float2half(slopef); + const half2 slope2 = make_half2(slopef, slopef); + + const half2 logit_softcap_2 = make_half2(logit_softcap, logit_softcap); + + frag_b Q_b[D/16][ncols/frag_n]; + + // A single buffer for temporarily holding tiles of KQ and VKQ parts: + constexpr int mem_KQ = ncols*kqs_padded*kqar; + constexpr int mem_VKQ_parts = VKQ_ratio*ncols*D_padded; + __shared__ half KQ[mem_KQ >= mem_VKQ_parts ? mem_KQ : mem_VKQ_parts]; + float * KQ_f = (float *) KQ; + half2 * KQ2 = (half2 *) KQ; + + float KQ_rowsum_f[ncols/nwarps] = {0.0f}; + float KQ_max_f[ncols/nwarps]; + float KQ_max_scale_f[ncols/nwarps] = {0.0f}; + +#pragma unroll + for (int j = 0; j < ncols/nwarps; ++j) { + KQ_max_f[j] = -FLT_MAX/2.0f; + } + + half2 KQ_rowsum_h2[ncols/nwarps] = {{0.0f, 0.0f}}; + half2 KQ_max_h2[ncols/nwarps]; + half2 KQ_max_scale_h2[ncols/nwarps] = {{0.0f, 0.0f}}; + +#pragma unroll + for (int j = 0; j < ncols/nwarps; ++j) { + KQ_max_h2[j] = make_half2(-HALF_MAX_HALF, -HALF_MAX_HALF); + } + + __shared__ half VKQ[ncols*D_padded]; // Accumulator for final VKQ slice. + half2 * VKQ2 = (half2 *) VKQ; +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps) { + const int j = j0 + threadIdx.y; +#pragma unroll + for (int i0 = 0; i0 < D/2; i0 += WARP_SIZE) { + const int i = i0 + threadIdx.x; + if (i0 + WARP_SIZE > D/2 && i >= D/2) { + break; + } + VKQ2[j*(D_padded/2) + i] = make_half2(0.0f, 0.0f); + } + } + + // Convert Q to half and apply scale, temporarily store in KQ: +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps) { + const int j = j0 + threadIdx.y; +#pragma unroll + for (int i0 = 0; i0 < D; i0 += WARP_SIZE) { + const int i = i0 + threadIdx.x; + if (i0 + WARP_SIZE > D && i >= D) { + break; + } + KQ[j*D_padded + i] = ic0 + j < ne01 ? Q_f[j*stride_Q + i] * scale : 0.0f; + } + } + + __syncthreads(); + + // Load Q into tensor core fragments/registers since it will be used frequently: +#pragma unroll + for (int i0 = 0; i0 < D; i0 += 16) { +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += frag_n) { + nvcuda::wmma::load_matrix_sync(Q_b[i0/16][j0/frag_n], KQ + j0*D_padded + i0, D_padded); + } + } + + __syncthreads(); + + // Iterate over ne11 == previous tokens: + for (int k_VKQ_0 = ip*FATTN_KQ_STRIDE; k_VKQ_0 < ne11; k_VKQ_0 += parallel_blocks*FATTN_KQ_STRIDE) { + // Calculate tile of KQ: +#pragma unroll + for (int i_KQ_0 = 0; i_KQ_0 < FATTN_KQ_STRIDE; i_KQ_0 += KQ_stride_tc) { + frag_c_KQ KQ_c[ncols/frag_n]; +#pragma unroll + for (int j = 0; j < ncols/frag_n; ++j) { + nvcuda::wmma::fill_fragment(KQ_c[j], 0.0f); + } +#pragma unroll + for (int k_KQ_0 = 0; k_KQ_0 < D; k_KQ_0 += 16) { + frag_a_K K_a; + nvcuda::wmma::load_matrix_sync(K_a, K_h + (k_VKQ_0 + i_KQ_0 + frag_m*threadIdx.y)*stride_KV + k_KQ_0, stride_KV); +#pragma unroll + for (int j = 0; j < ncols/frag_n; ++j) { + nvcuda::wmma::mma_sync(KQ_c[j], K_a, Q_b[k_KQ_0/16][j], KQ_c[j]); + } + } +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += frag_n) { + nvcuda::wmma::store_matrix_sync((KQ_acc_t *) KQ + j0*kqs_padded + i_KQ_0 + frag_m*threadIdx.y, KQ_c[j0/frag_n], kqs_padded, nvcuda::wmma::mem_col_major); + } + } + + __syncthreads(); + + // Calculate softmax for each KQ column using the current max. value. + // The divisor is stored in KQ_rowsum and will be applied at the end. +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps) { + const int j = j0 + threadIdx.y; + + if (std::is_same::value) { + float KQ_f_tmp[FATTN_KQ_STRIDE / WARP_SIZE]; +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + KQ_f_tmp[k0/WARP_SIZE] = KQ_f[j*kqs_padded + k]; + + if (use_logit_softcap) { + KQ_f_tmp[k0/WARP_SIZE] = logit_softcap*tanhf(KQ_f_tmp[k0/WARP_SIZE]); + } + } + + float KQ_max_new = KQ_max_f[j0/nwarps]; +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + KQ_f_tmp[k0/WARP_SIZE] += mask ? __half2float(slopeh*maskh[j*(nb31/sizeof(half)) + k_VKQ_0 + k]) : 0.0f; + KQ_max_new = max(KQ_max_new, KQ_f_tmp[k0/WARP_SIZE]); + } + KQ_max_new = warp_reduce_max(KQ_max_new); + + const float diff = KQ_max_f[j0/nwarps] - KQ_max_new; + KQ_max_scale_f[j0/nwarps] = expf(diff); + if (diff <= SOFTMAX_FTZ_THRESHOLD) { + KQ_max_scale_f[j0/nwarps] = 0.0f; + } + KQ_max_f[j0/nwarps] = KQ_max_new; + + float KQ_rowsum_add = 0.0f; +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + const float diff = KQ_f_tmp[k0/WARP_SIZE] - KQ_max_f[j0/nwarps]; + KQ_f_tmp[k0/WARP_SIZE] = expf(diff); + if (diff <= SOFTMAX_FTZ_THRESHOLD) { + KQ_f_tmp[k0/WARP_SIZE] = 0.0f; + } + KQ_rowsum_add += KQ_f_tmp[k0/WARP_SIZE]; + KQ[j*(kqar*kqs_padded) + k] = KQ_f_tmp[k0/WARP_SIZE]; + } + KQ_rowsum_add = warp_reduce_sum(KQ_rowsum_add); + + // Scale previous KQ_rowsum to account for a potential increase in KQ_max: + KQ_rowsum_f[j0/nwarps] = KQ_max_scale_f[j0/nwarps]*KQ_rowsum_f[j0/nwarps] + KQ_rowsum_add; + } else { + half2 KQ2_tmp[FATTN_KQ_STRIDE/(2*WARP_SIZE)]; +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + KQ2_tmp[k0/WARP_SIZE] = KQ2[j*(kqs_padded/2) + k]; + + if (use_logit_softcap) { + // There is no dedicated tangens hyperbolicus function for half2. + KQ2_tmp[k0/WARP_SIZE] = h2exp(KQ2_tmp[k0/WARP_SIZE]*make_half2(2.0f, 2.0f)); + KQ2_tmp[k0/WARP_SIZE] = (KQ2_tmp[k0/WARP_SIZE] - make_half2(1.0f, 1.0f)) + /(KQ2_tmp[k0/WARP_SIZE] + make_half2(1.0f, 1.0f)); + + KQ2_tmp[k0/WARP_SIZE] *= logit_softcap_2; + } + } + + half2 KQ_max_new = KQ_max_h2[j0/nwarps]; +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + KQ2_tmp[k0/WARP_SIZE] += mask ? slope2*mask2[(j*ne11 + k_VKQ_0)/2 + k] : make_half2(0.0f, 0.0f); + KQ_max_new = ggml_cuda_hmax2(KQ_max_new, KQ2_tmp[k0/WARP_SIZE]); + } + KQ_max_new = __half2half2(warp_reduce_max(ggml_cuda_hmax(__low2half(KQ_max_new), __high2half(KQ_max_new)))); + const half2 diff = KQ_max_h2[j0/nwarps] - KQ_max_new; + KQ_max_scale_h2[j0/nwarps] = h2exp(diff); + const uint32_t ftz_mask = __hgt2_mask(diff, make_half2(SOFTMAX_FTZ_THRESHOLD, SOFTMAX_FTZ_THRESHOLD)); + *((uint32_t *) &KQ_max_scale_h2[j0/nwarps]) &= ftz_mask; + KQ_max_h2[j0/nwarps] = KQ_max_new; + + half2 KQ_rowsum_add = make_half2(0.0f, 0.0f); +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { + const int k = k0 + threadIdx.x; + + const half2 diff = KQ2_tmp[k0/WARP_SIZE] - KQ_max_h2[j0/nwarps]; + KQ2_tmp[k0/WARP_SIZE] = h2exp(diff); + const uint32_t ftz_mask = __hgt2_mask(diff, make_half2(SOFTMAX_FTZ_THRESHOLD, SOFTMAX_FTZ_THRESHOLD)); + *((uint32_t *) &KQ2_tmp[k0/WARP_SIZE]) &= ftz_mask; + KQ_rowsum_add += KQ2_tmp[k0/WARP_SIZE]; + KQ2[j*(kqs_padded/2) + k] = KQ2_tmp[k0/WARP_SIZE]; + } + KQ_rowsum_add = warp_reduce_sum(KQ_rowsum_add); + + // Scale previous KQ_rowsum to account for a potential increase in KQ_max: + KQ_rowsum_h2[j0/nwarps] = KQ_max_scale_h2[j0/nwarps]*KQ_rowsum_h2[j0/nwarps] + KQ_rowsum_add; + } + } + + __syncthreads(); + + frag_b KQ_b[FATTN_KQ_STRIDE/(VKQ_ratio*16)][ncols/frag_n]; +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += frag_n) { +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += VKQ_ratio*16) { + const int k = k0 + (threadIdx.y % VKQ_ratio)*16; + nvcuda::wmma::load_matrix_sync( + KQ_b[k0/(VKQ_ratio*16)][j0/frag_n], + KQ + j0*(kqar*kqs_padded) + k, + kqar*kqs_padded); + } + } + + frag_c_VKQ VKQ_c[D/VKQ_stride][ncols/frag_n]; +#pragma unroll + for (int i_VKQ_0 = 0; i_VKQ_0 < D; i_VKQ_0 += VKQ_stride) { +#pragma unroll + for (int j = 0; j < ncols/frag_n; ++j) { + nvcuda::wmma::fill_fragment(VKQ_c[i_VKQ_0/VKQ_stride][j], 0.0f); + } + +#pragma unroll + for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += VKQ_ratio*16) { + const int k = k0 + (threadIdx.y % VKQ_ratio)*16; + + frag_a_V v_a; + nvcuda::wmma::load_matrix_sync(v_a, V_h + (k_VKQ_0 + k)*stride_KV + i_VKQ_0 + frag_m*(threadIdx.y/VKQ_ratio), stride_KV); +#pragma unroll + for (int j = 0; j < ncols/frag_n; ++j) { + nvcuda::wmma::mma_sync(VKQ_c[i_VKQ_0/VKQ_stride][j], v_a, KQ_b[k0/(VKQ_ratio*16)][j], VKQ_c[i_VKQ_0/VKQ_stride][j]); + } + } + } + + __syncthreads(); + + const int offset_k = (threadIdx.y % VKQ_ratio) * (ncols*D_padded); +#pragma unroll + for (int i_KQ_0 = 0; i_KQ_0 < D; i_KQ_0 += VKQ_stride) { +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += frag_n) { + nvcuda::wmma::store_matrix_sync( + KQ + offset_k + j0*D_padded + i_KQ_0 + frag_m*(threadIdx.y/VKQ_ratio), + VKQ_c[i_KQ_0/VKQ_stride][j0/frag_n], + D_padded, nvcuda::wmma::mem_col_major); + } + } + + __syncthreads(); + +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps) { + const int j = j0 + threadIdx.y; + + half2 VKQ_scale; + if (std::is_same::value) { + VKQ_scale = make_half2(KQ_max_scale_f[j0/nwarps], KQ_max_scale_f[j0/nwarps]); + } else { + VKQ_scale = KQ_max_scale_h2[j0/nwarps]; + } + +#pragma unroll + for (int i0 = 0; i0 < D/2; i0 += WARP_SIZE) { + const int i = i0 + threadIdx.x; + if (i0 + WARP_SIZE > D/2 && i >= D/2) { + break; + } + + half2 VKQ_add = make_half2(0.0f, 0.0f); +#pragma unroll + for (int l = 0; l < VKQ_ratio; ++l) { + VKQ_add += KQ2[l*(ncols*D_padded/2) + j*(D_padded/2) + i]; + } + VKQ2[j*(D_padded/2) + i] = VKQ_scale*VKQ2[j*(D_padded/2) + i] + VKQ_add; + } + } + + __syncthreads(); + } + +#pragma unroll + for (int j0 = 0; j0 < ncols; j0 += nwarps) { + const int j_VKQ = j0 + threadIdx.y; + if (ic0 + j_VKQ >= ne01) { + return; + } + const int j_dst = (ic0 + j_VKQ)*parallel_blocks + ip; + + float KQ_rowsum_j; + if (std::is_same::value) { + KQ_rowsum_j = KQ_rowsum_f[j0/nwarps]; + } else { + KQ_rowsum_j = __low2float(KQ_rowsum_h2[j0/nwarps]) + __high2float(KQ_rowsum_h2[j0/nwarps]); + } + +#pragma unroll + for (int i0 = 0; i0 < D; i0 += WARP_SIZE) { + const int i = i0 + threadIdx.x; + if (i0 + WARP_SIZE > D && i >= D) { + break; + } + float dst_val = VKQ[j_VKQ*D_padded + i]; + if (parallel_blocks == 1) { + dst_val /= KQ_rowsum_j; + } + dst[j_dst*gridDim.y*D + blockIdx.y*D + i] = dst_val; + } + + if (parallel_blocks == 1 || threadIdx.x != 0) { + continue; + } + + float2 dst_meta_val; + if (std::is_same::value) { + dst_meta_val.x = KQ_max_f[j0/nwarps]; + } else { + dst_meta_val.x = __low2float(KQ_max_h2[j0/nwarps]); + } + dst_meta_val.y = KQ_rowsum_j; + dst_meta[(ic0 + j_VKQ)*gridDim.y*parallel_blocks + blockIdx.y*parallel_blocks + ip] = dst_meta_val; + } +#else + NO_DEVICE_CODE; +#endif // __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA +} + +constexpr int get_max_power_of_2(int x) { + return x % 2 == 0 ? 2*get_max_power_of_2(x/2) : 1; +} + +static_assert(get_max_power_of_2(1) == 1, "Test failed."); +static_assert(get_max_power_of_2(2) == 2, "Test failed."); +static_assert(get_max_power_of_2(4) == 4, "Test failed."); +static_assert(get_max_power_of_2(6) == 2, "Test failed."); + +// Number of VKQ rows calculated in parallel: +constexpr int get_VKQ_stride(int D, int nwarps, int frag_m) { + return (get_max_power_of_2(D/frag_m) < nwarps ? get_max_power_of_2(D/frag_m) : nwarps)*frag_m; +} + +static_assert(get_VKQ_stride(128, 1, 32) == 32, "Test failed."); +static_assert(get_VKQ_stride(128, 2, 32) == 64, "Test failed."); +static_assert(get_VKQ_stride(128, 4, 32) == 128, "Test failed."); +static_assert(get_VKQ_stride( 64, 1, 32) == 32, "Test failed."); +static_assert(get_VKQ_stride( 64, 2, 32) == 64, "Test failed."); +static_assert(get_VKQ_stride( 64, 4, 32) == 64, "Test failed."); +static_assert(get_VKQ_stride( 80, 1, 16) == 16, "Test failed."); +static_assert(get_VKQ_stride( 80, 2, 16) == 16, "Test failed."); +static_assert(get_VKQ_stride( 80, 4, 16) == 16, "Test failed."); + +template +void ggml_cuda_flash_attn_ext_wmma_f16_case(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const ggml_tensor * KQV = dst; + const ggml_tensor * Q = dst->src[0]; + + constexpr int nwarps = 4; + + constexpr int frag_m = cols_per_block == 8 && D % 32 == 0 ? 32 : 16; + const int blocks_num_pb1 = ((Q->ne[1] + cols_per_block - 1) / cols_per_block)*Q->ne[2]*Q->ne[3]; + const int nsm = ggml_cuda_info().devices[ggml_cuda_get_device()].nsm; + + float logit_softcap; + memcpy(&logit_softcap, (const float *) KQV->op_params + 2, sizeof(float)); + + if (4*blocks_num_pb1 < 2*nsm) { + constexpr int parallel_blocks = 4; + fattn_kernel_t fattn_kernel; + if (logit_softcap == 0.0f) { + constexpr bool use_logit_softcap = false; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } else { + constexpr bool use_logit_softcap = true; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } + launch_fattn(ctx, dst, fattn_kernel, nwarps, 0, true, true); + return; + } + if (2*blocks_num_pb1 < 2*nsm) { + constexpr int parallel_blocks = 2; + fattn_kernel_t fattn_kernel; + if (logit_softcap == 0.0f) { + constexpr bool use_logit_softcap = false; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } else { + constexpr bool use_logit_softcap = true; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } + launch_fattn(ctx, dst, fattn_kernel, nwarps, 0, true, true); + return; + } + constexpr int parallel_blocks = 1; + fattn_kernel_t fattn_kernel; + if (logit_softcap == 0.0f) { + constexpr bool use_logit_softcap = false; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } else { + constexpr bool use_logit_softcap = true; + fattn_kernel = flash_attn_ext_f16< + D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; + } + launch_fattn(ctx, dst, fattn_kernel, nwarps, 0, true, true); +} + +void ggml_cuda_flash_attn_ext_wmma_f16(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const ggml_tensor * KQV = dst; + const ggml_tensor * Q = dst->src[0]; + + const enum ggml_prec prec = ggml_flash_attn_ext_get_prec(KQV); + + if (prec != GGML_PREC_DEFAULT) { + if (Q->ne[1] <= 32 || Q->ne[0] > 128) { + constexpr int cols_per_block = 16; + switch (Q->ne[0]) { + case 64: + ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, float>(ctx, dst); + break; + case 80: + ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, float>(ctx, dst); + break; + case 96: + ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, float>(ctx, dst); + break; + case 112: + ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, float>(ctx, dst); + break; + case 128: + ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); + break; + case 256: + ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, float>(ctx, dst); + break; + default: + GGML_ABORT("fatal error"); + break; + } + } else { + constexpr int cols_per_block = 32; + switch (Q->ne[0]) { + case 64: + ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, float>(ctx, dst); + break; + case 80: + ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, float>(ctx, dst); + break; + case 96: + ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, float>(ctx, dst); + break; + case 112: + ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, float>(ctx, dst); + break; + case 128: + ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); + break; + // case 256: + // ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); + // break; + default: + GGML_ABORT("fatal error"); + break; + } + } + return; + } + + if (Q->ne[1] <= 8 && Q->ne[0] % WARP_SIZE == 0) { + constexpr int cols_per_block = 8; + switch (Q->ne[0]) { + case 64: + ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); + break; + case 96: + ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); + break; + case 128: + ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); + break; + case 256: + ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); + break; + default: + GGML_ABORT("fatal error"); + break; + } + return; + } + + if (Q->ne[1] <= 32) { + constexpr int cols_per_block = 16; + switch (Q->ne[0]) { + case 64: + ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); + break; + case 80: + ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, half>(ctx, dst); + break; + case 96: + ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); + break; + case 112: + ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, half>(ctx, dst); + break; + case 128: + ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); + break; + case 256: + ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); + break; + default: + GGML_ABORT("fatal error"); + break; + } + return; + } + + constexpr int cols_per_block = 32; + switch (Q->ne[0]) { + case 64: + ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); + break; + case 80: + ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, half>(ctx, dst); + break; + case 96: + ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); + break; + case 112: + ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, half>(ctx, dst); + break; + case 128: + ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); + break; + case 256: + ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); + break; + default: + GGML_ABORT("fatal error"); + break; + } +} diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cuh b/ggml/src/ggml-cuda/fattn-wmma-f16.cuh index 860d0e6dc..beeea95eb 100644 --- a/ggml/src/ggml-cuda/fattn-wmma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cuh @@ -1,543 +1,3 @@ #include "common.cuh" -#include "fattn-common.cuh" -#ifdef FP16_MMA_AVAILABLE -#include -#endif // FP16_MMA_AVAILABLE - -// D == head size, VKQ_stride == num VKQ rows calculated in parallel: -template -#if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) -__launch_bounds__(nwarps*WARP_SIZE, 1) -#endif // !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) -static __global__ void flash_attn_ext_f16( - const char * __restrict__ Q, - const char * __restrict__ K, - const char * __restrict__ V, - const char * __restrict__ mask, - float * __restrict__ dst, - float2 * __restrict__ dst_meta, - const float scale, - const float max_bias, - const float m0, - const float m1, - const uint32_t n_head_log2, - const float logit_softcap, - const int ne00, - const int ne01, - const int ne02, - const int ne03, - const int ne10, - const int ne11, - const int ne12, - const int ne13, - const int ne31, - const int nb31, - const int nb01, - const int nb02, - const int nb03, - const int nb11, - const int nb12, - const int nb13, - const int nb21, - const int nb22, - const int nb23, - const int ne0, - const int ne1, - const int ne2, - const int ne3) { -#ifdef FP16_MMA_AVAILABLE - // Skip unused kernel variants for faster compilation: - if (use_logit_softcap && !(D == 128 || D == 256)) { - NO_DEVICE_CODE; - return; - } - - //In this kernel Q, K, V are matrices while i, j, k are matrix indices. - - const int ic0 = ncols*(blockIdx.x / parallel_blocks); // Index of the first Q/QKV column to work on. - const int ip = blockIdx.x % parallel_blocks; // Index in group of blocks running for the same column in parallel. - - static_assert(D <= FATTN_KQ_STRIDE, "D must be <= FATTN_KQ_STRIDE."); - static_assert(ncols == 8 || ncols % 16 == 0, "ncols must be 8 or a multiple of 16."); - constexpr int frag_m = ncols == 8 ? 32 : 16; - constexpr int frag_n = ncols == 8 ? 8 : 16; - static_assert(D % frag_m == 0, "If ncols == 8 then D % frag_m must be 0."); - typedef nvcuda::wmma::fragment frag_a_K; - typedef nvcuda::wmma::fragment frag_a_V; - typedef nvcuda::wmma::fragment frag_b; - typedef nvcuda::wmma::fragment frag_c_KQ; - typedef nvcuda::wmma::fragment frag_c_VKQ; - - constexpr int KQ_stride_tc = nwarps*frag_m; // Number of KQ rows calculated in parallel. - constexpr int VKQ_ratio = KQ_stride_tc/VKQ_stride; // Number of parallel VKQ accumulators needed to keep all warps busy. - static_assert(VKQ_ratio <= nwarps, "VKQ_ratio must be <= nwarps."); - - // Pad internal representation of KQ, KQV to reduce shared memory bank conflicts: - constexpr int D_padded = D + 8; - constexpr int kqs_padded = FATTN_KQ_STRIDE + 8; - constexpr int kqar = sizeof(KQ_acc_t)/sizeof(half); - - const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. - const float * Q_f = (const float *) (Q + nb02* blockIdx.y + nb01*ic0); - const half * K_h = (const half *) (K + nb12*(blockIdx.y / gqa_ratio)); - const half * V_h = (const half *) (V + nb12*(blockIdx.y / gqa_ratio)); // K and V have same shape - const half * maskh = (const half *) mask + (nb31/sizeof(half))* ic0; - const half2 * mask2 = (const half2 *) mask + (nb31/sizeof(half))*(ic0/2); - - const int stride_Q = nb01 / sizeof(float); - const int stride_KV = nb11 / sizeof(half); - - const float slopef = get_alibi_slope(max_bias, blockIdx.y, n_head_log2, m0, m1); - const half slopeh = __float2half(slopef); - const half2 slope2 = make_half2(slopef, slopef); - - const half2 logit_softcap_2 = make_half2(logit_softcap, logit_softcap); - - frag_b Q_b[D/16][ncols/frag_n]; - - // A single buffer for temporarily holding tiles of KQ and VKQ parts: - constexpr int mem_KQ = ncols*kqs_padded*kqar; - constexpr int mem_VKQ_parts = VKQ_ratio*ncols*D_padded; - __shared__ half KQ[mem_KQ >= mem_VKQ_parts ? mem_KQ : mem_VKQ_parts]; - float * KQ_f = (float *) KQ; - half2 * KQ2 = (half2 *) KQ; - - float KQ_rowsum_f[ncols/nwarps] = {0.0f}; - float KQ_max_f[ncols/nwarps]; - float KQ_max_scale_f[ncols/nwarps] = {0.0f}; - -#pragma unroll - for (int j = 0; j < ncols/nwarps; ++j) { - KQ_max_f[j] = -FLT_MAX/2.0f; - } - - half2 KQ_rowsum_h2[ncols/nwarps] = {{0.0f, 0.0f}}; - half2 KQ_max_h2[ncols/nwarps]; - half2 KQ_max_scale_h2[ncols/nwarps] = {{0.0f, 0.0f}}; - -#pragma unroll - for (int j = 0; j < ncols/nwarps; ++j) { - KQ_max_h2[j] = make_half2(-HALF_MAX_HALF, -HALF_MAX_HALF); - } - - __shared__ half VKQ[ncols*D_padded]; // Accumulator for final VKQ slice. - half2 * VKQ2 = (half2 *) VKQ; -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; -#pragma unroll - for (int i0 = 0; i0 < D/2; i0 += WARP_SIZE) { - const int i = i0 + threadIdx.x; - if (i0 + WARP_SIZE > D/2 && i >= D/2) { - break; - } - VKQ2[j*(D_padded/2) + i] = make_half2(0.0f, 0.0f); - } - } - - // Convert Q to half and apply scale, temporarily store in KQ: -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; -#pragma unroll - for (int i0 = 0; i0 < D; i0 += WARP_SIZE) { - const int i = i0 + threadIdx.x; - if (i0 + WARP_SIZE > D && i >= D) { - break; - } - KQ[j*D_padded + i] = ic0 + j < ne01 ? Q_f[j*stride_Q + i] * scale : 0.0f; - } - } - - __syncthreads(); - - // Load Q into tensor core fragments/registers since it will be used frequently: -#pragma unroll - for (int i0 = 0; i0 < D; i0 += 16) { -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += frag_n) { - nvcuda::wmma::load_matrix_sync(Q_b[i0/16][j0/frag_n], KQ + j0*D_padded + i0, D_padded); - } - } - - __syncthreads(); - - // Iterate over ne11 == previous tokens: - for (int k_VKQ_0 = ip*FATTN_KQ_STRIDE; k_VKQ_0 < ne11; k_VKQ_0 += parallel_blocks*FATTN_KQ_STRIDE) { - // Calculate tile of KQ: -#pragma unroll - for (int i_KQ_0 = 0; i_KQ_0 < FATTN_KQ_STRIDE; i_KQ_0 += KQ_stride_tc) { - frag_c_KQ KQ_c[ncols/frag_n]; -#pragma unroll - for (int j = 0; j < ncols/frag_n; ++j) { - nvcuda::wmma::fill_fragment(KQ_c[j], 0.0f); - } -#pragma unroll - for (int k_KQ_0 = 0; k_KQ_0 < D; k_KQ_0 += 16) { - frag_a_K K_a; - nvcuda::wmma::load_matrix_sync(K_a, K_h + (k_VKQ_0 + i_KQ_0 + frag_m*threadIdx.y)*stride_KV + k_KQ_0, stride_KV); -#pragma unroll - for (int j = 0; j < ncols/frag_n; ++j) { - nvcuda::wmma::mma_sync(KQ_c[j], K_a, Q_b[k_KQ_0/16][j], KQ_c[j]); - } - } -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += frag_n) { - nvcuda::wmma::store_matrix_sync((KQ_acc_t *) KQ + j0*kqs_padded + i_KQ_0 + frag_m*threadIdx.y, KQ_c[j0/frag_n], kqs_padded, nvcuda::wmma::mem_col_major); - } - } - - __syncthreads(); - - // Calculate softmax for each KQ column using the current max. value. - // The divisor is stored in KQ_rowsum and will be applied at the end. -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; - - if (std::is_same::value) { - float KQ_f_tmp[FATTN_KQ_STRIDE / WARP_SIZE]; -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - KQ_f_tmp[k0/WARP_SIZE] = KQ_f[j*kqs_padded + k]; - - if (use_logit_softcap) { - KQ_f_tmp[k0/WARP_SIZE] = logit_softcap*tanhf(KQ_f_tmp[k0/WARP_SIZE]); - } - } - - float KQ_max_new = KQ_max_f[j0/nwarps]; -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - KQ_f_tmp[k0/WARP_SIZE] += mask ? __half2float(slopeh*maskh[j*(nb31/sizeof(half)) + k_VKQ_0 + k]) : 0.0f; - KQ_max_new = max(KQ_max_new, KQ_f_tmp[k0/WARP_SIZE]); - } - KQ_max_new = warp_reduce_max(KQ_max_new); - - const float diff = KQ_max_f[j0/nwarps] - KQ_max_new; - KQ_max_scale_f[j0/nwarps] = expf(diff); - if (diff <= SOFTMAX_FTZ_THRESHOLD) { - KQ_max_scale_f[j0/nwarps] = 0.0f; - } - KQ_max_f[j0/nwarps] = KQ_max_new; - - float KQ_rowsum_add = 0.0f; -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - const float diff = KQ_f_tmp[k0/WARP_SIZE] - KQ_max_f[j0/nwarps]; - KQ_f_tmp[k0/WARP_SIZE] = expf(diff); - if (diff <= SOFTMAX_FTZ_THRESHOLD) { - KQ_f_tmp[k0/WARP_SIZE] = 0.0f; - } - KQ_rowsum_add += KQ_f_tmp[k0/WARP_SIZE]; - KQ[j*(kqar*kqs_padded) + k] = KQ_f_tmp[k0/WARP_SIZE]; - } - KQ_rowsum_add = warp_reduce_sum(KQ_rowsum_add); - - // Scale previous KQ_rowsum to account for a potential increase in KQ_max: - KQ_rowsum_f[j0/nwarps] = KQ_max_scale_f[j0/nwarps]*KQ_rowsum_f[j0/nwarps] + KQ_rowsum_add; - } else { - half2 KQ2_tmp[FATTN_KQ_STRIDE/(2*WARP_SIZE)]; -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - KQ2_tmp[k0/WARP_SIZE] = KQ2[j*(kqs_padded/2) + k]; - - if (use_logit_softcap) { - // There is no dedicated tangens hyperbolicus function for half2. - KQ2_tmp[k0/WARP_SIZE] = h2exp(KQ2_tmp[k0/WARP_SIZE]*make_half2(2.0f, 2.0f)); - KQ2_tmp[k0/WARP_SIZE] = (KQ2_tmp[k0/WARP_SIZE] - make_half2(1.0f, 1.0f)) - /(KQ2_tmp[k0/WARP_SIZE] + make_half2(1.0f, 1.0f)); - - KQ2_tmp[k0/WARP_SIZE] *= logit_softcap_2; - } - } - - half2 KQ_max_new = KQ_max_h2[j0/nwarps]; -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - KQ2_tmp[k0/WARP_SIZE] += mask ? slope2*mask2[(j*ne11 + k_VKQ_0)/2 + k] : make_half2(0.0f, 0.0f); - KQ_max_new = ggml_cuda_hmax2(KQ_max_new, KQ2_tmp[k0/WARP_SIZE]); - } - KQ_max_new = __half2half2(warp_reduce_max(ggml_cuda_hmax(__low2half(KQ_max_new), __high2half(KQ_max_new)))); - const half2 diff = KQ_max_h2[j0/nwarps] - KQ_max_new; - KQ_max_scale_h2[j0/nwarps] = h2exp(diff); - const uint32_t ftz_mask = __hgt2_mask(diff, make_half2(SOFTMAX_FTZ_THRESHOLD, SOFTMAX_FTZ_THRESHOLD)); - *((uint32_t *) &KQ_max_scale_h2[j0/nwarps]) &= ftz_mask; - KQ_max_h2[j0/nwarps] = KQ_max_new; - - half2 KQ_rowsum_add = make_half2(0.0f, 0.0f); -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE/2; k0 += WARP_SIZE) { - const int k = k0 + threadIdx.x; - - const half2 diff = KQ2_tmp[k0/WARP_SIZE] - KQ_max_h2[j0/nwarps]; - KQ2_tmp[k0/WARP_SIZE] = h2exp(diff); - const uint32_t ftz_mask = __hgt2_mask(diff, make_half2(SOFTMAX_FTZ_THRESHOLD, SOFTMAX_FTZ_THRESHOLD)); - *((uint32_t *) &KQ2_tmp[k0/WARP_SIZE]) &= ftz_mask; - KQ_rowsum_add += KQ2_tmp[k0/WARP_SIZE]; - KQ2[j*(kqs_padded/2) + k] = KQ2_tmp[k0/WARP_SIZE]; - } - KQ_rowsum_add = warp_reduce_sum(KQ_rowsum_add); - - // Scale previous KQ_rowsum to account for a potential increase in KQ_max: - KQ_rowsum_h2[j0/nwarps] = KQ_max_scale_h2[j0/nwarps]*KQ_rowsum_h2[j0/nwarps] + KQ_rowsum_add; - } - } - - __syncthreads(); - - frag_b KQ_b[FATTN_KQ_STRIDE/(VKQ_ratio*16)][ncols/frag_n]; -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += frag_n) { -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += VKQ_ratio*16) { - const int k = k0 + (threadIdx.y % VKQ_ratio)*16; - nvcuda::wmma::load_matrix_sync( - KQ_b[k0/(VKQ_ratio*16)][j0/frag_n], - KQ + j0*(kqar*kqs_padded) + k, - kqar*kqs_padded); - } - } - - frag_c_VKQ VKQ_c[D/VKQ_stride][ncols/frag_n]; -#pragma unroll - for (int i_VKQ_0 = 0; i_VKQ_0 < D; i_VKQ_0 += VKQ_stride) { -#pragma unroll - for (int j = 0; j < ncols/frag_n; ++j) { - nvcuda::wmma::fill_fragment(VKQ_c[i_VKQ_0/VKQ_stride][j], 0.0f); - } - -#pragma unroll - for (int k0 = 0; k0 < FATTN_KQ_STRIDE; k0 += VKQ_ratio*16) { - const int k = k0 + (threadIdx.y % VKQ_ratio)*16; - - frag_a_V v_a; - nvcuda::wmma::load_matrix_sync(v_a, V_h + (k_VKQ_0 + k)*stride_KV + i_VKQ_0 + frag_m*(threadIdx.y/VKQ_ratio), stride_KV); -#pragma unroll - for (int j = 0; j < ncols/frag_n; ++j) { - nvcuda::wmma::mma_sync(VKQ_c[i_VKQ_0/VKQ_stride][j], v_a, KQ_b[k0/(VKQ_ratio*16)][j], VKQ_c[i_VKQ_0/VKQ_stride][j]); - } - } - } - - __syncthreads(); - - const int offset_k = (threadIdx.y % VKQ_ratio) * (ncols*D_padded); -#pragma unroll - for (int i_KQ_0 = 0; i_KQ_0 < D; i_KQ_0 += VKQ_stride) { -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += frag_n) { - nvcuda::wmma::store_matrix_sync( - KQ + offset_k + j0*D_padded + i_KQ_0 + frag_m*(threadIdx.y/VKQ_ratio), - VKQ_c[i_KQ_0/VKQ_stride][j0/frag_n], - D_padded, nvcuda::wmma::mem_col_major); - } - } - - __syncthreads(); - -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; - - half2 VKQ_scale; - if (std::is_same::value) { - VKQ_scale = make_half2(KQ_max_scale_f[j0/nwarps], KQ_max_scale_f[j0/nwarps]); - } else { - VKQ_scale = KQ_max_scale_h2[j0/nwarps]; - } - -#pragma unroll - for (int i0 = 0; i0 < D/2; i0 += WARP_SIZE) { - const int i = i0 + threadIdx.x; - if (i0 + WARP_SIZE > D/2 && i >= D/2) { - break; - } - - half2 VKQ_add = make_half2(0.0f, 0.0f); -#pragma unroll - for (int l = 0; l < VKQ_ratio; ++l) { - VKQ_add += KQ2[l*(ncols*D_padded/2) + j*(D_padded/2) + i]; - } - VKQ2[j*(D_padded/2) + i] = VKQ_scale*VKQ2[j*(D_padded/2) + i] + VKQ_add; - } - } - - __syncthreads(); - } - -#pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j_VKQ = j0 + threadIdx.y; - if (ic0 + j_VKQ >= ne01) { - return; - } - const int j_dst = (ic0 + j_VKQ)*parallel_blocks + ip; - - float KQ_rowsum_j; - if (std::is_same::value) { - KQ_rowsum_j = KQ_rowsum_f[j0/nwarps]; - } else { - KQ_rowsum_j = __low2float(KQ_rowsum_h2[j0/nwarps]) + __high2float(KQ_rowsum_h2[j0/nwarps]); - } - -#pragma unroll - for (int i0 = 0; i0 < D; i0 += WARP_SIZE) { - const int i = i0 + threadIdx.x; - if (i0 + WARP_SIZE > D && i >= D) { - break; - } - float dst_val = VKQ[j_VKQ*D_padded + i]; - if (parallel_blocks == 1) { - dst_val /= KQ_rowsum_j; - } - dst[j_dst*gridDim.y*D + blockIdx.y*D + i] = dst_val; - } - - if (parallel_blocks == 1 || threadIdx.x != 0) { - continue; - } - - float2 dst_meta_val; - if (std::is_same::value) { - dst_meta_val.x = KQ_max_f[j0/nwarps]; - } else { - dst_meta_val.x = __low2float(KQ_max_h2[j0/nwarps]); - } - dst_meta_val.y = KQ_rowsum_j; - dst_meta[(ic0 + j_VKQ)*gridDim.y*parallel_blocks + blockIdx.y*parallel_blocks + ip] = dst_meta_val; - } -#else - NO_DEVICE_CODE; -#endif // FP16_MMA_AVAILABLE -} - -constexpr int get_max_power_of_2(int x) { - return x % 2 == 0 ? 2*get_max_power_of_2(x/2) : 1; -} - -static_assert(get_max_power_of_2(1) == 1, "Test failed."); -static_assert(get_max_power_of_2(2) == 2, "Test failed."); -static_assert(get_max_power_of_2(4) == 4, "Test failed."); -static_assert(get_max_power_of_2(6) == 2, "Test failed."); - -// Number of VKQ rows calculated in parallel: -constexpr int get_VKQ_stride(int D, int nwarps, int frag_m) { - return (get_max_power_of_2(D/frag_m) < nwarps ? get_max_power_of_2(D/frag_m) : nwarps)*frag_m; -} - -static_assert(get_VKQ_stride(128, 1, 32) == 32, "Test failed."); -static_assert(get_VKQ_stride(128, 2, 32) == 64, "Test failed."); -static_assert(get_VKQ_stride(128, 4, 32) == 128, "Test failed."); -static_assert(get_VKQ_stride( 64, 1, 32) == 32, "Test failed."); -static_assert(get_VKQ_stride( 64, 2, 32) == 64, "Test failed."); -static_assert(get_VKQ_stride( 64, 4, 32) == 64, "Test failed."); -static_assert(get_VKQ_stride( 80, 1, 16) == 16, "Test failed."); -static_assert(get_VKQ_stride( 80, 2, 16) == 16, "Test failed."); -static_assert(get_VKQ_stride( 80, 4, 16) == 16, "Test failed."); - -template -void ggml_cuda_flash_attn_ext_wmma_f16_case(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { - const ggml_tensor * KQV = dst; - const ggml_tensor * Q = dst->src[0]; - - constexpr int nwarps = 4; - - constexpr int frag_m = cols_per_block == 8 && D % 32 == 0 ? 32 : 16; - const int blocks_num_pb1 = ((Q->ne[1] + cols_per_block - 1) / cols_per_block)*Q->ne[2]*Q->ne[3]; - const int nsm = ggml_cuda_info().devices[ggml_cuda_get_device()].nsm; - - float logit_softcap; - memcpy(&logit_softcap, (const float *) KQV->op_params + 2, sizeof(float)); - - if (4*blocks_num_pb1 < 2*nsm) { - constexpr int parallel_blocks = 4; - fattn_kernel_t fattn_kernel; - if (logit_softcap == 0.0f) { - constexpr bool use_logit_softcap = false; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } else { - constexpr bool use_logit_softcap = true; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); - return; - } - if (2*blocks_num_pb1 < 2*nsm) { - constexpr int parallel_blocks = 2; - fattn_kernel_t fattn_kernel; - if (logit_softcap == 0.0f) { - constexpr bool use_logit_softcap = false; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } else { - constexpr bool use_logit_softcap = true; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); - return; - } - constexpr int parallel_blocks = 1; - fattn_kernel_t fattn_kernel; - if (logit_softcap == 0.0f) { - constexpr bool use_logit_softcap = false; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } else { - constexpr bool use_logit_softcap = true; - fattn_kernel = flash_attn_ext_f16< - D, cols_per_block, nwarps, get_VKQ_stride(D, nwarps, frag_m), parallel_blocks, KQ_acc_t, use_logit_softcap>; - } - launch_fattn(ctx, dst, fattn_kernel, nwarps, cols_per_block, true, true); -} - -#define DECL_FATTN_WMMA_F16_CASE(D, cols_per_block, KQ_acc_t) \ - template void ggml_cuda_flash_attn_ext_wmma_f16_case \ - (ggml_backend_cuda_context & ctx, ggml_tensor * dst) \ - -extern DECL_FATTN_WMMA_F16_CASE( 64, 16, float); -extern DECL_FATTN_WMMA_F16_CASE( 80, 16, float); -extern DECL_FATTN_WMMA_F16_CASE( 96, 16, float); -extern DECL_FATTN_WMMA_F16_CASE(112, 16, float); -extern DECL_FATTN_WMMA_F16_CASE(128, 16, float); -extern DECL_FATTN_WMMA_F16_CASE(256, 16, float); - -extern DECL_FATTN_WMMA_F16_CASE( 64, 32, float); -extern DECL_FATTN_WMMA_F16_CASE( 80, 32, float); -extern DECL_FATTN_WMMA_F16_CASE( 96, 32, float); -extern DECL_FATTN_WMMA_F16_CASE(112, 32, float); -extern DECL_FATTN_WMMA_F16_CASE(128, 32, float); -// extern DECL_FATTN_WMMA_F16_CASE(256, 16, float); - -extern DECL_FATTN_WMMA_F16_CASE( 64, 8, half); -extern DECL_FATTN_WMMA_F16_CASE( 96, 8, half); -extern DECL_FATTN_WMMA_F16_CASE(128, 8, half); -extern DECL_FATTN_WMMA_F16_CASE(256, 8, half); - -extern DECL_FATTN_WMMA_F16_CASE( 64, 16, half); -extern DECL_FATTN_WMMA_F16_CASE( 80, 16, half); -extern DECL_FATTN_WMMA_F16_CASE( 96, 16, half); -extern DECL_FATTN_WMMA_F16_CASE(112, 16, half); -extern DECL_FATTN_WMMA_F16_CASE(128, 16, half); -extern DECL_FATTN_WMMA_F16_CASE(256, 16, half); - -extern DECL_FATTN_WMMA_F16_CASE( 64, 32, half); -extern DECL_FATTN_WMMA_F16_CASE( 80, 32, half); -extern DECL_FATTN_WMMA_F16_CASE( 96, 32, half); -extern DECL_FATTN_WMMA_F16_CASE(112, 32, half); -extern DECL_FATTN_WMMA_F16_CASE(128, 32, half); -extern DECL_FATTN_WMMA_F16_CASE(256, 16, half); +void ggml_cuda_flash_attn_ext_wmma_f16(ggml_backend_cuda_context & ctx, ggml_tensor * dst); diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index 0b26b0f8e..b1e66d470 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -1,5 +1,6 @@ #include "common.cuh" #include "fattn-common.cuh" +#include "fattn-mma-f16.cuh" #include "fattn-tile-f16.cuh" #include "fattn-tile-f32.cuh" #include "fattn-vec-f16.cuh" @@ -7,144 +8,56 @@ #include "fattn-wmma-f16.cuh" #include "fattn.cuh" -#include +template +static void ggml_cuda_flash_attn_ext_mma_f16_switch_hs(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const ggml_tensor * Q = dst->src[0]; -static void ggml_cuda_flash_attn_ext_wmma_f16(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { - const ggml_tensor * KQV = dst; - const ggml_tensor * Q = dst->src[0]; - - const enum ggml_prec prec = ggml_flash_attn_ext_get_prec(KQV); - - if (prec != GGML_PREC_DEFAULT) { - if (Q->ne[1] <= 32 || Q->ne[0] > 128) { - constexpr int cols_per_block = 16; - switch (Q->ne[0]) { - case 64: - ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, float>(ctx, dst); - break; - case 80: - ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, float>(ctx, dst); - break; - case 96: - ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, float>(ctx, dst); - break; - case 112: - ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, float>(ctx, dst); - break; - case 128: - ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); - break; - case 256: - ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, float>(ctx, dst); - break; - default: - GGML_ABORT("fatal error"); - break; - } - } else { - constexpr int cols_per_block = 32; - switch (Q->ne[0]) { - case 64: - ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, float>(ctx, dst); - break; - case 80: - ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, float>(ctx, dst); - break; - case 96: - ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, float>(ctx, dst); - break; - case 112: - ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, float>(ctx, dst); - break; - case 128: - ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); - break; - // case 256: - // ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); - // break; - default: - GGML_ABORT("fatal error"); - break; - } - } - return; - } - - if (Q->ne[1] <= 8 && Q->ne[0] % WARP_SIZE == 0) { - constexpr int cols_per_block = 8; - switch (Q->ne[0]) { - case 64: - ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); - break; - case 96: - ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); - break; - case 128: - ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); - break; - case 256: - ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); - break; - default: - GGML_ABORT("fatal error"); - break; - } - return; - } - - if (Q->ne[1] <= 32) { - constexpr int cols_per_block = 16; - switch (Q->ne[0]) { - case 64: - ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); - break; - case 80: - ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, half>(ctx, dst); - break; - case 96: - ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); - break; - case 112: - ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, half>(ctx, dst); - break; - case 128: - ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); - break; - case 256: - ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); - break; - default: - GGML_ABORT("fatal error"); - break; - } - return; - } - - constexpr int cols_per_block = 32; switch (Q->ne[0]) { case 64: - ggml_cuda_flash_attn_ext_wmma_f16_case< 64, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case< 64, cols_per_block>(ctx, dst); break; case 80: - ggml_cuda_flash_attn_ext_wmma_f16_case< 80, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case< 80, cols_per_block>(ctx, dst); break; case 96: - ggml_cuda_flash_attn_ext_wmma_f16_case< 96, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case< 96, cols_per_block>(ctx, dst); break; case 112: - ggml_cuda_flash_attn_ext_wmma_f16_case<112, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case<112, cols_per_block>(ctx, dst); break; case 128: - ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case<128, cols_per_block>(ctx, dst); break; case 256: - ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, half>(ctx, dst); + ggml_cuda_flash_attn_ext_mma_f16_case<256, cols_per_block>(ctx, dst); break; default: GGML_ABORT("fatal error"); break; } } + +static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const ggml_tensor * Q = dst->src[0]; + + if (Q->ne[1] <= 8) { + ggml_cuda_flash_attn_ext_mma_f16_switch_hs<8>(ctx, dst); + return; + } + + if (Q->ne[1] <= 16) { + ggml_cuda_flash_attn_ext_mma_f16_switch_hs<16>(ctx, dst); + return; + } + + if (Q->ne[1] <= 32) { + ggml_cuda_flash_attn_ext_mma_f16_switch_hs<32>(ctx, dst); + return; + } + + ggml_cuda_flash_attn_ext_mma_f16_switch_hs<64>(ctx, dst); +} + #define FATTN_VEC_F16_CASE(D, type_K, type_V) \ if (Q->ne[0] == (D) && K->type == (type_K) && V->type == (type_V)) { \ ggml_cuda_flash_attn_ext_vec_f16_case(ctx, dst); \ @@ -322,11 +235,19 @@ void ggml_cuda_flash_attn_ext(ggml_backend_cuda_context & ctx, ggml_tensor * dst return; } - if (!fp16_mma_available(cc)) { - if (Q->ne[1] <= 8) { - ggml_cuda_flash_attn_ext_vec_f16(ctx, dst); + if (!new_mma_available(cc)) { + if (prec == GGML_PREC_DEFAULT) { + if (Q->ne[1] <= 8) { + ggml_cuda_flash_attn_ext_vec_f16(ctx, dst); + } else { + ggml_cuda_flash_attn_ext_tile_f16(ctx, dst); + } } else { - ggml_cuda_flash_attn_ext_tile_f16(ctx, dst); + if (Q->ne[1] <= 8) { + ggml_cuda_flash_attn_ext_vec_f32(ctx, dst); + } else { + ggml_cuda_flash_attn_ext_tile_f32(ctx, dst); + } } return; } @@ -341,5 +262,10 @@ void ggml_cuda_flash_attn_ext(ggml_backend_cuda_context & ctx, ggml_tensor * dst } } - ggml_cuda_flash_attn_ext_wmma_f16(ctx, dst); + // The MMA implementation needs Turing or newer, use the old WMMA code for Volta: + if (cc == GGML_CUDA_CC_VOLTA) { + ggml_cuda_flash_attn_ext_wmma_f16(ctx, dst); + } + + ggml_cuda_flash_attn_ext_mma_f16(ctx, dst); } diff --git a/ggml/src/ggml-cuda/mma.cuh b/ggml/src/ggml-cuda/mma.cuh index 7d11540af..9788a1389 100644 --- a/ggml/src/ggml-cuda/mma.cuh +++ b/ggml/src/ggml-cuda/mma.cuh @@ -1,11 +1,67 @@ +// This file contains primitives that expose the tensor core PTX instructions for CUDA code. +// The primitives can be used in a similar way as the nvcuda::wmma interface but with a well-defined memory layout. +// The documentation for the PTX instructions can be found under: +// https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#matrix-multiply-accumulate-operation-using-mma-instruction +// +// Like with nvcuda::wmma there are three types of matrix tiles: A, B, and C with A @ B = C. +// A is a row-major matrix with shape I x K. +// B is a column-major matrix with shape K x J. +// C is a column-major matrix with shape I x J. +// Note that along their lowest dimension I, J, and K are measured in physical 32 bit elements instead of logical elements. +// The functions get_i, get_j, and get_k can be used to get the physical 32 bit index of the lth element of a thread within a tile. +// All matrix tiles have ne physical 32 bit elements per warp. +// +// As described in the documentation, all pointers for load_ldmatrix must be to shared memory and aligned to 16 bytes. + #include "common.cuh" -struct mma_int_A_I16K4 { + +#if CUDART_VERSION >= 11800 + +static __device__ __forceinline__ int ggml_cuda_movmatrix(const int x) { + int ret = 0; + +#ifdef NEW_MMA_AVAILABLE + asm("movmatrix.sync.aligned.m8n8.trans.b16 %0, %1;" + : "+r"(ret) : "r"(x)); +#else + NO_DEVICE_CODE; +#endif // defined(NEW_MMA_AVAILABLE) + return ret; +} + +#else + +static __device__ __forceinline__ int ggml_cuda_movmatrix(const int x) { + // Imagine transposing row-major matrix to column-major matrix. + const int src_i_low = 2 * (threadIdx.x % 4); + const int src_i_high = src_i_low + 1; + const int src_j = threadIdx.x / 4; + + const int src_laneid_low = src_i_low * 4 + src_j / 2; + const int src_laneid_high = src_i_high * 4 + src_j / 2; + + const int shift_low = ((src_j + 0) % 2) * 16; + const int shift_high = ((src_j + 1) % 2) * 16; + + const int ret_low = (__shfl_sync(0xFFFFFFFF, x, src_laneid_low, WARP_SIZE) >> shift_low) & 0x0000FFFF; + const int ret_high = (__shfl_sync(0xFFFFFFFF, x, src_laneid_high, WARP_SIZE) << shift_high) & 0xFFFF0000; + + return ret_low | ret_high; +} + +#endif // CUDART_VERSION >= 11800 + + +template +struct mma_A_I16K4 { + static_assert(sizeof(T) == 4, "bad type size"); + static constexpr int I = 16; static constexpr int K = 4; static constexpr int ne = 2; - int x[ne] = {0}; + T x[ne]; static __device__ __forceinline__ int get_i(const int l) { const int ret = (l%2) * (I/2) + threadIdx.x / K; @@ -21,27 +77,35 @@ struct mma_int_A_I16K4 { return ret; } - __device__ __forceinline__ void load(const int * __restrict__ xs0, const int & stride) { -#if defined(INT8_MMA_AVAILABLE) - const int * xs = xs0 + (threadIdx.x%I)*stride; - asm("ldmatrix.sync.aligned.m8n8.x2.b16 {%0, %1}, [%2];" - : "+r"(x[0]), "+r"(x[1]) - : "l"(xs)); -#else + __device__ __forceinline__ void load_generic(const T * __restrict__ xs0, const int & stride) { #pragma unroll for (int l = 0; l < ne; ++l) { x[l] = xs0[get_i(l)*stride + get_k(l)]; } -#endif // defined(INT8_MMA_AVAILABLE) + } + + __device__ __forceinline__ void load_ldmatrix(const T * __restrict__ xs0, const int & stride) { +#ifdef NEW_MMA_AVAILABLE + int * xi = (int *) x; + const int * xs = (const int *) xs0 + (threadIdx.x%I)*stride; + asm("ldmatrix.sync.aligned.m8n8.x2.b16 {%0, %1}, [%2];" + : "+r"(xi[0]), "+r"(xi[1]) + : "l"(xs)); +#else + load_generic(xs0, stride); +#endif // NEW_MMA_AVAILABLE } }; -struct mma_int_A_I16K8 { +template +struct mma_A_I16K8 { + static_assert(sizeof(T) == 4, "bad type size"); + static constexpr int I = 16; static constexpr int K = 8; static constexpr int ne = 4; - int x[ne] = {0}; + T x[ne]; static __device__ __forceinline__ int get_i(const int l) { const int ret = (l%2) * (I/2) + threadIdx.x / (K/2); @@ -57,31 +121,62 @@ struct mma_int_A_I16K8 { return ret; } - __device__ __forceinline__ void load(const int * __restrict__ xs0, const int & stride) { -#if defined(INT8_MMA_AVAILABLE) - const int * xs = xs0 + (threadIdx.x%I)*stride + (threadIdx.x/I)*(K/2); - asm("ldmatrix.sync.aligned.m8n8.x4.b16 {%0, %1, %2, %3}, [%4];" - : "+r"(x[0]), "+r"(x[1]), "+r"(x[2]), "+r"(x[3]) - : "l"(xs)); -#else + __device__ __forceinline__ void load_generic(const T * __restrict__ xs0, const int & stride) { #pragma unroll for (int l = 0; l < ne; ++l) { x[l] = xs0[get_i(l)*stride + get_k(l)]; } -#endif // defined(INT8_MMA_AVAILABLE) } - __device__ __forceinline__ void load_low(const int * __restrict__ xs0, const int & stride) { - ((mma_int_A_I16K4 *) x)[0].load(xs0, stride); + __device__ __forceinline__ void load_ldmatrix(const T * __restrict__ xs0, const int & stride) { +#ifdef NEW_MMA_AVAILABLE + int * xi = (int * ) x; + const int * xs = (const int *) xs0 + (threadIdx.x%I)*stride + (threadIdx.x/I)*(K/2); + asm("ldmatrix.sync.aligned.m8n8.x4.b16 {%0, %1, %2, %3}, [%4];" + : "+r"(xi[0]), "+r"(xi[1]), "+r"(xi[2]), "+r"(xi[3]) + : "l"(xs)); +#else + GGML_UNUSED(xs0); + GGML_UNUSED(stride); + NO_DEVICE_CODE; +#endif // NEW_MMA_AVAILABLE + } + + __device__ __forceinline__ void load_ldmatrix_trans(const T * __restrict__ xs0, const int & stride) { +#ifdef NEW_MMA_AVAILABLE + int * xi = (int * ) x; + const int * xs = (const int *) xs0 + (threadIdx.x%I)*stride + (threadIdx.x/I)*(K/2); + asm("ldmatrix.sync.aligned.m8n8.x4.trans.b16 {%0, %1, %2, %3}, [%4];" + : "+r"(xi[0]), "+r"(xi[2]), "+r"(xi[1]), "+r"(xi[3]) + : "l"(xs)); +#else + GGML_UNUSED(xs0); + GGML_UNUSED(stride); + NO_DEVICE_CODE; +#endif // NEW_MMA_AVAILABLE + } + + __device__ __forceinline__ void transpose() { + int * xi = (int *) x; + xi[0] = ggml_cuda_movmatrix(xi[0]); + + const int tmp = ggml_cuda_movmatrix(xi[1]); + xi[1] = ggml_cuda_movmatrix(xi[2]); + xi[2] = tmp; + + xi[3] = ggml_cuda_movmatrix(xi[3]); } }; -struct mma_int_B_J8K4 { +template +struct mma_B_J8K4 { + static_assert(sizeof(T) == 4, "bad type size"); + static constexpr int J = 8; static constexpr int K = 4; static constexpr int ne = 1; - int x[ne] = {0}; + T x[ne]; static __device__ __forceinline__ int get_j(const int /* l */) { const int ret = threadIdx.x / K; @@ -97,27 +192,34 @@ struct mma_int_B_J8K4 { return ret; } - __device__ __forceinline__ void load(const int * __restrict__ xs0, const int & stride) { -#if defined(INT8_MMA_AVAILABLE) && false // Loading as 4 byte values is faster - const int * xs = xs0 + (threadIdx.x%J)*stride; - asm("ldmatrix.sync.aligned.m8n8.x1.b16 {%0}, [%1];" - : "+r"(x[0]) - : "l"(xs)); -#else + __device__ __forceinline__ void load_generic(const T * __restrict__ xs0, const int & stride) { #pragma unroll for (int l = 0; l < ne; ++l) { x[l] = xs0[get_j(l)*stride + get_k(l)]; } -#endif // defined(INT8_MMA_AVAILABLE) + } + + __device__ __forceinline__ void load_ldmatrix(const T * __restrict__ xs0, const int & stride) { +#ifdef NEW_MMA_AVAILABLE + int * xi = (int *) x; + const int * xs = (const int *) xs0 + (threadIdx.x%J)*stride; + asm("ldmatrix.sync.aligned.m8n8.x1.b16 {%0}, [%1];" + : "+r"(xi[0]) : "l"(xs)); +#else + load_generic(xs0, stride); +#endif // NEW_MMA_AVAILABLE } }; -struct mma_int_B_J8K8 { +template +struct mma_B_J8K8 { + static_assert(sizeof(T) == 4, "bad type size"); + static constexpr int J = 8; static constexpr int K = 8; static constexpr int ne = 2; - int x[ne] = {0}; + T x[ne]; static __device__ __forceinline__ int get_j(const int /* l */) { const int ret = threadIdx.x / (K/2); @@ -133,22 +235,31 @@ struct mma_int_B_J8K8 { return ret; } - __device__ __forceinline__ void load(const int * __restrict__ xs0, const int & stride) { -#if defined(INT8_MMA_AVAILABLE) && false // Loading as 4 byte values is faster - const int * xs = xs0 + (threadIdx.x%J)*stride + ((threadIdx.x/J)*(K/2)) % K; - asm("ldmatrix.sync.aligned.m8n8.x2.b16 {%0, %1}, [%2];" - : "+r"(x[0]), "+r"(x[1]) - : "l"(xs)); -#else + __device__ __forceinline__ void load_generic(const T * __restrict__ xs0, const int & stride) { #pragma unroll for (int l = 0; l < ne; ++l) { x[l] = xs0[get_j(l)*stride + get_k(l)]; } -#endif // defined(INT8_MMA_AVAILABLE) + } + + __device__ __forceinline__ void load_ldmatrix(const T * __restrict__ xs0, const int & stride) { +#ifdef NEW_MMA_AVAILABLE + int * xi = (int *) x; + const int * xs = (const int *) xs0 + (threadIdx.x%J)*stride + ((threadIdx.x/J)*(K/2)) % K; + asm("ldmatrix.sync.aligned.m8n8.x2.b16 {%0, %1}, [%2];" + : "+r"(xi[0]), "+r"(xi[1]) + : "l"(xs)); +#else + load_generic(xs0, stride); +#endif // NEW_MMA_AVAILABLE } }; -struct mma_int_C_I16J8 { +template +struct mma_C_I16J8 {}; + +template <> +struct mma_C_I16J8 { static constexpr int I = 16; static constexpr int J = 8; static constexpr int ne = 4; @@ -169,8 +280,8 @@ struct mma_int_C_I16J8 { return ret; } - __device__ __forceinline__ void mma_K4(const mma_int_A_I16K4 & mma_A, const mma_int_B_J8K4 & mma_B) { -#ifdef INT8_MMA_AVAILABLE + __device__ __forceinline__ void mma(const mma_A_I16K4 & mma_A, const mma_B_J8K4 & mma_B) { +#ifdef NEW_MMA_AVAILABLE #if __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE asm("mma.sync.aligned.m16n8k16.row.col.s32.s8.s8.s32 {%0, %1, %2, %3}, {%4, %5}, {%6}, {%0, %1, %2, %3};" : "+r"(x[0]), "+r"(x[1]), "+r"(x[2]), "+r"(x[3]) @@ -188,11 +299,11 @@ struct mma_int_C_I16J8 { GGML_UNUSED(mma_A); GGML_UNUSED(mma_B); NO_DEVICE_CODE; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } - __device__ __forceinline__ void mma_K8(const mma_int_A_I16K8 & mma_A, const mma_int_B_J8K8 & mma_B) { -#ifdef INT8_MMA_AVAILABLE + __device__ __forceinline__ void mma(const mma_A_I16K8 & mma_A, const mma_B_J8K8 & mma_B) { +#ifdef NEW_MMA_AVAILABLE #if __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE asm("mma.sync.aligned.m16n8k32.row.col.s32.s8.s8.s32 {%0, %1, %2, %3}, {%4, %5, %6, %7}, {%8, %9}, {%0, %1, %2, %3};" : "+r"(x[0]), "+r"(x[1]), "+r"(x[2]), "+r"(x[3]) @@ -216,6 +327,132 @@ struct mma_int_C_I16J8 { GGML_UNUSED(mma_A); GGML_UNUSED(mma_B); NO_DEVICE_CODE; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE + } +}; + +template <> +struct mma_C_I16J8 { + static constexpr int I = 16; + static constexpr int J = 4; + static constexpr int ne = 2; + + half2 x[ne] = {{0.0f, 0.0f}, {0.0f, 0.0f}}; + + static __device__ __forceinline__ int get_i(const int l) { + const int ret = l * (I/2) + threadIdx.x / J; + GGML_CUDA_ASSUME(ret >= 0); + GGML_CUDA_ASSUME(ret < I); + return ret; + } + + static __device__ __forceinline__ int get_j(const int /* l */) { + const int ret = threadIdx.x % J; + GGML_CUDA_ASSUME(ret >= 0); + GGML_CUDA_ASSUME(ret < J); + return ret; + } + + __device__ __forceinline__ void mma(const mma_A_I16K8 & mma_A, const mma_B_J8K8 & mma_B) { +#ifdef NEW_MMA_AVAILABLE + int * Axi = (int *) mma_A.x; + int * Bxi = (int *) mma_B.x; + int * xi = (int *) x; +#if __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE + asm("mma.sync.aligned.m16n8k16.row.col.f16.f16.f16.f16 {%0, %1}, {%2, %3, %4, %5}, {%6, %7}, {%0, %1};" + : "+r"(xi[0]), "+r"(xi[1]) + : "r"(Axi[0]), "r"(Axi[1]), "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[0]), "r"(Bxi[1])); +#else + // On Turing m16n8k16 mma is not available, use 2x m8n8k8 mma instead: + asm("mma.sync.aligned.m16n8k8.row.col.f16.f16.f16.f16 {%0, %1}, {%2, %3}, {%4}, {%0, %1};" + : "+r"(xi[0]), "+r"(xi[1]) + : "r"(Axi[0]), "r"(Axi[1]), "r"(Bxi[0])); + asm("mma.sync.aligned.m16n8k8.row.col.f16.f16.f16.f16 {%0, %1}, {%2, %3}, {%4}, {%0, %1};" + : "+r"(xi[0]), "+r"(xi[1]) + : "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[1])); +#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE +#else + GGML_UNUSED(mma_A); + GGML_UNUSED(mma_B); + NO_DEVICE_CODE; +#endif // NEW_MMA_AVAILABLE + } + + __device__ __forceinline__ mma_B_J8K8 to_mma_B() { + mma_B_J8K8 mma_B; + + int * xi = (int *) x; + int * Bxi = (int *) mma_B.x; + Bxi[0] = ggml_cuda_movmatrix(xi[0]); + Bxi[1] = ggml_cuda_movmatrix(xi[1]); + + return mma_B; + } +}; + +template <> +struct mma_C_I16J8 { + static constexpr int I = 16; + static constexpr int J = 8; + static constexpr int ne = 4; + + float x[ne] = {0.0f, 0.0f, 0.0f, 0.0f}; + + static __device__ __forceinline__ int get_i(const int l) { + const int ret = (l/2) * (I/2) + threadIdx.x / (J/2); + GGML_CUDA_ASSUME(ret >= 0); + GGML_CUDA_ASSUME(ret < I); + return ret; + } + + static __device__ __forceinline__ int get_j(const int l) { + const int ret = 2 * (threadIdx.x % (J/2)) + l%2; + GGML_CUDA_ASSUME(ret >= 0); + GGML_CUDA_ASSUME(ret < J); + return ret; + } + + __device__ __forceinline__ void mma(const mma_A_I16K8 & mma_A, const mma_B_J8K8 & mma_B) { +#ifdef NEW_MMA_AVAILABLE + int * Axi = (int *) mma_A.x; + int * Bxi = (int *) mma_B.x; + int * xi = (int *) x; +#if __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE + asm("mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 {%0, %1, %2, %3}, {%4, %5, %6, %7}, {%8, %9}, {%0, %1, %2, %3};" + : "+r"(xi[0]), "+r"(xi[1]), "+r"(xi[2]), "+r"(xi[3]) + : "r"(Axi[0]), "r"(Axi[1]), "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[0]), "r"(Bxi[1])); +#else + // On Turing m16n8k16 mma is not available, use 2x m8n8k8 mma instead: + asm("mma.sync.aligned.m16n8k8.row.col.f32.f16.f16.f32 {%0, %1, %2, %3}, {%4, %5}, {%6}, {%0, %1, %2, %3};" + : "+r"(xi[0]), "+r"(xi[1]), "+r"(xi[2]), "+r"(xi[3]) + : "r"(Axi[0]), "r"(Axi[1]), "r"(Bxi[0])); + asm("mma.sync.aligned.m16n8k8.row.col.f32.f16.f16.f32 {%0, %1, %2, %3}, {%4, %5}, {%6}, {%0, %1, %2, %3};" + : "+r"(xi[0]), "+r"(xi[1]), "+r"(xi[2]), "+r"(xi[3]) + : "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[1])); +#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE +#else + GGML_UNUSED(mma_A); + GGML_UNUSED(mma_B); + NO_DEVICE_CODE; +#endif // NEW_MMA_AVAILABLE + } + + __device__ __forceinline__ mma_B_J8K8 to_mma_B() { + mma_B_J8K8 mma_B; + mma_B.x[0] = make_half2(x[0], x[1]); + mma_B.x[1] = make_half2(x[2], x[3]); + + int * Bxi = (int *) mma_B.x; + Bxi[0] = ggml_cuda_movmatrix(Bxi[0]); + Bxi[1] = ggml_cuda_movmatrix(Bxi[1]); + + return mma_B; + } + + __device__ __forceinline__ void load_generic(const float * __restrict__ xs0, const int & stride) { +#pragma unroll + for (int l = 0; l < ne; ++l) { + x[l] = xs0[get_j(l)*stride + get_i(l)]; + } } }; diff --git a/ggml/src/ggml-cuda/mmq.cu b/ggml/src/ggml-cuda/mmq.cu index 270251df4..83cb78cbd 100644 --- a/ggml/src/ggml-cuda/mmq.cu +++ b/ggml/src/ggml-cuda/mmq.cu @@ -132,7 +132,7 @@ bool ggml_cuda_should_use_mmq(enum ggml_type type, int cc, int64_t ne11) { return false; } - if (int8_mma_available(cc)) { + if (new_mma_available(cc)) { return true; } diff --git a/ggml/src/ggml-cuda/mmq.cuh b/ggml/src/ggml-cuda/mmq.cuh index 3cd508a1d..c05c84778 100644 --- a/ggml/src/ggml-cuda/mmq.cuh +++ b/ggml/src/ggml-cuda/mmq.cuh @@ -87,7 +87,7 @@ struct tile_x_sizes { }; static constexpr int get_mmq_x_max_host(const int cc) { - return int8_mma_available(cc) ? 128 : + return new_mma_available(cc) ? 128 : #ifdef GGML_CUDA_FORCE_MMQ cc >= GGML_CUDA_CC_VOLTA && cc < GGML_CUDA_CC_OFFSET_AMD ? 128 : 64; #else @@ -96,9 +96,9 @@ static constexpr int get_mmq_x_max_host(const int cc) { } static constexpr __device__ int get_mmq_x_max_device() { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE return 128; -#else // INT8_MMA_AVAILABLE +#else // NEW_MMA_AVAILABLE #if defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__) return 128; @@ -116,7 +116,7 @@ static constexpr __device__ int get_mmq_x_max_device() { #endif // __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA #endif // defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__) -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } static constexpr int get_mmq_y_host(const int cc) { @@ -209,10 +209,10 @@ static constexpr __host__ __device__ int mmq_get_mma_tile_x_k(ggml_type type) { #define MMQ_TILE_Y_K (WARP_SIZE + WARP_SIZE/QI8_1) static int mmq_get_granularity_host(const int mmq_x, const int cc) { - return int8_mma_available(cc) && mmq_x >= 48 ? 16 : 8; + return new_mma_available(cc) && mmq_x >= 48 ? 16 : 8; } -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE static constexpr __device__ int mmq_get_granularity_device(const int mmq_x) { return mmq_x >= 48 ? 16 : 8; } @@ -220,21 +220,21 @@ static constexpr __device__ int mmq_get_granularity_device(const int mmq_x) { static constexpr __device__ int mmq_get_granularity_device(const int /* mmq_x */) { return 8; } -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE // ------------------------------------------------------------ template static __device__ __forceinline__ void load_tiles_q4_0( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + 2*WARP_SIZE); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q4_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI4_0; const int kqsx = threadIdx.x % QI4_0; @@ -250,12 +250,12 @@ template static __device__ __forceinlin const block_q4_0 * bxi = (const block_q4_0 *) x + kbx0 + i*stride + kbx; const int qs0 = get_int_b2(bxi->qs, kqsx); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI4_0) + kqsx + 0] = __vsubss4((qs0 >> 0) & 0x0F0F0F0F, 0x08080808); x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI4_0) + kqsx + QI4_0] = __vsubss4((qs0 >> 4) & 0x0F0F0F0F, 0x08080808); #else x_qs[i*(WARP_SIZE + 1) + threadIdx.x] = qs0; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI4_0; @@ -271,11 +271,11 @@ template static __device__ __forceinlin const block_q4_0 * bxi = (const block_q4_0 *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(WARP_SIZE/QI4_0) + i/QI4_0 + kbxd] = bxi->d; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -322,14 +322,14 @@ static __device__ __forceinline__ void vec_dot_q4_0_q8_1_dp4a( template static __device__ __forceinline__ void load_tiles_q4_1( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*WARP_SIZE); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q4_1, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI4_1; const int kqsx = threadIdx.x % QI4_1; @@ -345,12 +345,12 @@ template static __device__ __forceinlin const block_q4_1 * bxi = (const block_q4_1 *) x + kbx0 + i*stride + kbx; const int qs0 = get_int_b4(bxi->qs, kqsx); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI4_1) + kqsx + 0] = (qs0 >> 0) & 0x0F0F0F0F; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI4_1) + kqsx + QI4_1] = (qs0 >> 4) & 0x0F0F0F0F; #else x_qs[i*(WARP_SIZE + 1) + threadIdx.x] = qs0; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI4_1; @@ -366,11 +366,11 @@ template static __device__ __forceinlin const block_q4_1 * bxi = (const block_q4_1 *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_dm[i*MMQ_MMA_TILE_X_K_Q8_1 + kbxd] = bxi->dm; #else x_dm[i*(WARP_SIZE/QI4_1) + i/QI4_1 + kbxd] = bxi->dm; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -417,14 +417,14 @@ static __device__ __forceinline__ void vec_dot_q4_1_q8_1_dp4a( template static __device__ __forceinline__ void load_tiles_q5_0( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q5_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI5_0; const int kqsx = threadIdx.x % QI5_0; @@ -456,13 +456,13 @@ template static __device__ __forceinlin qs1 |= (qh << 9) & 0x10000000; // 19 -> 28 qs1 = __vsubss4(qs1, 0x10101010); // subtract 16 -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI5_0) + kqsx + 0] = qs0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI5_0) + kqsx + QI5_0] = qs1; #else x_qs[i*(2*WARP_SIZE + 1) + kbx*(2*QI5_0) + kqsx + 0] = qs0; x_qs[i*(2*WARP_SIZE + 1) + kbx*(2*QI5_0) + kqsx + QI5_0] = qs1; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI5_0; @@ -478,25 +478,25 @@ template static __device__ __forceinlin const block_q5_0 * bxi = (const block_q5_0 *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(WARP_SIZE/QI5_0) + i/QI5_0 + kbxd] = bxi->d; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_q5_1( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*WARP_SIZE); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q5_1, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI5_1; const int kqsx = threadIdx.x % QI5_1; @@ -526,13 +526,13 @@ template static __device__ __forceinlin qs1 |= (qh << 2) & 0x00100000; // 18 -> 20 qs1 |= (qh << 9) & 0x10000000; // 19 -> 28 -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI5_1) + kqsx + 0] = qs0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI5_1) + kqsx + QI5_1] = qs1; #else x_qs[i*(2*WARP_SIZE + 1) + kbx*(2*QI5_1) + kqsx + 0] = qs0; x_qs[i*(2*WARP_SIZE + 1) + kbx*(2*QI5_1) + kqsx + QI5_1] = qs1; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI5_1; @@ -548,25 +548,25 @@ template static __device__ __forceinlin const block_q5_1 * bxi = (const block_q5_1 *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_dm[i*MMQ_MMA_TILE_X_K_Q8_1 + kbxd] = bxi->dm; #else x_dm[i*(WARP_SIZE/QI5_1) + i/QI5_1 + kbxd] = bxi->dm; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_q8_0( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_tile + 2*WARP_SIZE); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q8_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI8_0; const int kqsx = threadIdx.x % QI8_0; @@ -581,13 +581,13 @@ template static __device__ __forceinlin const block_q8_0 * bxi = (const block_q8_0 *) x + kbx0 + i*stride + kbx; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 0 + threadIdx.x] = get_int_b2(bxi[0].qs, kqsx); x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + WARP_SIZE + threadIdx.x] = get_int_b2(bxi[WARP_SIZE/QI8_0].qs, kqsx); #else x_qs[i*(2*WARP_SIZE + 1) + 0 + threadIdx.x] = get_int_b2(bxi[0].qs, kqsx); x_qs[i*(2*WARP_SIZE + 1) + WARP_SIZE + threadIdx.x] = get_int_b2(bxi[WARP_SIZE/QI8_0].qs, kqsx); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = 2*WARP_SIZE / QI8_0; @@ -603,11 +603,11 @@ template static __device__ __forceinlin const block_q8_0 * bxi = (const block_q8_0 *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(2*WARP_SIZE/QI8_0) + i/(QI8_0/2) + kbxd] = bxi->d; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -645,9 +645,9 @@ template static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int & k00) { - typedef mma_int_A_I16K8 mma_A; - typedef mma_int_B_J8K8 mma_B; - typedef mma_int_C_I16J8 mma_C; + typedef mma_A_I16K8 mma_A; + typedef mma_B_J8K8 mma_B; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; @@ -672,7 +672,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += QI8_0) { const int k0 = k00 + k01; - A[n][k01/QI8_0].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q8_0 + k0, MMQ_MMA_TILE_X_K_Q8_0); + A[n][k01/QI8_0].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q8_0 + k0, MMQ_MMA_TILE_X_K_Q8_0); } #pragma unroll @@ -695,7 +695,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( mma_B B; float dB[mma_C::ne/2]; - B.load(y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); + B.load_generic(y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); // faster than load_ldmatrix #pragma unroll for (int l = 0; l < mma_C::ne/2; ++l) { @@ -711,7 +711,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( #pragma unroll for (int n = 0; n < ntx; ++n) { mma_C C; - C.mma_K8(A[n][k01/QI8_0], B); + C.mma(A[n][k01/QI8_0], B); #pragma unroll for (int l = 0; l < mma_C::ne; ++l) { @@ -756,9 +756,9 @@ template static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int & k00) { - typedef mma_int_A_I16K8 mma_A; - typedef mma_int_B_J8K8 mma_B; - typedef mma_int_C_I16J8 mma_C; + typedef mma_A_I16K8 mma_A; + typedef mma_B_J8K8 mma_B; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; @@ -782,7 +782,7 @@ static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += QI8_1) { const int k0 = k00 + k01; - A[n][k01/QI8_1].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q8_1 + k0, MMQ_MMA_TILE_X_K_Q8_1); + A[n][k01/QI8_1].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q8_1 + k0, MMQ_MMA_TILE_X_K_Q8_1); } #pragma unroll @@ -805,7 +805,7 @@ static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( mma_B B; float2 dsB[mma_C::ne/2]; - B.load(y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); + B.load_generic(y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); // faster than load_ldmatrix #pragma unroll for (int l = 0; l < mma_C::ne/2; ++l) { @@ -817,7 +817,7 @@ static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( #pragma unroll for (int n = 0; n < ntx; ++n) { mma_C C; - C.mma_K8(A[n][k01/QI8_1], B); + C.mma(A[n][k01/QI8_1], B); #pragma unroll for (int l = 0; l < mma_C::ne; ++l) { @@ -864,12 +864,12 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_dp4a( template static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int & k00) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE - typedef mma_int_A_I16K4 mma_A; - typedef mma_int_A_I16K8 mma_A_K8; - typedef mma_int_B_J8K4 mma_B; - typedef mma_int_C_I16J8 mma_C; + typedef mma_A_I16K4 mma_A; + typedef mma_A_I16K8 mma_A_K8; + typedef mma_B_J8K4 mma_B; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; @@ -893,7 +893,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += 8) { const int k0 = k00 + k01; - ((mma_A_K8 *) A[n])[k01/8].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q3_K + k0, MMQ_MMA_TILE_X_K_Q3_K); + ((mma_A_K8 *) A[n])[k01/8].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q3_K + k0, MMQ_MMA_TILE_X_K_Q3_K); } #pragma unroll @@ -916,8 +916,9 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( mma_B B[2]; float dB[mma_C::ne/2]; - B[0].load(y_qs + j0*MMQ_TILE_Y_K + (k01 + 0), MMQ_TILE_Y_K); - B[1].load(y_qs + j0*MMQ_TILE_Y_K + (k01 + mma_B::K), MMQ_TILE_Y_K); + // Here load_generic is faster than load_ldmatrix. + B[0].load_generic(y_qs + j0*MMQ_TILE_Y_K + (k01 + 0), MMQ_TILE_Y_K); + B[1].load_generic(y_qs + j0*MMQ_TILE_Y_K + (k01 + mma_B::K), MMQ_TILE_Y_K); #pragma unroll for (int l = 0; l < mma_C::ne/2; ++l) { @@ -929,8 +930,8 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( #pragma unroll for (int n = 0; n < ntx; ++n) { mma_C C[2]; - C[0].mma_K4(A[n][k01/4 + 0], B[0]); - C[1].mma_K4(A[n][k01/4 + 1], B[1]); + C[0].mma(A[n][k01/4 + 0], B[0]); + C[1].mma(A[n][k01/4 + 1], B[1]); #pragma unroll for (int l = 0; l < mma_C::ne; ++l) { @@ -942,20 +943,20 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( #else GGML_UNUSED(x); GGML_UNUSED(y); GGML_UNUSED(sum); NO_DEVICE_CODE; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_q2_K( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*WARP_SIZE); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q2_K, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % QI2_K; @@ -977,11 +978,11 @@ template static __device__ __forceinlin const int x_qs_k = (x_ql_0 >> (2*l)) & 0x03030303; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q2_K + k] = x_qs_k; #else x_qs[i*(2*WARP_SIZE + 1) + k] = x_qs_k; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int sc_m = bxi->scales[kqsx]; @@ -992,11 +993,11 @@ template static __device__ __forceinlin const half2 x_dm_ik = make_half2(bxi_dmf.x*(sc_m & 0x0F), bxi_dmf.y*(sc_m >> 4)); #endif // FAST_FP16_AVAILABLE -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_dm[i*MMQ_MMA_TILE_X_K_Q2_K + kqsx] = x_dm_ik; #else x_dm[i*(WARP_SIZE + 1) + kqsx] = x_dm_ik; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -1051,12 +1052,12 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_dp4a( template static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int & k00) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE - typedef mma_int_A_I16K4 mma_A; - typedef mma_int_A_I16K8 mma_A_K8; - typedef mma_int_B_J8K4 mma_B; - typedef mma_int_C_I16J8 mma_C; + typedef mma_A_I16K4 mma_A; + typedef mma_A_I16K8 mma_A_K8; + typedef mma_B_J8K4 mma_B; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; @@ -1081,7 +1082,7 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += QI8_1) { const int k0 = k00 + k01; - ((mma_A_K8 *) A[n])[k01/QI8_1].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q2_K + k0, MMQ_MMA_TILE_X_K_Q2_K); + ((mma_A_K8 *) A[n])[k01/QI8_1].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q2_K + k0, MMQ_MMA_TILE_X_K_Q2_K); } } @@ -1118,24 +1119,25 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += QI8_1) { mma_B B[2]; - B[0].load(y_qs + j0*MMQ_TILE_Y_K + (k01 + 0), MMQ_TILE_Y_K); - B[1].load(y_qs + j0*MMQ_TILE_Y_K + (k01 + mma_B::K), MMQ_TILE_Y_K); + // Here load_generic is faster than load_ldmatrix. + B[0].load_generic(y_qs + j0*MMQ_TILE_Y_K + (k01 + 0), MMQ_TILE_Y_K); + B[1].load_generic(y_qs + j0*MMQ_TILE_Y_K + (k01 + mma_B::K), MMQ_TILE_Y_K); mma_C Cm[2]; if (k01 >= WARP_SIZE * 3/4) { mma_A A1; A1.x[0] = 0x01010101; A1.x[1] = 0x01010101; - Cm[0].mma_K4(A1, B[0]); - Cm[1].mma_K4(A1, B[1]); + Cm[0].mma(A1, B[0]); + Cm[1].mma(A1, B[1]); } #pragma unroll for (int n = 0; n < ntx; ++n) { mma_C Cd[2]; - Cd[0].mma_K4(A[n][k01/4 + 0], B[0]); - Cd[1].mma_K4(A[n][k01/4 + 1], B[1]); + Cd[0].mma(A[n][k01/4 + 0], B[0]); + Cd[1].mma(A[n][k01/4 + 1], B[1]); #pragma unroll for (int l = 0; l < mma_C::ne; ++l) { @@ -1172,13 +1174,13 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( #else GGML_UNUSED(x); GGML_UNUSED(y); GGML_UNUSED(sum); NO_DEVICE_CODE; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_q3_K( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else @@ -1186,7 +1188,7 @@ template static __device__ __forceinlin int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); int * x_sc = (int *) (x_df + txs.dm); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % QI3_K; @@ -1212,11 +1214,11 @@ template static __device__ __forceinlin const int x_qs_k = __vsubss4(x_ql_k | x_qh_k, 0x04040404); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + k] = x_qs_k; #else x_qs[i*(2*WARP_SIZE + 1) + k] = x_qs_k; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -1242,7 +1244,7 @@ template static __device__ __forceinlin const int sc = __vsubss4(sc_low | sc_high, 0x20202020); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE const int8_t * sc8 = (const int8_t *) ≻ const float d = bxi->d; @@ -1252,10 +1254,10 @@ template static __device__ __forceinlin } #else x_sc[i*(WARP_SIZE/8) + i/8 + threadIdx.x % (WARP_SIZE/8)] = sc; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } -#ifndef INT8_MMA_AVAILABLE +#ifndef NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*WARP_SIZE) { int i = (i0 + threadIdx.y*WARP_SIZE + threadIdx.x) % mmq_y; @@ -1268,7 +1270,7 @@ template static __device__ __forceinlin x_df[i] = bxi->d; } -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template @@ -1317,7 +1319,7 @@ static __device__ __forceinline__ int unpack_scales_q45_K(const int * scales, co template static __device__ __forceinline__ void load_tiles_q4_K( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*WARP_SIZE); #else @@ -1325,7 +1327,7 @@ template static __device__ __forceinlin int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); int * x_sc = (int *) (x_dm + txs.dm); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps) { @@ -1338,15 +1340,15 @@ template static __device__ __forceinlin const block_q4_K * bxi = (const block_q4_K *) x + kbx0 + i*stride; const int qs0 = get_int_b4(bxi->qs, threadIdx.x); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 16*(threadIdx.x/8) + threadIdx.x % 8 + 0] = (qs0 >> 0) & 0x0F0F0F0F; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 16*(threadIdx.x/8) + threadIdx.x % 8 + 8] = (qs0 >> 4) & 0x0F0F0F0F; #else x_qs[i*(WARP_SIZE + 1) + threadIdx.x] = qs0; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*16) { @@ -1407,7 +1409,7 @@ template static __device__ __forceinlin x_sc[i*(WARP_SIZE/8) + i/8 + ksc] = scales8; } -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template @@ -1446,7 +1448,7 @@ static __device__ __forceinline__ void vec_dot_q4_K_q8_1_dp4a( template static __device__ __forceinline__ void load_tiles_q5_K( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + WARP_SIZE*2); #else @@ -1454,7 +1456,7 @@ template static __device__ __forceinlin int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); int * x_sc = (int *) (x_dm + txs.dm); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps) { @@ -1478,16 +1480,16 @@ template static __device__ __forceinlin const int kq0 = ky - ky % (QI5_K/2) + threadIdx.x % (QI5_K/4) + 0; const int kq1 = ky - ky % (QI5_K/2) + threadIdx.x % (QI5_K/4) + QI5_K/4; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kq0] = ql0 | qh0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kq1] = ql1 | qh1; #else x_qs[i*(2*WARP_SIZE + 1) + kq0] = ql0 | qh0; x_qs[i*(2*WARP_SIZE + 1) + kq1] = ql1 | qh1; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*16) { @@ -1548,7 +1550,7 @@ template static __device__ __forceinlin x_sc[i*(WARP_SIZE/8) + i/8 + ksc] = scales8; } -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template @@ -1587,7 +1589,7 @@ static __device__ __forceinline__ void vec_dot_q5_K_q8_1_dp4a( template static __device__ __forceinline__ void load_tiles_q6_K( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); int * x_sc = (int *) (x_df + WARP_SIZE/QI6_K); @@ -1596,7 +1598,7 @@ template static __device__ __forceinlin int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); int * x_sc = (int *) (x_df + txs.dm); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps) { @@ -1619,13 +1621,13 @@ template static __device__ __forceinlin const int kq0 = 2*threadIdx.x - threadIdx.x % (QI6_K/2) + 0; const int kq1 = 2*threadIdx.x - threadIdx.x % (QI6_K/2) + QI6_K/2; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q6_K + kq0] = __vsubss4(ql0 | qh0, 0x20202020); x_qs[i*MMQ_MMA_TILE_X_K_Q6_K + kq1] = __vsubss4(ql1 | qh1, 0x20202020); #else x_qs[i*(2*WARP_SIZE + 1) + kq0] = __vsubss4(ql0 | qh0, 0x20202020); x_qs[i*(2*WARP_SIZE + 1) + kq1] = __vsubss4(ql1 | qh1, 0x20202020); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI6_K; // == 1 if QK_K == 256 @@ -1641,11 +1643,11 @@ template static __device__ __forceinlin const block_q6_K * bxi = (const block_q6_K *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q6_K + kbxd] = bxi->d; #else x_df[i*(WARP_SIZE/QI6_K) + i/QI6_K + kbxd] = bxi->d; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } #pragma unroll @@ -1658,11 +1660,11 @@ template static __device__ __forceinlin const block_q6_K * bxi = (const block_q6_K *) x + kbx0 + i*stride + (threadIdx.x % (WARP_SIZE/8)) / 4; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_sc[i*MMQ_MMA_TILE_X_K_Q6_K + threadIdx.x % (WARP_SIZE/8)] = get_int_b2(bxi->scales, threadIdx.x % (QI6_K/8)); #else x_sc[i*(WARP_SIZE/8) + i/8 + threadIdx.x % (WARP_SIZE/8)] = get_int_b2(bxi->scales, threadIdx.x % (QI6_K/8)); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -1702,11 +1704,11 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_dp4a( template static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int & k00) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE - typedef mma_int_A_I16K4 mma_A; - typedef mma_int_B_J8K4 mma_B; - typedef mma_int_C_I16J8 mma_C; + typedef mma_A_I16K4 mma_A; + typedef mma_B_J8K4 mma_B; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; @@ -1732,8 +1734,8 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( for (int k01 = 0; k01 < WARP_SIZE; k01 += 8) { const int k0 = k00 + k01; - A[n][k01/4 + 0].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q6_K + (k0 + 0), MMQ_MMA_TILE_X_K_Q6_K); - A[n][k01/4 + 1].load(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q6_K + (k0 + mma_A::K), MMQ_MMA_TILE_X_K_Q6_K); + A[n][k01/4 + 0].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q6_K + (k0 + 0), MMQ_MMA_TILE_X_K_Q6_K); + A[n][k01/4 + 1].load_ldmatrix(x_qs + (i0 + n*mma_A::I)*MMQ_MMA_TILE_X_K_Q6_K + (k0 + mma_A::K), MMQ_MMA_TILE_X_K_Q6_K); } #pragma unroll @@ -1771,8 +1773,9 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( mma_B B[2]; float dB[mma_C::ne/2]; - B[0].load(y_qs + j0*MMQ_TILE_Y_K + 0 + k01, MMQ_TILE_Y_K); - B[1].load(y_qs + j0*MMQ_TILE_Y_K + mma_B::K + k01, MMQ_TILE_Y_K); + // Here load_generic is faster than load_ldmatrix. + B[0].load_generic(y_qs + j0*MMQ_TILE_Y_K + 0 + k01, MMQ_TILE_Y_K); + B[1].load_generic(y_qs + j0*MMQ_TILE_Y_K + mma_B::K + k01, MMQ_TILE_Y_K); #pragma unroll for (int l = 0; l < mma_C::ne/2; ++l) { @@ -1784,8 +1787,8 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( #pragma unroll for (int n = 0; n < ntx; ++n) { mma_C C[2]; - C[0].mma_K4(A[n][k01/4 + 0], B[0]); - C[1].mma_K4(A[n][k01/4 + 1], B[1]); + C[0].mma(A[n][k01/4 + 0], B[0]); + C[1].mma(A[n][k01/4 + 1], B[1]); #pragma unroll for (int l = 0; l < mma_C::ne; ++l) { @@ -1805,20 +1808,20 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( #else GGML_UNUSED(x); GGML_UNUSED(y); GGML_UNUSED(sum); NO_DEVICE_CODE; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_iq4_nl( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ4_NL, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = threadIdx.x / QI4_NL; const int kqsx = threadIdx.x % QI4_NL; @@ -1836,13 +1839,13 @@ template static __device__ __forceinlin const int aux_q4 = get_int_b2(bxi->qs, kqsx); const int2 v = get_int_from_table_16(aux_q4); const int k0 = 8 * (threadIdx.x / 4) + threadIdx.x % 4; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 0] = v.x; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 4] = v.y; #else x_qs[i*(2*WARP_SIZE + 1) + k0 + 0] = v.x; x_qs[i*(2*WARP_SIZE + 1) + k0 + 4] = v.y; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int blocks_per_tile_x_row = WARP_SIZE / QI4_NL; @@ -1858,25 +1861,25 @@ template static __device__ __forceinlin const block_iq4_nl * bxi = (const block_iq4_nl *) x + kbx0 + i*stride + kbxd; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = __half2float(bxi->d); #else x_df[i*(WARP_SIZE/4) + i/4 + kbxd] = __half2float(bxi->d); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq2_xxs( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ2_XXS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % (QI2_XXS/2); @@ -1905,36 +1908,36 @@ template static __device__ __forceinlin const int signs1 = __vcmpne4(((signs_packed & 0x30) << 3) | ((signs_packed & 0xC0) << 17), 0x00000000); const int grid1 = __vsub4(grid_pos[1] ^ signs1, signs1); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 0)] = grid0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 1)] = grid1; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 0)] = grid0; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 1)] = grid1; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int ls = aux32 >> 28; const float d = bxi->d; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = (ls*d + d/2)/4; #else x_df[i*(WARP_SIZE/4) + i/4 + kqsx] = (ls*d + d/2)/4; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq2_xs( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = MMQ_DP4A_TXS_Q8_0_16; int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % (QI2_XS/2); @@ -1959,38 +1962,38 @@ template static __device__ __forceinlin const int grid_l = __vsub4(grid_pos[0] ^ signs[0], signs[0]); const int grid_h = __vsub4(grid_pos[1] ^ signs[1], signs[1]); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int ls = bxi->scales[kqsx]; const float d = bxi->d; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; #else x_df[i*(2*WARP_SIZE*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*(2*WARP_SIZE*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq2_s( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ2_S, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % (QI2_S/2); @@ -2022,38 +2025,38 @@ template static __device__ __forceinlin const int grid_l = __vsub4(grid_pos[0] ^ signs0, signs0); const int grid_h = __vsub4(grid_pos[1] ^ signs1, signs1); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int ls = bxi->scales[kqsx]; const float d = bxi->d; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; #else x_df[i*(2*WARP_SIZE*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*(2*WARP_SIZE*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq3_xxs( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_XXS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % (QI3_XXS/2); @@ -2080,36 +2083,36 @@ template static __device__ __forceinlin const int grid_l = __vsub4(grid_pos.x ^ signs[0], signs[0]); const int grid_h = __vsub4(grid_pos.y ^ signs[1], signs[1]); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int ls = aux32 >> 28; const float d = bxi->d; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = (ls*d + d/2)/2; #else x_df[i*(WARP_SIZE/4) + i/4 + kqsx] = (ls*d + d/2)/2; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq3_s( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_S, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % (QI3_S/2); @@ -2143,36 +2146,36 @@ template static __device__ __forceinlin const int grid_l = __vsub4(grid_pos.x ^ signs0, signs0); const int grid_h = __vsub4(grid_pos.y ^ signs1, signs1); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l+0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l+1)] = grid_h; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l+0)] = grid_l; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l+1)] = grid_h; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const int ls = 1 + 2*((bxi->scales[kqsx/2] >> (((2*kqsx) << 1) & 0x04)) & 0x0F); const float d = bxi->d; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = ls*d; #else x_df[i*(WARP_SIZE/4) + i/4 + kqsx] = ls*d; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq1_s( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; half2 * x_ds = (half2 *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_S, mmq_y); int * x_qs = (int *) x_tile; half2 * x_ds = (half2 *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kqsx = threadIdx.x % QI1_S; @@ -2198,37 +2201,37 @@ template static __device__ __forceinlin const int grid0 = (grid >> 0) & 0x0F0F0F0F; const int grid1 = (grid >> 4) & 0x0F0F0F0F; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 8*kqsx + (2*l+0)] = grid0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 8*kqsx + (2*l+1)] = grid1; #else x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l+0)] = grid0; x_qs[i*(2*WARP_SIZE + 1) + 8*kqsx + (2*l+1)] = grid1; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } const float d1q = __half2float(bxi->d) * (((qh >> 11) & 0x0E) + 1); const float delta = -1.0f + IQ1S_DELTA - (qh & 0x8000) * (2.0f*IQ1S_DELTA/0x8000); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_ds[i*MMQ_MMA_TILE_X_K_Q8_1 + kqsx] = make_half2(d1q, d1q*delta); #else x_ds[i*(WARP_SIZE/4) + i/4 + kqsx] = make_half2(d1q, d1q*delta); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } template static __device__ __forceinline__ void load_tiles_iq4_xs( const char * __restrict__ x, int * __restrict__ x_tile, const int & kbx0, const int & i_max, const int & stride) { -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + WARP_SIZE*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ4_XS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE const int kbx = 0; // threadIdx.x / QI4_XS const int kqsx = threadIdx.x; // threadIdx.x % QI4_XS @@ -2246,13 +2249,13 @@ template static __device__ __forceinlin const int aux_q4 = get_int_b4(bxi->qs, kqsx); const int2 v = get_int_from_table_16(aux_q4); const int k0 = 8 * (threadIdx.x / 4) + threadIdx.x % 4; -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 0] = v.x; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 4] = v.y; #else x_qs[i*(2*WARP_SIZE + 1) + k0 + 0] = v.x; x_qs[i*(2*WARP_SIZE + 1) + k0 + 4] = v.y; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } #pragma unroll @@ -2270,11 +2273,11 @@ template static __device__ __forceinlin const int ls = ((bxi->scales_l[(threadIdx.x % 8)/2] >> (4*(threadIdx.x % 2))) & 0x0F) | (((bxi->scales_h >> (2*(threadIdx.x % 8))) & 0x03) << 4); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + threadIdx.x % 8] = d * (ls - 32); #else x_df[i*(WARP_SIZE/4) + i/4 + threadIdx.x % 8] = d * (ls - 32); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE } } @@ -2307,16 +2310,16 @@ template static __device__ __forceinline__ void mmq_write_back_mma( const float * __restrict__ sum, float * __restrict__ dst, const int & stride, const int & i_max, const int & j_max) { - typedef mma_int_C_I16J8 mma_C; + typedef mma_C_I16J8 mma_C; constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int rows_per_warp = 2 * granularity; constexpr int ntx = rows_per_warp/mma_C::I; // Number of x minitiles per warp. const int i0 = (threadIdx.y / ntx) * (ntx*mma_C::I); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE static_assert(nwarps*mma_C::I == mmq_y, "nwarps*mma_C::I != mmq_y"); -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE #pragma unroll for (int j0 = 0; j0 < mmq_x; j0 += ntx*mma_C::J) { @@ -2505,13 +2508,13 @@ static __device__ void mul_mat_q_process_tile( int * tile_y = (int *) data_mul_mat_q; int * tile_x = tile_y + GGML_PAD(mmq_x*(WARP_SIZE + WARP_SIZE/QI8_1), nwarps*WARP_SIZE); -#ifdef INT8_MMA_AVAILABLE +#ifdef NEW_MMA_AVAILABLE constexpr vec_dot_mmq_t vec_dot = mmq_type_traits::vec_dot_mma; constexpr mmq_write_back_t write_back = mmq_write_back_mma; #else constexpr vec_dot_mmq_t vec_dot = mmq_type_traits::vec_dot_dp4a; constexpr mmq_write_back_t write_back = mmq_write_back_dp4a; -#endif // INT8_MMA_AVAILABLE +#endif // NEW_MMA_AVAILABLE constexpr int blocks_per_iter = MMQ_ITER_K / qk; @@ -2643,7 +2646,7 @@ static __global__ void mul_mat_q( const int jt = kbc / (blocks_per_ne00*nty); const int it = (kbc - jt*(blocks_per_ne00*nty)) / blocks_per_ne00; - constexpr bool fixup = true; // Last index writes it data to fixup buffer to avoid data races with other blocks. + constexpr bool fixup = true; // Last index writes its data to fixup buffer to avoid data races with other blocks. mul_mat_q_process_tile (x, yc, dst, tmp_fixup, ne00, ne01, stride01, ne10, ne11, stride11, ne0, it, jt, kb0_start, kb0_stop); @@ -2749,7 +2752,7 @@ template static int mmq_get_shmem(const int mmq_x, const int mmq_y, const int cc) { const tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(type, mmq_y); const int mmq_tile_x_k = mmq_get_mma_tile_x_k(type); - const int shmem_x = int8_mma_available(cc) ? mmq_y*mmq_tile_x_k*sizeof(int) : txs.qs*sizeof(int) + txs.dm*sizeof(half2) + txs.sc*sizeof(int); + const int shmem_x = new_mma_available(cc) ? mmq_y*mmq_tile_x_k*sizeof(int) : txs.qs*sizeof(int) + txs.dm*sizeof(half2) + txs.sc*sizeof(int); const int shmem_y = mmq_x*sizeof(block_q8_1_mmq); return shmem_x + GGML_PAD(shmem_y, MMQ_NWARPS*WARP_SIZE*sizeof(int)); } diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb16.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb16.cu new file mode 100644 index 000000000..f09bdeff7 --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb16.cu @@ -0,0 +1,10 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(64, 16); +DECL_FATTN_MMA_F16_CASE(80, 16); +DECL_FATTN_MMA_F16_CASE(96, 16); +DECL_FATTN_MMA_F16_CASE(112, 16); +DECL_FATTN_MMA_F16_CASE(128, 16); +DECL_FATTN_MMA_F16_CASE(256, 16); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb32.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb32.cu new file mode 100644 index 000000000..221108873 --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb32.cu @@ -0,0 +1,10 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(64, 32); +DECL_FATTN_MMA_F16_CASE(80, 32); +DECL_FATTN_MMA_F16_CASE(96, 32); +DECL_FATTN_MMA_F16_CASE(112, 32); +DECL_FATTN_MMA_F16_CASE(128, 32); +DECL_FATTN_MMA_F16_CASE(256, 32); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb64.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb64.cu new file mode 100644 index 000000000..d24b08575 --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb64.cu @@ -0,0 +1,10 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(64, 64); +DECL_FATTN_MMA_F16_CASE(80, 64); +DECL_FATTN_MMA_F16_CASE(96, 64); +DECL_FATTN_MMA_F16_CASE(112, 64); +DECL_FATTN_MMA_F16_CASE(128, 64); +DECL_FATTN_MMA_F16_CASE(256, 64); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb8.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb8.cu new file mode 100644 index 000000000..bdf86c0ea --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-cpb8.cu @@ -0,0 +1,10 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(64, 8); +DECL_FATTN_MMA_F16_CASE(80, 8); +DECL_FATTN_MMA_F16_CASE(96, 8); +DECL_FATTN_MMA_F16_CASE(112, 8); +DECL_FATTN_MMA_F16_CASE(128, 8); +DECL_FATTN_MMA_F16_CASE(256, 8); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb16.cu b/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb16.cu deleted file mode 100644 index 2d94e65c2..000000000 --- a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb16.cu +++ /dev/null @@ -1,10 +0,0 @@ -// This file has been autogenerated by generate_cu_files.py, do not edit manually. - -#include "../fattn-wmma-f16.cuh" - -DECL_FATTN_WMMA_F16_CASE(64, 16, float); -DECL_FATTN_WMMA_F16_CASE(80, 16, float); -DECL_FATTN_WMMA_F16_CASE(96, 16, float); -DECL_FATTN_WMMA_F16_CASE(112, 16, float); -DECL_FATTN_WMMA_F16_CASE(128, 16, float); -DECL_FATTN_WMMA_F16_CASE(256, 16, float); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb32.cu b/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb32.cu deleted file mode 100644 index c3d9df3c4..000000000 --- a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb32.cu +++ /dev/null @@ -1,9 +0,0 @@ -// This file has been autogenerated by generate_cu_files.py, do not edit manually. - -#include "../fattn-wmma-f16.cuh" - -DECL_FATTN_WMMA_F16_CASE(64, 32, float); -DECL_FATTN_WMMA_F16_CASE(80, 32, float); -DECL_FATTN_WMMA_F16_CASE(96, 32, float); -DECL_FATTN_WMMA_F16_CASE(112, 32, float); -DECL_FATTN_WMMA_F16_CASE(128, 32, float); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb16.cu b/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb16.cu deleted file mode 100644 index bb680e401..000000000 --- a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb16.cu +++ /dev/null @@ -1,10 +0,0 @@ -// This file has been autogenerated by generate_cu_files.py, do not edit manually. - -#include "../fattn-wmma-f16.cuh" - -DECL_FATTN_WMMA_F16_CASE(64, 16, half); -DECL_FATTN_WMMA_F16_CASE(80, 16, half); -DECL_FATTN_WMMA_F16_CASE(96, 16, half); -DECL_FATTN_WMMA_F16_CASE(112, 16, half); -DECL_FATTN_WMMA_F16_CASE(128, 16, half); -DECL_FATTN_WMMA_F16_CASE(256, 16, half); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb32.cu b/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb32.cu deleted file mode 100644 index 073f71b1f..000000000 --- a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb32.cu +++ /dev/null @@ -1,10 +0,0 @@ -// This file has been autogenerated by generate_cu_files.py, do not edit manually. - -#include "../fattn-wmma-f16.cuh" - -DECL_FATTN_WMMA_F16_CASE(64, 32, half); -DECL_FATTN_WMMA_F16_CASE(80, 32, half); -DECL_FATTN_WMMA_F16_CASE(96, 32, half); -DECL_FATTN_WMMA_F16_CASE(112, 32, half); -DECL_FATTN_WMMA_F16_CASE(128, 32, half); -DECL_FATTN_WMMA_F16_CASE(256, 32, half); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb8.cu b/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb8.cu deleted file mode 100644 index d30710c5f..000000000 --- a/ggml/src/ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb8.cu +++ /dev/null @@ -1,8 +0,0 @@ -// This file has been autogenerated by generate_cu_files.py, do not edit manually. - -#include "../fattn-wmma-f16.cuh" - -DECL_FATTN_WMMA_F16_CASE(64, 8, half); -DECL_FATTN_WMMA_F16_CASE(96, 8, half); -DECL_FATTN_WMMA_F16_CASE(128, 8, half); -DECL_FATTN_WMMA_F16_CASE(256, 8, half); diff --git a/ggml/src/ggml-cuda/template-instances/generate_cu_files.py b/ggml/src/ggml-cuda/template-instances/generate_cu_files.py index d7874e6ea..a2628f16e 100755 --- a/ggml/src/ggml-cuda/template-instances/generate_cu_files.py +++ b/ggml/src/ggml-cuda/template-instances/generate_cu_files.py @@ -12,13 +12,13 @@ SOURCE_FATTN_VEC = """// This file has been autogenerated by generate_cu_files.p DECL_FATTN_VEC_F{vkq_size}_CASE({head_size}, {type_k}, {type_v}); """ -SOURCE_FATTN_WMMA_START = """// This file has been autogenerated by generate_cu_files.py, do not edit manually. +SOURCE_FATTN_MMA_START = """// This file has been autogenerated by generate_cu_files.py, do not edit manually. -#include "../fattn-wmma-f16.cuh" +#include "../fattn-mma-f16.cuh" """ -SOURCE_FATTN_WMMA_CASE = "DECL_FATTN_WMMA_F16_CASE({head_size}, {cols_per_block}, {kq_acc_t});\n" +SOURCE_FATTN_MMA_CASE = "DECL_FATTN_MMA_F16_CASE({head_size}, {cols_per_block});\n" TYPES_MMQ = [ "GGML_TYPE_Q4_0", "GGML_TYPE_Q4_1", "GGML_TYPE_Q5_0", "GGML_TYPE_Q5_1", "GGML_TYPE_Q8_0", @@ -57,20 +57,12 @@ for vkq_size in [16, 32]: with open(f"fattn-vec-f{vkq_size}-instance-hs{head_size}-{get_short_name(type_k)}-{get_short_name(type_v)}.cu", "w") as f: f.write(SOURCE_FATTN_VEC.format(vkq_size=vkq_size, head_size=head_size, type_k=type_k, type_v=type_v)) -for kq_acc_t in ["half", "float"]: - for cols_per_block in [8, 16, 32]: - if kq_acc_t == "float" and cols_per_block == 8: - continue +for cols_per_block in [8, 16, 32, 64]: + with open(f"fattn-mma-f16-instance-cpb{cols_per_block}.cu", "w") as f: + f.write(SOURCE_FATTN_MMA_START) - with open(f"fattn-wmma-f16-instance-kq{kq_acc_t}-cpb{cols_per_block}.cu", "w") as f: - f.write(SOURCE_FATTN_WMMA_START) - - for head_size in [64, 80, 96, 112, 128, 256]: - if cols_per_block == 8 and head_size % 32 != 0: # wmma fragment is 8x32 - continue - if kq_acc_t == "float" and cols_per_block == 32 and head_size == 256: # register spilling, bad performance - continue - f.write(SOURCE_FATTN_WMMA_CASE.format(kq_acc_t=kq_acc_t, cols_per_block=cols_per_block, head_size=head_size)) + for head_size in [64, 80, 96, 112, 128, 256]: + f.write(SOURCE_FATTN_MMA_CASE.format(cols_per_block=cols_per_block, head_size=head_size)) for type in TYPES_MMQ: with open(f"mmq-instance-{get_short_name(type)}.cu", "w") as f: diff --git a/ggml/src/ggml-cuda/vendors/hip.h b/ggml/src/ggml-cuda/vendors/hip.h index 8594093f0..129478ed7 100644 --- a/ggml/src/ggml-cuda/vendors/hip.h +++ b/ggml/src/ggml-cuda/vendors/hip.h @@ -25,6 +25,7 @@ #define CU_MEM_LOCATION_TYPE_DEVICE hipMemLocationTypeDevice #define CU_MEM_ACCESS_FLAGS_PROT_READWRITE hipMemAccessFlagsProtReadWrite #define CU_CHECK(fn) {hipError_t err = fn; if(err != hipSuccess) { GGML_ABORT("HipVMM Failure: %s\n", hipGetErrorString(err)); }} +#define __shfl_sync(mask, var, laneMask, width) __shfl(var, laneMask, width) #define __shfl_xor_sync(mask, var, laneMask, width) __shfl_xor(var, laneMask, width) #define cublasComputeType_t hipblasDatatype_t //deprecated, new hipblasComputeType_t not in 5.6 #define cublasCreate hipblasCreate diff --git a/ggml/src/ggml-hip/CMakeLists.txt b/ggml/src/ggml-hip/CMakeLists.txt index 7a877bdc1..eb03e10fa 100644 --- a/ggml/src/ggml-hip/CMakeLists.txt +++ b/ggml/src/ggml-hip/CMakeLists.txt @@ -50,7 +50,7 @@ file(GLOB GGML_HEADERS_ROCM "../ggml-cuda/*.cuh") list(APPEND GGML_HEADERS_ROCM "../../include/ggml-cuda.h") file(GLOB GGML_SOURCES_ROCM "../ggml-cuda/*.cu") -file(GLOB SRCS "../ggml-cuda/template-instances/fattn-wmma*.cu") +file(GLOB SRCS "../ggml-cuda/template-instances/fattn-mma*.cu") list(APPEND GGML_SOURCES_ROCM ${SRCS}) file(GLOB SRCS "../ggml-cuda/template-instances/mmq*.cu") list(APPEND GGML_SOURCES_ROCM ${SRCS}) diff --git a/ggml/src/ggml-musa/CMakeLists.txt b/ggml/src/ggml-musa/CMakeLists.txt index 415b2b2e0..2f555416e 100644 --- a/ggml/src/ggml-musa/CMakeLists.txt +++ b/ggml/src/ggml-musa/CMakeLists.txt @@ -29,7 +29,7 @@ if (MUSAToolkit_FOUND) list(APPEND GGML_HEADERS_MUSA "../../include/ggml-cuda.h") file(GLOB GGML_SOURCES_MUSA "../ggml-cuda/*.cu") - file(GLOB SRCS "../ggml-cuda/template-instances/fattn-wmma*.cu") + file(GLOB SRCS "../ggml-cuda/template-instances/fattn-mma*.cu") list(APPEND GGML_SOURCES_MUSA ${SRCS}) file(GLOB SRCS "../ggml-cuda/template-instances/mmq*.cu") list(APPEND GGML_SOURCES_MUSA ${SRCS}) From 90f9b88afb6447d3929843a2aa98c0f11074762d Mon Sep 17 00:00:00 2001 From: Olivier Chafik Date: Sun, 2 Feb 2025 19:58:34 +0000 Subject: [PATCH 18/77] nit: more informative crash when grammar sampler fails (#11593) --- src/llama-grammar.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/llama-grammar.cpp b/src/llama-grammar.cpp index 6be5cbe0e..9b518d1ac 100644 --- a/src/llama-grammar.cpp +++ b/src/llama-grammar.cpp @@ -1213,5 +1213,7 @@ void llama_grammar_accept_str(struct llama_grammar & grammar, const std::string } grammar.partial_utf8 = decoded.second; - GGML_ASSERT(!grammar.stacks.empty()); + if (grammar.stacks.empty()) { + throw std::runtime_error("Unexpected empty grammar stack after accepting piece: " + piece); + } } From 4d0598e1445a64c99cf2faac72f8d5d023f1e6a1 Mon Sep 17 00:00:00 2001 From: uvos Date: Sun, 2 Feb 2025 22:08:05 +0100 Subject: [PATCH 19/77] HIP: add GGML_CUDA_CC_IS_* for amd familys as increasing cc archtectures for amd gpus are not supersets of eatch other (#11601) This fixes a bug where RDNA1 gpus other than gfx1010 where not handled correctly --- ggml/src/ggml-cuda/common.cuh | 7 +++++++ ggml/src/ggml-cuda/ggml-cuda.cu | 4 ++-- ggml/src/ggml-cuda/mmq.cu | 2 +- ggml/src/ggml-cuda/mmq.cuh | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 88be8fc8a..232163c1c 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -61,6 +61,13 @@ #define GGML_CUDA_CC_RDNA2 (GGML_CUDA_CC_OFFSET_AMD + 0x1030) // RX 6000, minimum for dp4a #define GGML_CUDA_CC_RDNA3 (GGML_CUDA_CC_OFFSET_AMD + 0x1100) // RX 7000, minimum for WMMA +#define GGML_CUDA_CC_IS_RDNA(cc) (cc >= GGML_CUDA_CC_RDNA1) +#define GGML_CUDA_CC_IS_RDNA1(cc) (cc >= GGML_CUDA_CC_RDNA1 && cc < GGML_CUDA_CC_RDNA2) +#define GGML_CUDA_CC_IS_RDNA2(cc) (cc >= GGML_CUDA_CC_RDNA2 && cc < GGML_CUDA_CC_RDNA3) +#define GGML_CUDA_CC_IS_RDNA3(cc) (cc >= GGML_CUDA_CC_RDNA3) +#define GGML_CUDA_CC_IS_GCN(cc) (cc > GGML_CUDA_CC_OFFSET_AMD && cc < GGML_CUDA_CC_CDNA) +#define GGML_CUDA_CC_IS_CDNA(cc) (cc >= GGML_CUDA_CC_CDNA && cc < GGML_CUDA_CC_RDNA1) + #define GGML_CUDA_CC_QY1 210 #define GGML_CUDA_CC_QY2 220 diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 383131c77..bda10aec1 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -1205,7 +1205,7 @@ static void ggml_cuda_op_mul_mat_cublas( CUBLAS_CHECK(cublasSetStream(ctx.cublas_handle(id), stream)); - if (compute_capability == GGML_CUDA_CC_CDNA) { + if (GGML_CUDA_CC_IS_CDNA(compute_capability)) { const float alpha = 1.0f; const float beta = 0.0f; CUBLAS_CHECK( @@ -1750,7 +1750,7 @@ static void ggml_cuda_mul_mat_batched_cublas(ggml_backend_cuda_context & ctx, co beta = &beta_f32; } - if (ggml_cuda_info().devices[ctx.device].cc == GGML_CUDA_CC_CDNA) { + if (GGML_CUDA_CC_IS_CDNA(ggml_cuda_info().devices[ctx.device].cc)) { cu_compute_type = CUBLAS_COMPUTE_32F; alpha = &alpha_f32; beta = &beta_f32; diff --git a/ggml/src/ggml-cuda/mmq.cu b/ggml/src/ggml-cuda/mmq.cu index 83cb78cbd..45212f66c 100644 --- a/ggml/src/ggml-cuda/mmq.cu +++ b/ggml/src/ggml-cuda/mmq.cu @@ -148,5 +148,5 @@ bool ggml_cuda_should_use_mmq(enum ggml_type type, int cc, int64_t ne11) { return cc < GGML_CUDA_CC_VOLTA || ne11 < MMQ_DP4A_MAX_BATCH_SIZE; } - return (cc < GGML_CUDA_CC_RDNA3 && cc != GGML_CUDA_CC_CDNA && cc != GGML_CUDA_CC_VEGA20) || ne11 < MMQ_DP4A_MAX_BATCH_SIZE; + return (!GGML_CUDA_CC_IS_RDNA3(cc) && !GGML_CUDA_CC_IS_CDNA(cc) && !GGML_CUDA_CC_IS_GCN(cc)) || ne11 < MMQ_DP4A_MAX_BATCH_SIZE; } diff --git a/ggml/src/ggml-cuda/mmq.cuh b/ggml/src/ggml-cuda/mmq.cuh index c05c84778..7a2c4d85b 100644 --- a/ggml/src/ggml-cuda/mmq.cuh +++ b/ggml/src/ggml-cuda/mmq.cuh @@ -120,7 +120,7 @@ static constexpr __device__ int get_mmq_x_max_device() { } static constexpr int get_mmq_y_host(const int cc) { - return cc >= GGML_CUDA_CC_OFFSET_AMD ? (cc == GGML_CUDA_CC_RDNA1 ? 64 : 128) : (cc >= GGML_CUDA_CC_VOLTA ? 128 : 64); + return cc >= GGML_CUDA_CC_OFFSET_AMD ? (GGML_CUDA_CC_IS_RDNA1(cc) ? 64 : 128) : (cc >= GGML_CUDA_CC_VOLTA ? 128 : 64); } static constexpr __device__ int get_mmq_y_device() { From 396856b40029dd6747d2fbdb179e828683418045 Mon Sep 17 00:00:00 2001 From: uvos Date: Sun, 2 Feb 2025 22:40:09 +0100 Subject: [PATCH 20/77] CUDA/HIP: add support for selectable warp size to mmv (#11519) CUDA/HIP: add support for selectable warp size to mmv --- ggml/src/ggml-cuda/common.cuh | 8 +++++++ ggml/src/ggml-cuda/mmv.cu | 38 ++++++++++++++++++++------------ ggml/src/ggml-cuda/vendors/hip.h | 2 ++ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 232163c1c..174916bc9 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -176,6 +176,14 @@ static constexpr bool new_mma_available(const int cc) { return cc < GGML_CUDA_CC_OFFSET_AMD && cc >= GGML_CUDA_CC_TURING; } +static constexpr __device__ int ggml_cuda_get_physical_warp_size() { +#if defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__) + return __AMDGCN_WAVEFRONT_SIZE; +#else + return 32; +#endif // defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__) +} + [[noreturn]] static __device__ void no_device_code( const char * file_name, const int line, const char * function_name, const int arch, const char * arch_list) { diff --git a/ggml/src/ggml-cuda/mmv.cu b/ggml/src/ggml-cuda/mmv.cu index ac45f2d17..5a9ddd958 100644 --- a/ggml/src/ggml-cuda/mmv.cu +++ b/ggml/src/ggml-cuda/mmv.cu @@ -5,9 +5,10 @@ template static __global__ void mul_mat_vec( const T * __restrict__ x, const float * __restrict__ y, float * __restrict__ dst, const int64_t ncols2, const int64_t stride_row, const int64_t channel_ratio, const int64_t stride_channel_x, const int64_t stride_channel_y, const int64_t stride_channel_dst) { - const int64_t row = blockIdx.x; - const int64_t channel = blockIdx.z; - const int tid = threadIdx.x; + const int64_t row = blockIdx.x; + const int64_t channel = blockIdx.z; + const int tid = threadIdx.x; + constexpr int warp_size = ggml_cuda_get_physical_warp_size(); x += (channel/channel_ratio)*stride_channel_x + row*stride_row; y += channel *stride_channel_y; @@ -18,8 +19,8 @@ static __global__ void mul_mat_vec( extern __shared__ char data_mmv[]; float * buf_iw = (float *) data_mmv; - if (block_size > WARP_SIZE) { - if (tid < WARP_SIZE) { + if (block_size > warp_size) { + if (tid < warp_size) { buf_iw[tid] = 0.0f; } __syncthreads(); @@ -67,16 +68,16 @@ static __global__ void mul_mat_vec( static_assert(std::is_same::value, "unsupported type"); } - sumf = warp_reduce_sum(sumf); + sumf = warp_reduce_sum(sumf); - if (block_size > WARP_SIZE) { - buf_iw[tid/WARP_SIZE] = sumf; + if (block_size > warp_size) { + buf_iw[tid/warp_size] = sumf; __syncthreads(); - if (tid >= WARP_SIZE) { + if (tid >= warp_size) { return; } sumf = buf_iw[tid]; - sumf = warp_reduce_sum(sumf); + sumf = warp_reduce_sum(sumf); } if (tid != 0) { @@ -96,10 +97,19 @@ static void launch_mul_mat_vec_cuda( GGML_ASSERT(stride_row % 2 == 0); GGML_ASSERT(nchannels_y % nchannels_x == 0); const int64_t channel_ratio = nchannels_y / nchannels_x; + int device; + int warp_size; - int64_t block_size_best = WARP_SIZE; - int64_t niter_best = (ncols + 2*WARP_SIZE - 1) / (2*WARP_SIZE); - for (int64_t block_size = 2*WARP_SIZE; block_size <= 256; block_size += WARP_SIZE) { + CUDA_CHECK(cudaGetDevice(&device)); + warp_size = ggml_cuda_info().devices[device].warp_size; + + int64_t block_size_best = warp_size; + int64_t niter_best = (ncols + 2*warp_size - 1) / (2*warp_size); + int64_t max_block_size = 256; + if(ggml_cuda_info().devices[device].cc > GGML_CUDA_CC_OFFSET_AMD && ggml_cuda_info().devices[device].cc < GGML_CUDA_CC_RDNA1) { + max_block_size = 128; + } + for (int64_t block_size = 2*warp_size; block_size <= max_block_size; block_size += warp_size) { const int64_t niter = (ncols + 2*block_size - 1) / (2*block_size); if (niter < niter_best) { niter_best = niter; @@ -107,7 +117,7 @@ static void launch_mul_mat_vec_cuda( } } - const int smem = WARP_SIZE*sizeof(float); + const int smem = warp_size*sizeof(float); const dim3 block_nums(nrows, 1, nchannels_y); const dim3 block_dims(block_size_best, 1, 1); switch (block_size_best) { diff --git a/ggml/src/ggml-cuda/vendors/hip.h b/ggml/src/ggml-cuda/vendors/hip.h index 129478ed7..81964611c 100644 --- a/ggml/src/ggml-cuda/vendors/hip.h +++ b/ggml/src/ggml-cuda/vendors/hip.h @@ -1,5 +1,6 @@ #pragma once +#define HIP_ENABLE_WARP_SYNC_BUILTINS 1 #include #include #include @@ -8,6 +9,7 @@ // for rocblas_initialize() #include "rocblas/rocblas.h" #endif // __HIP_PLATFORM_AMD__ + #define CUBLAS_COMPUTE_16F HIPBLAS_R_16F #define CUBLAS_COMPUTE_32F HIPBLAS_R_32F #define CUBLAS_COMPUTE_32F_FAST_16F HIPBLAS_R_32F From 6eecde3cc8fda44da7794042e3668de4af3c32c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 2 Feb 2025 23:48:29 +0100 Subject: [PATCH 21/77] HIP: fix flash_attn_stream_k_fixup warning (#11604) --- ggml/src/ggml-cuda/fattn-common.cuh | 10 ++++++++++ ggml/src/ggml-cuda/softmax.cu | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index cfd7c0f44..d40ee2da4 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -516,6 +516,12 @@ constexpr __device__ dequantize_1_f32_t get_dequantize_1_f32(ggml_type type_V) { nullptr; } +// The HIP compiler for some reason complains that it can't unroll a loop because of the jt*ncols + j >= ne01 conditional. +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpass-failed" +#endif // __clang__ + template // D == head size #if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) __launch_bounds__(D, 1) @@ -614,6 +620,10 @@ static __global__ void flash_attn_stream_k_fixup( } } +#ifdef __clang__ +#pragma clang diagnostic pop +#endif // __clang__ + template // D == head size #if !(defined(GGML_USE_HIP) && defined(__HIP_PLATFORM_AMD__)) __launch_bounds__(D, 1) diff --git a/ggml/src/ggml-cuda/softmax.cu b/ggml/src/ggml-cuda/softmax.cu index da377200e..aac6e0999 100644 --- a/ggml/src/ggml-cuda/softmax.cu +++ b/ggml/src/ggml-cuda/softmax.cu @@ -18,7 +18,7 @@ __device__ float __forceinline__ t2f32(half val) { #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wpass-failed" -#endif +#endif // __clang__ template static __global__ void soft_max_f32( const float * x, const T * mask, float * dst, const int ncols_par, const int nrows_y, @@ -126,7 +126,7 @@ static __global__ void soft_max_f32( } #ifdef __clang__ #pragma clang diagnostic pop -#endif +#endif // __clang__ static __global__ void soft_max_back_f32( const float * grad, const float * dstf, float * dst, const int ncols, const float scale) { From d92cb67e37abc23b1c6f7b0ef27a9889da8537e3 Mon Sep 17 00:00:00 2001 From: mashdragon <122402293+mashdragon@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:42:55 +0000 Subject: [PATCH 22/77] server : (webui) Fix Shift+Enter handling (#11609) * Fix Shift+Enter handling `exact` on the Enter handler means the message is not sent when Shift+Enter is pressed anyway * build index.html.gz --------- Co-authored-by: Xuan Son Nguyen --- examples/server/public/index.html.gz | Bin 1207150 -> 1207129 bytes examples/server/webui/index.html | 1 - 2 files changed, 1 deletion(-) diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index 582ccc0d3f8d07ce79dd9e978772f9c5ea85c426..3a2529aa2fb84485aa480d3d476e5ef27eab8e27 100644 GIT binary patch delta 8942 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 IBq|0Y08m?OdH?_b delta 8964 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 diff --git a/examples/server/webui/index.html b/examples/server/webui/index.html index d3893ea4e..882570c81 100644 --- a/examples/server/webui/index.html +++ b/examples/server/webui/index.html @@ -154,7 +154,6 @@ placeholder="Type a message (Shift+Enter to add a new line)" v-model="inputMsg" @keydown.enter.exact.prevent="sendMessage" - @keydown.enter.shift.exact.prevent="inputMsg += '\n'" :disabled="isGenerating" id="msg-input" dir="auto" From 21c84b5d2dc04050714567501bf78762bfa17846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 3 Feb 2025 13:25:56 +0100 Subject: [PATCH 23/77] CUDA: fix Volta FlashAttention logic (#11615) --- ggml/src/ggml-cuda/fattn-wmma-f16.cu | 2 +- ggml/src/ggml-cuda/fattn.cu | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cu b/ggml/src/ggml-cuda/fattn-wmma-f16.cu index 1054ff95d..45702ad65 100644 --- a/ggml/src/ggml-cuda/fattn-wmma-f16.cu +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cu @@ -561,7 +561,7 @@ void ggml_cuda_flash_attn_ext_wmma_f16(ggml_backend_cuda_context & ctx, ggml_ten ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); break; // case 256: - // ggml_cuda_flash_attn_ext_wmma_f16_case<128, cols_per_block, float>(ctx, dst); + // ggml_cuda_flash_attn_ext_wmma_f16_case<256, cols_per_block, float>(ctx, dst); // break; default: GGML_ABORT("fatal error"); diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index b1e66d470..b0cf152f5 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -235,7 +235,7 @@ void ggml_cuda_flash_attn_ext(ggml_backend_cuda_context & ctx, ggml_tensor * dst return; } - if (!new_mma_available(cc)) { + if (!fp16_mma_available(cc)) { if (prec == GGML_PREC_DEFAULT) { if (Q->ne[1] <= 8) { ggml_cuda_flash_attn_ext_vec_f16(ctx, dst); @@ -265,6 +265,7 @@ void ggml_cuda_flash_attn_ext(ggml_backend_cuda_context & ctx, ggml_tensor * dst // The MMA implementation needs Turing or newer, use the old WMMA code for Volta: if (cc == GGML_CUDA_CC_VOLTA) { ggml_cuda_flash_attn_ext_wmma_f16(ctx, dst); + return; } ggml_cuda_flash_attn_ext_mma_f16(ctx, dst); From 8ec05832fa8409c49b3bbd13f957c6ae8486e618 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 3 Feb 2025 14:57:08 +0200 Subject: [PATCH 24/77] sync : ggml --- scripts/sync-ggml.last | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/sync-ggml.last b/scripts/sync-ggml.last index ddb9d817e..34f1cbf69 100644 --- a/scripts/sync-ggml.last +++ b/scripts/sync-ggml.last @@ -1 +1 @@ -32f0b85987396945afea2291d5f4c5862434292b +498e0ecd2c4f9379439fd413805af10e8e9ff349 From 5598f475be3e31430fbe17ebb85654ec90dc201e Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 3 Feb 2025 16:45:38 +0100 Subject: [PATCH 25/77] server : remove CPPHTTPLIB_NO_EXCEPTIONS define (#11622) This commit removes the CPPHTTPLIB_NO_EXCEPTIONS define from the server code. The motivation for this is that when using a debug build the server would crash when an exception was throws and terminate the server process, as it was unhandled. When CPPHTTPLIB_NO_EXCEPTIONS is set cpp_httplib will not call the exception handler, which would normally return a 500 error to the client. This caused tests to fail when using a debug build. Fixes: https://github.com/ggerganov/llama.cpp/issues/11613 --- examples/server/utils.hpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/server/utils.hpp b/examples/server/utils.hpp index fefdce55b..5f97df5fd 100644 --- a/examples/server/utils.hpp +++ b/examples/server/utils.hpp @@ -5,10 +5,6 @@ #include "llama.h" #include "common/base64.hpp" -#ifndef NDEBUG -// crash the server in debug mode, otherwise send an http 500 error -#define CPPHTTPLIB_NO_EXCEPTIONS 1 -#endif // increase max payload length to allow use of larger context size #define CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH 1048576 #include "httplib.h" From 1d1e6a90bcf485ad2dee309c31cf19bd802465e5 Mon Sep 17 00:00:00 2001 From: Woof Dog <197125663+woof-dog@users.noreply.github.com> Date: Mon, 3 Feb 2025 22:16:27 +0000 Subject: [PATCH 26/77] server : (webui) allow typing and submitting during llm response (#11626) --- examples/server/public/index.html.gz | Bin 1207129 -> 1207175 bytes examples/server/webui/index.html | 1 - examples/server/webui/src/main.js | 8 ++++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index 3a2529aa2fb84485aa480d3d476e5ef27eab8e27..df3cb1bef96b805742b458d0abf6c9b16826fae8 100644 GIT binary patch delta 868279 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%0D17m!M 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 z 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

_pZVT>z$>9H6Mvnd? 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

((rM?vjx6-|acui#FGEPVt@$&ORy*HF$l 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

From 902368a06b915b860236cfc97ff885b2aceae256 Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Wed, 5 Feb 2025 19:52:31 -0600 Subject: [PATCH 46/77] metal : avoid breaking build when metal API predates TARGET_OS_VISION (#11690) Avoids breakage in nix flake build introduced by b0569130c5e9c671152c913d82803b7c2f014ff9 --- ggml/src/ggml-metal/ggml-metal.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m index c63dbad20..944d90af3 100644 --- a/ggml/src/ggml-metal/ggml-metal.m +++ b/ggml/src/ggml-metal/ggml-metal.m @@ -19,6 +19,10 @@ // max number of MTLCommandBuffer used to submit a graph for processing #define GGML_METAL_MAX_COMMAND_BUFFERS 8 +#ifndef TARGET_OS_VISION +#define TARGET_OS_VISION 0 +#endif + // create residency sets only on macOS >= 15.0 #if TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 || \ TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000 || \ From 1b598b30581bad59e5af86c94362f9a30f261fac Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 6 Feb 2025 00:02:18 -0600 Subject: [PATCH 47/77] vulkan: use smaller combined allocations to avoid fragmentation (#11551) --- ggml/src/ggml-alloc.c | 14 +------------- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/ggml/src/ggml-alloc.c b/ggml/src/ggml-alloc.c index 9a3bf9f29..7244a9cbb 100644 --- a/ggml/src/ggml-alloc.c +++ b/ggml/src/ggml-alloc.c @@ -989,19 +989,7 @@ ggml_backend_buffer_t ggml_backend_alloc_ctx_tensors_from_buft(struct ggml_conte this_size = GGML_PAD(ggml_backend_buft_get_alloc_size(buft, t), alignment); } - if (this_size > max_size) { - GGML_LOG_ERROR("%s: tensor %s is too large to fit in a %s buffer (tensor size: %zu, max buffer size: %zu)\n", - __func__, t->name, - ggml_backend_buft_name(buft), - this_size, max_size); - for (size_t i = 0; i < n_buffers; i++) { - ggml_backend_buffer_free(buffers[i]); - } - free(buffers); - return NULL; - } - - if ((cur_buf_size + this_size) > max_size) { + if (cur_buf_size > 0 && (cur_buf_size + this_size) > max_size) { // allocate tensors in the current buffer if (!alloc_tensor_range(ctx, first, t, buft, cur_buf_size, &buffers, &n_buffers)) { return NULL; diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 48ac489a6..2e1bcf691 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -156,6 +156,7 @@ struct vk_device_struct { vk::PhysicalDeviceProperties properties; std::string name; uint64_t max_memory_allocation_size; + uint64_t suballocation_block_size; bool fp16; bool pipeline_robustness; vk::Device device; @@ -2269,6 +2270,7 @@ static vk_device ggml_vk_get_device(size_t idx) { device->physical_device.getProperties2(&props2); device->properties = props2.properties; + device->vendor_id = device->properties.vendorID; const char* GGML_VK_FORCE_MAX_ALLOCATION_SIZE = getenv("GGML_VK_FORCE_MAX_ALLOCATION_SIZE"); @@ -2280,7 +2282,20 @@ static vk_device ggml_vk_get_device(size_t idx) { device->max_memory_allocation_size = props3.maxMemoryAllocationSize; } - device->vendor_id = device->properties.vendorID; + const char* GGML_VK_SUBALLOCATION_BLOCK_SIZE = getenv("GGML_VK_SUBALLOCATION_BLOCK_SIZE"); + + if (GGML_VK_SUBALLOCATION_BLOCK_SIZE != nullptr) { + device->suballocation_block_size = std::stoul(GGML_VK_SUBALLOCATION_BLOCK_SIZE); +#if defined(_WIN32) + } else if (device->vendor_id == VK_VENDOR_ID_NVIDIA) { + // Limit batching of allocations to 1GB by default to avoid fragmentation issues + device->suballocation_block_size = 1024*1024*1024; +#endif + } else { + device->suballocation_block_size = device->max_memory_allocation_size; + } + device->suballocation_block_size = std::min(device->suballocation_block_size, device->max_memory_allocation_size); + device->subgroup_size = subgroup_props.subgroupSize; device->uma = device->properties.deviceType == vk::PhysicalDeviceType::eIntegratedGpu; if (sm_builtins) { @@ -7561,7 +7576,7 @@ static size_t ggml_backend_vk_buffer_type_get_alignment(ggml_backend_buffer_type static size_t ggml_backend_vk_buffer_type_get_max_size(ggml_backend_buffer_type_t buft) { ggml_backend_vk_buffer_type_context * ctx = (ggml_backend_vk_buffer_type_context *) buft->context; - return ctx->device->max_memory_allocation_size; + return ctx->device->suballocation_block_size; } static size_t ggml_backend_vk_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { From 8a7e3bf17aa5a8412854787746c92a28623a8925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20O?= Date: Thu, 6 Feb 2025 07:09:59 +0100 Subject: [PATCH 48/77] vulkan: initial support for IQ4_XS quantization (#11501) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 25 ++++++++++++ .../vulkan-shaders/copy_from_quant.comp | 2 +- .../vulkan-shaders/copy_to_quant.comp | 2 +- .../vulkan-shaders/dequant_funcs.comp | 38 ++++++++++++++++++- .../vulkan-shaders/dequant_funcs_cm2.comp | 23 +++++++++++ .../vulkan-shaders/dequant_iq4_xs.comp | 34 +++++++++++++++++ .../vulkan-shaders/flash_attn_cm2.comp | 2 +- .../vulkan-shaders/get_rows_quant.comp | 2 +- .../vulkan-shaders/mul_mat_vec.comp | 2 +- .../ggml-vulkan/vulkan-shaders/mul_mm.comp | 21 +++++++++- .../vulkan-shaders/mul_mm_cm2.comp | 2 +- .../src/ggml-vulkan/vulkan-shaders/types.comp | 28 +++++++++++--- .../vulkan-shaders/vulkan-shaders-gen.cpp | 1 + 13 files changed, 169 insertions(+), 13 deletions(-) create mode 100644 ggml/src/ggml-vulkan/vulkan-shaders/dequant_iq4_xs.comp diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 2e1bcf691..1c99ebe2e 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -1622,6 +1622,7 @@ static void ggml_vk_load_shaders(vk_device& device) { //CREATE_FA(GGML_TYPE_IQ2_S, iq2_s) //CREATE_FA(GGML_TYPE_IQ3_XXS, iq3_xxs) //CREATE_FA(GGML_TYPE_IQ3_S, iq3_s) + //CREATE_FA(GGML_TYPE_IQ4_XS, iq4_xs) CREATE_FA(GGML_TYPE_IQ4_NL, iq4_nl) #undef CREATE_FA @@ -1655,6 +1656,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_f16[GGML_TYPE_IQ2_S].f16acc, matmul_iq2_s_f16, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3) CREATE_MM(pipeline_dequant_mul_mat_mat_f16[GGML_TYPE_IQ3_XXS].f16acc, matmul_iq3_xxs_f16, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3) CREATE_MM(pipeline_dequant_mul_mat_mat_f16[GGML_TYPE_IQ3_S].f16acc, matmul_iq3_s_f16, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3) + CREATE_MM(pipeline_dequant_mul_mat_mat_f16[GGML_TYPE_IQ4_XS].f16acc, matmul_iq4_xs_f16, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3) CREATE_MM(pipeline_dequant_mul_mat_mat_f16[GGML_TYPE_IQ4_NL].f16acc, matmul_iq4_nl_f16, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3) CREATE_MM2(pipeline_matmul_id_f16, matmul_id_f16, wg_denoms, warptile, vk_mat_mat_id_push_constants, 4) @@ -1673,6 +1675,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ2_S].f16acc, matmul_id_iq2_s_f16, , mmqid_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, 4) CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_XXS].f16acc, matmul_id_iq3_xxs_f16, , mmqid_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, 4) CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_S].f16acc, matmul_id_iq3_s_f16, , mmqid_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, 4) + CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_XS].f16acc, matmul_id_iq4_xs_f16, , mmqid_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, 4) CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f16acc, matmul_id_iq4_nl_f16, , mmqid_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, 4) #undef CREATE_MM #undef CREATE_MM2 @@ -1726,6 +1729,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ2_S].f16acc, matmul_iq2_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_XXS].f16acc, matmul_iq3_xxs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_S].f16acc, matmul_iq3_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); + CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_XS].f16acc, matmul_iq4_xs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_NL].f16acc, matmul_iq4_nl_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); } else { CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_Q4_0].f16acc, matmul_q4_0_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); @@ -1744,6 +1748,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ2_S].f16acc, matmul_iq2_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_XXS].f16acc, matmul_iq3_xxs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_S].f16acc, matmul_iq3_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); + CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_XS].f16acc, matmul_iq4_xs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_NL].f16acc, matmul_iq4_nl_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); } @@ -1770,6 +1775,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ2_S].f16acc, matmul_id_iq2_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_XXS].f16acc, matmul_id_iq3_xxs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_S].f16acc, matmul_id_iq3_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); + CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_XS].f16acc, matmul_id_iq4_xs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f16acc, matmul_id_iq4_nl_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); } else { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_Q4_0].f16acc, matmul_id_q4_0_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); @@ -1788,6 +1794,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ2_S].f16acc, matmul_id_iq2_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_XXS].f16acc, matmul_id_iq3_xxs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_S].f16acc, matmul_id_iq3_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); + CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_XS].f16acc, matmul_id_iq4_xs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f16acc, matmul_id_iq4_nl_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); } } @@ -1837,6 +1844,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ2_S].f16acc, matmul_iq2_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_XXS].f16acc, matmul_iq3_xxs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_S].f16acc, matmul_iq3_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); + CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_XS].f16acc, matmul_iq4_xs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_NL].f16acc, matmul_iq4_nl_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); // If there's not enough shared memory for row_ids and the result tile, don't create these pipelines. @@ -1861,6 +1869,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ2_S].f16acc, matmul_id_iq2_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_XXS].f16acc, matmul_id_iq3_xxs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_S].f16acc, matmul_id_iq3_s_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); + CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_XS].f16acc, matmul_id_iq4_xs_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f16acc, matmul_id_iq4_nl_f32, _f16acc, mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); } #undef CREATE_MM2 @@ -1902,6 +1911,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ2_S].f32acc, matmul_iq2_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_XXS].f32acc, matmul_iq3_xxs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ3_S].f32acc, matmul_iq3_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); + CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_XS].f32acc, matmul_iq4_xs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); CREATE_MM(pipeline_dequant_mul_mat_mat[GGML_TYPE_IQ4_NL].f32acc, matmul_iq4_nl_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_push_constants, 3, ); // If there's not enough shared memory for row_ids and the result tile, don't create these pipelines. @@ -1926,6 +1936,7 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ2_S].f32acc, matmul_id_iq2_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_XXS].f32acc, matmul_id_iq3_xxs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ3_S].f32acc, matmul_id_iq3_s_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); + CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_XS].f32acc, matmul_id_iq4_xs_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); CREATE_MM(pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f32acc, matmul_id_iq4_nl_f32, , mmq_wg_denoms, warptile_mmq, vk_mat_mat_id_push_constants, 4, _id); } #undef CREATE_MM @@ -1962,6 +1973,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f32_f32[GGML_TYPE_IQ2_S][i], "mul_mat_vec_iq2_s_f32_f32_"+std::to_string(i+1), mul_mat_vec_iq2_s_f32_f32_len, mul_mat_vec_iq2_s_f32_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f32_f32[GGML_TYPE_IQ3_XXS][i], "mul_mat_vec_iq3_xxs_f32_f32_"+std::to_string(i+1), mul_mat_vec_iq3_xxs_f32_f32_len, mul_mat_vec_iq3_xxs_f32_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f32_f32[GGML_TYPE_IQ3_S][i], "mul_mat_vec_iq3_s_f32_f32_"+std::to_string(i+1), mul_mat_vec_iq3_s_f32_f32_len, mul_mat_vec_iq3_s_f32_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f32_f32[GGML_TYPE_IQ4_XS][i], "mul_mat_vec_iq4_xs_f32_f32_"+std::to_string(i+1), mul_mat_vec_iq4_xs_f32_f32_len, mul_mat_vec_iq4_xs_f32_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f32_f32[GGML_TYPE_IQ4_NL][i], "mul_mat_vec_iq4_nl_f32_f32_"+std::to_string(i+1), mul_mat_vec_iq4_nl_f32_f32_len, mul_mat_vec_iq4_nl_f32_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {2*rm_stdq, 1, 1}, {subgroup_size_16, 2*rm_stdq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_F32 ][i], "mul_mat_vec_f32_f16_f32_"+std::to_string(i+1), mul_mat_vec_f32_f16_f32_len, mul_mat_vec_f32_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {2, 1, 1}, {device->subgroup_size, 2, i+1}, 1); @@ -1981,6 +1993,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_IQ2_S][i], "mul_mat_vec_iq2_s_f16_f32_"+std::to_string(i+1), mul_mat_vec_iq2_s_f16_f32_len, mul_mat_vec_iq2_s_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_IQ3_XXS][i], "mul_mat_vec_iq3_xxs_f16_f32_"+std::to_string(i+1), mul_mat_vec_iq3_xxs_f16_f32_len, mul_mat_vec_iq3_xxs_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_IQ3_S][i], "mul_mat_vec_iq3_s_f16_f32_"+std::to_string(i+1), mul_mat_vec_iq3_s_f16_f32_len, mul_mat_vec_iq3_s_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_IQ4_XS][i], "mul_mat_vec_iq4_xs_f16_f32_"+std::to_string(i+1), mul_mat_vec_iq4_xs_f16_f32_len, mul_mat_vec_iq4_xs_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq, i+1}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_f16_f32[GGML_TYPE_IQ4_NL][i], "mul_mat_vec_iq4_nl_f16_f32_"+std::to_string(i+1), mul_mat_vec_iq4_nl_f16_f32_len, mul_mat_vec_iq4_nl_f16_f32_data, "main", 3, sizeof(vk_mat_vec_push_constants), {2*rm_stdq, 1, 1}, {subgroup_size_16, 2*rm_stdq, i+1}, 1, true); } @@ -2001,6 +2014,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_f32[GGML_TYPE_IQ2_S], "mul_mat_vec_id_iq2_s_f32", mul_mat_vec_id_iq2_s_f32_len, mul_mat_vec_id_iq2_s_f32_data, "main", 4, sizeof(vk_mat_vec_id_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_f32[GGML_TYPE_IQ3_XXS], "mul_mat_vec_id_iq3_xxs_f32", mul_mat_vec_id_iq3_xxs_f32_len, mul_mat_vec_id_iq3_xxs_f32_data, "main", 4, sizeof(vk_mat_vec_id_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_f32[GGML_TYPE_IQ3_S], "mul_mat_vec_id_iq3_s_f32", mul_mat_vec_id_iq3_s_f32_len, mul_mat_vec_id_iq3_s_f32_data, "main", 4, sizeof(vk_mat_vec_id_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq}, 1, true); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_f32[GGML_TYPE_IQ4_XS], "mul_mat_vec_id_iq4_xs_f32", mul_mat_vec_id_iq4_xs_f32_len, mul_mat_vec_id_iq4_xs_f32_data, "main", 4, sizeof(vk_mat_vec_id_push_constants), {rm_kq, 1, 1}, {subgroup_size_16, rm_kq}, 1, true); ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_f32[GGML_TYPE_IQ4_NL], "mul_mat_vec_id_iq4_nl_f32", mul_mat_vec_id_iq4_nl_f32_len, mul_mat_vec_id_iq4_nl_f32_data, "main", 4, sizeof(vk_mat_vec_id_push_constants), {2*rm_stdq, 1, 1}, {subgroup_size_16, 2*rm_stdq}, 1, true); // dequant shaders @@ -2020,6 +2034,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_dequant[GGML_TYPE_IQ2_S], "dequant_iq2_s", dequant_iq2_s_len, dequant_iq2_s_data, "main", 2, 5 * sizeof(uint32_t), {256 * 32, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_dequant[GGML_TYPE_IQ3_XXS], "dequant_iq3_xxs", dequant_iq3_xxs_len, dequant_iq3_xxs_data, "main", 2, 5 * sizeof(uint32_t), {256 * 32, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_dequant[GGML_TYPE_IQ3_S], "dequant_iq3_s", dequant_iq3_s_len, dequant_iq3_s_data, "main", 2, 5 * sizeof(uint32_t), {256 * 32, 1, 1}, {}, 1); + ggml_vk_create_pipeline(device, device->pipeline_dequant[GGML_TYPE_IQ4_XS], "dequant_iq4_xs", dequant_iq4_xs_len, dequant_iq4_xs_data, "main", 2, 5 * sizeof(uint32_t), {256 * 32, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_dequant[GGML_TYPE_IQ4_NL], "dequant_iq4_nl", dequant_iq4_nl_len, dequant_iq4_nl_data, "main", 2, 5 * sizeof(uint32_t), {256 * 16, 1, 1}, {}, 1); // get_rows @@ -2035,6 +2050,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_get_rows[GGML_TYPE_IQ2_S], "get_rows_iq2_s", get_rows_iq2_s_len, get_rows_iq2_s_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows[GGML_TYPE_IQ3_XXS], "get_rows_iq3_xxs", get_rows_iq3_xxs_len, get_rows_iq3_xxs_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows[GGML_TYPE_IQ3_S], "get_rows_iq3_s", get_rows_iq3_s_len, get_rows_iq3_s_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); + ggml_vk_create_pipeline(device, device->pipeline_get_rows[GGML_TYPE_IQ4_XS], "get_rows_iq4_xs", get_rows_iq4_xs_len, get_rows_iq4_xs_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows[GGML_TYPE_IQ4_NL], "get_rows_iq4_nl", get_rows_iq4_nl_len, get_rows_iq4_nl_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_F32 ], "get_rows_f32_f32", get_rows_f32_f32_len, get_rows_f32_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), { 512, 1, 1}, {}, 1); @@ -2049,6 +2065,7 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_IQ2_S], "get_rows_iq2_s_f32", get_rows_iq2_s_f32_len, get_rows_iq2_s_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_IQ3_XXS], "get_rows_iq3_xxs_f32", get_rows_iq3_xxs_f32_len, get_rows_iq3_xxs_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_IQ3_S], "get_rows_iq3_s_f32", get_rows_iq3_s_f32_len, get_rows_iq3_s_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); + ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_IQ4_XS], "get_rows_iq4_xs_f32", get_rows_iq4_xs_f32_len, get_rows_iq4_xs_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_get_rows_f32[GGML_TYPE_IQ4_NL], "get_rows_iq4_nl_f32", get_rows_iq4_nl_f32_len, get_rows_iq4_nl_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {1024, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_matmul_split_k_reduce, "split_k_reduce", split_k_reduce_len, split_k_reduce_data, "main", 2, 2 * sizeof(uint32_t), {256 * 4, 1, 1}, {}, 1); @@ -2995,6 +3012,7 @@ static vk_pipeline ggml_vk_get_to_fp16(ggml_backend_vk_context * ctx, ggml_type case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -3048,6 +3066,7 @@ static vk_matmul_pipeline ggml_vk_get_mul_mat_mat_pipeline(ggml_backend_vk_conte case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -3084,6 +3103,7 @@ static vk_pipeline ggml_vk_get_dequantize_mul_mat_vec(ggml_backend_vk_context * case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -3132,6 +3152,7 @@ static vk_matmul_pipeline ggml_vk_get_mul_mat_mat_id_pipeline(ggml_backend_vk_co case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -3163,6 +3184,7 @@ static vk_pipeline ggml_vk_get_dequantize_mul_mat_vec_id(ggml_backend_vk_context case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -8037,6 +8059,7 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -8110,6 +8133,7 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm //case GGML_TYPE_IQ2_S: //case GGML_TYPE_IQ3_XXS: //case GGML_TYPE_IQ3_S: + //case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: break; default: @@ -8132,6 +8156,7 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm case GGML_TYPE_IQ2_S: case GGML_TYPE_IQ3_XXS: case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ4_XS: case GGML_TYPE_IQ4_NL: return true; default: diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/copy_from_quant.comp b/ggml/src/ggml-vulkan/vulkan-shaders/copy_from_quant.comp index aeae5400d..9c9fe9626 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/copy_from_quant.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/copy_from_quant.comp @@ -12,7 +12,7 @@ layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; #endif void main() { -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); if (gl_LocalInvocationIndex.x != 0) { return; diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp b/ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp index d4b068e61..660811086 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp @@ -217,7 +217,7 @@ void quantize(uint dst_idx, uint src_idx) #endif void main() { -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); if (gl_LocalInvocationIndex.x != 0) { return; diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.comp b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.comp index ee6877531..ecfdbfaa8 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs.comp @@ -304,6 +304,42 @@ vec4 dequantize4(uint ib, uint iqs, uint a_offset) { } #endif +#if defined(DATA_A_IQ4_XS) +vec2 dequantize(uint ib, uint iqs, uint a_offset) { + const uint ib32 = iqs / 32; + const uint iq = 16 * ib32 + (iqs % 16); + + const uint sl = (data_a[a_offset + ib].scales_l[ib32/2] >> (4 * (ib32 & 1))) & 0xF; + const uint sh = (data_a[a_offset + ib].scales_h >> (2 * ib32)) & 3; + const uint qshift = (iqs & 16) >> 2; + u8vec2 qs = u8vec2(data_a[a_offset + ib].qs[iq], data_a[a_offset + ib].qs[iq + 1]); + qs = (qs >> qshift) & uint8_t(0xF); + + const float dl = float(int(sl | (sh << 4)) - 32); + return dl * vec2(kvalues_iq4nl[qs.x], kvalues_iq4nl[qs.y]); +} +vec4 dequantize4(uint ib, uint iqs, uint a_offset) { + const uint ib32 = iqs / 32; + const uint iq = 16 * ib32 + (iqs % 16); + + const uint sl = (data_a[a_offset + ib].scales_l[ib32/2] >> (4 * (ib32 & 1))) & 0xF; + const uint sh = (data_a[a_offset + ib].scales_h >> (2 * ib32)) & 3; + const uint qshift = (iqs & 16) >> 2; + u8vec4 qs = u8vec4( + data_a[a_offset + ib].qs[iq + 0], + data_a[a_offset + ib].qs[iq + 1], + data_a[a_offset + ib].qs[iq + 2], + data_a[a_offset + ib].qs[iq + 3] + ); + qs = (qs >> qshift) & uint8_t(0xF); + + const float dl = float(int(sl | (sh << 4)) - 32); + return dl * vec4( + kvalues_iq4nl[qs.x], kvalues_iq4nl[qs.y], + kvalues_iq4nl[qs.z], kvalues_iq4nl[qs.w]); +} +#endif + #if defined(DATA_A_IQ4_NL) vec2 dequantize(uint ib, uint iqs, uint a_offset) { const uint vui = uint(data_a[a_offset + ib].qs[iqs]); @@ -321,7 +357,7 @@ vec2 get_dm(uint ib, uint a_offset) { } #endif -#if defined(DATA_A_Q4_0) || defined(DATA_A_Q5_0) || defined(DATA_A_Q8_0) || defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_Q4_0) || defined(DATA_A_Q5_0) || defined(DATA_A_Q8_0) || defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) vec2 get_dm(uint ib, uint a_offset) { return vec2(float(data_a[a_offset + ib].d), 0); } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp index 974efd3f9..78c3bddf2 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp @@ -454,6 +454,27 @@ float16_t dequantFuncIQ3_S(const in decodeBufIQ3_S bl, const in uint blockCoords } #endif +#if defined(DATA_A_IQ4_XS) +layout(buffer_reference, std430, buffer_reference_align = 2) buffer decodeBufIQ4_XS { + block_iq4_xs block; +}; + +float16_t dequantFuncIQ4_XS(const in decodeBufIQ4_XS bl, const in uint blockCoords[2], const in uint coordInBlock[2]) +{ + const float16_t d = bl.block.d; + const uint idx = coordInBlock[1]; + + const uint ib32 = (idx & 0xE0) >> 5; // 0..7 + + const uint sl = (bl.block.scales_l[ib32/2] >> (4 * (ib32 & 1))) & 0xF; + const uint sh = ((bl.block.scales_h) >> (2 * ib32)) & 3; + const uint qshift = (idx & 16) >> 2; + const uint q = (bl.block.qs[16 * ib32 + (idx % 16)] >> qshift) & 0xF; + + float16_t ret = d * float16_t(int(sl | (sh << 4)) - 32) * float16_t(kvalues_iq4nl[q]); + return ret; +} +#endif #if defined(DATA_A_IQ4_NL) layout(buffer_reference, std430, buffer_reference_align = 2) buffer decodeBufIQ4_NL { @@ -504,6 +525,8 @@ float16_t dequantFuncIQ4_NL(const in decodeBufIQ4_NL bl, const in uint blockCoor #define dequantFuncA dequantFuncIQ3_XXS #elif defined(DATA_A_IQ3_S) #define dequantFuncA dequantFuncIQ3_S +#elif defined(DATA_A_IQ4_XS) +#define dequantFuncA dequantFuncIQ4_XS #elif defined(DATA_A_IQ4_NL) #define dequantFuncA dequantFuncIQ4_NL #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_iq4_xs.comp b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_iq4_xs.comp new file mode 100644 index 000000000..f930852a4 --- /dev/null +++ b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_iq4_xs.comp @@ -0,0 +1,34 @@ +#version 450 + +#include "dequant_head.comp" + +layout(local_size_x = 256, local_size_y = 1, local_size_z = 1) in; + +layout (binding = 0) readonly buffer A {block_iq4_xs data_a[];}; +layout (binding = 1) writeonly buffer D {D_TYPE data_b[];}; + +void main() { + // Each thread handles 1 subblock (1 scale and 32 quantized values) + const uint ib = gl_WorkGroupID.x * 32 + gl_LocalInvocationID.x / 8; + + init_iq_shmem(gl_WorkGroupSize); + + if (ib >= p.nel / 256) { + return; + } + + const uint ib32 = gl_LocalInvocationID.x % 8; + + const float d = float(data_a[ib].d); + // Scales are 6 bits + const uint scale = ((data_a[ib].scales_l[ib32/2] >> (4 * (ib32 & 1))) & 0xF) + | (((data_a[ib].scales_h >> (2 * ib32)) & 3) << 4); + const float dl = d * (int(scale) - 32); + + const uint b_idx = 256 * ib + 32 * ib32; + const uint q_idx = 16 * ib32; + [[unroll]] for (uint l = 0; l < 16; ++l) { + data_b[b_idx + l + 0] = D_TYPE(dl * kvalues_iq4nl[data_a[ib].qs[q_idx + l] & 0xF]); + data_b[b_idx + l + 16] = D_TYPE(dl * kvalues_iq4nl[data_a[ib].qs[q_idx + l] >> 4]); + } +} diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp index 043a53023..ba88ce79a 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp @@ -104,7 +104,7 @@ ACC_TYPE Max(const in uint32_t row, const in uint32_t col, const in ACC_TYPE ele #endif void main() { -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/get_rows_quant.comp b/ggml/src/ggml-vulkan/vulkan-shaders/get_rows_quant.comp index 09dc43d8d..c16a2a9f6 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/get_rows_quant.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/get_rows_quant.comp @@ -12,7 +12,7 @@ void main() { const uint i11 = (gl_GlobalInvocationID.z)/p.ne12; const uint i12 = (gl_GlobalInvocationID.z)%p.ne12; -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mat_vec.comp b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mat_vec.comp index 48156e7ba..d7e99727d 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mat_vec.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mat_vec.comp @@ -133,7 +133,7 @@ void compute_outputs(const uint32_t first_row, const uint32_t num_rows) { void main() { const uint first_row = NUM_ROWS * (gl_WorkGroupID.x + gl_NumWorkGroups.x * gl_WorkGroupID.z); -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm.comp b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm.comp index d0559aac8..33b2234e7 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm.comp @@ -95,7 +95,7 @@ shared ACC_TYPE coopmat_stage[TM * TN * NUM_WARPS]; #endif void main() { -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); #endif @@ -547,6 +547,25 @@ void main() { const uint32_t grid = iq3s_grid[qs | ((qh << (8 - (iqs % 8))) & 256)] >> (16 * (idx % 2)); const vec2 v = db * vec2(sign01) * vec2(unpack8(grid).xy); + buf_a[buf_idx ] = FLOAT_TYPE(v.x); + buf_a[buf_idx + 1] = FLOAT_TYPE(v.y); +#elif defined(DATA_A_IQ4_XS) + const uint idx = pos_a + (loadc_a + l) * p.stride_a / LOAD_VEC_A + loadr_a; + const uint buf_idx = (loadc_a + l) * SHMEM_STRIDE + loadr_a * LOAD_VEC_A; + + const uint ib = idx / 128; // 2 values per idx + const uint ib32 = (idx % 128) / 16; // 0..7 + const uint iq = 16 * ib32 + 2 * (idx % 8); + + const uint sl = (data_a[ib].scales_l[ib32/2] >> (4 * (ib32 & 1))) & 0xF; + const uint sh = ((data_a[ib].scales_h) >> (2 * ib32)) & 3; + const uint qshift = (idx & 8) >> 1; + u8vec2 qs = u8vec2(data_a[ib].qs[iq], data_a[ib].qs[iq + 1]); + qs = (qs >> qshift) & uint8_t(0xF); + + const float d = float(data_a[ib].d); + const vec2 v = d * float(int(sl | (sh << 4)) - 32) * vec2(kvalues_iq4nl[qs.x], kvalues_iq4nl[qs.y]); + buf_a[buf_idx ] = FLOAT_TYPE(v.x); buf_a[buf_idx + 1] = FLOAT_TYPE(v.y); #elif defined(DATA_A_IQ4_NL) diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp index 27c5d68b3..7e29bbfec 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp @@ -106,7 +106,7 @@ D_TYPE perElemOpD(const in uint32_t r, const in uint32_t c, const in D_TYPE elem #endif void main() { -#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_NL) +#if defined(DATA_A_IQ2_XXS) || defined(DATA_A_IQ2_XS) || defined(DATA_A_IQ2_S) || defined(DATA_A_IQ3_XXS) || defined(DATA_A_IQ3_S) || defined(DATA_A_IQ4_XS) || defined(DATA_A_IQ4_NL) init_iq_shmem(gl_WorkGroupSize); #endif diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/types.comp b/ggml/src/ggml-vulkan/vulkan-shaders/types.comp index 9e56a3530..db643a54c 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/types.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/types.comp @@ -1026,6 +1026,23 @@ void init_iq_shmem(uvec3 wgsize) #define A_TYPE_PACKED16 block_iq3_s_packed16 #endif +#define QUANT_K_IQ4_XS 256 +#define QUANT_R_IQ4_XS 1 + +struct block_iq4_xs +{ + float16_t d; + uint16_t scales_h; + uint8_t scales_l[QUANT_K_IQ4_XS/64]; + uint8_t qs[QUANT_K_IQ4_XS/2]; +}; + +#if defined(DATA_A_IQ4_XS) +#define QUANT_K QUANT_K_IQ4_XS +#define QUANT_R QUANT_R_IQ4_XS +#define A_TYPE block_iq4_xs +#endif + #define QUANT_K_IQ4_NL 32 #define QUANT_R_IQ4_NL 2 @@ -1042,7 +1059,13 @@ struct block_iq4_nl_packed16 }; #if defined(DATA_A_IQ4_NL) +#define QUANT_K QUANT_K_IQ4_NL +#define QUANT_R QUANT_R_IQ4_NL +#define A_TYPE block_iq4_nl +#define A_TYPE_PACKED16 block_iq4_nl_packed16 +#endif +#if defined(DATA_A_IQ4_NL) || defined(DATA_A_IQ4_XS) const int8_t kvalues_iq4nl_const[16] = { int8_t(-127), int8_t(-104), int8_t(-83), int8_t(-65), int8_t(-49), int8_t(-35), int8_t(-22), int8_t(-10), int8_t(1), int8_t(13), int8_t(25), int8_t(38), int8_t(53), int8_t(69), int8_t(89), int8_t(113) @@ -1058,11 +1081,6 @@ void init_iq_shmem(uvec3 wgsize) } barrier(); } - -#define QUANT_K QUANT_K_IQ4_NL -#define QUANT_R QUANT_R_IQ4_NL -#define A_TYPE block_iq4_nl -#define A_TYPE_PACKED16 block_iq4_nl_packed16 #endif #endif // !defined(GGML_TYPES_COMP) diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp index 93ddbfadc..77e7e1148 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp @@ -60,6 +60,7 @@ const std::vector type_names = { "iq2_s", "iq3_xxs", "iq3_s", + "iq4_xs", "iq4_nl" }; From 2c6c8df56d8a3edd657b9a295e95d469a37f0044 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 6 Feb 2025 00:15:30 -0600 Subject: [PATCH 49/77] vulkan: optimize coopmat2 iq2/iq3 callbacks (#11521) * vulkan: optimize coopmat2 iq2/iq3 callbacks * build: trigger CI on GLSL compute shader changes --- .github/workflows/build.yml | 4 +- .../vulkan-shaders/dequant_funcs_cm2.comp | 79 +++++++++---------- 2 files changed, 40 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8f9c82f87..6841ba589 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,10 +10,10 @@ on: push: branches: - master - paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal'] + paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp'] pull_request: types: [opened, synchronize, reopened] - paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal'] + paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp'] concurrency: group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp index 78c3bddf2..0eba37420 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/dequant_funcs_cm2.comp @@ -323,15 +323,16 @@ float16_t dequantFuncIQ2_XXS(const in decodeBufIQ2_XXS bl, const in uint blockCo const uint8_t qs = bl.block.qs[iqs]; const uint signscale = pack32(u16vec2(bl16.block.qs[4*ib32+2], bl16.block.qs[4*ib32+3])); - const float16_t dscale = bl.block.d * 0.25hf * (0.5hf + float16_t(signscale >> 28)); + const float dscale = float(bl.block.d) * 0.25 * (0.5 + float(signscale >> 28)); uint sign = bitfieldExtract(signscale, 7 * int(ib8), 7); sign |= bitCount(sign) << 7; - const uint8_t g = unpack8(iq2xxs_grid[qs][(idx & 4) >> 2])[idx & 3]; + uint g2 = iq2xxs_grid[qs][(idx & 4) >> 2]; + g2 >>= (idx & 2) * 8; + const vec2 g = vec2(unpack8(g2)); - float16_t ret = dscale * float16_t(g) * ((sign & (1 << (idx & 7))) != 0 ? -1.0hf : 1.0hf); - - return ret; + vec2 ret = dscale * g * ((sign & (1 << (idx & 7))) != 0 ? -1.0hf : 1.0hf); + return float16_t(ret[idx & 1]); } #endif @@ -350,14 +351,16 @@ float16_t dequantFuncIQ2_XS(const in decodeBufIQ2_XS bl, const in uint blockCoor const uint iqs = (idx & 0xF8) >> 3; // 0..63 const uint16_t qs = bl.block.qs[iqs]; - const float16_t dscale = bl.block.d * 0.25hf * (0.5hf + float16_t((bl.block.scales[is] >> sshift) & 0xF)); + const float dscale = float(bl.block.d) * 0.25 * (0.5 + float((bl.block.scales[is] >> sshift) & 0xF)); uint sign = uint(qs >> 9); sign |= bitCount(sign) << 7; - const uint8_t g = unpack8(iq2xs_grid[qs & 0x1FF][(idx & 4) >> 2])[idx & 3]; + uint g2 = iq2xs_grid[qs & 0x1FF][(idx & 4) >> 2]; + g2 >>= (idx & 2) * 8; + const vec2 g = vec2(unpack8(g2)); - float16_t ret = dscale * float16_t(g) * ((sign & (1 << (idx & 7))) != 0 ? -1.0hf : 1.0hf); - return ret; + vec2 ret = dscale * g * ((sign & (1 << (idx & 7))) != 0 ? -1.0hf : 1.0hf); + return float16_t(ret[idx & 1]); } #endif @@ -369,24 +372,23 @@ layout(buffer_reference, std430, buffer_reference_align = 2) buffer decodeBufIQ2 float16_t dequantFuncIQ2_S(const in decodeBufIQ2_S bl, const in uint blockCoords[2], const in uint coordInBlock[2]) { uint idx = coordInBlock[1]; - uint lsb = idx & 1; - idx /= 2; - const uint ib8 = (idx % 128) / 4; // 0..31 - const uint ib32 = ib8 / 4; // 0..7 + const uint ib32 = (idx & 0xE0) >> 5; // 0..7 + const uint ib8 = (idx & 0xF8) >> 3; // 0..31 + const uint qhshift = 2 * (ib8 % 4); - const uint scale = (bl.block.scales[ib32] >> (2 * (ib8 & 2))) & 0xf; + const uint scale = (bl.block.scales[ib32] >> ((idx & 0x10) >> 2)) & 0xf; const uint qs = bl.block.qs[ib8]; const uint qh = bl.block.qh[ib32]; - const uint qhshift = 2 * (ib8 % 4); - const uint sign = bl.block.qs[QUANT_K / 8 + ib8] >> (2 * (idx % 4)); + const uint sign = bl.block.qs[QUANT_K / 8 + ib8] >> (idx & 0x6); const float d = float(bl.block.d); const float db = d * 0.25 * (0.5 + scale); - const i8vec2 sign01 = i8vec2(1 - (2 & i8vec2(int8_t(sign << 1), int8_t(sign)))); - const uint16_t grid = unpack16(iq2s_grid[qs | ((qh << (8 - qhshift)) & 0x300)][(idx & 2) >> 1])[idx & 1]; - const vec2 v = db * vec2(sign01) * vec2(unpack8(grid)); - return float16_t(v[lsb]); + const ivec2 sign01 = 1 - (2 & ivec2(sign << 1, sign)); + uint g2 = iq2s_grid[qs | ((qh << (8 - qhshift)) & 0x300)][(idx & 4) >> 2]; + g2 >>= (idx & 2) * 8; + const vec2 v = db * vec2(sign01) * vec2(unpack8(g2)); + return float16_t(v[idx & 1]); } #endif @@ -401,28 +403,25 @@ layout(buffer_reference, std430, buffer_reference_align = 2) buffer decodeBufIQ3 float16_t dequantFuncIQ3_XXS(const in decodeBufIQ3_XXS bl, const in uint blockCoords[2], const in uint coordInBlock[2]) { + decodeBufIQ3_XXS_packed16 bl16 = decodeBufIQ3_XXS_packed16(bl); uint idx = coordInBlock[1]; - uint lsb = idx & 1; - idx /= 2; - const uint iqs = (idx % 128) / 2; // 0..63 - const uint is = QUANT_K / 4 + 4 * (iqs / 8); // 8 values + const uint iqs = (idx & 0xFC) >> 2; // 0..63 + const uint is = QUANT_K / 4 + ((idx & 0xE0) >> 3);// 8 values const float d = float(bl.block.d); const uint qs = bl.block.qs[iqs]; - const uint signs = pack32(u8vec4( - bl.block.qs[is+0], - bl.block.qs[is+1], - bl.block.qs[is+2], - bl.block.qs[is+3] + const uint signs = pack32(u16vec2( + bl16.block.qs[is/2+0], + bl16.block.qs[is/2+1] )); const float db = d * 0.5 * (0.5 + (signs >> 28)); const uint32_t sign7 = bitfieldExtract(signs, 7 * (int(iqs / 2) % 4), 7); - const uint sign = (sign7 | (bitCount(sign7) << 7)) >> (2 * (idx % 4)); - const i8vec2 sign01 = i8vec2(1 - (2 & i8vec2(int8_t(sign << 1), int8_t(sign)))); - const uint grid = iq3xxs_grid[qs] >> (16 * (idx & 1)); + const uint sign = (sign7 | (bitCount(sign7) << 7)) >> (idx & 0x6); + const ivec2 sign01 = ivec2(1 - (2 & ivec2(sign << 1, sign))); + const uint grid = iq3xxs_grid[qs] >> (16 * ((idx & 2) >> 1)); const vec2 v = db * vec2(sign01) * vec2(unpack8(grid).xy); - return float16_t(v[lsb]); + return float16_t(v[idx & 1]); } #endif @@ -434,23 +433,21 @@ layout(buffer_reference, std430, buffer_reference_align = 2) buffer decodeBufIQ3 float16_t dequantFuncIQ3_S(const in decodeBufIQ3_S bl, const in uint blockCoords[2], const in uint coordInBlock[2]) { uint idx = coordInBlock[1]; - uint lsb = idx & 1; - idx /= 2; - const uint iqs = (idx % 128) / 2; // 0..63 - const uint iqh = iqs / 8; + const uint iqs = (idx & 0xFC) >> 2; // 0..63 + const uint iqh = (idx & 0xE0) >> 5; const float d = float(bl.block.d); const uint qs = bl.block.qs[iqs]; const uint qh = bl.block.qh[iqh]; - const int8_t sign = int8_t(bl.block.signs[iqs / 2] >> (2 * (idx % 4))); + const int8_t sign = int8_t(bl.block.signs[iqs / 2] >> (idx & 0x6)); const uint scale = bl.block.scales[iqs / 16]; - const i8vec2 sign01 = i8vec2(1 - (2 & i8vec2(sign << 1, sign))); + const ivec2 sign01 = ivec2(1 - (2 & ivec2(sign << 1, sign))); const float db = d * (1 + 2 * ((scale >> (4 * (iqh & 1))) & 0xf)); - const uint32_t grid = iq3s_grid[qs | ((qh << (8 - (iqs % 8))) & 256)] >> (16 * (idx % 2)); + const uint32_t grid = iq3s_grid[qs | ((qh << (8 - (iqs % 8))) & 256)] >> ((idx & 2) << 3); const vec2 v = db * vec2(sign01) * vec2(unpack8(grid).xy); - return float16_t(v[lsb]); + return float16_t(v[idx & 1]); } #endif From 8d4d2be143a3919c3d194b9bf7a221e50abed893 Mon Sep 17 00:00:00 2001 From: junchao-zhao <68935141+junchao-loongson@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:20:00 +0800 Subject: [PATCH 50/77] ggml : fix LoongArch compile error with 128-bit SIMD (#11701) --- ggml/src/ggml-cpu/ggml-cpu-quants.c | 169 +++++++++++++++------------- 1 file changed, 91 insertions(+), 78 deletions(-) diff --git a/ggml/src/ggml-cpu/ggml-cpu-quants.c b/ggml/src/ggml-cpu/ggml-cpu-quants.c index 88303ff0e..72ec58cee 100644 --- a/ggml/src/ggml-cpu/ggml-cpu-quants.c +++ b/ggml/src/ggml-cpu/ggml-cpu-quants.c @@ -297,6 +297,90 @@ static const uint64_t table_b2b_0[1 << 8] = { B8(00, 10) }; // ( b) << 4 static const uint64_t table_b2b_1[1 << 8] = { B8(10, 00) }; // (!b) << 4 #endif +#if defined(__loongarch_sx) + +static __m128i lsx_packs_w(__m128i a, __m128i b) { + __m128i tmp, tmp1; + tmp = __lsx_vsat_w(a, 15); + tmp1 = __lsx_vsat_w(b, 15); + return __lsx_vpickev_h(tmp1, tmp); +} + +static __m128i lsx_packs_h(__m128i a, __m128i b) { + __m128i tmp, tmp1; + tmp = __lsx_vsat_h(a, 7); + tmp1 = __lsx_vsat_h(b, 7); + return __lsx_vpickev_b(tmp1, tmp); +} + +static __m128i lsx_packus_h(__m128i a, __m128i b) { + __m128i tmp, tmp1; + tmp = __lsx_vsat_hu(a, 7); + tmp1 = __lsx_vsat_hu(b, 7); + return __lsx_vpickev_b(tmp1, tmp); +} + +static __m128i lsx_maddubs_h(__m128i a, __m128i b) { + __m128i tmp1, tmp2; + tmp1 = __lsx_vmulwev_h_b(a, b); + tmp2 = __lsx_vmulwod_h_b(a, b); + return __lsx_vsadd_h(tmp1, tmp2); +} + +static __m128i lsx_madd_h(__m128i a, __m128i b) { + __m128i tmp1, tmp2; + tmp1 = __lsx_vmulwev_w_h(a, b); + tmp2 = __lsx_vmulwod_w_h(a, b); + return __lsx_vadd_w(tmp1, tmp2); +} + +static __m128i lsx_set_w(int32_t a, int32_t b, int32_t c, int32_t d) { + v4i32 __ret = {d, c, b, a}; + return (__m128i)__ret; +} + +static __m128i lsx_shuffle_b(__m128i a, __m128i b) { + __m128i mask_f, zero, tmp0, tmp2, mask; + int f = 0x8f; + mask_f = __lsx_vreplgr2vr_b(f); + zero = __lsx_vldi(0); + tmp0 = __lsx_vand_v(b, mask_f); // get mask with low 4 bit and sign bits + tmp0 = __lsx_vori_b(tmp0, 0x10); // make each mask or with 0x10 prepare for positive + mask = __lsx_vsle_b(zero, tmp0); // if mask >= 0, set mask + tmp2 = __lsx_vand_v(tmp0, mask); // maskout the in2 < ones + return __lsx_vshuf_b(a, zero, tmp2); +} + +static __m128i lsx_hadd_h(__m128i a, __m128i b) { + __m128i tmp1 = __lsx_vpickev_h(b, a); + __m128i tmp2 = __lsx_vpickod_h(b, a); + return __lsx_vadd_h(tmp1, tmp2); +} + +static __m128i lsx_hadd_w(__m128i a, __m128i b) { + __m128i tmp1 = __lsx_vpickev_w(b, a); + __m128i tmp2 = __lsx_vpickod_w(b, a); + return __lsx_vadd_w(tmp1, tmp2); +} + +static __m128 lsx_hadd_s(__m128 a, __m128 b) { + __m128 tmp1 = (__m128)__lsx_vpickev_w((__m128i)b, (__m128i)a); + __m128 tmp2 = (__m128)__lsx_vpickod_w((__m128i)b, (__m128i)a); + + return __lsx_vfadd_s(tmp1, tmp2); +} + +static inline float hsum_float_4x4(const __m128 a, const __m128 b, const __m128 c, const __m128 d) { + __m128 res_0 =lsx_hadd_s(a, b); + __m128 res_1 =lsx_hadd_s(c, d); + __m128 res =lsx_hadd_s(res_0, res_1); + res =lsx_hadd_s(res, res); + res =lsx_hadd_s(res, res); + + return ((v4f32)res)[0]; +} +#endif + #if defined(__loongarch_asx) #ifdef __clang__ @@ -395,11 +479,6 @@ static __m256i lasx_set_w(int e7, int e6, int e5, int e4, int e3, int e2, int e1 return (__m256i)__ret; } -static __m128i lsx_set_w(int32_t a, int32_t b, int32_t c, int32_t d) { - v4i32 __ret = {d, c, b, a}; - return (__m128i)__ret; -} - static __m256i lasx_set_d(int64_t a, int64_t b, int64_t c, int64_t d) { v4i64 __ret = {d, c, b, a}; return (__m256i)__ret; @@ -409,18 +488,6 @@ static __m256i lasx_insertf128( __m128i x, __m128i y) { return lasx_set_q(x, y); } -static __m128i lsx_shuffle_b(__m128i a, __m128i b) { - __m128i mask_f, zero, tmp0, tmp2, mask; - int f = 0x8f; - mask_f = __lsx_vreplgr2vr_b(f); - zero = __lsx_vldi(0); - tmp0 = __lsx_vand_v(b, mask_f); // get mask with low 4 bit and sign bits - tmp0 = __lsx_vori_b(tmp0, 0x10); // make each mask or with 0x10 prepare for positive - mask = __lsx_vsle_b(zero, tmp0); // if mask >= 0, set mask - tmp2 = __lsx_vand_v(tmp0, mask); // maskout the in2 < ones - return __lsx_vshuf_b(a, zero, tmp2); -} - static __m256i lasx_shuffle_b(__m256i a, __m256i b) { __m256i mask_f, zero, tmp0, tmp2, mask; int f = 0x8f; @@ -482,25 +549,6 @@ static __m128 lasx_extractf128( __m256 a, int pos) { return ret; } -static __m128i lsx_hadd_h(__m128i a, __m128i b) { - __m128i tmp1 = __lsx_vpickev_h(b, a); - __m128i tmp2 = __lsx_vpickod_h(b, a); - return __lsx_vadd_h(tmp1, tmp2); -} - -static __m128i lsx_hadd_w(__m128i a, __m128i b) { - __m128i tmp1 = __lsx_vpickev_w(b, a); - __m128i tmp2 = __lsx_vpickod_w(b, a); - return __lsx_vadd_w(tmp1, tmp2); -} - -static __m128 lsx_hadd_s(__m128 a, __m128 b) { - __m128 tmp1 = (__m128)__lsx_vpickev_w((__m128i)b, (__m128i)a); - __m128 tmp2 = (__m128)__lsx_vpickod_w((__m128i)b, (__m128i)a); - - return __lsx_vfadd_s(tmp1, tmp2); -} - static __m256i lasx_maddubs_h(__m256i a, __m256i b) { __m256i tmp1, tmp2; tmp1 = __lasx_xvmulwev_h_b(a, b); @@ -529,42 +577,6 @@ static __m256i lasx_packs_h(__m256i a, __m256i b) { return __lasx_xvpickev_b(tmp1, tmp); } -static __m128i lsx_packs_w(__m128i a, __m128i b) { - __m128i tmp, tmp1; - tmp = __lsx_vsat_w(a, 15); - tmp1 = __lsx_vsat_w(b, 15); - return __lsx_vpickev_h(tmp1, tmp); -} - -static __m128i lsx_packs_h(__m128i a, __m128i b) { - __m128i tmp, tmp1; - tmp = __lsx_vsat_h(a, 7); - tmp1 = __lsx_vsat_h(b, 7); - return __lsx_vpickev_b(tmp1, tmp); -} - -static __m128i lsx_packus_h(__m128i a, __m128i b) { - __m128i tmp, tmp1; - tmp = __lsx_vsat_hu(a, 7); - tmp1 = __lsx_vsat_hu(b, 7); - return __lsx_vpickev_b(tmp1, tmp); -} - - -static __m128i lsx_maddubs_h(__m128i a, __m128i b) { - __m128i tmp1, tmp2; - tmp1 = __lsx_vmulwev_h_b(a, b); - tmp2 = __lsx_vmulwod_h_b(a, b); - return __lsx_vsadd_h(tmp1, tmp2); -} - -static __m128i lsx_madd_h(__m128i a, __m128i b) { - __m128i tmp1, tmp2; - tmp1 = __lsx_vmulwev_w_h(a, b); - tmp2 = __lsx_vmulwod_w_h(a, b); - return __lsx_vadd_w(tmp1, tmp2); -} - // multiply int8_t, add results pairwise twice static inline __m128i mul_sum_i8_pairs(const __m128i x, const __m128i y) { // Get absolute values of x vectors @@ -2232,21 +2244,22 @@ void ggml_vec_dot_q4_0_q8_0(int n, float * restrict s, size_t bs, const void * r } sumf = hsum_float_8(acc); + #elif defined(__loongarch_sx) // set constants const __m128i low_mask = __lsx_vreplgr2vr_b(0xF); const __m128i off = __lsx_vreplgr2vr_b(8); // Initialize accumulator with zeros - __m128 acc_0 = __lsx_vldi(0); - __m128 acc_1 = __lsx_vldi(0); - __m128 acc_2 = __lsx_vldi(0); - __m128 acc_3 = __lsx_vldi(0); + __m128 acc_0 = (__m128)__lsx_vldi(0); + __m128 acc_1 = (__m128)__lsx_vldi(0); + __m128 acc_2 = (__m128)__lsx_vldi(0); + __m128 acc_3 = (__m128)__lsx_vldi(0); for (; ib + 1 < nb; ib += 2) { // Compute combined scale for the block 0 and 1 - const __m128 d_0_1 = __lsx_vreplgr2vr_w( GGML_FP16_TO_FP32(x[ib].d) * GGML_FP16_TO_FP32(y[ib].d) ); + const __m128 d_0_1 = (__m128)__lsx_vreplgr2vr_w( GGML_FP16_TO_FP32(x[ib].d) * GGML_FP16_TO_FP32(y[ib].d) ); const __m128i tmp_0_1 = __lsx_vld((const __m128i *)x[ib].qs, 0); @@ -2264,7 +2277,7 @@ void ggml_vec_dot_q4_0_q8_0(int n, float * restrict s, size_t bs, const void * r //_mm_prefetch(&y[ib] + 2 * sizeof(block_q8_0), _MM_HINT_T0); // Compute combined scale for the block 2 and 3 - const __m128 d_2_3 = __lsx_vreplgr2vr_w( GGML_FP16_TO_FP32(x[ib + 1].d) * GGML_FP16_TO_FP32(y[ib + 1].d) ); + const __m128 d_2_3 = (__m128)__lsx_vreplgr2vr_w( GGML_FP16_TO_FP32(x[ib + 1].d) * GGML_FP16_TO_FP32(y[ib + 1].d) ); const __m128i tmp_2_3 = __lsx_vld((const __m128i *)x[ib + 1].qs, 0); From c0d4843225eed38903ea71ef302a02fa0b27f048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 6 Feb 2025 12:08:13 +0100 Subject: [PATCH 51/77] build : fix llama.pc (#11658) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- CMakeLists.txt | 2 +- cmake/llama.pc.in | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74b48d24d..7b2a1845e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,4 +233,4 @@ configure_file(cmake/llama.pc.in @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/llama.pc" - DESTINATION lib/pkgconfig) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/cmake/llama.pc.in b/cmake/llama.pc.in index 0b2b6bcfa..6fb58b5f6 100644 --- a/cmake/llama.pc.in +++ b/cmake/llama.pc.in @@ -1,10 +1,10 @@ prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include +exec_prefix=@CMAKE_INSTALL_PREFIX@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: llama Description: Port of Facebook's LLaMA model in C/C++ -Version: @PROJECT_VERSION@ -Libs: -L${libdir} -lggml -lggml-base -lllama +Version: @LLAMA_INSTALL_VERSION@ +Libs: -L${libdir} -lggml -lggml-base -lllama Cflags: -I${includedir} From 9dd7a0390feffcc1f4b17eb7692a6e43030d85af Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 6 Feb 2025 13:41:37 +0200 Subject: [PATCH 52/77] llama : add log about loading model tensors (#11699) --- src/llama-model.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 0487c978b..e30db66e9 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1275,6 +1275,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { const bool use_mmap_buffer = true; + LLAMA_LOG_INFO("%s: loading model tensors, this can take a while... (mmap = %s)\n", __func__, use_mmap_buffer ? "true" : "false"); + // build a list of buffer types for the CPU and GPU devices pimpl->cpu_buft_list = make_cpu_buft_list(devices); for (auto * dev : devices) { From 194b2e69f8da3a22395c74fd9acd6d5835437b96 Mon Sep 17 00:00:00 2001 From: Akarshan Biswas Date: Thu, 6 Feb 2025 17:12:35 +0530 Subject: [PATCH 53/77] SYCL: Adjust support condition for norm operators (#11674) SYCL does not support non contiguous tensors for norm operations --- ggml/src/ggml-sycl/ggml-sycl.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index 2984ed82e..aab34a752 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -4537,14 +4537,17 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g case GGML_OP_VIEW: case GGML_OP_PERMUTE: case GGML_OP_TRANSPOSE: - case GGML_OP_NORM: case GGML_OP_ADD: case GGML_OP_ADD1: case GGML_OP_LOG: case GGML_OP_SUB: case GGML_OP_MUL: case GGML_OP_DIV: + return true; + case GGML_OP_NORM: case GGML_OP_RMS_NORM: + case GGML_OP_GROUP_NORM: + return ggml_is_contiguous(op->src[0]); case GGML_OP_SCALE: case GGML_OP_SQR: case GGML_OP_SQRT: @@ -4576,7 +4579,6 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g case GGML_OP_SUM_ROWS: case GGML_OP_ARGSORT: case GGML_OP_ACC: - case GGML_OP_GROUP_NORM: case GGML_OP_UPSCALE: case GGML_OP_PAD: case GGML_OP_LEAKY_RELU: From 9ab42dc722ad19a12af80f38a06474d498f96da3 Mon Sep 17 00:00:00 2001 From: Tei Home Date: Thu, 6 Feb 2025 20:16:15 +0800 Subject: [PATCH 54/77] docs: update fedora cuda guide for 12.8 release (#11393) * docs: update fedora cuda guide for 12.8 release * docs: build cuda update --- docs/build.md | 61 ++++++++++++++--- docs/cuda-fedora.md | 159 ++++++++++++++++---------------------------- 2 files changed, 109 insertions(+), 111 deletions(-) diff --git a/docs/build.md b/docs/build.md index dd6495028..afb7a0402 100644 --- a/docs/build.md +++ b/docs/build.md @@ -125,21 +125,66 @@ For detailed info, please refer to [llama.cpp for SYCL](./backend/SYCL.md). ## CUDA -This provides GPU acceleration using an NVIDIA GPU. Make sure to have the CUDA toolkit installed. You can download it from your Linux distro's package manager (e.g. `apt install nvidia-cuda-toolkit`) or from the [NVIDIA developer site](https://developer.nvidia.com/cuda-downloads). +This provides GPU acceleration using an NVIDIA GPU. Make sure to have the [CUDA toolkit](https://developer.nvidia.com/cuda-toolkit) installed. -If you are using Fedora (using Fedora Workstation, or an 'Atomic' variant such as Silverblue), or would like to set up CUDA in a toolbox, please consider our [Fedora CUDA guide](./cuda-fedora.md). Unfortunately, the process is not as simple as one might expect. +#### Download directly from NVIDIA +You may find the official downloads here: [NVIDIA developer site](https://developer.nvidia.com/cuda-downloads). -- Using `CMake`: - ```bash - cmake -B build -DGGML_CUDA=ON - cmake --build build --config Release - ``` +#### Compile and run inside a Fedora Toolbox Container +We also have a [guide](./cuda-fedora.md) for setting up CUDA toolkit in a Fedora [toolbox container](https://containertoolbx.org/). -The environment variable [`CUDA_VISIBLE_DEVICES`](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars) can be used to specify which GPU(s) will be used. +**Recommended for:** + +- ***Particularly*** *convenient* for users of [Atomic Desktops for Fedora](https://fedoraproject.org/atomic-desktops/); such as: [Silverblue](https://fedoraproject.org/atomic-desktops/silverblue/) and [Kinoite](https://fedoraproject.org/atomic-desktops/kinoite/). +- Toolbox is installed by default: [Fedora Workstation](https://fedoraproject.org/workstation/) or [Fedora KDE Plasma Desktop](https://fedoraproject.org/spins/kde). +- *Optionally* toolbox packages are available: [Arch Linux](https://archlinux.org/), [Red Hat Enterprise Linux >= 8.5](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux), or [Ubuntu](https://ubuntu.com/download) + + +### Compilation +```bash +cmake -B build -DGGML_CUDA=ON +cmake --build build --config Release +``` + +### Override Compute Capability Specifications + +If `nvcc` cannot detect your gpu, you may get compile-warnings such as: + ```text +nvcc warning : Cannot find valid GPU for '-arch=native', default arch is used +``` + +To override the `native` GPU detection: + +#### 1. Take note of the `Compute Capability` of your NVIDIA devices: ["CUDA: Your GPU Compute > Capability"](https://developer.nvidia.com/cuda-gpus). + +```text +GeForce RTX 4090 8.9 +GeForce RTX 3080 Ti 8.6 +GeForce RTX 3070 8.6 +``` + +#### 2. Manually list each varying `Compute Capability` in the `CMAKE_CUDA_ARCHITECTURES` list. + +```bash +cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES="86;89" +``` + +### Runtime CUDA environmental variables + +You may set the [cuda environmental variables](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars) at runtime. + +```bash +# Use `CUDA_VISIBLE_DEVICES` to hide the first compute device. +CUDA_VISIBLE_DEVICES="-0" ./build/bin/llama-server --model /srv/models/llama.gguf +``` + +### Unified Memory The environment variable `GGML_CUDA_ENABLE_UNIFIED_MEMORY=1` can be used to enable unified memory in Linux. This allows swapping to system RAM instead of crashing when the GPU VRAM is exhausted. In Windows this setting is available in the NVIDIA control panel as `System Memory Fallback`. +### Performance Tuning + The following compilation options are also available to tweak performance: | Option | Legal values | Default | Description | diff --git a/docs/cuda-fedora.md b/docs/cuda-fedora.md index b993386c8..9c88b7694 100644 --- a/docs/cuda-fedora.md +++ b/docs/cuda-fedora.md @@ -1,17 +1,16 @@ # Setting Up CUDA on Fedora In this guide we setup [Nvidia CUDA](https://docs.nvidia.com/cuda/) in a toolbox container. This guide is applicable for: + - [Fedora Workstation](https://fedoraproject.org/workstation/) - [Atomic Desktops for Fedora](https://fedoraproject.org/atomic-desktops/) - [Fedora Spins](https://fedoraproject.org/spins) -- [Other Distributions](https://containertoolbx.org/distros/), including `Red Hat Enterprise Linux >= 8.`, `Arch Linux`, and `Ubuntu`. - +- [Other Distributions](https://containertoolbx.org/distros/), including `Red Hat Enterprise Linux >= 8.5`, `Arch Linux`, and `Ubuntu`. ## Table of Contents - [Prerequisites](#prerequisites) -- [Monitoring NVIDIA CUDA Repositories](#monitoring-nvidia-cuda-repositories) -- [Using the Fedora 39 CUDA Repository](#using-the-fedora-39-cuda-repository) +- [Using the Fedora 41 CUDA Repository](#using-the-fedora-41-cuda-repository) - [Creating a Fedora Toolbox Environment](#creating-a-fedora-toolbox-environment) - [Installing Essential Development Tools](#installing-essential-development-tools) - [Adding the CUDA Repository](#adding-the-cuda-repository) @@ -29,44 +28,33 @@ In this guide we setup [Nvidia CUDA](https://docs.nvidia.com/cuda/) in a toolbox ## Prerequisites - **Toolbox Installed on the Host System** `Fedora Silverblue` and `Fedora Workstation` both have toolbox by default, other distributions may need to install the [toolbox package](https://containertoolbx.org/install/). -- **NVIDIA Drivers and Graphics Card installed on Host System (optional)** To run CUDA program, such as `llama.cpp`, the host should be setup to access your NVIDIA hardware. Fedora Hosts can use the [RPM Fusion Repository](https://rpmfusion.org/Howto/NVIDIA). +- **NVIDIA Drivers and Graphics Card installed on Host System (recommended)** To run CUDA program, such as `llama.cpp`, the host should be setup to access your NVIDIA hardware. Fedora Hosts can use the [RPM Fusion Repository](https://rpmfusion.org/Howto/NVIDIA). - **Internet connectivity** to download packages. -### Monitoring NVIDIA CUDA Repositories +### Using the Fedora 41 CUDA Repository -Before proceeding, it is advisable to check if NVIDIA has updated their CUDA repositories for your Fedora version. NVIDIA's repositories can be found at: +The latest release is 41. -- [Fedora 40 CUDA Repository](https://developer.download.nvidia.com/compute/cuda/repos/fedora40/x86_64/) - [Fedora 41 CUDA Repository](https://developer.download.nvidia.com/compute/cuda/repos/fedora41/x86_64/) -As of the latest update, these repositories do not contain the `cuda` meta-package or are missing essential components. - -### Using the Fedora 39 CUDA Repository - -Since the newer repositories are incomplete, we'll use the Fedora 39 repository: - -- [Fedora 39 CUDA Repository](https://developer.download.nvidia.com/compute/cuda/repos/fedora39/x86_64/) - -**Note:** Fedora 39 is no longer maintained, so we recommend using a toolbox environment to prevent system conflicts. +**Note:** We recommend using a toolbox environment to prevent system conflicts. ## Creating a Fedora Toolbox Environment -This guide focuses on Fedora hosts, but with small adjustments, it can work for other hosts. Using a Fedora 39 toolbox allows us to install the necessary packages without affecting the host system. +This guide focuses on Fedora hosts, but with small adjustments, it can work for other hosts. Using the Fedora Toolbox allows us to install the necessary packages without affecting the host system. **Note:** Toolbox is available for other systems, and even without Toolbox, it is possible to use Podman or Docker. -We do not recommend installing on the host system, as Fedora 39 is out-of-maintenance, and instead you should upgrade to a maintained version of Fedora for your host. - -1. **Create a Fedora 39 Toolbox:** +1. **Create a Fedora 41 Toolbox:** ```bash - toolbox create --image registry.fedoraproject.org/fedora-toolbox:39 --container fedora-toolbox-39-cuda + toolbox create --image registry.fedoraproject.org/fedora-toolbox:41 --container fedora-toolbox-41-cuda ``` 2. **Enter the Toolbox:** ```bash - toolbox enter --container fedora-toolbox-39-cuda + toolbox enter --container fedora-toolbox-41-cuda ``` Inside the toolbox, you have root privileges and can install packages without affecting the host system. @@ -85,7 +73,7 @@ We do not recommend installing on the host system, as Fedora 39 is out-of-mainte sudo dnf install vim-default-editor --allowerasing ``` - The `--allowerasing` flag resolves any package conflicts. + The `--allowerasing` flag will allow the removal of the conflicting `nano-default-editor` package. 3. **Install Development Tools and Libraries:** @@ -100,7 +88,7 @@ We do not recommend installing on the host system, as Fedora 39 is out-of-mainte Add the NVIDIA CUDA repository to your DNF configuration: ```bash -sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/fedora39/x86_64/cuda-fedora39.repo +sudo dnf config-manager addrepo --from-repofile=https://developer.download.nvidia.com/compute/cuda/repos/fedora41/x86_64/cuda-fedora41.repo ``` After adding the repository, synchronize the package manager again: @@ -109,106 +97,62 @@ After adding the repository, synchronize the package manager again: sudo dnf distro-sync ``` -## Installing `nvidia-driver-libs` +## Installing `nvidia-driver-libs` and `nvidia-driver-cuda-libs` -Attempt to install `nvidia-driver-libs`: +We need to detect if the host is supplying the [NVIDIA driver libraries into the toolbox](https://github.com/containers/toolbox/blob/main/src/pkg/nvidia/nvidia.go). ```bash -sudo dnf install nvidia-driver-libs +ls -la /usr/lib64/libcuda.so.1 ``` **Explanation:** -- `nvidia-driver-libs` contains necessary NVIDIA driver libraries required by CUDA. -- This step might fail due to conflicts with existing NVIDIA drivers on the host system. +- `nvidia-driver-libs` and `nvidia-driver-cuda-libs` contains necessary NVIDIA driver libraries required by CUDA, + on hosts with NVIDIA drivers installed the Fedora Container will supply the host libraries. -## Manually Resolving Package Conflicts +### Install Nvidia Driver Libraries on Guest (if `libcuda.so.1` was NOT found). + +```bash +sudo dnf install nvidia-driver-libs nvidia-driver-cuda-libs +``` + +### Manually Updating the RPM database for host-supplied NVIDIA drivers (if `libcuda.so.1` was found). If the installation fails due to conflicts, we'll manually download and install the required packages, excluding conflicting files. -### 1. Download the `nvidia-driver-libs` RPM +#### 1. Download `nvidia-driver-libs` and `nvidia-driver-cuda-libs` RPM's (with dependencies) ```bash -sudo dnf download --arch x86_64 nvidia-driver-libs +sudo dnf download --destdir=/tmp/nvidia-driver-libs --resolve --arch x86_64 nvidia-driver-libs nvidia-driver-cuda-libs ``` -You should see a file similar to: - -``` -nvidia-driver-libs-560.35.05-1.fc39.x86_64.rpm -``` - -### 2. Attempt to Install the RPM +#### 2. Update the RPM database to assume the installation of these packages. ```bash -sudo dnf install nvidia-driver-libs-560.35.05-1.fc39.x86_64.rpm -``` - -**Expected Error:** - -Installation may fail with errors pointing to conflicts with `egl-gbm` and `egl-wayland`. - -**Note: It is important to carefully read the error messages to identify the exact paths that need to be excluded.** - -### 3. Download Dependencies - -```bash -sudo dnf download --arch x86_64 egl-gbm egl-wayland -``` - -### 4. Install `egl-gbm` with Excluded Paths - -Exclude conflicting files during installation: - -```bash -sudo rpm --install --verbose --hash \ - --excludepath=/usr/lib64/libnvidia-egl-gbm.so.1.1.2 \ - --excludepath=/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json \ - egl-gbm-1.1.2^20240919gitb24587d-3.fc39.x86_64.rpm -``` - -**Explanation:** - -- The `--excludepath` option skips installing files that conflict with existing files. -- Adjust the paths based on the error messages you receive. - -### 5. Install `egl-wayland` with Excluded Paths - -```bash -sudo rpm --install --verbose --hash \ - --excludepath=/usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json \ - egl-wayland-1.1.17^20241118giteeb29e1-5.fc39.x86_64.rpm -``` - -### 6. Install `nvidia-driver-libs` with Excluded Paths - -```bash -sudo rpm --install --verbose --hash \ - --excludepath=/usr/share/glvnd/egl_vendor.d/10_nvidia.json \ - --excludepath=/usr/share/nvidia/nvoptix.bin \ - nvidia-driver-libs-560.35.05-1.fc39.x86_64.rpm +sudo rpm --install --verbose --hash --justdb /tmp/nvidia-driver-libs/* ``` **Note:** -- Replace the paths with the ones causing conflicts in your installation if they differ. -- The `--verbose` and `--hash` options provide detailed output during installation. +- The `--justdb` option only updates the RPM database, without touching the filesystem. -## Finalizing the Installation of `nvidia-driver-libs` +#### Finalizing the Installation of `nvidia-driver-libs` and `nvidia-driver-cuda-libs` After manually installing the dependencies, run: ```bash -sudo dnf install nvidia-driver-libs +sudo dnf install nvidia-driver-libs nvidia-driver-cuda-libs ``` You should receive a message indicating the package is already installed: ``` -Package nvidia-driver-libs-3:560.35.05-1.fc39.x86_64 is already installed. -Dependencies resolved. +Updating and loading repositories: +Repositories loaded. +Package "nvidia-driver-libs-3:570.86.10-1.fc41.x86_64" is already installed. +Package "nvidia-driver-cuda-libs-3:570.86.10-1.fc41.x86_64" is already installed. + Nothing to do. -Complete! ``` ## Installing the CUDA Meta-Package @@ -233,7 +177,7 @@ To use CUDA, add its binary directory to your system's `PATH`. **Explanation:** - - We add to `/etc/profile.d/` as the `/etc/` folder is unique to this particular container, and is not shared with other containers or the host system. + - We add to `/etc/profile.d/` as the `/etc/` folder is unique to this particular container, and is not shared with other containers or the host system. - The backslash `\` before `$PATH` ensures the variable is correctly written into the script. 2. **Make the Script Executable:** @@ -262,26 +206,33 @@ You should see output similar to: ``` nvcc: NVIDIA (R) Cuda compiler driver -Copyright (c) 2005-2024 NVIDIA Corporation -Built on Tue_Oct_29_23:50:19_PDT_2024 -Cuda compilation tools, release 12.6, V12.6.85 -Build cuda_12.6.r12.6/compiler.35059454_0 +Copyright (c) 2005-2025 NVIDIA Corporation +Built on Wed_Jan_15_19:20:09_PST_2025 +Cuda compilation tools, release 12.8, V12.8.61 +Build cuda_12.8.r12.8/compiler.35404655_0 ``` This output confirms that the CUDA compiler is accessible and indicates the installed version. ## Conclusion -You have successfully set up CUDA on Fedora within a toolbox environment using the Fedora 39 CUDA repository. By manually resolving package conflicts and configuring the environment, you can develop CUDA applications without affecting your host system. +You have successfully set up CUDA on Fedora within a toolbox environment using the Fedora 41 CUDA repository. By manually updating the RPM db and configuring the environment, you can develop CUDA applications without affecting your host system. ## Troubleshooting - **Installation Failures:** - - If you encounter errors during installation, carefully read the error messages. They often indicate conflicting files or missing dependencies. - - Use the `--excludepath` option with `rpm` to exclude conflicting files during manual installations. -- **Driver Conflicts:** - - Since the host system may already have NVIDIA drivers installed, conflicts can arise. Using the toolbox environment helps isolate these issues. + - If you encounter errors during installation, carefully read the error messages. They often indicate conflicting files or missing dependencies. + - You may use the `--excludepath` option with `rpm` to exclude conflicting files during manual RPM installations. + +- **Rebooting the Container:** + + - Sometimes there may be a bug in the NVIDIA driver host passthrough (such as missing a shared library). Rebooting the container may solve this issue: + + ```bash + # on the host system + podman container restart --all + ``` - **Environment Variables Not Set:** - If `nvcc` is not found after installation, ensure that `/usr/local/cuda/bin` is in your `PATH`. @@ -291,10 +242,12 @@ You have successfully set up CUDA on Fedora within a toolbox environment using t ## Additional Notes - **Updating CUDA in the Future:** + - Keep an eye on the official NVIDIA repositories for updates to your Fedora version. - When an updated repository becomes available, adjust your `dnf` configuration accordingly. - **Building `llama.cpp`:** + - With CUDA installed, you can follow these [build instructions for `llama.cpp`](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) to compile it with CUDA support. - Ensure that any CUDA-specific build flags or paths are correctly set in your build configuration. From 2fb3c32a1634488a5265d1304ab37628eeb5480d Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Thu, 6 Feb 2025 17:32:29 +0100 Subject: [PATCH 55/77] server : (webui) migrate project to ReactJS with typescript (#11688) * init version * fix auto scroll * bring back copy btn * bring back thought process * add lint and format check on CI * remove lang from html tag * allow multiple generations at the same time * lint and format combined * fix unused var * improve MarkdownDisplay * fix more latex * fix code block cannot be selected while generating --- .github/workflows/server.yml | 25 +- examples/server/public/index.html.gz | Bin 1207128 -> 1219985 bytes examples/server/webui/.gitignore | 24 + examples/server/webui/.prettierignore | 10 + examples/server/webui/eslint.config.js | 26 + examples/server/webui/index.html | 353 +- examples/server/webui/package-lock.json | 6655 ++++++++++++----- examples/server/webui/package.json | 48 +- .../webui/public/demo-conversation.json | 2 +- examples/server/webui/src/App.tsx | 36 + examples/server/webui/src/Config.ts | 89 + .../webui/src/components/ChatMessage.tsx | 229 + .../webui/src/components/ChatScreen.tsx | 123 + .../server/webui/src/components/Header.tsx | 182 + .../webui/src/components/MarkdownDisplay.tsx | 254 + .../webui/src/components/SettingDialog.tsx | 306 + .../server/webui/src/components/Sidebar.tsx | 95 + examples/server/webui/src/highlight-config.js | 60 - .../webui/src/{styles.scss => index.scss} | 25 +- examples/server/webui/src/katex-gpt.js | 66 - examples/server/webui/src/main.js | 704 -- examples/server/webui/src/main.tsx | 10 + .../server/webui/src/utils/app.context.tsx | 304 + examples/server/webui/src/utils/misc.ts | 87 + examples/server/webui/src/utils/storage.ts | 138 + examples/server/webui/src/utils/types.ts | 25 + examples/server/webui/src/vite-env.d.ts | 1 + examples/server/webui/tsconfig.app.json | 26 + examples/server/webui/tsconfig.json | 7 + examples/server/webui/tsconfig.node.json | 24 + .../webui/{vite.config.js => vite.config.ts} | 49 +- 31 files changed, 7100 insertions(+), 2883 deletions(-) create mode 100644 examples/server/webui/.gitignore create mode 100644 examples/server/webui/.prettierignore create mode 100644 examples/server/webui/eslint.config.js create mode 100644 examples/server/webui/src/App.tsx create mode 100644 examples/server/webui/src/Config.ts create mode 100644 examples/server/webui/src/components/ChatMessage.tsx create mode 100644 examples/server/webui/src/components/ChatScreen.tsx create mode 100644 examples/server/webui/src/components/Header.tsx create mode 100644 examples/server/webui/src/components/MarkdownDisplay.tsx create mode 100644 examples/server/webui/src/components/SettingDialog.tsx create mode 100644 examples/server/webui/src/components/Sidebar.tsx delete mode 100644 examples/server/webui/src/highlight-config.js rename examples/server/webui/src/{styles.scss => index.scss} (83%) delete mode 100644 examples/server/webui/src/katex-gpt.js delete mode 100644 examples/server/webui/src/main.js create mode 100644 examples/server/webui/src/main.tsx create mode 100644 examples/server/webui/src/utils/app.context.tsx create mode 100644 examples/server/webui/src/utils/misc.ts create mode 100644 examples/server/webui/src/utils/storage.ts create mode 100644 examples/server/webui/src/utils/types.ts create mode 100644 examples/server/webui/src/vite-env.d.ts create mode 100644 examples/server/webui/tsconfig.app.json create mode 100644 examples/server/webui/tsconfig.json create mode 100644 examples/server/webui/tsconfig.node.json rename examples/server/webui/{vite.config.js => vite.config.ts} (58%) diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index 0cbc3d640..3a29107d0 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -81,13 +81,36 @@ jobs: with: node-version: '22.11.0' + - name: WebUI - Install dependencies + id: webui_lint + run: | + cd examples/server/webui + npm ci + + - name: WebUI - Check code format + id: webui_format + run: | + git config --global --add safe.directory $(realpath .) + cd examples/server/webui + git status + + npm run format + git status + modified_files="$(git status -s)" + echo "Modified files: ${modified_files}" + if [ -n "${modified_files}" ]; then + echo "Files do not follow coding style. To fix: npm run format" + echo "${modified_files}" + exit 1 + fi + - name: Verify bundled index.html id: verify_server_index_html run: | git config --global --add safe.directory $(realpath .) cd examples/server/webui git status - npm ci + npm run build git status modified_files="$(git status -s)" diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index e876776e82eeba329b1e808cd46684e32aca94f5..646988ad8e494e1bcccfd2fba6f549796aebd983 100644 GIT binary patch delta 1219129 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
5rQEP@(>a!WG4^AIfpx?^=R2 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
Wlgfun0l8 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
Q&Fj?z&dvIkh0z8X*QF@E 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�be6C$erqV-Dza%X|1--74u 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
=65KLdzYst^Zz>pDv6oyuxz>vMI%)t6N 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

Q>T*K>gEx|AVWWU%=W%nV|T=B^766n9v``r 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°(PuRsZ?kJ1S8+F6X&{}L!en(aU!*4N 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 z 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 +HwF&2|TOu>}qq=upl=gbA@AtZo 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

@?dQ0u-+oT89RRGE$3^pA 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 UVODg z5k_5h!f%{XXsfDM*+uH+0_W>Jumda57Vp~395tP|y;3qOO}*aw8#X3#o!dL4VC?;U zf!)i^6&4R}wMlg$hzl`)6`ESb;j+5IEeRW%5_&eW!(rvmu|T=_gy@H||^QH%@jwmjY3ryL^FUX1gDp#Kf{oxt!a7O%unt$X?v|v}-Om zXB?mpr!=+omNgcz0(j+#)iM8*D9j z6(DG&-f6OyZ40h{9E_V9x(U4hel#@3gougdh1L}pekbTu?Ac$aH#PI&?2BBxJ$!t4j;7Z%BOWSRl4O|LQo^CZ1u&epAi6Am-gH zg((7&5cqWCx=tigH>@JkFQduu5_9$2-8oqciOYE{x6Mv}tRld7@vTCHK@THF93$E( zf%B81<7pv?8qJ+x+XY4$z&Q>9SKkjb9DCAfC?@1cAz~#W_Q|sEK!s|4^UA zy$uW~vd$`hjrH0 z-FmBjhSqEER#B1+?kZngQt{%Fti`;EgZf-GZSq+`R~n%J;!#d2C8JRlMi#a+ManNe z`-nPb1EMT@BYuUC)xy+N>}Z_aC~C->fp946Q1*&{!5bJFH)LwrV$-@5MYa!Ph}a;T z6TYn=^F&kQFCuw>(-_+pI=<$J(DW&c3oYL`nXEEc=$nt5*kI=O6HUw7mH?D0KN>>w z^F5>W8m?R@2M+Assh*Zm;UIHi{&8}R9w5|yT%~xl^S6T)JxBv1Xt&k%dG0J`pINo$ zzpc=J@G&50qu#7hV`wD-!Y?%AG6x-9Pp1yINNg2xBJ?O@bWyQm$Ack!U30|DDP<9I zfGql>>Y=Eyh5{c;VHg3m+?@-5?yQX(cY#GPUGp}!LH^KE%vvK;8|U_<%S8ZJIX`=j zoEj1x+r2wZwA;?H{tWT}i#%&mc%h7SJ_2}A$q1tpWR9w2#cf+a0!mE_m9Qx0rBPh8qXu)Js4!tuO{m9! zj;OeE`uisV6P)58fz*N6V}_{36@|03&OUtiWiA43yx| zDaWDnchamR=Bk!lDXpYm4+~PD9XR3HtCRp%d*@u$2wCD}@9ac9r^;jGXtBk8aUBJ` zW0Olsma@#Pr+eZ_=S^4wnidp)i8QT_ntk6qpyQEt9=JGx_XKbqt^g=Ts>ukN zPA5cVtjV%zAu5>$p&kN{jxlHloH)}o0Uhrf5r7-Chjy{e%2PNp$COJEeTE#}?l_slC(Z#INI6X<;Lm489F25;bPb>q#gwfK5nQ`btvx}lmE z;GD&jd2Dlt|IN?|cFFI5lv*&Jf!@)76Gi_%YP2j&m`8O-C$`r~ZP^iPcwOIaZDt}6 zmE$t)q6M^(0sa7LVTq0aS3s!0PWCu*c+%dA+!J6uawU%pQqtZMcbXsZMc%|Cl!@cl z+%sla!NO~l5?qm}UQdgxqy#vUK&nEm%Bngmf{h1ePrf&2YeOqC+QiTMe=j+Z8*DJv zpa+0JI%*wbopVv{F0rDxV$uhcNK=y935x5J5XVcjGZFd_2``y^WtHF9?B2&KO|u43 zEE(Wcohc9YB!z-FU&|&aLB)I>{6LMvtY?p*R~W(k;I%#yz+*hlfDhZrneblT8_%S> zDvc;ptoPY9tdRxJn3W@~fBi;unl?(rC#yp$en-Se2zYX!=eA3~W*j4I&9X7p*AX&f z!^-^3M%{zDpVWA~Yk(qQ-S6$fiUZ6>&m!eM(c4t5W0Q0+wYg)1MJb;Q%gNq@;OU2A zQ)7c76Bc6gb(2Bfgf_!ZFPOvcq(sP#{-E3#Ze)I%$-NYae;f=3^+eFC3A(00 zXq7J`%^X}PDF~!`gWnU$hmpPH1phhRX4f0Kmz4R@FxVM*;Dznq9M(a7cmQQ7oentj1r1&H;e$I6?Srv(^0 zFIAySe#ckl)2br&>zl8sPZ#HHt_}!~0(>Rn=Pm^nU{{$}g5f0!Anz9_)tgQ-3OoBd zfa7+7ICU!Ij&~C5?T#u%q?p1*3&lqhr)C8Gi70#}%hUN7e+^@Zk?FIH&14wMb5AU^ zadi0*ucwU7n&un-ia;*B-9>*9_25k*&jWVSe4;hJ4OEiZ4e|U-HqQxo&#pSE_<`oA z8M82r!P1?kPYdfLLqwO<0DNG0tvSV#;=&qI=Dfe}{@7uH4%ko zd3O-81Zn8?ThymeV{`P=$a;LFEM;?*<@gJMjqi*1B+Ar{c)oMDq2$$L)v1>|tc~1r zFQMp*c;k}&FHPF41@*u`Cjhyup|8Cf25+vgAWL?VYbFz|%$wa|Kq%T$dmO*s!V08-mwlWd2Y@j5VFk4qVFv(Q7u zdvAp^nj4wg&NY#Wwk~Z3VZp?S+rCo?taPB1<5=%HmkBLNHgM2e>8NesIzbxK$X!# zc58vrfe2R3K}qo7$(IJ1eu+=ND(;~hs4CU^f4lwYF)H(cinDE3E}g90GSy{coWZYz z&;Bp(;(OXr5c;u9KyuP~0SrVFu}iA`?l&(|*vYDL z78kB~my|7<-I!nUj1J}MtUb#pV}hR(RSO1kj8;(vr4fO@5c( z(s@MPx-|L2wBc8^lX9L)&<4|VN<#O+AtPI~dp?3lB5YF@(RMA)PCKr>55dHkimRU* z*Vx%{FqP>l@|y@pu$|K18Q#nz1P=DPJ!B&>d2{ik{R+7j+2 z5X6CL(nLV&^(cR_kTB^*szbOVxTNn3#Jpp^VtLqv0m<`3Bln7?&kE50e+HjJ?o0LP z{JS=xK=^R&4mRRQOjSE>m6sL(NShn%sB<1>N9kMNeh|0qh|VbkyO-hVxrNR_(}67lOne8&Wk0|5b_JLPp+l14Qv?eSA?> z6a}N-8x3FfR$N`>n4dY`&-tnR$yE?ya{TuK;yUhn95MQ{9nwI1SXC8JALEUMkmO+~ zu>Wag0mZH(ih!YSr_j0AE+hivqTVF3rX+jx5G17L$js%s@5d$?f24c~z?9dly{On; z#?~Y#BRLz)#w}&B-NwUfvK4HcI-tV7=9*7N15(szhWk1UR4Tt9Zm#;TN;0cWQm~n@ z*;2Ps{z4qyZg1XViw(K*Pd+XacP<8n%ijZv1!wmV_7Q}l*>e&p zS&&xk>J|%t=P+t!6}O$QcDJSIVKq z%!ra$vOlJbuBTN6Q9AxrhTfS<7|&k{LTpEw+D#>k7lEhdf8MSQ`#gG7*sMzp*&U#N z`Xb79SmgbF8alIIOphHDzp&s&ht8u;?;9GPbh906`Z05PzXNx?v`b!%mz@PoEOZu> zcEHJU8sY|DbXdQ+zZxk$kH6oAzLnS}ziiJ^^IXg5PMK` z?6ytt28yR)e-vlecajqVetf7*#VtaZD{6{YZ?9U6#Y*u$!a+SUA&6`F?&4%~i~~O? z#qyB~Tv3Ul%PwH~J=ydxE4=c7OdRz4=;4V{bCFM2)~BYk$901mLcD}$(liBO9_qH~uPh?zr^}_uTj?}oZXyDEer3#8K9am0MN6--Ff^&w`Z9iOg(Tt&sc>jY7z})U#Iq z?JTV>e+&wP?C!~lR*H50^KOQPp*#G|w*v|Nau{}Syb$&QJP){MU=-DYKfm9ej!&+3 z$>P1!?3TP?Y+q?Q|Po^iyQ#?MC$S z-D4YaBxlQfDKpY{IEP2d5}&t-$QNQ2Hor?$IBq!m7XgZ{2buX*R#iKoUK^HYIsOR> z*p(NARw$kg8-5zRJ*w4y2Mblcebi4$s)sHN%mt2MNSqe_h{rFPj16h(QiGvN&H+r? zfATnNq7q+r))-ZhT3jS>W{FcM*4qoL_jyc_sy!gDAJb#4a{8<&SaG0FI+687XM_G| zjMy_Lkv8qRlG!hpf%QE~tnT>>p~~~PS@lVy@K!gIU2-vNElWDc}2`9YC!RMB*od;)!15)fc%Hy{TlDwB(`^GD<=qHwVES9vwJ$Bw2F z^H3*pI82NxlgTXqV*e?9X#tU_zMf8kR*z&7;fL&D`?E~PM~-tO0gOYPpV z^a~$V(a^fooUWg;4%MOF+XT>MDHTH1cX`BCQ3RuV^vn;npsv6e@O7dgOQgW2tg$qqfVZkF4sn&V_QO6+9_&1XA z(Oo~68_Gps)y3Zh(X|}<)P~$>q{vFsJ}EM#bM{b?n#WoX0><$r z<<}u;c^hnd;Skh%-H=rcf9J6)=@Ah{SZo=-K5RH2A~7@z@iX3a7DQBHkI4P=e#IgfN6$!>@~@=U8m?;T_Yje>FV{?t^xIW%LVq zzU-LI`p%X@TWoVwlu*g-4ow!`4gi;4Eunh;MHkj^-{?7ysI34m!BRA8xQ3#0R^xdl z9|8T7K%LtA4*)AQy5;EzUs$`U2x5!}0>&au8l0aJIi$X4UiVj616ku0?G4b%J^4K* zvWG;BKmk%2Nngede>>BS`7fC;I8-H@U36Gph=>HLujd+xJ)xHLG|!tWq-^Tzo@tTr zEYo=Lm$wT|ryTfLS|Vb;5_Y&0RyYW~iU(-)!vZ)uvJ#izHE&L$y~x&Qn=#-myw)YX zv}N9Ngr9z_OA@{bmmKf+BJZRXn={;+LkS<3*kjcgf2&Z5e@G-22CN_M2x4ObjY41Q zfoj+B#?EP5KMuf39^Q_>=yqhYrqumo)>11Tifd5@vbYuT?{6=9k1N>dFakd6?5`CH zeAd7{TX^S&i&Z(Wp9PnHTl2EMsCA-6sUhxM3$sh#GUzGyh2YLohAR4%c?%%-8^?uW z`)Wve-Lah)e~hzYSROr|>*Yl`eAN6PqW^H9iIJd3K_shQ;o^y`Sz78CrV|4Gl7?GN4<_At7+J~V?5n4|`KJjh?i+%bz|XEx+`z#V@@ zdrD5^3acovjgK$1n3;D3sUf^8l|zQ1^kwSGVuL=L3Wb(XI;=#mjb^P__(xX9DG=ec z33MOshXhcLog zFD0fwAi3ra$Ot`Xa~@o|&7#RL%_F7`kaya-LkRIRw6sH#ZW9bYgKr8?4FzbhS3V|a z6A%#-d2N*)%cbLp^Yo$_?IAu8#R>s^1gRJ>e=CM{(#1bwE~ZqTPD0%^ac}cb*sqYR z1Rq!2{or$94b2y$0avc&%QsEBHVbN12_#u>a_t?QAo#X)+L*M}(iNkWm$Zp*IXuCM z#-d0Kywo$`P%~hwb{3K|>wDwx$wW!Dd;4iVrQ1KELOx3}<~Jo+TG1Aj)^SEd$eO6q zf6>85US=85AgV}^7s0Dblg_Z#9%hY1^%+ElJqrL?tB(%AF$XMylThR-I*3UZSI3?l znT~{RlSIP2GqU`nnvD(Wy+mc6hgFsL^*G->v|y=JpP`zU{6bqZkV_f&)(6l=Ku!6_W8JOWV4w(Sbe?&rT8kZwT&f|PkXvN^}Ti>uq{)R6Bka+UK z5u80hxxlD6T7PfGzX9fFDIj@Y#EGW2QQ_1m1Ang;VkZtgugjB#y*eDalRLjqO?2fC zsVp7n>eg{m-ve%r%g)G~Por!QO8uk*V@P$nxOQN`44Jb-6-rz0@l;JYA9K&gyPOmexMMftg&1 zbtye}zx#c^T5#lXR}&Hjq_RQqtzt!1FFA<=Bf3h}5z|WvAjb z#qXIA2zKR)ST2q_&I@&UaW!=bf1;Ikicqf5Te54>7Na zCN)A?gX!vN^!xcgJ!4DKenDknDW3DcvO_z)rM$hfysa#}BCQ1i0Xe1BTmDA*F0N2= z#aTU(|FCxS!#?QR3^sZyX92a!QN6196?dDUS^^MNb2pnOzW7c&V!mbAbbOZ;egtk4 zdJ;|qZcDfpcu~k*fNMzff3rHee|v;GLY$Eeq&po~`XzBOJyY>xG`I`#&*f%R^#L}~5CD*z-^!|7i7Fc88y3?&lxmjnf8H0m=G=cn`gzwd zKxw@sR^c9)-#T}(%@q)5dg_vDP*ckP7JHJuhxbQJSWhobnPwlAV4KxQ!1J+P(=y@o z?u|0M8G^WGz#8xL#NmYoUlHyH*KxoSj{-;)=HOJsoEm_o6i@wJjeOEIh8D)c+1V?Y zjq7?lL^$V?9*^_(e>;EL57UDbZn(?TRVv0->m;Md5;CGFFn$ci16_h6QUs$>UzLOl zM)6!onGIQ5fW<&WteWL@yh^N@?#I|oS(YNKwN$1il9^LMrdn6HRyKjF9{hLeNG`e9 z#z#(?ix_|=fXVoztxyQS>d7ZY(1|KmD4939kC_AY)F^Ake>hf8T=|+@ER^}i)C5nx zo?BY*3jD6dHA)k7drMmPX?5O!89wt!jpf4A?FNWnB{$vRWDsgduU;nV~ z83vBALewvfMat~c9t%7#w#$Y{95a?H06C~DoTil~>dxw8d_j%vDFuMp01!OzY2l)% zZlMH1QsG&kn8brEUT!P;WDvC2u-C>)`tkkp11Swpe?b?&wT#xVaWQ*-#qi%2>jh}^ zbHI>2dn_LCku*Spq)7rFYOo$SD+pg5qOii7wk_{se`dCIUB9E+F$JYbWPg42MBB1| zvQ-y=p|XaSr2nn(D0F%Ja>++bc-UC93H|yuEd$o`v1Xsq2s@UCP0G^vK~Q<5eRKpv zZNXJ=e`J8P4dZ)avenQF4-uEN(4cW{b ze>El7`sSfb7|OCASx0$>ipNfGol~Vu_G~LDf5J4OS1dNM#+a1i5XQTc+i{MM8miws z&LXDg7?qMRANZFqV^l(g;S)xDwVAMx*f8w3*ZQn=?&F_y=qI$Cq7-Jn_V%5<(a;E04@`i>#X{n+B#hOsrg{$spG}fsi2J|6xTgfB!uM^MlN{> z7ylK6_v{HO(NtS2u5gojvB3DvO*Y5o&2*B;a1tvzd2KmO4DBvN=|Z2ia64jKCD;#? z>n_4;IY|+sUjlq&{kR=*99)yR2|a7|ew?5c>NfS)K@wlaqe}~Knj5G7+Qqvx`nFZgk&&TVds|m0IB7p`9J#cFT z_eUI%Vo=mHu)*Tt#s|1&^fALK9b=pVT?Tw*4;h?qK84vhtRSwZvPWekQx77` z$N3{=N*Z=*WaE=s{kv+1>%fpqVm!^8Jg?5Qn}={2D>Svz0dQaRpi_%IfA|=JesL)5 zn`{6dN`m7U8#v#GO4`(-uXXf%@Vpo8|Du4{#uehgddV* zbd^Gvh93K6TDqx+6!GKRFObzSS|Y@E=W-W9g@u#sHi?6y*F`p5#sEw%#+6}9r>6Gh zu7hPZ1_ERDScCz5=~v>ye??DYk-w7W8aVhyI&UCo_Wjn-l#{e;TN(neL1ua23OLNR zHXm!p-lbzuY%Y?PewL=IWp4EqHj>3FuV+ZAN2F3$BTx`2M+jiZ%o;OwWjPj} zZD@HwirtKZ!jQsE1lE#8Yt67Z$7DwK(6n3t3U^chbt7~Zw7*}3e?$Jx;2A#T0@;h= zfrx=e;G~}{dpgSY~Eq0?Rpe!4h63l7{R0$MiYGkf(a_F+BHS+VxM{@ z@$SvsH@>e2UMx-)+pd*nJCU9}ia$D=z7|2#SSOjI)jasO8V3=y#7Wp*6qQ{g`AM6t zgvlN70)$5*(WInvuUx%CQf$w+g`e!r&m=n2+XcAk9bN_Af7=y*aCJrx(7(thK&Tia zz3fK*RJ2cI97cM9LST~h&az>Ly-&1$u~jEslq}#h z+1l{+G#c8*&baVy84 z(Q@jNmx{Uae`>C0ueU)T6|{<`2ld1~Jg8&{vmRqyON?_CAaO`Zs6`IfCyBvYmlGc1 zeu&UWjo{5RVn{Dsa{l^xR8M?5f8{n&qsAa5w=Ru@%gs_OMLc9hK|FesfBOtWdHca{ zeoWW7C$SHeVx?ih5E(og?RLfibjhLQ_*e`S zTX2q|vYQE6SBaAgwl2yo{}AaswcKb1jk{K69wX`Og;R3zS#C05gN*O^K(Bz$E%jkHuZWDjr@#OialOw&YQ97 zg`sjz@j<4NV_MIMd{j(lm+t*FOGn1-gs| zfBD#n-t9zsj`(r$gHC0LWgryD|sVs%I0GT#bt2&ExEBWj)VUxOC(YYAANf{%~F;Y%a1s6O%VOt~f;+l#8 zXHh?Ek2clfBXP1!2SlL+&s10W674dkf4s*}xf`Ylfpeksx4Bm*)f;8dx22WJUF|ao z7+<(*AP}@qjQ@Zp7^cYVOV1k3?Ux6o1&FQEbgwfUl0YRHe1-dSEBT~-BMy8_)ap6n zh4c>+>+zh!9bMI4U3RI#x!c+0y|loDvTe0oe~uK{nidX{fKC*MI{xpekQA#re|T!N zsFa4TmEyqHcb1O$ljxmi;7D7iaIWWlFL53A3OjA8EC`|Ku;Enf6ZotmdLf$O>HY zy4mPgX(}4_qv%pWpBIx+f4}KIe>abe{0=rc`|;*;>eTtBSv_$SygJ)*4;DE;!LtsQ z%mH&dI8+0|C4X^C)m$Iu`L(~`EptaGtfB;6`^anlK@(Jgr0-kc^+i5_n|bXxD9cdc z)SzV9bMgjP%dWM8ce++CH7L}HNTAh5TaJFIi)P)G_;(cDO6ySRJiRz-e`^E=+y(;qpZmx8qPIx||Ub;GAai?0@sno_BDkOh`@o(11pqC0sM>4`SRu*mRpe8%-u&97C<6HM8%uWHOCz3nB^a~k`7wpQT zPR-Ox4Uc7ah-UY6j`=rCX*Qwm08N2F8CiM&WN(VmSR7kYuXvrj&KU>x9e4|zT38ITLEtbe@J-)9oz&zHX{m) zNMg=q?h49>cl32)RRtzl!MewCf~%B`Ol^Fwx}^(ozkA@~9Wt7@0m9T8QhH@sFMd__ zF6=q8nAN!e^xNLdjT`OdLr(>d0SfwBYrkVcz>Q`q{%z1CWi z{>uadJ9Uob)^|1O-_?FT0%5eIv6xY~X=L`!L@rJ<=I#)?d)2*JA@T|-&%+C$gY{!@ zspPV3Xkc|Le@=d`L6|`2)h4=+qXRjya%h(|VXVT;nwqm)e*-uvltJoWdx|2QeP^`-wdG&4Vg4gZyg-tQU^>7}Bm+ z3jN=*;@vu8e<}OIy*|u-^GO0KfJM*@AJvvnh_S@pJP_)i`Y&gkl}r@@hgs!Jet7Xr zr%2_NK407*75;1srGjRp{^M`CJFQ8QIHnb{s$FDmF@ox~tT#Ne)%B0&n%+I|5_7}c zL*lr>2D4!Zd?65Fl~V?@z>ma7?pHCN_t$$b0d-C!fA{d)9?x&Lo*;+pedqwdb{qN+ zUivip=B=~X`0(GzeBFrR5Iva(!Eb((K5yj3{3Ig8s=?nb`zwIiCB3011pp2}37Bs15Ov ze^0dX=-L)Y@goqJ0HRiMd~sEqR~efUib-!y3&vIMr$=J-Dar zllB=D1S^6&@(I)8crQjLUr8l~&}!%f_(06DYcvAZqPajtJ*62&VLDzo4>F5Qtw^@p z9*B8{rlRiU2(}LjOIE9HRitVF7x8BUf9j=>hPisPUgulj!pStpxZ38#9V5lS@Dcv{ zay-hT4su)LQlw_jEb{V#y`kNPw=adAw%TQ=loQharlU(pL5mX48+&X{Ey8Z_8UIYQ z8Dzy2bB+4tZM?TkK_Bs^=u~J)a;&BNJ*)}lnJFrTk5nj8cp_HEhCW!Pn+Jdee@|&3 z!w38@5lZjP$TkgPYTO1~>5ZQKo(YMG!P7g|TD4(LRQJsmHnDAz2dhEWuDog~hh=aI zJG2K7hes2AZZ1!ldIKYTv!AZ}Cqsmr@(ZuX8Gn4L{H(8od^kg8hKzUrX4Sq*ZhIo?=s zF4{k%aAM?T{y2re%a%(t)OI^6$kue3Lq13}o>XA4siomu$=|WR>t$qNV2<~y zb|p_Z4z!+iI_Y6TyMBvGpbYQ#3yOJa`#X^{uP<|V%Y1O5_#-O- zFe4Q1Y=|)Mx1o8K=;Dx8e+S@1o+XkFoOm1*nAOe-xdNTY5jXJZWBb7O+qoH|f%Xi@ zmRL>FCEh&+rbsmIlVErHCnayem1SF+B$9uE9D$)+ghO6_skAy9;E4R__9u`M61>`T zHQu$&LBi^0{Cs(h?Pwt7SOE z=M0G(G{8p*a@}a3i5Hom9=-R84;xtF5 z<4o^DShyN1jQx-Of7@kprZa{06q@PU)B}wbJKapficr!#ENMve154&XzJNau9xZ4S ztxcdS=Bj?jT?rspt4fp=U8aBxt(KaL>GiS0`kqPCx(F32tpv0m@h-y> zg!hqa+n8hQ2X7@cC!Frwp{Gt-(^JR8M@@H)NcEr!+#o6ye`_Z6+y_9tr$K}|m|q9g zvsaWzv^JgTj+)gO4~%M?Hzs0;dRMLd?GMqj-+j-a)?U{fCil#WzmXZfeKaNWvw91? zx_Wc>7bsQGdI{g-8{WJzmqFYp2|WoP#rG%XEs)NXUx^uFp^gu)Q-vcx09Im0Qp22B zZWX9{tw7uae=|d+21^lSL$B&@pv4JAGU?-pu1;TsCYB&G#LI>L@#MxL-umid-V$A! z!@8rvY4W?by^6nQ6|Dpzgk&!(utAy{?&;SV2Nj^^XN1UTd(dXkq#j)mP%bQue73NX zTNjm?$vU{QSl_4LM|elwlW#dQ$q7_!5n16~$KCU^e->Wq3%3}1B{e>d%3ynrP2leu z`D(TDH))k4p5hT~!%DBwYSuT-2*MQI1sO>c#e$aVJ3n;>dQfU@65#7<)Fqi3&87Eu z(lfxmsh}QezbusmRt{RqxC`V#`*L(fDd$}z?o22d&jSc#|NC^GFq3ZYm(n|lbx-gt z2z+!Qe^Sfp@~zg`$`I~)1St_wY~dJy1eZDqis~_*BEupHBQz4eY2ZG~jbFcc5G~KN z?8r%57a$j-v#FPr%S0d-(}#Q{g(nRH5`5W0C9)}ytVcnZAFaVROm&AiKGlLw(16ts+w^*_SXYQ0P*@OdO1&L2pw?tf4ZGpMudO#J5VhkzSQ!11{q&!%>8_C zMMso1sQ~#)19eK!jpWnv0@(Hh-)BP-mC`aCd4AI-GR|oK%mbWcYFCF7WPkUCiXpoj zTYAEIS}Dcwma=i8WTriE3IDqGh2t`MLvD_u2Wu!7J&=6aH?`W{5FxDWKINX4`0v;u zf0)_DIhce&)~2AFh=wC*x^+pLzEGME{I|`>ID+=X|Fkn)hAK5%=hBL?3`P1Ruc>Z% z-3*{U*jl_~PNK&wr>_f>MFFMGJrv4)-{FwyhP=k~s3+BC3xPLuFHvK}LhzxZQx7XS zlqB>!Pl@1IQ|@60Fj6D(WGudfbPF2oe>;OpNhM>TusqqlsK{$2nZt9THe(T5Y$#>c zq<%XTOjH?6SSNGgTeDplPwE#RhaM6sDddg0nf-3UAuNsAvnHk)L~4Q-T6)EnO+bZo z9!v>kez~J4-YhFX4g%!1tYDg;@E8yMazWSlNAwFgnt1R7p@BfM8!yil-z|$^e= zUg`qfxCwEr56=NTH5WJ-j9r)s#B zWa9>voSvBTi@8JE-sB2c1%ZLEAk)qd17R$qET+OL@YV{?ZaZ^J16N?dj8_?y;iDwz zE-~wVo6hYA&r+bca@nbZJo9}4e<;oZF{JjlWuN91TVV$VkLqpnqtVXGkxN*(cjZ|- zszk+PN-@{`P=$N?z;yb4%EVh*{=CEsRWS)l2VTiu2||j&-}o>~e_4$^M$=*WTmfbe zm_1p8dEP2T`+W+CL}eNsrF*~6+ovBvR=*3+LkFr>?y1lYqF@cBP_ig2GMEW6+m9piOv~>CgS38 zE?O0Y^S^8A^$sC2f7Y+DY9lfCsD8=qXF8V3F{J-M-kj~Wi@$(bQDM5+99ZOw&HAnq ztm&TVWrg#T-+c!Fo-y-sfUvK8d*@;n%y*u!{xcFtXm9+oNaY*MgbrTlc@JB02&mBU zeyBnCAnm>%%QnT!0ALIrC!5l5TSGhH_;j6?Tqq|+3bRaTe~bM^07~N|zsKvBt#Ij7 z_DOyjY-PqzM2=n4bdF)r2~TB+53ewa(Z&TrICV1)VC{DC8kZ^Lt2 z-xWrrH6hUHj>E>8epoZr)g#{#q84pp$KVszMsH>CqT}Dk^mF^Wybq6fB8oJ>am%kw zfvy#Z)#vmie<1sl^oP!yN$+Ec6piQHx`&Ymq*7c&{gbK1iEJHi+T%w@--|$HxMe`= z8&igcdQnfIJV10oHiKAXn|HU&O4SJ!O4ob=KXiV5|ah1vAf07#jmN4)u*_6u9J7_X0@NYx? zFxBZZuH8@WON4s@Ib0%fo`-k6_j-xB*D8*Qg}FmDPyNan&Iv!-5UVPHBnH z?%DTDic=p+9LleZ2%s`8&r0aZIqMdJ;1ozBCiW5ww`$wOS(H*N^|+_x8)@`~8I6oC zJEs9He-Y`^R&Cx|s)>vl6s=BmvY^NI$6Q%3ZBM^11zU-MO$BaH-q+HBIFO|8Nr#li3j2}62}ESjf{d-2oS6WTwRjwU66JISMxzPs ziJWuL!$lBztiyYzm`U6F71DjV+3%}?5L;9v#ZQT5IgY( zfA$B4MKbku1Fe;@Q3JQZnVch1D2%ypmSVhOePp*MgrNXzoD>ve>2fu+&_b|*CuBwe zYRXiQ{ji75yrH&1w|8C@unz_1)U#@KbdoIe5|k!bSpcyeiLkx?dzNv$oID$KP8Z{+e=M|UuoodKAe=Xs((jByIn!VN_VepURK!SU zx(YvGLlwdfC5jXA@^Hj>h}auGQ(zd4eiLhler{VN29r++0ZpJQO>=ZHN8$SCV2Ws! zY~8F?2Kvb*`4#!;c|C+nQ=voV<(LAAA&5;WY6B2;^>ZMH>*ZMmKfP#|(gT~Fe~Oj9 zapi(!v^c_vFz5lB^GwfqTr49q?#TsC%W3J`1NO@{#1RYjlUNO5g=s(~MX;+0&`pre;` zEFJ{tRVl{N1Bqp|%diZxVuUC2-q^qct*)CMKA6@KKAw`K)=NWs2JJ97bP#t~y(tkf zptiw7qN<6u{3n+YSL)NqbTR`(6|e!o>6eA_pHR^Ymi?Di57H;qF~ zsVbP>Hs8`|g<(}_^s1QotJQPd0vWO>Mmz9=zztuiTO zfit5J!`VWabNEcWwR%z?f1@C4p>_NyiRBbys;!)tA}L3TJ{Lr|3>L{+UCWA(*@p4) z`mACObv_-M?#(#4`#iGzc81p%FJlW8xFP&aST*+3eRO+UxBe{D8AFs*@8m2fdtTQU z46PNNek_oY%Dg5>k7ArbtVtN;a{T)-s!omR52&UlO5oslRRC6%e=5>LEd@7XfoaHK z{k7dJsd%>1e&MDC=})%Fh7+w5Ysj*e;EY`L?Qnm6`DE8+7l^YzHt-`|z=Lc}bjL$7 zJ>Rd^-3mBT9gFqat)876mT!`?={8ijNn`G*o5pc6)}?Y)D?E~Dd)3t5f)t=p4!_z0 zsd7%xhn;W?H+V6@e~WElcp5Iu-YeS+tbIE~#;zNLSZuq)B^-ikhB!+caS&v!$P{=d zcx7;!Q(2O2O+)?)fHS}RfbAShO^(>s_{)gNtiTU+Q=k2oHW0`uJ=G2zK5RwDTNHf# zFfS1Mp|GmyR420BUdh`DfUPrsEVWd6ZBf=-MOEoyQt@GAfAP#%r?~({5G43jWm|^W z*IX66Oc-R8X9yJ?dmgEeDH^Ell0Vyt76U+Xpae**-8)&|@Z-T^9THk@Yt}zhbaA_% z(tqQ;r^2&afg;l1nWvl9i3xm&(g$29$q*W9&AV#lo z)m4j>K$odHi~VvKx^4%3hEhM=nSP9~`RhpNnyOSYd_&vXQS5uy@@%SbQIol)3w8}- zgR^<<2)7&Eb$l<^ohmEI%p4i=UD`ew<=6{*HYxs9_%LaTYzf9dMm* zz^ww$31Oy(V)tf9?<&8!*v5=3hUCY1A7Wf`Y0dSwaU=*EG_OBuWL#koN&&=X;fb8v zwEX<|enT#jPhc*tc@Y_|SbT{kXun%-1aJH_ttS)%4 zN5(=JinSshL&2D_mIUE}h<;B+^UV9G0MT^nIjuy`743O%vo#E{7S{925{ivvRvE<> z7YGb&{T9fI7x2;FgYqWNIN<{!CWF@9Hw!Ztf7Mb0>9XQz5qovPc8i5Wu-#mtBrI&h z-prHIW6}J_cgRm6eoPhdXFY_HTxvI3{FPq#C91sM*B7K=w@%3*e5e5lYK~App@;dX zR7(3&O_|W9(44aB`~i`BXtR=5G|Z0x0<1JApGNSATfMJ;7k*}`IIFXOXi80}@La1| ze=cFv%+12#Je1v{vb|#tGCO5a$NbdWO-(A};QF*YJoPq;88HO-2F*|239I}%*FHAy z0&x+p1BrG#W4FCxh|lD9#^U?omqc*OIdS#$N5-6@ROk3PE>#o7eeBYSNr>iutKXgZNAn@>l;|~F3T}ZwHxxbFv%UqM6 zk;*0|z0KQWh0|bZo6`^YSHf6ic-ltsf;2z6gV~jf6IAeH!>^4z2f@BPfpZK@f48qw zbpWLZ?lPUzJ^GfRi<5FYFy{{*zUq-?-TUtX^I zTyN0A!+t!#N%!Evkpb~;1W4hYy-(%m;>2A_CyJ^0X4w8IiXvHVCM;P3$lH^cz_HVkpohhXvYUMmjg6R zdILgw&cl^7#c^{9Blck<>~n_OrzGl&%h*PM!SoCM1Uh=KhhR#;#h4V6f7m~55`u$1 zFgJG4mm4^ZMP-T$idH0aEh-N$k)ma_5F7X9AljdMeB~G9rxNXKGI*vrw9`TfLE01g z`iQz)Q7Bi);6|KfRu_7tyr%`e=z2V9K_w60Ulq93XrL;ae9Tq)%d36fT~Wml==*dRZSEh z@%Wy2&{%l@&6$l&O*~w;^i?_6e`JHa2vW`x&xOOX{q9&!cQL2cF+&?bt7iuKy~fv_ zx^x3;>9&**|CZD=Sl$aX0Too>*M|_jQBt(Op<3u%9N0`cuDuTYf2uFWK__w48r*FlE{fkm=pe!+YrX?HMj$Vk7{P~Yjutcj0I z&1MY0hdEdc5GUm1uil4(#awt#i?s&b8q4q}9g%s{g^B_vwg~E2+8xgr++vOx&T+CY zJKv-8Nv~|(UJi}Xe-C+iN)TR?nfgeZAeg;r{!`cbp+;HQgQ2{(CUtahWgU5Cn67;@ zq%grZ$C(N^^)#Fg9lzT=S=80PBe5+aIuSb#XzSZ?z-RDTa>b&1i+8R+#8B2+bqp6cBl+{%jyB|;~ATe-DW@AOa z1{LjqzLHQ@4OY51MAW_fx~f@})lq%WQYPf3 z5xD;*k?iU6}4+&0s%(@XOyH{MbwjB zRREt0r&)ta^-D;6(QWu_S0+ZI)WG{&msPtaGkD_j{VCa3J8W8{5O78r@zh(&GrW$L z3>_}0QBT=pps4%y5AQ93K7pQS4i)W<*-!?se@tpzlIRO=Gj3B(1LcMRb2o|qtE0rm z!Jj8RVKrWBp)fgf*SR4a)Yo&dJ;{pd8gg!lT*5p#S`Zbf_mjL>UAq)E{N{X#1tPM@ zGcRrBSb|Wd;q$=uBD0de=F3-4>euyU9U%0ZFdt>z{~SRRZ|~{6xE;TqJIMerzoR3eYrz0XeNaEs2aOWmy@V(H zP(|k_tCgzrJdwy)0sY*WZ0yuf7|mn-W;YAi^)tN8WvJIzOU^z-jj&v8O&S^(3%3q(lEIe+T#| z?Z(A}s%uFAO+d205HUAnTFv~=HFx%|MFi+#_vWn1%WxD-jekS$f*)ErMmnwlBim=J zJg1LeasXBFD~c?ccs3CQ-B~J5;t8pp?q4&yGQz!qx@ZtWQ_%saGZp}QT=j;MI>SLx zPSTU58ZO*W;d$S2>pg6D2@JR7&G*<@FPB z$m&|{=LQV*3DHGm*FSPN?4YHqpoY>(UmhF3eAQim1k~kCP9J{15_mMr)#wpRBMo=g zc#$a%WmUKmPK)y9;R~eENf5Pab0&fS_ftAQwi=g*{lYkn}yTV772_ z_A}GhE|SromuhVKro8f&JqD2`^*EZSbtjiE?^wwVlY5^G7(YB%lFV#-RO_J$ATOfb zC<16rtQ81e;vAkTZS~ zP8t$srxB4n9)sZ21>|(aTn6;JN-S$fB#;OURw8r2zy4(44TGf`p?s*v4zbm$GTyVI z06&wqDBL%Z7tkpPohl5Nq$C9?lUP7J2p!jAjsh2K;j%YSJdOc)w9oUe8h=e37s>)S z3C0i{dJ1;e(v1>SlgCU|WEU9IIiA?CX(x6ym)`lg><>#8&qe0Ugc*QP4PO@*6#Lrvnj>MwO1%8#nRZs+kfz37DH%6xmU(B zGXJ<{-Z9`g;(U?V zlwyW3Xe7MBzN(#rgMV33>8!)(URf;q39~x!n(sO^E@BW*xEw6a2iYA+7Qo7 zWvJ}ur1OJm^X(7;aDxVr$xlqraqg*U1jeU9P~K4TH$SPI!GF`OrGM(>U!|U?rYIxm zPZ*?>G_dwqKG<=#f?)eeXDp`jM9+#eva7wdy< zKaMbAln^csivSFQAWXk5_hW8zd zv@7B?YeFen6Ew=*smGvV4^tzC&}Mbth0;fW)Np(?Sbv4P7yW9<@F2oJV)|lLo|jv{ zcs>J;c~r^?tP8Eb<$4>1Kw#lm2eS1lxyD_GeI@n{yLg^WMI$?OoM{-Tq1@KqO3Nj2 zDo((#DoYwlaF%1_ZU#TSMLikhG+$i&?NIWq4WKq7wZ1!=WESRWlkaV&(9yeD3)RbT zg>d6L=zj|PL>n=|OQ8l2u7Eov>OKM17WJLjB11mT=>$j|5y`A=<+<`G< zwH&Rt#HrjxaKmqKlz?&u87->%wdJvnV*#oan15e1E8TV@sTE3H3CZqg(9EWW-F;GO z*RAWpucF@--;;QkXN{uvl8KNV&%=xi!F#hF*h3Xez!kYvn>U)DuZCsK{(cscdG2Kj zC{O{k&O{pnCvilVR*}S@D22M$R&<dA~I(QKnBd z4U9!HC9=ECyNKnMzML$YPl5M0W%A+BIAna z*XYX&vn0-CS-(=_h4K_@ANJGjSg`}h!5$VBT+a7GXBHhJ;39}4A=PqFPmJ^+ycy&< zNCD2PMN)v}zqa^Z;XNPn9y zb?CVU`in4x(A5)3jkz-6gKi2-Bese*LVh!$`#ADVmuVpQNA^qAcx6K4w1sKa@cm`U zm|S%3FmIxuw&^B11s-z_M?A#u5{WkqevUbW>JXK~5xQRz90Q2hR>FRZE#o@c*FZqx zCKb57uRV@E*y0eL{)UG^U>*Td_I62hczBG@;p<<7=P2Rs19K31#v3Om&IMi)q^vIy$#Wyjk6=)f?K@fT3akQ1)(3s_V@A z*jGvAD*qx?7%*Ux%0)|-ZTX0Nz?eHQARhn&27LJRDVdqI_I}@AF0yJ*?P10+R;&Bz zex7bY&ZAcpzFVujo3C==g@2DZy_MxE9BXVe3GxZ$6SrMCswAC*qPJ*)o3LAkUhj<4 ze)8yF2P>?bQ@@;f^O@Tzj;rM31?Sd=)oa}5`SPCgk@b+PcknKP>&jSv_=ig0SG`nMQet(jiRg=tYO6AfBHAhZzBa#8-L_fJfy>a!#^ZX zFVhebKZ^W7AJ5L`iB0Wy|2gc8!+E0aEO$Sx+4<-@$NG`6`-g1ID5AqG;BSPjY)v#<%r&q%7vEc{i_C<3}(tyKQd9(#z83)@iZWnVqXW z!}J{Mnfd58N*hp*l}kk^9IrVL{%fJvu5T-+8W8`)5|-rtI1aJ zXY1^Fd}fd1^M0}WZTOhqH%(r*W9?G~5Zu9lMCNG_edv+CMB z>SBJJwYL}Do)FQuAM;jLlg-g3pT)J_erjF5*(ZDSQC3-0cz@nCnjJo$mt=evqdC%+ z#Y%I-ZM}XfYmVjB7j@k#07ToT+jxdpTU*GG%2L@lhd0e{(F+IVs=lFiI+ z={cq2tAE3#^jaNaBRyU7?DYgS8oQH?^EpV9<>smKEZ8p|hI$-5MvHB#jbXQKjHL#a zoxPXqQ#zfU-{b!1*13H=6~=OPUQUXKU7Bfhf8L*`SbuIGkNLLc>%3GB^JVFhTj?^|Gyo^}UL?BD6MZ>e$t25Pv-xdw z7@tpl%6|}v8q8HNr4cGjd3tqua_Lo%>gbZ_=#jkcYU8M^8Ij$shr}spOM&PaPiDMs zK1ONF&8d9vlg3k_T5E`JKG~=7Rc+?TRpqE4p|PR5!787YlZciWItNsxVkeH|>9t=+ zGCDdw=(2k$_p8^-d7tvvb$YOun?JejH9d9yb$@!A_H2U2ILg>H`@?;;+^$Yr zBb-l3WyGy+J zq|;TqoWVJ5SM7S8O3Llf`LoCQq)y~pvecbx_3Tq@_X?Sn@#J-5en^nT7CGk>B6 z`*PGcZ)NsYrq}U)b7&@sW$M`S13VA#n17u6I4I&^J?j)#Pgj@f>T1N9Kgbor@a!Jt z@rp?8@{nlqIS(vv$IG`ne-{2))%Odu+h1qn&|U8&h3w?pEIXf9n|k!H{U*FqW2GA_ zW3lo_<0u|S@n_SnC+&K&cP9sJb=wbS2(G^K!HCK~k?@SWhsWD|@b>X)_jk5`z8=pEKOV~Cv|X7!wvuovWy^hdcvWaR&5J{D zn!Lz9E~n2u+PU{dDP_UI_t0HE@A>w)cj5`<`$(NW*d(sVHNG8C5GF7FIUGNukE0&o za9SN^pY-^YUupc&p67BliIvA}9)B#Y?dP?6Mrn2!!%;ms0J!a%_A%s_M;lLO&qE0E z@$tNDFMe?4=8Z1;*vMb&BUVn5`=bqGS=gl_L=6BIe*pealo;r z-QP#bvZKcrdz=%+@>DN~UiNbcfI0xMXauUskWT{5WCT6u6X;& zMKZ|h0pryNH!uI}t=4+J-hb_ld!oz~Q&}I2`BfTwyLY1=u2X+sO_em6Z&QgtaN4X6AnvnTUu4s@=6`hUmX8lt zec2n2+3Qnf}yIWvNr@Lp=n&ZWHe6Hv=ZwpI3nwxhrLqN#tsH791RG#_M3=nqQO!=Xd4I6i6{60JGBV~}ZS|+a z`t>;$-etejM>nr}TA3c6UaPg4rxX3I+hlft(l94(dn=wZW5FKImG4kJVzn`Q9v-Q#Q?x?|rT>ZH}-CVTdw28`dH>)3u_&DEok!tJG*CXUdFl}PsGmon9ud>9olhHG`RBT0`srw%(SIR>#q$X#t*}^m?&K3Grtwj+ z^_1S4dMt%%Q|}sn?&LkbZ+&ib7wgnJ#E!4e_dY7?l=R->)0D|{y-?-R zh9mcF1qbK;2*)}eOSN0B$ZBCnb3JJ1YeQX}g5<7G&hCx3;YE_WlQo;3tZjbUeCBDs zU#yS4e1Fr6!zO)dr-?1o@#~e8+qLN|)>f=3%vfRNZpe{$zxRr@dCat|OFen9>3u0* z^|wb9=bI|kT}`8(eEN}}{C@2z9?PoCh_|?fH}#?IsmwOo?nK-)|3r)3bYZ4z+y>gq zP!bm(Ad==+`@Wj;ayK>1({1_zO+7#M_2K+J<9`VdW#(p&8(*fHWO^3QF4rrWLD$}$ z)oIdVdV6={sML)^a?y;#*4(<-4^D4(oB6k-qvl+dF7D!Hl!aN7QV#aJgxO`4dr4ge z5)blmOxM@baY5L-s^{9=yDmo^TlHnE)^1opnH_H4y`#Gmy}#pA9^%`oobBdTn6|t4 zWPh_bbdpKlPsdO`eMkBP(b3C%Yl))!YWggft7Dz-POdjQ9?J4GI!58;l%3v^J>pv@ zP9I}!FWoVp+|m|(_OsrcK{kqcnRNR}Sj`@bbNyZ<@#0i3tGL}rn<`_U>4udv4KMf3 zajQGhp4+$hk`=q=l2awS_uhOG>Sr3NQhz<=ij1t7TKdgX%%$UQ5?UkEjt}kDD`$ma8+YPPd);|I+SO*+GH*RTEf)66%`-|>{F*O#Fn?98 z!UjBZr;{}Pq_3?pYY+abRPP&lSdZt$t2HLz`ANjQY^!2UiYOvj*CMK0>w8r7A%}AB zkW#%r%p6;q>+Yo>>Z(Uxjt)_BxnIg9Gt9~TRxc!`ANM;`I_7z-aeW)(O%lOncYkM_ zr;CvbtKGeU!xN9Dk8l?!uSM-?ZtTM98Xm7SN&FE4-WmQ zIII#}N3CV=mCfrtC%bcRg^O;b&HTF}+qY0kTv}-Ru%T~;vnGEt!Iv74N@}7zVvbsN zoEhVOj7!#=pl5pJ?4{|0Pt}9IVvRE%%|Lm5MxVy+)Nwx^y_BSd6o0afyneBPf8~j; z@*U3dMBnk9M@XHe$Vo!C!+__+NJ3~8)vd+*CElAGknXz6BHbvtZSM44lN|S`c5}bo zK9Z;{n(8W#QMN7vSfEW^=5L+0S?wM^ntR<`ch}wf@bQxA!C9W)ZdWy7?REYL+ zANzq8)>8GX4b2Az}AIzMGyZRALYkBhEw{>i=`FwUc zMXOAx#)u6FV^_2%eSTo~_a?JkwIHFDqQ#cIDRXMcTR-EP@*IXkabpM}yr zmvPNz3-eK#N^z`RpBWwLWDOb1qV5h75cAHEO&(#5!=6Y5n^vzio z*qc?K&K^)~-<#?CGvZ5FY~T=&?D6fT^CUah-g8#ZpFFctV_lAeS@_wT?J`qe&9?j0 zA8oC!_-vIa&VSb2*3G3@JhgJXJ!_upE_Y=SMXOXwE-hQSRqapT_?FX$Ebrsa{ct$W zCF3cbNM@|O@%a8uWAf0OJsbEik`{ysxl7u<&j)cdXt#JRHN86=U(;DL^}R@QiLETN zMjed~v4%cN)gXW|4roFsHIufX6)*E^mghM3PROJty?>NZ$uGs0bsY}ugJDxMSt&Tr z%Um}t%Zi;ee^hsRf9xOmrMOl5y%m_d%e}fMld1R4%X~UtEUb8a=1H=nS>|Wir7+0# zst49S-Y2_cKG!Z;X{E2E=l8g-o|~smUW-YwMn$r3)cv%ckDdpQP;Y#5*mmCJ+9aLh zczbeO)qlutG+xTPoekO9gW@(T3{7%eXVp+DOWicfiXvQ}5OQ7TRYs9CE1YO0_xycQ zs^0y0mbZxa$$od(&F|Us_9^37&;53{OZNBMWpl~ym*X~$_4jcV9+JJec3-dTaUD(5 zm*aZxQ8&#-9ZB+1?wZ-nSf5Zb?|Nr@MvktQ z%o%j~Zmy1B@$B#_UJaRzM~DSlMmD5P*~PTtauY`nZ&maaUCBHQh>Vl$hql_>$%7D!jEqz^xSEIDs` zw>J4C{mfQ!b-upqwA!e(UEWw!9ooa@bbl`0zRhEI-fp)0XTCk^P8>}`W3^|&ed)IS zb}ug{6Ul()I<<}0>{Qhmzc_U3UY(dV=_t``bE=_c)J*N?u^5|+_h%C(_4yd}`BB;4 zqSdZgcjve~+@&tQOclC_=Q9_p65TE6GE1Z4wD+aS^|Y}RZFkOj?oYJ&dGB72{eS$r z+c&C09BQ|h>q`yZ#i6*@eV$*+>4doQ0z0}XBy=-NqY4<7H+Lw97PU*643%5(Y5%TKMpQ?~1Oa~qx2 zsrjq5z1hs7Y{5V=Pk-0>C@yY0I9Cn#^aa^Je3v|)QSzKUU;b{NvdWlf zp0L-NxBQJ>W^oK=)l(0w32Pq>-!5bPwi|P@@3AI>f3jE5o6Q8Dd@4gMa2)FVJ-N zLdVD1RF>_yo4j|2L4s$1#$yH4=KuMB{@4F@uAbNZ>;L%Qo9cZ2-~ZSD`F>vhkK_Ke z|G&=F?KOVA&j0seU!NB8|M}Aa@CG5jK|Gu|AE%7RK~VzOmLz_e=$_BdESVe4E`4#^ri% zSNcgj)oTE(N4(cJ*-rPjY$6`dN^zxo&8l5YOdV1W0C&R=v0ojwzAWKH9x;Gt)`)hW zbkJ8tlA^;Ut^usKxD>Cilk8*w>YF74z|U-WK6)qdBbM@`bxJdxZ!nYq}}sklC5 zQ>Uj}EsG-5BnB!=LYfvKAU88>bOuk@5HOVDk;?onKoQs7a$gYv~*V@$`3%fg7g9u)ZI=kRqDV zVQ0vRZW1hGX=$+bB`u3tk+Scz7 zuh!pd6ASSP`>$&=tY~P{rx~E>WPaAr=Co}YiW|we?P?wSR3E=m0{7_w@zO-iXEbFF zMvdek<~kuGD&n<^=ELtT)JVu=6c5j3m7y|n0Zt8-DSui>B!pOk#Q#I#G7Zee3P&HX z-#{9O8*~A9%#zJy9~R0Udir!*rqj;ZXj!t=T5_X#ay7f;_VpiOZ)f7P(N@dSSZkSq zcv8?@*e>baKDwG+y3yKXs||ZH*tpOFXF|nmNW#85*J)L3Lt`64E(ur>j)NDfXIDg`inE%Q~ju+#Jpj_z?n5k*2YS)z4F{ zsj1+OYFIx#pJ=2_&RUzCftdt1#sZo;Fm#ys(|>A%bLCBn>dg?#Tng{O(0MC4Dlb!{b!E-NQ}TcCa@R&vSZ5>}ANpf4ts+3$&v*Gjp!A zqkm#=HyRTAob*mF{#GPGsJLbqO^wcFL6JHrNYDNx(LH`VdW>qo9ThRhRKZw{87HXW zHgF@|-w1O1iORU6L)k={p9Z99Tn*6(At$s~$a0%Tce?cU`}!ZBZM2p~m`AqB5_`C= zv5=F$5-;SjJ8Rb|l-TGM7Z_OwoKg_`$bV#Oysk9_4Mp5hA<9n=RGxr2$n{yIm1xQ` z7Lab0B_G)dr-}(hy4+04xrdS&Fe%bdI%mX5+!iqDR{4-#8hDIH6`lzEClzb~)gpfO zn^hR9jV9uUd~xIlM}M(a*f14)HFHCDrJabOMC?JY1&)py84q|QVk%2xr>9f5kAHfN zCHfFI%^&O%uMrM=nMKjhYf55Y%q~$ilzjI!NUnAx_V1vYJ-fS1F=6oC-xNh$P9u(kcn{YL6!R8Je^(vy@=X zv4AGBqZUs!in^K1cC%lYd4%yF+uaomMW~vUHOK7%sG_n0F(ctU@PiCJ^c;&PG^Wxi*imF|9vF zMtviUKzxclY-^Z+H3d`xdOB+W(pjy*`@x11ZT{kxBkV3>jHmjM|1+<#Tz}*>wXOf> zyq3wIbfQFMqTyyTDo?0c0HqbEk zihP-Nj>v~?;{W7(9d$##6Ms3A2~2m@h9DL>sEs8fnBP%LRTUZo*yC_*Dgq;4OERD-HG6+&RiGNfkN5JHG-O4I% zeG;W5P#GN^U_5Pd8o~JG~wwUjhCCHUm2Hs;;Q3ij1i~fSK_IhJcPZ& zk1_(6!im97*c&%g*n9f7{v7sO`1j2ma(0vtk4rhz^P~VSFICP|0uI8xtOJW&HLD6I z_rdWU7DwO_V4A9~4k|eMcfzQKx*;1_Hv$Lsx*;&Eua7c~)qe;-T{B>SfXD!#8er6* z3Oh9EaGmp0U;g;OMuWYr=gvU`$nux~~B7%VB8mbDhPH(N~a2VogJ*<-r@r2yM zi8Y=^0Do{1V3%qlxxjgGK`gN_G-wNUi8*mlvsHXnS-9aAEG1F*-^QZ~^pj3 zAFxY>Dx`Y_B92~EK1P61F3(BpMjoOrWXu4jbkwf|cB{jb7jps#WR*6R3(a9P zIWHr%lZX3p1U#ff+|NwhkHP{oElcc()I^FQR ztDI7O;(u&z#D&~RH-QhH)EzNrI)bV))(aQ779RYS>WA{e1WKTZc1B0gGhq8bKOTdY zuD!x}1irHJfN0<|+hdOUYMf952XD9KEtXmwhfL5LY$Cp+0(bFqyx@ij_Yxv5;=LZ? zo&53hfB2BN=YQA4xyT29<25l*`;)uFA(wyP*MCMsz8HR14Ex4^a8kVPO*t5oYN_^0 z!!n`3YK^R+wq*nglqH_6BBqji*z;NK+EQ+RiH#c!CWi*LLn~^nzXyR4OzM z(NLX1s^ofqaZ#IOYgYN*M2dhD1etd9dOy~&Bin5x(~cdqj%tug6B@B-+kp;@;BWql z^nXo1K^m72z)OOFh`J)yvEb1l#t+e?u`YleFdGqnQKrq&K6SHOK04}zVgJJ6F4tdmwAaHa{_c}Q(zHwd~r5c626NNPznX>?Dx3> zM)h&Q-cDC~h^5GWIVk)rdZEaGYKwhFaDT7B7kJh;`4{)7$W?+XiGBU8r~lO1LmmCa z1Ig)=Ui;Z!r>7f@4R!fV3x8@4v6o+r`R2)MozQ@8P~)uE`Q0#D=b-01&jM!PmSEsS z2TlVP`37TL!qPfJ=w4@O;ph?K1oqq?o z=NM&GiV$@Zmf$CrHL~5UW0@5yiau+<;ewZ2pYa1yF5>tFgbJNOwmWAhcsT^gP57ne zr@uTR9`gB5J%xTb$Pa&Xe(fgw8>Qcv9%|X-7e`l6uq$k%*doctZV0uavF_=4zI|@rmq6*twc&{QQ&_wS6 zOEv;0cqN;<%BAbNNOnfn?CcXSwO)J00X~&7m|^{GhpbO zFVdN-I{o02g(I+Qs85>X{NVt9UhidbqAB6K52E4-i97(wMBd^~EQlfp!&R+M@MD^23_%wWnRlR1w= zMTd+s?=cA5bS|zA19Zkmz7wZ z5M6h;Y(ctr1GY0ET6&x$s5p#9S~9mH$0vb9gGSCUq7INx)+)UloOV{9MuV-soV)wlD4P6dOo*Cjz=2oRRStXZA16Cq(6JOEbrCFu9@NVnr%H>b`Py2`40rXcWlLHFgWPSh=pB9(Sw? z%&gw1EYh4HIa)2ZF@Hq21Vt${1Yt%j;7#Yz%D}|eOu{6utgbGkSYXa(bFvGa$m{;q z7+_2xtK)TaCl*dVR83d3lyf7H2YoUW`QJ%V&A=5@8QalD<>_C2@?Z5}qW;tcGxrx0 zt9nn{dZ_R9jwS!B7a>ea9VHwwMi8cvp07t;&JryL4FMxGV}E*%U{Cq9cT z+(d|QMaPgJQ@(iPCK35q1{z_BYaf6LG?9<}$i?uhYp2=w??suJMUvZ*6SP8CC07q* zd}fL_uI*8i0fSqEP~)iTc&e&gJE$x*R8~`9aj!NJLVwIL5J-m5+W)=Yfv3B}dRsbZ z)d;0q!Iuz^v>$zTYK8(k*lh!)jv8_;sbZkU9?d>WjxwquAbezCI(~z|NKZ|Mbw`L< zW)3t!VoQuPf%3r+@1iL^`#a9%eajzVbI zeVzTYM?kURA1Q4s4I<@e6v~55n#9Z+2RP9nZxn{h2Sv`=1nFg>CIm)o%Ri4|M$dZ3 z);Qq0ntk)Tw;oU6mEeYB{!^#?$z_90{!!~{?LTXw z^xrz-A8jk`wSU$IKX&=i_J`}t;HTdG=WF)qMD$c7Ud9e~HC@!CjHGT?W=8n3%wWDn znVYzcljw{RU_`@+u5q3ej#eq_uu;N|;%c)=tYNY$RbqHer6cJ+KbI2{>WKpfbBvMZ z_+-|l+n9nDIHFl?czH0;+k&G$jVs;sP22LgI6uMk&)n@{g*)Kdu> zS;lo^iRRh&44myk-GI}8GWcsD`f4KIe1COY+DEM=fKWGu>RFao*6SDufYo8bX03Xq@g0#F-_yBXn{AWoCGNts}-<638f?9Dl)^ z@3-*PT?Jpjd1E~Ri{nkA5BHb_gh*B^|LU$+^Q)`=^d|oBs=s;lFYleY4Ux<|&1s(G zC?Bw0*L*QzF!UB(jzzjM>(bJ7bGp!)Hemd&@0f&uPja8l;z>^K zq^ZzZjUM2aHxs9O;F1axH^STz`hQlZ7tLoEGtqC*w*`5Syzb#Di<<8ZjGCILVcVwP z_@H7UD=4E|tiB@5DY7{sm>a~F7zIWUYW&q%@GeHNT5d;+{=#shn|U+vU0p3J`06R+ zC)_LCFc^#aRfA;EQ?xeH|6p1EN2~kot$kzit2K8&I+pS6=ln;lCu*E;?0?VT&U6&F z8zW#B{f2jh6GV1*p;TcNoCKHURQ2Tp0-{4BaE0o?E}n;+^PcS1X13~m=~Al@2~Mf2 zlZPcRLwjTj4rqpNkGm$~j7t+0rx)=$<2Tn4e+4Jx7=AgrouXvv>lZ`!MgI>(o)evR z+=BH4REcH_eFgP^y+8HtO@GAB(EA#`hW?hQQ42S81jZwp(<|jkPKO*o*pF}guKQ|s zdyF&ZPSfktLc2U;G6ufz4lpyj;OiHd(Jl4mOyksr#zDX+) zsQ)=sp%oCk2HCSjEl=D47k8oQs}Syx+BOm7yn>9SszjzB`kA@h$6Q`8pLm!tWC6Ls zXF8)n8DefeF=xo;zJGKCMxZrMJ`;U9V!`b`7rfpIs%ZS?k(HMeF(x73OZxw_PyU=VqTA(O5eMTS==^{cu7%P0| z7Y82jQbfKV^kXY)zBn-WvG^MDK=H%PH-EH=zgpwVI z)8*1hZx})XS9y{nPRy|2p)t+$PpFSW@eStgQ z9Q~WelNlM}b?A``|H}X5Fd2qigj-`oSe;pZWC)G<>vOd~&WP}xjre<3Kx}fBecTBQ zdXD6V7+Ubp=Q`G({PPnhr`uEd`kbQrCeVdXDffO<>T*!H)*+-#qiH zL&LD9Z+|V9_~fet6a(hwFdKaCi$gy7?K`&-3XnP)A+WVPJ*W_2;E|(uX^dMCvGQL( zAMT}bC^TdXexhO!_xt_AupTWw%R4k&#KaH}`g#0-Bf*absp5V;Jm@;JKiX{eliLQ| zYp`3e$r{9b4V$>ZkORN_*wd*~h~Adiry(!0AAc?IO8>;nZl`zbs4)lQK1ozw9?d2~ zz><&@QmUdo!#R(sPqA2=#W(_XZ~P|NLBFFypQr=pq+`)|qn-wi>E$Idda8t&?%Y7G zX;x9x{A%&LaslYNn z*ayTbkL1+`16>;}EAh74;D*1Ud3l>A@^mh}q2bGa#D~Dv_aDE` z2)>zbuV|QxQDO|(IoObuXy4%RGc{GwM}HdfGg0lV(ou$F-Y`#R&1*Z632y!!54wnl zG7<6c8Ss{U`yhYnjls8s&wP7J(8Bg#eI+%S4*DWXFlvPs{x2H^++=}@>I-fghK0_~ z9NjO|z1MRa8Yj|#Ch(bk{%ftAAjFE%V!f=OVJc#YAC{%2`wSzt9*rAE`^LGzH-9lo z=*|Sb1w(&R{x`k}{BP;zr@#G;0fBWbiT`_lQ-2L~Vu~4soZg^~bPcf$`7eHw%v_lb z7`MNc1Rb?FY-JBI|Gv-3U1RAFhN&`v9}GK{1YsZxPLN7UAG67I4-zF2TSN0_?b`TQ zA^GJp%A@};Y&(U~os)LGx(u49d4DIFx%bOrq~wfzuVbg7uKbCkiHIXL5^=%$9_M?HDoDcvq>6`#y*sd^OS)MTN&}v+-S( zFdih+#Kpd5sz5~ET#H^@3ejK#;fn~#I^;}XAR5gkE7-FVzB3qvj+e>!#eaqVAZByu z_|uQZfmox^M~d-6^tJ23j~l@^&8+r8=$j3R{;MA7|1qDGr7`^NTm8-d{ZFq{aQQm0 z^z8V!`i>T5N*qkVB=KagWpk`H_Sg!N$_zIe=9`-nDlsaV#CWuUO}w1|^Q$e{S=I4j zA{b$&Q4+Yp5mBUPG|;av+ka4RVU(9hEm3ms%k;|r@_Ok(m!QqE2(?w~qeii;!J87d5fIY~bh~8wmq%`MTX*w%nm!_s_gsp%_)O zHL4ulr%2_F>PwQ&`qcf)4R?Fi@K|Gf9yO8%+iZrQ{)gYvv&QRzAAb~ygivXkb}uII z9nnu8!;1_4HvugXPHVj;?KXFha>#aafaU;e|nnV{*~aj z(jOoAyVt*5@wea8n?0MDMf#m(`ufF?8z2d+h7*sq|LG5c-zE=_OD^)ImswC1SgE0g zOspmeEx$}vu2@z@Cx50-wx(a}D#~;>-0e{_L2gC@cC8ZxMBVt&LC>O0Z);mahv?D~ zGu1?+NH!tjKAo5nDIhprSW8)gbj~}oqb~AIBViTR{c5=e1*=+had;VetfBfP&Wnk^ zQ5kuu*)F-IeoVN7fgizWos9vN2~8D>WAT7Q|HV!Po<>9Qn14^Un$w{{cl?`wwg1#J z_@HTgfA(iy>?fxF*-y^@)ZSti?3bf_{kHpCTSAar2fzL9%jRcar*0U0dF+0)AdO?$ zfqPcDw(+=_@uMmx+y|c_)J8r6NmE%JL6f>F@Iv=tfALccEHN#=vRFyQbs|@>^G#vD zzP^Y1HfG8dn17@~f42iv`}hw=6IJLSq(>oQwY)(>7bOT9r()b!5N0{z)YdS!Q4?9F zTHA>49(dMl^e&~qb(J>*kN)L8XjU{=L7fl{i0aqAm2>{5uXkpG5BVZL2f;9BGSmL$ zmje&}XCG7S!8bpPx=%c2>38Plt9$;=wr>CQ>wh&Co_~6fMZ@=B9o5~Tn|n4}>0<|8 z4B_2b=W=BcrBz#JgIGBfp8}!RBt_?EYXp!U!b+aBd(@ zFnK#Vnp`e=e#DlPIwm90E^?G@mPV9Uq0yuaF^14v(ov?3EFY## z3ifz}kbkd;85aGxO)>iF48wf>lUWx~C6V_s^qsR4GYf)4i*^6%3_o^pa$yJJli&Kj z_!lo|iI`2h{?yN3%n{cB3E=7=l5+$+-H{;Kc&Ogu#z7d7(#>R7J1-U*lTL2Vd<;az zZF;a9alQlS&@VmISO%&iZgb#?j*y=jeq@VzRe$&_pW}C9|8NKKWefk-7&Sp~CI9u* zfa!nu!i$M|ZaK`m!GG3sboQ-YA*RID4X72?~IUsm#^`E@+1(4(uwT&ka3#7y4N(%vHGIRowp?v4*oYrip#g|73FBRGOV z+GyA}iy5m*Xo@_+-}@Ky8|!w!*Oac}cz+asS&+`foizvj5Ic!*lR3|LhIeH`sjO2uS47V=Yb2=fv45dx4~eU`3dQXAdYXf@!##7TfzvZ)tIw%TZIqEm zfTIgE)Kc4IEk@VruvbIxLSKm)em_ywZ@k!udCQ6sTlLAWwot(Iasy_M#M{av{9ngLQg09A9#b%$_5{_8v1YB34d%6y^3(C zoBkDV-&!sGJHOvX7-bmF8Q3(eDNK(QG;*W)%p?X9HVYhZH=DBcAeT+dUb!DIL!CGW z*sN0Ej;D6YS6gAVw$~r8CwIIbY+1t{uQ_!PH02Rt8AC1;o9X;|&F%<(v=%1j0L8?Y zsJmsc-UBp4z7R9)KRxCIP=7)DUmp202ah#BD!%>iNc6QP|KJpb&uTOg{{2}vkTvs| zU62owjyjIW+GwG1@aOPgYSh}eVG$f^vq!bAG6lhS`WD&(4*6V{N)v-U8VT))QB7qs zfj|;^G(ypi>WE>mC3~iyIxJlIUgW+lGSZLg;s3|SXnfm$W-&pkT zZ;ky180H0pRw3*;aatn$!Ply*m}b_kb(2`&CF1^5paCR~I5!rF`zJuYb4-Gliahjl z=0MD@pgg^~{eI*%Ie$hxb&;A(+(tTxIRlkRmI>y{W0?Xxr7EY5oh!BusSX(k9rybV zh3hef^LjiNb4P#ewGn*?I6EUVh`#69KH~|TBrzH=2BL^Qw8et-d;Tl`ouB%h8~tLz zpZY9xHs~k6h~1IO-NpG$U7BQo;of zhl3*gXx`f^P=T4=X~RRJX&sAMt`^3czJ`qq6$kJm9Z&qlY)`z zvL5C~ARmt-bZZO%l?wl_4S^>O{PNiU?mc{SRqy=sywfm?JK#TT zY@I4VX@7rg5(!E326K&ICU5`vf0l~4tOQ74JL)a2;9(9U6dc3(>f%G5q(d+J&kRNP z=Pb*QkBfZ3{yjhT?Y+z(XvhTwcXqZyXTC6IVD)19MKV&krfkY;@c=sU#JsG+@}nC>01AHEIQp{=a`lLg!ph^Si^I{ufiiYN+qJ$?yRc(y-7NN~Q$r^^4nzmL4RVRx6OeZGkM z@`!os*D3N%yS`BFiS7J8)l5A`&xfO_Us{7Alo{G>ujrt{q~6DR6DtE zYZn#|4QMUtrdi`%%}lVVlRK(yeH#OEyXuW-Z6R8@03&%2kF&&)-*q4fNYzBt8=x6$^9tH!+Xk{e!r@3}XFF{toERxQ0!BLI{V%{hrphFCTkH$ORp18r-c zrw^Iy@eGWduB*FbmX4=TPG(#;m6zBjk=Y-$-&?sEn*cHfwxwQD3%IEk(Lp_H>tw@}6N%g)yjNnerbH!VtM0va z+!8ZEE}10dWEgIWCfe6;-acQgSw5C=qhrD!WNh`|L(VAVzF%e`jqx1UoYLZvXlHZo zHG(m%`+%Q0-lFGxoO_L3Z)V$L0*?1$*7IESLXd1Owhg_id*c4YKG=V# z>w_`f^}|m0h-()aXmyjlHJF#mz%-h|t;@90lwrS%d)^+tuwMF)*KwU|&cvQ4@X>^W z&s|vP7j8iI@n#8hBMT{sv%&tc#6H@duY@jKw&~*YDTS)=xBM_|n_cF}TM4{BlWbT2 zU3F^6Hh2bbFbJ1lvC+hI{Dbtw+dO|`n@x8w9C&>0!EUd{;Dr0%Mrp#_1fE!|-no|B z1Un^030B%i3SZBQR!R=d2L;Y4Qz5)N)N7lH*{UXHT*&D-9Mn1>y3ZY$31&M}BhM3i z%Y*%Ta)79&Z-}R59S%R|NHxUx=pQ-*xp$mz_Z$~>wW|()@15_$@^bgrv&`gEdVM&ji3d_{<^b_<5H0`Nbt}IF7;f+Qof4!d`z|-_Jf_5_Cb9 zih@1vOX3&!oX53$jPJTQKnxo7Km2@HDpUt}s$t#LVSatSxnSzHRf1crZM6BcOT%Bb}+{L}=a+}9FbwM3s&-vebZ#4-6 znv+yVK8eRndE6@{oW_4zL%s1Rg=e`@LrB!fg-Pj_nMX{&hBySWw8nUe+(w#jqteV| zT+fNkk2(8T(%5c;Rc;wch{W){KKgc)gaA3VhU*8{?PZT3{!TbKdKIVnB#IGuI4-e1COXjx~A=WBS@Fd(#>e)&e9TyK6Zwu5_F*W%{em1w5 zSF_n3Xs@es+<$+EzcdR@pSk^)bBsC$PPDZ&N-g!bmwTTi(i8C+1CHxpL44hvC9}*~ z&}#Vt<~^FlV-qvPum1aa^RmJTvf@K-^P9kGoX3@GiU!QxpLwgao{t~t#(ML4adie2 zOS!RMQEWEJwr)LrJcHUHxp&NN>PBLPe*^Qa_2dT10>^))2G;RYMyS=@pX^kaV{03D8`bUx=gLiQ$^lj8IyK98A<+ z&RFJEnlX@*Aa=%q&0}VlLZ*B&qjtP`wJQNUimZ9_2lt!7_jyfEVb_rP9D4yiQ`wTP z@E(XskIR3;pl4xmUyBZh@+&UPMwd04pYrFSf8w#}t38Zk@y|F2V-5%Ram2E7Od(7% z1EbP#lNW*(FG1-@FmlduK_dPHOc1ma|5uK4bq2->RJ7GQQ96Yvc}Rd$VvOhS%$wiZ z$cyuYn5@(N_;2T$Tn~n@D2Ua>?{Hpi-Sf$5zLkGR4&u3AcjUH_uI`L|z2cH{mZ#dt zsjpqUUga{#~ zb35m9U7aoK@eqeq6v!8^!)cl;{)J%?AQ2qtO zjxo;@@e4es2uWn+5%q_fbF4Ebm^=6XpAaZM{8nu=&x5Wft+POxhJ4!Z;Wy+@+*C!T zxlxI2IRQL>zNta~E|vBFFNCtS7ap`{UY!*saEgahtY;0t{W;dhr(He4@?(#`#|VEB zbJQ2J@+~y-9~h#pFNOP&_W0V&WS>5(a_pmX6EHB?+g&Kodd7&!iFto~v=hlT1ycvL zo{?G;{0v5Z!#?AKkFlT#e?$Hl$WuRYihcC-4@ge*H_j8s`qk%zd|KpZAV1dW_LuDY zJ3S6$Q~cEz%&}L&{(&*JR~W=oPosa=yg|*7+vC2wex0<8tYA}pc(Inm4wD#iK@1OJ zKhe)dC){eH=-r%}Ea5hxq=hG8@-Um%GYaF^kXk}p=}VjYV5^OQJVs#k%?dSP;znt@u_<6=RNo1QE%$+o@JRK z=kY&lH68P5MeBk?!wD1-v*Q<^s5s$`7wT$8?AQFUy^GbH=)^79 zo^XhL-R4w_Jmc5!&bs6;3xW5vardP3)suE;hojIf4|L-a)4YEp@Sr>A4GIEPRM{r>%AD?;=;50LM3Q$%E|Mr2&irKm#Cd>!h1MK;cwk@wL?7e*wgvy>~Q z6@wPN$VZ+r%cV`%f_c!w^!dhY4mIB_&D+K~OY9`akf z??Wq3dETqmI-qm%!7yjj?`{a)*uBNN5vQ?>-Z*m2Ic37@?$+3Ul`+3%T4G)t#0M@3 zgilQ8BW2%iCfZaH;JDcr7Jm&lrZ6Ja$R~D#4Tw!%rXGJZzD#+rk;av@a(f*d_6RE= zGXu}R`kQ@xi+lN2w8gcyPuKJE_oz>}nu@ZRhe?ymw)U7AXEIh(9v7b>F7-ML4SyEhr<;~9rnC=qX4eay_5g&W%t?9C0GjOdzopA9lXp>Di(95btzA=I4c zNe-p|GK;I$ZJo!k;y&L`W<*OrImkp9iM(v;wsU_V+hQTh>_@f@Nr}v0?$6kp*-^(% zR*A}`k%WxqT*1q**E~^c&{4`0GZQf=3XLFTqlo3Ge-IKdl(JpMVUn<996{+Q3M%lK z>ek?Dm$?sd9dl4Ww8H@tF*s=QY(l_(bB=Z3`BDc~o%CF9kNe};=jhJI+pC`1;;eT9 zCtQE#xsQL^GksmQz0&fz^y_XrZM5>tbMA38M_x>vjmKhN5)RISw>DL{IF*O56{Yoy+t#T| zOyU_sl~I9C>hFZ8$8evO-sV9H$iHSpCt80vnr-VHZ%xk2v4pK;wBjFOWm0d?KWF>y zz27sEETK~SENMc}5mj^Z*_{I*;nB(uSZb_ehgi3yVfM(iIo2ceMI&b4^_50PeB~)8 zdwtyVrAv9~#+9*UlY%x>?A2DZ`4(RFLhjWq6g#(^2p6&l;%Y&yrDf~9 zMHcfo=hiRBoS6sU?f4yQvZ8ICscCG0xMkx73McbUApe;gR$c&BtJJpEx8;gdE2^CFX?pDfVic@72})jD4|A7q9<{XP|T8B)_-|%VU3!sxMJD zGivolqE?=hd#))cX|2uN@r-~sdz2FEN{ZTo4#LTlnTT{>n_C6iri&_%ah%q($rn66 z4gPffptD}%Bj&a0O8-sT0(%OFORPPc%|T}@8OOdfmg$ViVX>qeCuUC3B8En6Y{54< zha@8q8=oiG*E#X`qYuO*&Mkl0AnrRCP0!!I?i(Y2e|zNW5}Yfg1MG6;-jVDUo0LF!VbPZ&C&d zR2_h_31V?=C6mL0ui}meSi>f#gHma_uOuvs9gUSBTK%|sk<%DCw%mVe2N|8?SLA5% z&6vYWP6+pz0*t+C?Cl}?>E;iagY#j}{DX6x5<(Bmd^fLu((na~c0!bMdO3dL%f`!9umLX zeTcYSW(Pwgu?1aZG3cJdv3PA^21Y9<+Gs9U-rb*dr|Z4G=MtRnD2<*y2qMtMi?W%Z zCU;$3e?uH6MLVg3a@W=|=W1x?kT_p-zK>}pd%gxYPlVQ0I(Oga3;Q)#kJ+G_kSVv} zz;rbm&rSKRtABrDJoa3idCz{_;kIvo_j0=$*08H3o#y^{zn?UM$SJ1Uo^^O||6DK# z-Ti&mH@fJ;nZkvZZ;=ZsH!HTV_E_%~(-eEHW>`$OyGH?EBsA4svhY1!=B^v7#EmnC zx?EzPd1Tv^0qWmqYokLkW1H-Y*p3^)sLkUm+=ri*`Fj%RG3tjU@>)Nv%^#20y}7_M^^Ea3YfvtZ7?>WLX3ly!C!LuSuBksG zPj!vHR=a<@?yD%o`9T+FIsPH@u4^1o-F$n-s3g^E!JAK)J54%l2-x)IZtko-3J%sa zphcbVTul?ba>W;r_T5Z}*_X?jhgEA{urD4E#}jSik{Dd9WrO7!R?cF&&o>eZx*V-< z{y;^*G=toXc}S&`zzGXjt&wByC1o>@B_*);18sl5edMfIC3sT&VNiOM>Q7ZV)pS#R zP_5_E8WURN)|~h-awgiG#~ZnwfhAz_mk(oh$b)5w_1>G1l@mMbbyUWK2TL6-ml*#D z4O_(Zc&*7eRJ6zSTzLTWaV+okpAeT-TzLo_vGVEo)!XVA_PJ59WP_i23U7AC1|xn$ z^Ot{!aOQ8If=9qR32EwJYhmsfGOExMX$mq+z|;_Eet=c9AhCBijvC~g6Jl-G4_YOOsO4-xMf@7lGA=MLhHk%It_xE8YYV;cF>Egx~qnQxQ^E4)C= ztKfaa22G9JDi`!~CE4>+V0#^A7r)FVSSRn|KKdK?^G|&JQPcg%!FS|;!>g<&{{erW zA|Xbd$cIjr`UyOYhv)TUY`T0GdhYV}mnP&szv3F6IitOfVvOgoem&+&7d}uI`{W&W z?WnWG@zT4Q?r>5xZQ5YkE#vU)v%Sq0F6KeeX z7cE7Q@=pImC6$2sMfUO1xR7ID6l-i&+zQ~~m-prTkXi~71@dX($g1l18}@%!zB@eT z0eFTw!ok;21hYeCUEFW`PV223-(#QUd|n^%v)*5LzRP@W)v3O*JKcf5<{{OhpW`zQ z`=D(2MF#hHKqg6C;d!_Mn+raNd$)boAuP#~jfWX_SIpg8YTM~FE>ws0<4ERwyLqJ9 zPrz(MTlFlH#`+X}GKw35wSj*MV)9zPJs9J$fUjVOTAPZIm>;yxQ*C#dJUo9;VqR!9 ze5cgOI24>z4>q7`?Ytrd}>W5@XhuqtY*De`jZuWt_7((ie0QY}~4(@Mm>0}me zou42sUc9zg3dk69Dg{gH3P7EwzCQl{HU7Ual0eRB3B8Ut)5pKp>Bfwy!nn#7p1*nC z3)CRo6n7jrXEtJSJbr~&RnFS1q&i!WEpJ8H=ee<#23BL5nqRzv6mzCni+9+-ci8ds zSqSTjY;V~*O6aFPj&b19wlQcEb4&vf5YD|KRm)`bf16thylfBxAPo= z9@A~hpQzSpo@w>m%*KL1C7Y@XgMi2IbV!be? zgm5GOa2W3hv)_U=g`ndJp&5Y>^*!6@(klx=54)U0;c;Q^P$#m}ec%)7Yn0k?j(YAn zoc``_yx}Uk#y)E;Trq6w>k`gaFEDXh@0f-pG1zh-^=gq8REY6uF{x#;v8`o4ERhh1DyJobJ!CoE5=@rZH8ZB&o3cJvjr=lXET z?Kl?urg5oS5j&pZI@p@=RgJjtNh=di7m8Y*%TAw+{DJkDyhAVn7@z#5X2kZm)U&q# zMqTM8{{6kD8E-8|9EjXZIK6jL4>Vm^z6q@k;nOZT60(22NenuWv^0PJ`>baXo1g}~ z&5_spul2*6zJH!ybbI=G=-+tEvsMw5e9ATk*LRfOl9&RZw(1@cnl4#~7^ZUTLjheFZs-DnWfjW?+u>6|N`lNgolt0!}$^ z$GO@U4%mM#mpBkDP-`<6He)bXVmHXgvG+3qgpYqBcB0^e%uu5JC$QeA$bTkqimPvG z>X@*@IYxNMzz4=wAD!Ovq0`a)TVLpq>Y|lV{?eAipJiQb>d;{^hO*86 zn|{WP19m~c(s-0$^TFH8T5f{1-1I&K-Clps=t09>j~_hyHtbLRCSH!Y zD)aqcnrZte$tmvfjuYLTZGUO19r6S+5U8ubOu^tasz@g~uR~G-cdePN-pqp9p@gL* zqRM}BVWsQ0Mo=O)nQmN`sTmZg1Bf-4@W!tH+z^v7Fh^`dsW?18ZHqV5lXa55*PPXW zxEN3n;9h+L`mW&-*^D!+$Lx#B?P_4^#D8}r>GJmL32Ajkta52-$)>ac zYN8<@i&*c0kJ0CYr(2T~DAgU_dTobp-w%JD za`1)PQIbK6DzU@+^;?7b$3y~Od(=#4!|ctBcD2ip zPo~+!+L_PNaqgpjOR~L%8;21<>AHVh@Ya_y-+z9ZaZ0d0(d7fN$#liHd!cwMJ%Tz; zS|u(m3$O-t-btr#4849&g7L{g9pi?+mvUX75x>r)bB^D67+lp?P8hI0mxSZK?KLAW zIxnwT!1UM${TxhVofRAG@5^Phe;{64mkJ8ats+sP9Pc2}OGtar>|ATp!B>Bt9`&rI z)aqnu@OFo#X4?po)LNjFZ7vom|F266Tnjd5L{E7~b2ej61bFuCJH1i4Kq?WHHZgh1%`#9F zJ=MgLXvN{zc$P~r@2-lik!91yrlt#hypQKgH!(F)h$H%{!h}Dw7;%57>-(tFTd{qA z>cf)GrzUO3CtsMWKJ`g=sCYz-bZFFBXHT-T27`O_dAz+~K03YQIoX_a9gaNsUvbIr zdF{u1DJbfST4x*BV#}Z=aLAuL#C4cVF+1tv6I?&s*e72%1qZ|`XNyG_E88vE+lGLW zq%1?pPX18QR_XB616TRrAeJn-zFp1RBZTApspvm#5Y{f zX#Gg{qwTab9~AYi%gTk;EY+c@O=)PDIDf7Aa^+3c!HxU+5Q+`JM}`rd>2Oi~xOe@4 zC{>Tg`bk%ViIOq>ozI{2&#!zSdcNZ5;?aYAMU17gbHDS-zvq81Ux;JPZXZRg1sVWH zuRspg8HG?SSvdp_wG{Q;nwV;~o!58Vn1FM5gVV2m-WvQf2YAJmfn`#!tz}k&roiT{bV0W~1f7 zS^F_+^CORN^2L8lCcyafIpPwu4!l&>k0X8?l;2TA;hrtw2~i4Zs619n zx#ugN6xx3y`k77sy}vI!HviVES3rJT6KdsR3_zWSXj472qaR@aSZ?B=J00A99dnHP zJFU2mr+vy@vorpx$8jHXS$TEG_IK%Tf8tZ0HXGgA1~pa*wKd^!^&v{RbcxCXDh0;4 zES8Lv)`eC^L}!d7vUW-Lo<&eLnCAyrC$PHqX{&#$gu^q@N-|PZ!a6?Lt75i&xj$@b zmux<#--qJHqspV&dE_O}8B~O2mfL7kK?<{EN#e2LmzQx6N z>EC~i>sB4Qp2>DG%nb5&WgxWq;-$(dQ~{5x9VHpoG8Jv}S8;jI&LzBXiAq9k=Gb>& z@RcwqP=|XH5R!PPx5o%j?`-{lisL5Bpk>pcL?vj7^ zAEL)pQT<4C?G1K-Qsh2zAFQc6gZROwqGUbTLQ_MhA>8BG_Sd`_j0>1iov*@iy>0vb z{JeF+nWAPnEs;Old`k4(LybhMDFyrU@u!KH_V4{NlMFJ>u=ijaC2m&hNr#+h}H*wL))D!+ostkalN6 zYCfh+KZ)2Bg4Ta1@HGwK-wQ{F$cCgqHb1rjx^1mR+&slCVDIV4O&l*kenH#! z4!qX91hEs)WMX(MXOv_c*_xP{QplJ)0rFI^UJC2MJ-89hbLT@2P<8k65r-j9I1D_$ zkTZXYq4vMyj4l_u@+p5qEk||MSL!h`$2y4-OG+S~r^8%mMP^zf<|haePQ-p0DLSFV z${z-jdMhir#h$nnBF zyM1pch)w!xVm~ccpVm?ejv}Dmy+!use^j?Zn{DB~uY#8QVN%==EEKMl;fzAWz<&gz zycuhb_4`h5I>h?@R#QCBZ+mRDKKk8X)tD~z()nNd7QKH@-a-GW*K}vs0l$Cts95lm zkJ|D6?$+<&bdKcL+Q$98j(O}M+lr&s&G9_zJgd98KE_g=mO+Vn2Iwi2AGy%|{H<*! ziFL{p`xho>VsBr33Qry&4$>AL;$nylS;uRao}Wk`wkl6)Rtl@8OvnBjR7wytSUZ&D zO@>~)5{!S5R=F-h<9AqZ8;>N(pTT7Aljc58`6i&vfT4~kG?K?%-8=%cODs9f=3FnB z^Wqshko)(~E?$Q0F&y%@_8v@NTB-INy=%TaV^-B>VyMnI-PAJ~n@4HQQ?MzXDG{D* zB^H4gvzB+>?#8=$z*?x8`^3%yp>s_VQ;|L2GOK?C0fF9c3w9{hB<3!R;w?G6&;6a_ z$ZhcsM&iBCDdbq#m?G{8itHiTAigd4;8xvEK~7!NnKPupb++mFD)oT}h-^+SCWB)EVwi92t`#0ha zC~|+`YYy#%&{)klsRZ)B1IS$TxF@j+ur|zWhWcuRc33@5J&=^MYQ|zNi80)V$d>2_ z7o%tUWX(6WBx&)%y6rEuEXN*cRZa{hJ6tOYURNvs%p;Z95dHGpu!yNC61LZinYHK# z5Y4~@RI7*(2)tG&!Z?qBG$_IoVk`9#^9+A$x3khNJvw=$+G#_G?yJ@c!rs3*=trNb zniFT+Y3YHCDDuUOO?fG`+}o`nlA;0FMJqm(n zOy0*&WsaD$4D~Dfn5l@-3xVtIu6&|~Q=+8@)zC8JQDaV1iYBqr>-v$pcIjhG2;%N- z@ttlZc`FqsT4NuJLLA>^x?#jl2r+*JP2W_C{$OCb_hhgqCH-+W%#7)+d3XJ?==c$X zLB<;J28h=OJ16BsGtjdy*A&C#06)mzr#ABinX^?~pf~;FDpPZg9(h(R*7L4^6Ayn56&a&m z5X%5)hW9CAD==5?V~|#3kIlWT4b(Ewuc%SceSTa&E!S9o5M>ef@rbv)jQ3Z=yLI8X zpoccqe~-6xnYJF;-_4ZBQvw-BnNIZlES!!TN|-GOn~OVvICO(O#Ec72Cf7B2vf>Bz z`q_`Op;i8Rb zkk1)y$kdr|zGHFDB^?EjOm5zSEp$vI*F|G5{xewa}ltj1Op<%?ke$UV`LP?P)5 zocHU36anHn@wH@RV|*{wnh{X5r>eo&7PTP*Vs?(!g%?)iJ-paoYw4Mf69T9?m3vU# zVGsVVwe4<>)Y-u=e8-G+%1dL?;V zocTu%+neL_0mu08iZ_Ypfj(*RWM?c>s&D(V4bC|}?wx3xZ_hYK6B+PnL0Pr zYuke2*!rwswb;baxbw7ix&M4hCVXrH^9{4Z|;In|K1t3)Z@@7?={0-<8 zr^WCWa^y{)^JO^2G1(QiDfi$NTtS4$TCM%KAlupC<{8(zH7@q1HisZdhkA$iXk;4? zTJ0;+a4^QD+wp_c4`LeGZaf0pP?F!{d~+}gv4V8)mhFG5>>=}k6K3m|)x3ytOw-|= znCb?xt1GZ|)t?Ku10SF8vp}6&h_?Dy-Xz$VMHa5tDdyFOix$lxu#*=qUdlYZ_5D9+N7^MsHo#!(szCym{jJmd4-n;?1y znpbmv6Dxn?24H1Gv6nx)a|ZQTfWb9f;QVhX;#&>kG%`xJ-5P+u;vc80zg&2G|GPUm z#@G}+xbXcI<6r{NVHNL-B?X@S=kwnwK-UTKwLf$d2sR9(tg#_dSM+~A>yv|%QB%Ke zKAQ9M5IV-^8TRp9zLoJYU#995cOSX^UEFj-(yM=aFwIXIA~ z`94@YJQY3NZzO?4Y-9~qCIZg)HV=(A0Hy#)?^}JTC+dax-^Ndgyq%}j(%tr-^M4*o zsXKp2c9m{*0wy!O%r^n3|9NcH_2t>?alN5X?`;=1^nP!6p7eS~eLub9gUk$KP(I`g zd$&*t4w8{Asllp<*}*F@MiTQJSC%u}L&WIV41pm>^m=_W1CRasKJiSBI!wQHdTv4I zEVq-{V5Wp;pOp_egAx=m*`UN6N(1IXIfZ}hi8yy9*V-lUC(E$r-SJ}2&$qxctwVz40I-DUOm}hkez~6+=PHio zQ`Cn$#?hC)d4CRdu}l{)kCaEp&4lP&bz@jQCu(rm-^aB_Y%wKbkuaTMt#?o)onL?Z zFMXCch`R$TiUc5$8qvpBF<8I1K*i4qo!&oAIW;e|LfSl z|GV+Hy?L_6?Rdd)Pd6Um z+X!k}p@xZ_E|CKsRT(yw7+w09OERKs0qqBS1kA@P#&|Zuegw6KP+Gizm3aWB^Skfw zufbque1?5q)Gilx%<-;;mY*@jXTBi*$Hw%C!|MA;`czvl81Mf-#&J2~TiAacaEwb) zKP&`oM>EV{Ou^}J!`waw#Cut|;|Pu3(O)&vOe@fpVkYzba!jGDcT~FvoNK(VAeBVv zX75?!F>PJ4`7U!SySpD^v8@x-_^=VN#wh)Ba~RxDSox}MMh6`X9+if96A@dF;y!<2(suYb6*6`DuGMh=i z9WyAA+@Im|tOtiN)ixOS_&ScB*y+XluCE1k^LolJus^Xq=bvfUGsJ%!BUbp_eO7bc} zDgmrBDq`~HZIQ=(v3d?6cNsVyC6hh1yoD6uNm>w_;`+a1sUQThJEbk%9`P6QXYdA- zoH9cspmf6T{1kiH!%KgiRlUGJJmbccba`BlQ;=o0xa{vE&gi7Uf5?Tu=SQw}@hHtVeOJi)j7mfYsj~WXM6{geOAAI;5>GH-|CqUr(5pbvMKFnfg6}IO5esALl*clPV zo#8%W`kmPJJLI2rs{Mq({saQ^_y+nb3j@8N@^ZU}pRj1TUiF`z5T zP5LlLk7}#w`{4ctw0HBSMW=@nAa8P;qmIZe>a+HF_}{p@bD!<(F?aDbIre1_#WmNw z?`Iq?-1C1co_hCl`%*0lJou`uJVv>jjnpC%?{U7JyKbA~9r2hrG39OXBDjp9jc0Ca zUo}zhe(@C(-Pk17nJE2=!7>V4m2%@vL@WcAE|L36*!b&hIt+$c)$D=x>pt_D zaX4w8IUTA|u~(r_tS94Uw|}iPr0^Zw=$Oq~|3UahDtH zyBI5$$?+@3RV$8pSLj51%8cs{YBOaVg0az%ms~?Fwg?~%*2?8+6GNnUcIvZP!)ViFdvM_ zy&sz?XuZr@)zI6?D%hKiM{)+SV#JCJK27A=Nd%S$oXR&w>bLoy#mjutyeK{4pdIa_ zMnwr5-|r!0TbezhGGu=3jBQ*MhJky06H^wtY+ z#=U;>_uyf|P(%F4LkHBulJT#7Cve}1QXcqbEa0magAa$1WGrCt=L_ne8w%katZVuX znjwBL9EMbP)q*g1LIwKJ=rl%zUaXo-?M)` z-R1K@93TP5b=8b5${)A-`rsxfKQNgMD(&*uFW((K)J#8=PjOjnS}AVcUS1e*kLlXS z&&EeWxZuz(7cx#ByIP}nJ++QU;NfPDTun{V?sKE(HG@8Gy4(vFd`e%-Ib7-9;Tr1W z|Mb{9#T(J+i$ppW9ugHIBSu#7UpW50;l0C+8?hY!A`(;8(|05~CepdK7 z0YBH>&AcsLF&t6aJxk*wW}KNuM?0B!XRs+Ki%XHW*nj6f?%O%$U7tDTc^C_i&UylK zJ%uVmt$=&XbxwKVboQ`pGz57k+=t3oWh_^y?aT^V#RraM4p>CdK^>bBp?B zE)4!u@YST$tS8zQJ~cJ(eiwi0`T=a=NfD>hGlsN3Yvf3sdf6$SCzl!@vBlzAyTSjZ zYnJz(S@x)opy56+G4SaNNS&4o4YK|0;s_aceT&WL=uP`7ON?1|9Vd{ z7hWd6U8oY);k@}vSwc!RCmd|NwmA=4l|gG()W`=Y^M>m2OlV2xGS`1hPi8C@17h^2 zAd0!94j|?mR!$ZSswr!+MvAzl0wU{9;K?Fi^|{X{&srk=U4O0raN(hoA1|KHSv4x= zBAcemPydj8`IS!t20sB0@3KcenFQ6egL9>`FD*w zdFFTcyW4E8@1mbwT%>VP?J9|4QCc9w_NZ_2;?3SyZD0Qeg?K+5*m;EjGqT(jTEof5WPW|J|Kp3Q0L^s zxR&TKp3hjnpbqlanFOQ{LM>Uht-gO?Ct7{xx1W0AM~&L? zQuw<$OmedSYNpm~2^h`IdpaxY`*35IF3xRRC$S^9Vdrn3dGojNMy7n=XZl{~axo+I z{fuGFqT%88Ctu{ditlrkWJdVt8~v(ks^_^Tc?4VKM&up6@+gIU%-V7vJG(C^3F_*I zg~$*q7UUXvLhFCQgPvOSt?(_3&<_cSy5dY-#b4JRzn#C@FYJgo`dJ=*D|*hSG{1c8 zPP)dg8QJBt`EurO^prUBB-j_Fw|!R`n>=~LW%T#=p;355%I|NYOsMI` zS%|H6rrTmIp>$CrCQf5Aizh$azHem=p}1YD^evmy)LDOrtqSrz*R*{erR;6J%tWx- z!0RG0@AMT&vWV%-RZ~iN|Gk|Kz?^ty!4rID9Z#_H@k-8mvS*wnGtvW{mBIuoHW*Df zNDsEg?R8)^iR&F1{9r!~y)|`2Y!QLU1E?DYx{<_WB=hfrLDP^P>lnXD8rf{dpyCTpz05|ccDr-mxTryH zEEj(QGGfMx#zZD`GP@a6$@F$!KX79NiKRRETHoBFU$^B%TK@j`=LnAT9i@8MpDX#5 zKV+XHcXc&5)+eqwjEhb$R}&gfUSF~@DJg#=Le^n(c_hlJ;rY% zs3sxpw1}&<|2TBhI^VbkJ!GnYqJOCQo3^k`g1nzES0aJS*yKvqQhhy zXlHo(jQxEznAGrW=%EWn;IYGT_h*>bpGjBo036sYjBG z``4*_lC~mGd!7j9&oEx%T>Y@Ja{RI~-kyiVdB<85BjtGI?k7_>uF^QsitFRK@W+8$ z<9k4}Q~Y?%$2;A_eLw9V{JY{cYFnCU9R&NzC$!E)*_1P<;B?cxQ>{NbFQtF2ndMHE z^W-5)lWN80`~$Hp4DR0I(!^nP7Y1b=Wl5bO918mpKs9xYr-3#Q>C-rO<9Uq<@3p1- zG43^jPPM|V>UEn~PWpJi(;RxmvDRDkE2uZ#eknASYtQIWYH^(JvKZ=35Ic*A!^UgJ zJgUZ=&W3+D__x5C{^jIZn{vxw-OHqiDnwFVXMyAOIuVzMc5iu~x z@4$F&fjrd|d0A|XI%NOPte^Ch>lQ*L`5d3uGo6=4>6?%D1OCw{{h6;H7`vZrr`{2ai>s1O437K_fK>e*(H-&})CU(lq%$SbOU~ zYo-gyppl>#2WGRbuYtfq(&zKHzzUrIEubpo@A<#3O`hV#Q@^v1owjFQ!3A%^a`#Hl z`r@&2I>Y}O=S!detfNF*7~iP2d6G%CjyGx=CdT6j`KJ0k%4u4C3WDoee=6fYgtT(; z_0Z&K2G5yzhW~?~CF6f~f(z4Urui1SUQ*4M-a$Wm#x6n*5e1$@=JelB^MK#fs2(^@ z%s33oEO2#2+<4-6@mPsX3rrg<3`edp#EqR!!vH#E_%MMN1D=IJ7r&IhJbSydoMFxJ z5|iQ>roS-}@+uZDj{LAOiw;Z52>G*t|BJnMYgS%o*2VrxDp!9yMN*hEtbLP~EZZ_R zARA-MO$rRi#+(fRHbBY02$RZxPqhtMTZt4g0 zYv*31PKe8G5Ip+@a%(()o#~|KOt) zqFhF44h3f97~2%B8tUz1Sh#z;v=2f%NciL0d(KQynM0J}*Kf5f=BNM?I+Lqfd(zwB zcp#3gGiiaYY#rBs+q-JhjpQQ+5wY9*@hC7kL3~&_F>4%DzhlCJ$P-jiKX>huhz!1t`Y>9wF@!% z-NvPeMro9hQg(kjaKJOL4Eg%ex9a}sSKBy@C$$0Ur^j!9|6@R)iE3TTO4?O-oR+b3 z-+M6wL;aI7c3lT)P;snvQ73@d#)@a94XoU^o+de`goys^Qi_I8u!w{Q)h_>G%7*mM!`h8pL2xk6+GL?NnuZ{ZJ77AxCm3;P% zne_2J7S_*yI$rv+VmyP_sQl-au?^h!?|1s&-qj$Nj3)+aRUOYe(PghCJ}yr=m#gplr-%iPXB3LAdEYBu}(^S zyJ@|FcHK!1wg4bsJKi$((c$e+@wtnXI=b@A`~2Fx&|8861Ulc;_>rJ5Bwg#%Et%O$ zQYw^B>A-n3G}9;+Z4R+#lGK>!h`Wq9KAezea&%tWLE|l$1PKfAz-C24q}S zP!=FLw;S`PuZf`{*_f)6gZ5vB?q5xkOvZ*fn!s)Sb-Q!f4?zXfi9a}+7&A#!^lYM@ zGf|~|&^wL->O6{fJQ3@AXOsUDqZ=_;tG(fW9dCURoaQcJ&;HR((v_~7+Y4cYG>ki9 zInqqExTgg+zif3;TO7rDk9cJNqVqs`Td1YSj^G+l z3*h$g=dEN7KlUMSKls*fp7{EMe(eb3L!f@zL%i{F0cm^?{n4?D80N9$`r1MKL7L@% zE&f#RK5*3E5_%l0O%~1P5ylfh+nx+Do(Y9^9PQeIC9aqpzWqRX6h*p!_Ay76cvDpz zksWWk|Eh2LM!#e|S{d zt6puEBXgH6%byn7Z{7Wl>f}Wc7UIC zqLQZ}u44FOb00KDlD+x7yf1y^%ov{n=jZP@<&FQ6yr|xpF+x+2<=)R=$pss7N`y8> zETWmLPpp?|>XH+?5Lb7q6?WQxwq9;F(&PG=W}}gx26qxaxL)sBROB{o7(U84i8mvG z$U-_ZJOa5x48y~7)NC?nLVluK_@0NGAKorwkW}a2BdFi!%@NbC|B~sRVw`#Zcm9vohv?Ni=67`pB!X zE&A`Xr2xd3jXBy24=l=@m)@6`z?VhI-OqCRK~zQtHC zMQIyRhB$85yBgI{?nENIZ=Ud;KbF7bz}|Q6zxRw1%gbO@oOZ+|*?+L}n2)Ad?1Ljm zMn3bZJNt6JXb(q=5U6f-Hm+`aK1&jcc-)GeiJ#?D)8&w5PG-7)W5mE`lOC_%`&C-9 zUj2c1O`Tl^);>De$Am=Vr5&vGLhO@9W{u@qO8{|b`6ih$PR+|i7f!7|>2dIYFHe2+ zL*;bRQy`m@D*i_8hH@Ye{Bfdj*T{s=2k^Er1N$c}@Xy88UGyblRo2RoP zYCfA8^Fkvv`1num_S5R!s_6AL!8G&*b$qWHA;w24ha zD->~;w7lt91fClkNd(+ZO-Ps1*(31tMr01W;cF%%e6|@dXcHnLVpTYRyZRO7!&!`` zcgM<(-~H`d@`G3ZK8M==FB_g`85am?qQ7y9-+K1H<7F%Nn<_S%L)-OSHa|KOP?yH0 zd*kz?H38p$GyY9KgF|z$@RQCu&fAo3TiRuQdjzva@seycRDbH1LM7Kf?$@s~$#1ND zyNLAaEQ7w2KXwHB=7#RVnFRT)&38})LBb=E6A*n8Jz-;!^+{;3uq9i^9V@8&U#b(S# zlO+|IzuVjOyV^L2k55kt#{bsedbGD6coQ&mupXDOTiCSn{p23*p~kjcU*!qoMUe;Y zGntFH-vZ8&0MV-zfc9bkQXeVlS?MGWU%DDq&03>?v zS9qskUs)U9iJdX!n)@Sf`xTEerd!b;*K?rkd8Iz~@7Xm$WMWm1qvYkU|yLb9HhdKWSVrwvcVI%uy3di*Ecr}Q_5lhe+B zOcF^V@G#8-Gp+o@LBRyJ4C7JVKlg%>?v_||h+A37yW4tc`wY=98-fV$mERcS?rY*( zh-s_DMqv!bX`d0q@HX}_m2qMR3)A+QMWwMC>c$drZ$Pjm-Ah;3abMUA&w;8YcfVTGeFFZ4_;6DV+)B` zscedC#TVlm<2IMSNr^4Vh5L#!&={>>B$+9Grl2U1!>sT$@)$9WezSn`iZV_tqjY3$ ztY_UgOKxJEt@_S==B5v_wV_E$ltQ$=r_KX^(Wb}x%?BR z*8={6pAesn)(8v8Sp2kiRQv<{v6TINd;bN443_b)_WQN}Iwl$DzynyIaqTNcyQ~$^ z?8naeS3CYfPEY>S{+$0~{4}_Ks(+!~q}HJSLi2hr_$wT>>!WYNGC=!3@%B%v&Pe5* z%dO7q-8R$BXI|cOOd_lG-r4Br>zPOs9?xno!T4iXpD67KJ#>G3pZ9;oxhk=1iC(Vp zXBmO(>M**m#7Xa#Yy4QD-wss~E$?rk2oU}8L@cwYG`$oMVtsm9AFlW1eu3wi^b<$PeYxJ~k)tfiSMc2coizBOUa+L$F`G_x!?BYq`I0<0_d4lSD0C3fgd}rN((m zdTVnJRBD`x!mK~0wSGH)ayLRVsc6tq(=|x|g9x$vq~}sjL#WJLx@-9$uHHl_he^i9-ukfHjX+F?lSLADaBW;j>FN!#4EG?=2LUk% zC!QBt;xx2oQ7{oXecO?`5C*gha6vx8GdAAg%kLNeqNhhWogN&2zPinqJOAkSdx{Y| z?TjeatC$`p9~sCj5D*8Tl87lzwudYR`FyNdLZ>vMh;Ipk)neHd_DkDD4SN^#A&r`dvGMjxXuNS0 zUR8WgtY`js%V5NRTu9w8pAf~b0j~#zCzWpv`5=+1Ge3!fxc5B$N0y8^q^dfflTX{Ywe;m0*C3~ z2&Mi6_e;{m{gOz$XW@C}_g?t5*?9ZgAM7H){WE2{+qB8aAm!f2xfUaCjTk-$Kl>p> z{P(^`x}w_K)+jGfQm2;JMywZF>&J_oX4j8Eo@IOy=+}!(pMa&|{5I4tyZcg4Tlx`E z6p<321!((!Ie|WHt8V))U9?MJ*K3S1x}AD>BEICrmsUzeX6a&8yF9v=QimlC3bSBD zp-t)wMHe^@FvKG~uz;X&HY{cizASn0# zAvm=Q7;})P2^<$1s30U_aztFHdL~Kc#`Gx}RQkJr{u%Xmg@W}P2cr2Sv;6a2=!-oo znfA+0)%t}u_R+B;mR&A(jbLIG2PSxAU)IWb$*W~-7Ouu8;Ke(HdD8669{T2y!M(k-2%-}nY@F50c- zrSk|W?TDIRdy@Bl^6|&{!y5nTBmJH!e&bKh|L8*@e(Y7!50;L*BZadW&w>R=cRDTl zOxNY!S8TXS5^hu6b1^o0?ie)6e3IO$WKYNI`-|eVkNuNpCTK^|pELg~hS{P%O7jzc z6=FhFrqh7kNs`%kFL~+hC#c{whKN{tIwpxr<9WXHQqd`6lsr%OvG1AY@%DtoHKzwP zXZ~q=W=}(y?W0L~hOq>#L>{Np#X9V1=b@fORJET|#J7Lre9omag_lWvD zkc`CLfT7-tyy{!&+~F3%4DFD`kNwb3%%oDbF@MMSIQ-FG>)U6PXZ?Quk&TsqyfE_L z@dnGe^Tif#jC_|&lxI1w=?hzqAeF4RkSCwsDw zZSdG>A#+8w(}Q@?yo@23^08rm5F;!=x5@$+KmX5d?@sN0i>tifQS=z6XDf+39 zxWxHoC`X>gzvAJRaxR=xI@(Ax^y@A0sG^yHwj`NyC}gLxJ~B||W#pRB1!8J3mQSOF zi+0jMem13ZCy(BcBsc2HC^F??xl_3b^Ap)9Zq@hR)<_s1p2j=Bk@sL{B<&-{wm+_iKCQ4lYydCE#pP03uwh1N_ zc*YVY-S+mwG&AddFe3fibQQ$p+>MS*wJSOmj7)_y1w$)0HG9hEhIq%EfXeq4bu$7)n;|O^9y=PZ#y% zdKnW{xYNl~OD7F)OJ;(C3QUh7)&^oiu$Q1PNo5(wlt99?3DzNhiZ7-IF7;+|)CHp^8>B?d0*pyYE}H{+#$+n zz7pVh^#{X9a>QjuIu<3JU=xM=oH3c1(A%^?xhR7oOxmm3y>}x|J|xQ8P-$%l+M0RX z>WRwUoJbayegdd}M=wfSsW)~g;;&ROaz?f1GE~B+BGPX?v}rhb#CUXjcgF@r3>L`i4XQdr4dsVo3S;8K|Z1EK1G=oa2|S0|8)O5EVL6XF$Zs!>xqs3abN#2 z-Y3qFUA+sD2U08X)@=VP^ZwlHzW({8-h4rf(x`AM17i(9+3{Wxq zuj1E#pjhmKck;pKA!+-A&(r!77E8f*#INiWxc|%U=?9PKbI1DO-B*d>B8bSp?WK># z3)g{qKB=h$#$?R?0lrJV)z8_42zj)mOVMx&{i}7QS#-BBs1y#a^+zoj6BP*JU08_c zY!I$DjfQXgb;PH!sN^Hmi_WTXZGC0#1v~P8)HS&H+ME5C`uWeXjF?Y6?a%bMK5BRP z;@32Z8~hWx^!`2njBmfOir`DbwEItJhh?hyaqzt)Z~-yYgu9dt<&-)H^)yEEyB?bi z*JE9L^pNGb=D)nAV0?+R+Hc0f73lX$g4sX9NUL3QLK8j&VVl?47(uI~j#Y~j)fge3867GBA9!Nn-Z!8AO13kw^DdzqHX5hMFX}Qj`Pv`OE}P zNdo)%a~~O~bRl9kR2c=|E%ObKrcTIzOzZ=pLqzuwxwt--Ho>?yN_Wg8#v>EHj&TN5 zL=443B6AZ|+e3IS3K*9 z&s5Uu=Pr)A%j!P=#fl<&DZ9e87i~Ws3Z>1Yng;Gau>af+PSBU&o=VW^XT_}WkY zjXfwO&|i7Giz#E=?@M_^Q2+MlQsP^|H?H)Kz^^^~-`j@5k59lbrJx)_x3$jkCUwO* zeG2Yq_xfB!OMa9ICFo;%qLi*@{ouxEvKrjJeagv7u%J4}=IScmVQUvd%JOR*UC zsKZ>gX&{{^JT=`Hqb>{-9vl_X`z%!6fVi3gY8H}MGj*}JlN+-vxmi$uaQR3iO*(YB z1{t9tAA&k>=`C}{^6t@k+nvKJ)&m$x*^>Gp8t2eo=}m3&@L<7)ZBHa-ns~@k8x}g*b8{n?Gw%|bkNzt3 z?j4Ip@jNM-)`wGZrYq$|_D$A>`?FKi8tD}OVz`|fd&%Jb0dpAJO^!EEqcOvxQ}6fTD!O=Q!m|^yE|4i zU+&UvMz7Ou@){Yj*46`U6lIOJ9`#12tl8A#{YdM#Hq%Wq>IZGMOHN}q?ikbkeZ1w} z&F)f+3)b_ekI}du_a}N`PHfpPUa!kU#DmqVxt^?|L3i32O|Gieo%U*zS5}Yp+HO)a zz|u%VxHi-@!x5{08}+i`UfgY+1*1T;J9;;m2A*daK^8{ddSJTQGWFEn8fWXX*M3@8 zO^$uz%vF&2{@k;(?C|vCf!$-Lt)C5s%i!|x)y(muOTTZ(g@rmjEEpsx$yG zBpJh20GA^Ixm>yw1&8u|zep#PRC7D+ByF)Ns(!}Rw14~jvE?PCFs=N8U6jIq4!R`fWy6@H4PkdGwND^u?9J-z{c z&lcZ*bd2;c<)jHL!uQuOb?OCv&q8{T0>AHJ+QsoE<@nD_{^`>m>cv0&Vx4G={nr>c zvaBC*z9hD9i1J*L;rKMMJtO7#piBH-3)|yV^w&G;5B!ZLPyjAb&Fjn{r->5`PK5--0E71ETCcFc;IOie8gbH9x?^`p1=i4I5F? zpNYu{h*qU*vMT>h6ElL5@(!TKf6UhL$bZ|aetQR`TnAG8zJ>e?K$(II@=y7F z8Y4g5k$yA85G>564C@=I;R@%=0p~-1 znKlz_e>ol=_6Og8r_1reG*tZcGrz0(UiPP?-?x1MmN&$AJ(yMHtM7f%3@|;w?@uaz z{A2x}bU8lu?vL#m?W+F3@VkD2tC#i(Wx5=H10*$&AFk5u13}y-ddIXOtM-=kSs=a5 z7}Fa8J*1~8M;*`=*1xR!_ZRdaiX?b{pN;|$qFP@QLGG9yDKmzlMvllISq3AuIDjE6 zp{n#47KjsN2?=d-Kzif+P!;_Q7r{)>8bnVJSJF6HqTW8&du|i*AD^4Oyf{y+a|MDhoDdWC?@$2@hIxX9$Fxw+5^kElhj9d*TtCXOgs!Wf<@n4Yk~D>YlT2DZB%DUl zP4zh!ee?sEa!)1}WevW_l5=W*UieB&lyA9w9i%|H&Sj8N${n7#shRQ(Pa)+6-}5w2 zC)5U>xvA&doM&1ZP&?s=AYB%AkDuH$DTZTy&eF3#Jn=kA3+g=hgY9VH?s$*w^CIln zD{Zfe`NKZAhgGpX+qM3&mTvpQUH_7gLDuX2YO^;PoPh3dy}JTc;6!kL2i=5G3@ya< zp2Wlzh7af$FC80hlD1$xMPeP)cmrL~Pink}u9T31&50{b3h4A8?Gy?=iW40%);u>c zDU10uNHS_3_%cf#7>y`aiAFha$y4HUi_1J^DWCB~OF6|jkOAuY`#ghG6t=-LnNEFM z@B>R1)V}cJDV6Ea>!D;)->*Hg;Q-AI2<7vPBcqR3*F4HkJ+g49*YNXSDwze{^kyEQb-R{;k zx7B`ZlR=HOny)Rp_05)=Zu*1XvvuEYI-_p4bvYH@XwOhyIWur|9$@)0Ebcq#w_w? zndI!=2IzQx56qx(j&fbBa+)k6Gm`0k7UjVA(JCu}P9ls#ljI3s0fZ|6QH)rQ{x@tS zMcP#07mAzY;H-c;)J=H7ZaKI)H~kkp#SECO=VYW~G+%LlWz=9Jn)`t+dO$_PYjX!& zj=!~0vT%R}R$5>@C($G{r^enw@6&9g=dwM6fXCbcDvA-!6PGXz+b~vOkZ3VG6ozEw zd(H}&d z_mIw~bHW`M21X+BIj`y)MkJTHzQ8)v=m4w8*e^owt{@GS&PKZ&A;}y7zlZP2B!{PN zYIkMr%l9{a(`+*!JA5AXqyeVA2tzLkS3ri1{et&@00JY~W4jj)ghG@O< zI!hLmDx!@<=zztwp`vs|&4QJ6M6{_$sw$d-d*!D8Bu$%g2RN1`*(@@9jOfA0h|2%R z3J%1GdSDDwCUZ!1&QCJE0vYz0B7Ud{U3j5MgxNIwa3*)5Z!EY&AZVlt{Cve%1VaBi zcDEdV;yj1FKJ4)_W@W_qEeDzBknKe3${b)P4yJ;GeaOMsjdd5%^rbpmf^U6iqM=ba&Y&&X|PWlbpP+`%<-P>0F?E7 zX>?Ff1iL8k81~&+!ML3NbVPHdxd0;r+hG=N68fjaS;53{7=^7(cEuKy=OPrwb&hzpF^I5aXH)!z$V(YV6`ecc%=U^n_ z3f{1BP{76t(izP~pW4Cj$$;<06^K#tgS!t9SVj;%a)8;vaG0ia$eS1`;FRzlkjVc@ zBmd%<=2ack4y)(k3MN9^VE?Vi0s3cu-obBmaNaR6xh%)jArKk+k`E)Nv@zb{*oq#& zi&#>56p<&f{?n>xdNGcdBSntB49J3@SE>>Nfy#? zco8q)o`dl$*BHO49AE9Y10p&gO~=YU5NBq{9j9FdbH3ufv2a!(9iU1t?oR;Qm>H>J z>4%}e#GgSKge?-%6vO5p2RQnkB-C4Dj(?^m-$1#cv4#CUmS6 z<+Pu3lPVL@5OHq`iC*o!Kq3e3!<5}}9rB#^uQ~1G`t>Z=uLAy_&*&(B8B@31%Q=fB zcVH}BMHs^w$4BSCc#w@rHlsPPFxS~77XdMXS>zhoitn+k zn}Y+BVeg-o7dh9%s^5Ca>+kZ0@t^er*Sx>$XO$1(=Q8H$?cLa68hF8l`%N`Um7Gvw z{eAzb0*3Tzs!^ft#!KCQa$V+JSJEr~exJyJ=r~rQ>9(B}bjmf9M0-x#((3`>+=X;z zr>C>UwHVjy2+vZuk8*8TjDZou6F9D2+)s=v%*#EL;+{CG-dQmh*icc;y)L5DofjY{ z{Dj}@{rR0hI$6B)iV>bIOs)-|IuM$}O&=B%5rv|1U!A2dLc!pFm4pfm0*Pg%PF^YTh=N!XClVrRHhG-fY(wDGNVwP!A?rAyLe?fb;<9ODf z(at-twpol7%|<590c=av4g>ku#Pi}`jRCGF;ODy>7Pz*PVGj&kukl>*SMA30UR0fP z=qlhx>$w`*E;ThBk_V;27K!TC|pVS2!GxTi;^ z*yS+Oqp&;e45Yaki<>t$5D%f`AoWHA+vnoSptn zKAvNM7-XzQ1*TP=>)FLwkx{vBX2Gspr%$I{G)=$lo2G@Lcz$3S^5evD5TZZA-=h2- zl)pX4;pF|?FMn6hr&akFe+O0h^7pJNU;YlO^5yTj$B! z0L;aIa!bcS-=TN80?PrZ%Beg@IcHFoTbJd)D9g>$qO_-}%JuVH0(f|aGXZ~->Nm@C z$==U7{(e7q%kn;sg(=GN)$gDzU;U2C^40Gc+X2AJd3-ASB?!ZIEPZSTfLE3~VZX?` z+_mbzQI=a({U=p9t?GYJmb+K|f0x5^nXayXzt#=A-Y1YwZkfTdob(~z;`w!Uu)N#F)ZJy%HNep zvFr)!|0#>@pMJ~s%eH*WYFKaW_ng_{IbLsHbB1S0QZMUH?@Hh}aj44o2*t7z&-BxO zPgzRKy1!*zY{$23QntDOi;mPN>n`4O;kZ6Q{X>_esLEF~p}eg7TQP_XyK881_ho3_$_%OD@2{)m)Tn0uHpebkNTj znE$lFXo!ity$WBw@LlWkeF@{X=n{iB9Q6f{8{Y02EzJ!<5R{#xJ(cOAAGkz)zl(2w>KR6NE|BuB0EHv%0ojA)!cveUm~G&wA2rML9@CK` zdsHECAa<2TE&1uc@?8Y2{r%lGe%HtHCW95~bs59&BnalP5ab3{hWQElb1ejk!05wN zV15QGNqjH^{9Xf01rdIqMHp)1j^Fnrwu@u_9>3#CRDF~hrSAK?|4F@na07$m^CMUR ztk6Z-;{WCHGl}%%5G!&<)q2@Kos}vn^uyyA%)=6}kXSx|HIN5_Pc22&{*r!Hgmk*& zAUhIX=pX+-HqPbvF{E47uDEKK;UeA7_BsUzl zH3m&HPe}hZmRl)oR~e6g`TReFKmMX!SEOTvbTt25-udzc)R3MI>U*si>8{~>94fww zRW*KV97hw|OU!BN1#!!EDx#`! z{nK~dKh<0DM_Be>l2^&!Sf0Y04_Vb8L%{Oy+D8HV(M0+$1?DqcZ}WG*T3Ej1o3dQh zE=1{kzo&tI0xBy$StD4negX&m5Ur9=OFoLr`QzevR_z41BOPN&jzIg^?@}+ke9yDE zocDcj6qa|f+!^_Qat-8#d|S;2^_xE)!1}n3xNki)s-o*sLGd@+4zc9hK1(7O3$$l6 z(IkfAzJc0Ug{+RI7BIoZp9!>QbWy)OLpyT=<1CX5hjN8ow*+i}^sxmApe|KGhB*H= z;!;tG^XG#2`VQh^(l*jb;W)XtUg!e-br541yWW)MoU!bZ;p+2Fbu;rb^yB!Zg2+i(V| zgY7~J`UWY`2kHUOkP>YeGH58&OC#>29>JIq0tg=yK~rJSCJmZG-y$|H1;nd45vrIA zLL<6l6Wp|am|#A5E-`@3z$@*KBXBt63iban5~Ts0gOcvI64XKopTgnH-{wq|$V767GaKhNzF6 z>cN74lT4WbY0d7-DJU@oYaMpZuFhX0wQj5qnQ}9?^Ug0YlzNqK>q5?~C~Vv!@hmW1{tb=jpPD`{AO9!kf09^Y{Dg z>8e|65$^Z#aiqlu;}xsKUmWdZ+435(oFyxBrk1cz;-mdoH=p~(QCQL3E>^8|BZhPJ zyk(yk%|xT2QN)KqYheyrEBSfHeymMtf8Q~^`=?Fg>8Bs8^QL{_PP6t;{+muagN)>V zJ3nBZPreA)C!dPX`+?2A`7ik7>+Xjp!ARH5Pdn{=WzG)kPd}Poy0T_U4}bFG!~VFm zg!^uP79F11soC*=-SaG-{218c{RRmZqV-`%<{m4^Qyt=+l=SYwD(fbr;L| z=(-AxpLXn6`{&)vjV=2Tn}cF)?jNgzk(1E4FPhK&x6JNae=!p0eAQf^qo$EZVJD;E z^RZ~|cTxC!#PWGw9X;&ZK5BXARkLm2d#h&Kikth}GJGcSXRLNYed-_St{pXh2lqwG zZeSn3&zbmqx8cHVAJ1p!^})y&VQ2T{pYRfsvH$U~Zf9n14x=q{<{WA9Y z;Lxu{GZ!@)A9CyY?txo|9<~Er2FDOhRf+@{(rg4Tk_w_$N8<;Z~h~_ zE%#|$JyDxfCb$3SY1)6!uknA}ulxVDUf!1ffthu6+HRZweYMOt-S+>!)&?d*8UORcK$C8-I4p;VvxK0USn_|rXGz=+S9c?<111?>OQw@@~lrUolMuIvCVs~%$g=! zx}!yAo6)e4F-?%Uf=e(6MlVh1yTr71nKA1gv_l89s54r4<_T&-CHkqD?{sa&Fpu3!g{^i=!u4~K6dqL$Tj^-(=LuTb7jZZUVDGqPwnH`IUeh`+*G3OrlQ&4Ljl8-@?Ne; z&}!UQr`BM9benmXW2%WsaGG6KW@~kBiP^*HF52X>_iE2=*gqTl70^@tr6yq$bn@^s z&(dVaer$vJ?X+Lack7kg?=4r;&RW6b#Jcy6-o5SXerMei+lFD^8kX-sq^-{8?RefT zYQ@tp`c2PEhw9$ik05Qk(~c|Dv48A$3(G%d+}O^4TdVxiB(<4Z+GDMs)Su_oVOR48 z)}__zjLc+3>pZP56aCm|X0G0p8+V{f8Vsjbx!?CDv&Fqh((A=Aw0Vv7k9oa5xNG<6 zE4k#o-S9cRnA~d0g3k>u*S2f1+o0|)czyDCY3aJZy};?Re`euj4zaUbtzY55X`f9k zYTLShGfrz;a=o6r*`_PA<8;wI40fyfaJ=1VZ7pAhyVRf2d@UZQB)SYeo3^i(dyzxG zXsQ#-%;vGS&ZEXk?>4&Uu-}=Z+FH=`*_-i=?LD`&v(gu1CtO^5+O^(UTZL$QN+z@Y zI(S}BLbukBDc`}N?%kO)-QRNK7|Km={E%&b4QlQ2V9?n-?X4MQlip@v-v>^*X)GJ3 zapS?bWef_zwVXd(F-@a%etLAYh31C2;Wu6vsyWM$*`)2z#jrJGwR_mu+}pGIaqwvL z>z&Pgk!tuHMVq&E^AVeIN8xmQALtJ=$c;nH>yXgZjMQ+L^?4mMF_^G&fZpZh($PD@=2Wx`$SY=L>bHi>D5 zjya|y8uRnLWgm;VP0XEBCx^y!J0-AxfA!QfGee^pXcKb~WX}3^agW#Q69#!NPiFaa z(XJ^oWi@-@njPaHQt9ok;XcUXXS5Jfh`k;by3xz^gvdtw8QWoPw!ZqoBj44}%$w?;B*`FuIOk}O6JMIbRYCE!Z37yG(7LK z(KxxckE^tMx~_!mZ9L`qazXdYdfYrmWIh{T#=&iV=PGNo9Aj_xW_G$K7yV4vFtUS{ z>bfUZD<*m%Y0>STjs5YQbfQ}0a@}3h?QSDHBZ)-2Z}yz!$lB_XEqgsj=T_q}kJIIA zFnO`Xb877uS}0FqgAIn*`ha2@5H_P!o8_%p9#&2 zTH4n;*307ABLudAF|29~|#z0@G2k><=_4`XZX%=y0Qly}PA9Jx`sC z>?q>%>|}YvmF^AOJ8#HdsbL@4IUKX=e9V*6nm@DdrgduC&>p3K>(%Vx(-YOZ!{<%1 zR&POe@nsvf@>i!;pWN)7OnSG8Jg#b!+_w(3oj7Ij^F$JFN|VE$seo#yFinC%+@{OB zdl`87>2lxk@owD`Vz)@A_v^T$$V>JP`sfsy?oe$Sf$krTX}g)uy%VExk7_4*KlmHB z!F6?dt+sPLY|X=eczZZ6Zu{7J=(Y@xodbbmaGdrCnCIoO4?(yUv*olk-7JRl+qtOu zohQ6Pb9GFae5iB$@a28)_KZ`p@M7I-J_=*#5beV&`WqzApXs#;~RFZ0?TZG0cN|jTPB{olIu=t-)Twz>nyr^%~cD zbQ!zHS-4ZXqId0dp6L_gDlWS2De24nx!Mh1*60#(9^EzzoP0Q(-30!Bh=hsw>lIXy>*_H%ZpqHFor%gLQM)6K*Uoh&=*_TUuH za(~-%jP$H^`%%A>blhn+d)VT{lEc2M4KKrfZa=PU@hVnbsZv;(hf6_nZ=APIEN&lm zPw^ywS+JtQ3D$y&(IUHqm+{>UEX`t|nGJ2V8j6(4%$tH9JYdN8$}DE17G248K5Cgv zEo$=6b9>%pnCq$8)enp1zNI(xixcaq-qlaf{^sOKY3Q!~|59|;*cJjX6kHGmZYA(= zcj<60vlbOeTI6XP+kK_IPo&<}3*DfGSmY2QcnEZX!uA;c}1I+THX$N3o ztU1KJS?ySeL!Rq?MAPSa`Zj!!83SB(XG(9-cDYM8qJC@)9MlZ8#rtslGKr$l{whQkaem;!;ZO5L*cU0j6dP+u*RKm7@M##yW866k`Yzd z3mH(5CmwelG@7zZBj4aWYIv11bfy47K)%1J%MEwy(3_M0De*!#F*RSzBX7H?kU!x$ zirylTbxcPK0@hR--zHa7RC8U$Xf9lLLT$z1bm5WpAKKxTnIDIq}&wWvaYF&`d zfSQ2VK)eYCQ*jTZv)tZQHvmgrj;+i+8tlfFvRf@sY`HS?O%+zeRM#VXm5$yNqMxO- z%=V!C(+xE;(Oml8s&|XRJuG8wZyvN(mGRRZZSiNlDSdP5en-`FvzK3t}D^t zQ`!=0V2raE8m9TkwR8~{(xL_Je}M1k-l;W&>P#@%RCjKxXod*7Oy{La`)r;da9_9KjY%1KIcW{ZpCcMvMi{r$r}iykMx|%%fe|yB1e#HY01b=%CT$ zd|MYcX2G>HF&>a@$kh+!S#lto*ibApY%+ftS>Rw>o>dw(=l14YCm!g>aORVaQ|>Yz9gB)0Dm&#PO_Cfxh$dHNJZ+Z1B0YZQeM0V?`u(IM$*{>1P6X7M zmiG1F*V{_E=%W3CvqQPco?Vm5QeOsEZ5_1y5t(M$JNTGTW;rWSe+Q8W6W$BJF7!R+ zpyjO`%9Q)Q?9gnVZ4>*8`XHn2mcvZv5_XeW$lmJbzSFLnVV7H-5FFRh7Fpv~Wh1=5 zCEKOjeVkexpNbkvl4EN1g7NucT!CXrosPd7HJgKT<7qY)p|C+}!!{xB(H?}y^*zx9 zDCG-qDpJy&NXg@5f2v$dyzqfSw?h}xlg2wpTe+}DeG3&YRDs73JoO#{Wa&^}kizo4 z3z#}RgX#7)kmezjif&UKIl&{}a$d(wJp>n*HoE7^O9PpP4PxXD4~=SkPkSQHx;M_P zEJ~Yx70QYrkO8a=;=0JB#1!pGmuak^uH1WM+Q%4%9XPNo@^&|lubfX z;$Xc21W{qy);cB(Pxy(5iT5y7Yji0|pHEBXBT3LSM7~mvr4(n-#s@IkemL3tATWNp z<0k{Ru82kBf3nhSWrT2`Orl6zGn|3Kp-8IvhidK&Jpv z!L{J`6Ma>egk<4H5Stnc`?5QlH2Yf`*7x}2ZG*)TnU<^ghm8CN^2X|CM9_>c`LZJX zA~Np{d-r#G8y@UA#xh`_E1j;wnJ_ zwxEms-m#A)Y{9GN5n@Yl~%O4QwghE`E;WVdbe}Fcj)C(hSaKb zlr2|o5BUw0I{+^pO8ATK=d}*J*J3+)xe>fCf#XwQSNa)O44Cg=!vGFqG*BoYP=?LT zq$9#Wf7pZb2lp>52hqSbQDT(rcR279*I~TrEWytf(|8+4lDGiosRD#q+%V_CMWgXJ zJ0kY*-}`+5lhtLh4KOtLxjN$7a9Y=FQ3HFFO31X<52E;$nge0e-d$!KN)&1fIlyZi zkp97;$pOwtr5Fu_8+djNRF4M!D_j{zU#(QAf98>W1j{=If8=>kUhA6h-@I3X*#?@{ zKv*x3nt$ju{*q>)x3k^$UhO&$-aRMWsQ*pbyJMUT<;NcUIvDSW-0LR->X#*;b_mpP zsN34FKl+xEyUK)ZRejbZWE+M{e&>?OKUsdaAEnc4cXV+u70%bK6f?Aq%ULwHYK~xX ze^uH-r70>_o85*}>p+CSc$$O0fwU;`=v<`eH**Vq+H@3ae$N!s@9EM%^-kcP;fDm8 z$hCjI?3)$GP2o8#xKNs(<~-El?y?ToJ75q)wyi6Detum@RCcU5Kh@8!@INA-n(ERy z==EeDiE+IAcKb00X}EqZ?b@RBwVl1-f9l<*&xFyouedmg8yZ$-!y!fXSjWS_6s8Bk zz~E9Gi+lF`<7m#jtUaJbb#s*0gPfy){Cp{zO`Qa+S#(#OjDh5A5zrw4bdHDR+KQWL zHaXbaOQxxR^7J6$fRe@<6@C|bzuzXS0z>)6wzMA(+GrNar3<3Ei2ewDWRFUPe~R?E z7x!XdNm#pvmh6i=zE2x-SS80Yp86GbT>oae)@=yWJOtrci09|A$z=6$H0p~N54JQ_ zXrdi$inmPm?c!}kM$s++UB+1>ahM^aT$W63ouN(_-j!}_tPh8HuSXliYSJUzPToCR zV%SR`jJMz(J1$!1Wc@^d7tiL5e>UbwBu_jx(=cA}UK((AdQ(CMpjOCV^6Q1AOZ<#X z7#J3b5~jRn$Y%tXM;LEOBmc^9-_}ROL6?ncshRZk!q#8H-k8-?^Gz^1{LMgyhKTrS zV{$A+g0(n*dP<@=7VIITBC~Lz+b_QWmuO|ot!;OrOk}DJd;r#Nn`2gde?<;uf#jsN ze1K^2{7%=yZf!ofr!g6ixIFl#{SkB>0`Xac%@Jld z0lLO`WqKY-k?}5_D%KlcLvb9u zWQ_7RMuv=CDo-N$<41LBZuo$jf+7v6Si9b#0y==&ftI4sPpjs7fBS8)TDu!)@3HF{ zA;?PwTxsYET*ng6C*J$Q^lWrjt}kb~ioNz(ltGu0qdU zl*Vzr1^ftbpFBI}%}Wo9YL7I;ey-u*1+)`(q71_?Fjn%um{uq{m_LU$7Lb|AFTJR~ z`#yUrpyHKfCVdkDe|W27H)h1MgaU6&BwsA5m`4vX4+K1Xj}7v&o9~}OQVPgR{qY6v z`vd0187LdDkQoQ-;X%uVr1kmIw#U_!0?_p!%PbVm)p14yc*HYw<(S!cU(!W#o(eeU zkZhW%=CG3XRw`N~iFGW$zAB_bUhj4mEa9BQ2fI*+6I5G*fBd;879{sC1A6^)9|5al zS!h!u@guwOT@fa^-|dF-ejm}}k3XJIQQBd>u3Vu5ew`mi)zfDYq>Sw?v%Nw5cKj;x z-|Dj#?>87x73Q%W)pvud1*hFxZ*IyCC#CG_Q0h&URe=knxXmKO@vLpN@X95neiS*^Pf| zdfg-l%1TC>E~X|pf|@X?PzRlaJhS1pHlb)swWTC}&Bc21kV4SDIYubMI!qaozTWzm z$5MD=y-|G{PT+vS_CS-} z6e5*O&%_Mw?`@n*fQS;w|5DRd%_E#o$m9}DB=-Sw(1is^Lyr; zxWB>ie}!t|-@)+Tw#+a}IdUy<$7kYE1$N!0UW)+py7?8E;pZ3z)HyIlw^i6sMW!S-3GVPK>dchX%G zl<@=foOt2(@e6e+pHVVrh6Y`~AG93DX5c@2f9MJq&6eFCC`eCb-XY5@>SV+Q;=x*R zeCWQXb884{+>#LvRhD*mUQT$CvR>W1ZkpqgzwJ3?UGR_xX3Q>r zZ2BNr>ccuuN>G$MY@UFA_01m<<#dsVkjBs|j=0R69%1A1*j>!^)%3AD#|X!AO_Jp< ze~aKIAt6h}q@Olp1~yWTai0e;T(u)rP;ac(J~ffgXo^y)t=b|!2}$6aN_N_&^Lu(9 z9__X|$f%UQJa$%ruG!1SP4e~SiKA5Q2GmhH7BfgAd+4a!r*k&XG+Es9ig>jflxivy z(gAa-2Xtz_dHZFUJur-(f6)Pxxcq_Cf3n9R8%eJk*sAvKD^O|$%n)H0rAJkTP%^8c z2u}B4^xN+>o|Jl*S9i+?w@Az)C6)6c2~2pv=4@xw(&ARkC>1!ge0x^3Mb^=DD#E)V zJabiBV~$`P2cID@ZHEZeoJ^|8A$&>kKNe}Q}1 zB-BGaye*pqv15t8A&vg*cm+_phoD_jwL4k)!^-Q{C#qD(?-Du&6gs7MoIp)Gdf5Zr;d6ap3)e;(6V-$NK z>+lIvQVT0rq4(`@lA)_=tKFeu-M10M<^%e??bXUJt&2y5QT(!PdXa?R*J;B2j&F#)qx>d<=b|HFs=)Hpg5qgMBNtm%j8kZBI=rntLZ6O zROH@c+}4-@XnwAJfd%38e?C5u?Ihyk27=bNTOkLa|M0GxVsmN_vxJKDhrNT$9aH72 zt}>|>OpLozr;o^swD0m47lJMk<16J08;z%I%g=mgra9a-P{xcrr@A$=N5};$nA9yh z9BdmjitDdXyt&B$9iqb+E_mJt z!qjAiK=A4JEox~KHQprlLUd>ssh~F?(@>!OIu*O%1tJNz2K^JY^6AF0)lXBx~9+(t_D68Z=%;_u-oi@+Z zlSjJOC$T>qe$Bbh#4x^L3p2HL2D;x91S?1OoI`GF`C@PQ)j0J=(p&AoODdxtkSIA2)C7fLd* z#VSn2ev;?aJ251^B&aLOehKD*&IdvZsn=Sk!Um$bNMV$RL;MyLh*`vdCOd`e{fmf4 z;YX0(*7L-fD2%W}X{ue?25ao);Q;#P&8Wv*_IMoOYu&$VB6+WflE zPL#`AtRNOFmBIj_$)bWpi#YvWAu)&p-3`qVGhZT9oi2;3%*~t_J!s zf*|=%e|iQa!FsK)iY>BhNj+p(gt2;2jHLGh8$l7HOwhvHS7Q2NM~+6Ki552(s@2_$ z%FjMC9D94z?=U5YuZUPQoJ(n9Z*mE)S$TuwyQt!_f9iT1Z(*a>e&Kt0L>%p$>JDu% zZyfBD_VF6&{5}44$yw5KCUnM-&G}Dm*7{Spe{43~SHyz-rEVeTYoczbd2#5c%%y|) zD#;P=J9fTnTvkmfO`I!@CPNjnIwI1X)F+asCg^F3`!xk%Geyp(FcaiKP@&Ov`rSBz zk%GmA_KpayS*BW@>9Ogp z3gmtp?=r0juIsQZHCn}6XCx@uLv}GEQkH1R&|@@;;pxQgEG4ZT#sB6nk7t`~#?=+8 zxiNlYuE{&Ah_xfH1y%SnP}Maj1SZ?w84(qxnR%} z3NS>umIIcsLnaZ^X1~xF!T9VV=cZqSBHtWLsZq=@Z+spD!6fqpS+cVW?5JU% z``LNoE^tbg?_`oxZwaPi+CFes^vARa)v3%DrFnvfvPJzvxSj{>)VOFr2H&_mGjqCM4OwhfAjU0McXQ} zGCy?EHNXm5*dR$+C$Jk5HrAZQR_tgqPUfMj4ghI?bI?OBz-%fOYVG7mCTADJ)&jRN zTMzFV$Vr3Bi-hf5D>beoBKwQd_s7R|1&gEuGdZw&ekGN%zH4txgBNXm7dKB9j|ERj z@f#Fr2!H=8s@%f-g^`6Ee@GQ3d-jyBxW*BF1Rz3TG;I!eMzm2qQ7kxx@WQMLHm}a% z78sxNk(s=5M5e(C+nR5CJX-9OxM|do-*}|6$}}1rH;_-OhBQ7dL}i~R+2iJ?AF@BR z49NJfZXNkBLK0$66C+*r)mg%#wWzNdKa=(3S5qJvo04*R&*8>yf8)dUpM;UbWfrgG zPgtZ*7%@MHO$c?*OG}=(AaGXpNeg;jT`_!sp(Qq=Bxf?!3;p)~m^tt$NG8E&2kz`z z`LMeEUq(%2CI^n|qH9=%I@K=IT;{(J;XSgqNxxcXwm!v>Et}>X#S0KOQg};PT8>1k zHNo>a40{xmF7n_=e=(21aKN{s7tpUpt3O#%u7DzanoGukYh`V#?O#v2z;%=%}Aj@Eti+?94UrEev84Ssy8qfP~sC}MQv zR_avbO03!Y>g95u&*L~DnzwOQ0I>NR6gL>S4FDXC(__*GUgDj9;JndImv|0``YYZ= z^hwzK(G8sH#ZT{1dCBZbH;iL6ku!?wBoA{iZBIiifBE#mGq{P(QnYv~xPsEuns?u&ly;V+}2iE};WyZVfZx}W3IffGKX89aUv06v^t z@O2{|rq*dk(I%Ns`2OvCNPkM{Ah`>IlsWN8^}II24d5e| zrOKSnX>Ta1Oz{hjOES+?THsN|6B=0hE0NsV=s(yBUve{#?C8Ned0ulb%P*f!4li#XHV z3RjC^Pr(0!M@5%&_s|ZEHS3GtoRqe<1OJ}3=!>-`gwXrCPI4xa^$>cjQU87yIv!~d ze`Yt1eCn}*GnSz7uC}xIwHV$d`_MF};UBE!Jm5TWe2?g4M1;Gbv=1y1Gc>DiJ882V z8C7B22ws|%y5gh+S`InawIdU9wfRQPm}bFQrFgC4!-%$Fu6I16)U}3VDw$u?rFzx@ z{4>i3dD zJI5Lq zJP0k8k`0qT9yYN+V?$@!`zDnQf5Kr`?m3>rOZV?T1%Cgj@p4s~fw^MhF#2R9R2pT07eR}NC?4BT{Gvgh zgSihg!sFsXqN#Hu>PP&;KRNhM&*uuq;>>_&~Zb`uk zwdkM=-<7)xWT@)<{aCEY^^E08v`@ld06i9u8)lHrc|h8*J|YVNPC`5lSNO=EK&;#T zr2!im)p;~{^buL22+eduDp-jqP4(+f%;4@9L%-BbQ$Y7JF6N$EG9G$bn6w z7vR5O7%!5*oTC1mXSznK+WO!u&$f?Y&a_je3a^h4@+QXjDycNVn_ zW#1{FdtvKPZ+TevO6se$NvC+|kxtVv%CdBIXviD(>fAD`i*7L><;%+i2vDJs${z7V zVOrnbe-0}ZbgdDAf4=to396w*n4mokIlyUO>7U_2m~g}mZTs7>Yw9{Ja0}6*rPZP< z1$-?pJL})acv3`)eKVu}(y~2;UIJu_f$y}gW|;Y@KFRKrAjY@}KokN<4rNhS^u7_K z?2;k&!5Mth^`QZ^W!pbyuG%U9*+ETU0u46p1Gc~qU!ldhf2^IL<3`^R+w@HmulEV! z|8W1uaMOlnx?fDelULHT**TKzAcRB|yO^O15SOGU=E3b$ewB`7EHSklJ?Vd$`Sm!a3c*P4gGO@0U2B!eaTRmsy*Yzeqq<^~B^G@#BPR*JIzHuuFq2x@P5>w=nu z$!zBBo<9d6f0_S=0&r6Q@^Tz;B6c5H7zXQ>m0nQ?0}!YX((D_L3RW5I!;B^#PJ#3z z!Y!(^`1kP>2;wO)*s9~Fl2jK=z}Q#!fT)`mjh|M+`vok5CFRVcOniZOl(c=J1QiQGA?K>pvDG|KMfu6Me`s>jS|9&KYnD!)7N#=xCi+^?<&+M|e=_uIn;PI=$lVvip9maO5>Addsdg8| zXS#k-Cm-Gl6)9(CF*14@seY_k+^f=J)k$_)7!7;pwk-QGq>55YqP*OYZbeozO;qzf z)m%9a((Sml{APBfk*aI;Am~8-cBZ7fKEG8;trB);uG9C{6F4@&jrdP45fi?A32W(n zfB3=t1UM9TPy|!HZU3|r$zeWA^U>SdZ4HnWy3myGhd^U{2>x`fny<6EG0ImFMco72 z#@M)T>zjlFbl&(`Z)dD;2Vv@8Ds572>EIO-f4d3;+DvpI0;WTL^{G8V03tX)bCZ6xWnC}#sy&F5+pz1Wvsk?$t%zV`->f^F$BwN z0>ch23-mQAm3ZV-+lIFbBgD7$A6_XaXw5GP-QlwvgI@qd8owq!Y!3}|!&W@@bs3EH ztd0v2#WS>%%B3 zf#VN%hq=ciU8j2B*z8M;E8qf}ly6B5ut=m-34a!r2Lm;Hi{*ole-{~}>p)(BB-h{# zdmBj3EEVI{J*%eg>1UbFa&80`$e9ZN5p2E4DWt>J4sAIY446qDCf+RDf7&9|+6$AY z;OKF=6Zb#SjI*dW_nd5rv*br8a{(((kEBAPK<(}?=p{Nf+p4-|K-0Z;f6*?}z}Iv@ z_^@Puc_J0;WKvo@+;K-PncOd;gQfx<|F_jH4QGYgVs4-YUk*^oIMZ%Iw!WS@#Q{5N zumu6T+PHmV%E4k_!Cnb{e|SRiEJtVU2h)N}Q2O^%=ec=;YP6e=e%IvUQF571|C^=~ z*g)VZ2$b$mc%Yuw#O0y@szBgi0K9{HjTnh+E%4$k7Ne*z1Lu0azhlFQVOM$4`_6)s zs5G0$Fo|;v86t{R75s_00XJ;i3Vn24=gR_m*{xPohPq$>AcO#3f0rrSuP%%14+8S* zBnv4x(vb00U}kD!$ob)+(fS&iWQ_k0N0?yZii4sIr-S5`3bnE`S>Amcmm#mKhlJt& zApj`9R^OT8-Ty&X^CL47U^FNk= zp>QnBBaxT9Q0(kRNKE^p^`Vv^`D!$b zIo$4eQ4C@LU=7U>`iNp6k|WIl^>))tOi+vYpb2|@{U%j z8Q`mm*4IrY**CjGaA|pxR5$a`F3x!gsAWM>>rCkqaJ1^rQWY_jZtb_0=hUIxQ%>9< zf8X?I?E?}M#QWI9`|DZFlF=Iory^dD0j-fd2Bj8?f3A)(FzrY+g9Zo{%%i_NH4r=~ z9ykjuxAUs851;Z zFA9!3BV>J&NVysX>Ar;Vef=6LQTzaxgNs8*e}^2~>VU-6(MATA2Dj=+;7V+^PXLdA z^0tF~sDS7LFaeL>UFk&N(|HnWRBUY*0LIhfqy<*IG;?UbrA|=7bCr_)L72Ed+AfpF z_$k2;ER-gZjct$TbiTO!J@%{sLi-mM+YcMf+9KZGS6xrbqMDAST4&Zr^gO)O#6# zfWtcKf`)0IHQ*#R@KIKHx0HrNQ$8{INk^$r+G3esd5ja88M-A;VssiE_pjqrf1wy8 z1e5pMc(HViBDULq}cWSmp*G2q7uu|as+|>C}1;S!9q@Y!+d>bqQ z%y$#Hiy!e5$QI0_f%EnTxr=C6DT^gNR_JAgq(CCrlQnkZhGQ%N^b-XRV)!a6aPWE^ zST*5Bv-1bCS|)(5vP6fJ@ptb6H^xb}scBC}vzvK+E|T(vKM7=mC?e~}f4~(&WgZM& zNUk(HGwT7M6M_(vmE<8ajIZ8nnHBu2Qp@S+hEeMX}T24HAbcDQY((hG^ z^TdlPr+HnjkThF}b!`2vHn@L}rUZu}UVc5M^{BpGe`d=D5-wiYQFRU^Dj1Rrza3I< zMZ8asa^;75)Gzvj+h`nff8iaEHT)*I@H3@ENz|_=g-8+1)N%@TC5nhq?o$sHj0mrR zE4?P@QDZCf=!g@ZNHC33=@9$z_ghKd2)M5nLls{(9I0mWQ^HNakcpdUfeIG=1mK_X zy4=y7&#GGOG>EoA;4UAr3u)Qg=o=<|AkHDzsnaflV1T}LTWBvae;DwV>p3vdwdl(! z!(|>@&M{Ss(=s5<17(HX-yQv?yoNKG0q-2E8y_eHIfUTtbCs{GS?#Q$6Rs7f7b$*@ zMZaWlkMW%w++!F7!fb_94D|2`*CiyV(*OYoz%ARO<1Q{De?OGY05Vzx%J(NwNvi$? zi;_`|sTM;TMj=kTf7uBVt1H5@?Co#Pa+@t}$8K34=jvRWPGgf4tYda`U~aKT%mkAa zTDfh2YH&|nZP;K9V}k!lJ`ndQNYx?4Py_Kym@Wl5cJ6S8V7bie&4Q`_)U_1N)cx!*jPzWi}54F=GNkR_()C6G5AiyAwa4jJDpO0_z75 zbw*#>Z$!>bD5Ltb8+*|B zp$B&xX9nX__r8p7I^uS|AMNH}QpZzEzQb)Ny8XF?Q8ZF%Iwa0>V`{3C4H75|5}da6 z+t5eA>B1ITmTf~5-i#BkSo^M#E(7$;sS?$%Z6Vq42Bp!F_OfZwH2~QUaN^N$Rtu(+ zajhW>f3il6Y|nMlq|}@Y%I*B91o^hG1dgxUzSb)WvZtYSF!n;Z&!;u-9sDeMlC%zb(nOYtHsM4hXr>FvBt482G6OmGI72Sq#Lh$%0xg(_YmdmD$Zm~DI9BUd$Op7ZngGshr_N<%m&{Wi5 ze;2;XOr?~>8L~F=p7EulEUFNJOQlgtX8|tQxw~3xiU;Q8yTBoK+7;4h!ryzb9wYn6 zFkSgo1yZWHZ9hR9c#6~c(ixZa*d$|6^SjbWB|98RS}@+3gho^Cwwi8{aX%P!qA^l8 zz|GhtK=E^{-Yq!RMRni3sHflKBQ%c4f8)O2YmcT(9Q5%3r3|1DYdx}j5zCpPEzO-GiW~n0uX3mnsV(4AuX~0&+gJOwA;X!s`GdiWeX5tVR$ZUb$RrPByc4HXblQJ~Nw`jH&gd{$1nGE@ zO!jQ`D`SLf##~H?+o7OR=&dvvf3D7BgB30tO&!N^JlcpY7g%2gMpWEE!|o&b{s=pd zmF;0}vEEB&!2$O+$iTh#?wNb<_3_n*_Y3?va0bC3Y}klx35<}n*V+RG^xgGHwsR+N z0m*2AqKkXflZms?eDCn>NgB$)Eu%Y|{&Q0k{egZ1VdREym$Sw6DydB^f7bCR$;AFg zfHj1tgH3ECL@)uq(YLrblvFUmD&xrIT@kZ!Bxvs~>Tf@f6OzDcJSb@T39jGs$_yY5 zf3?Qf0o@saa|{bk<3z1A9{!7eN>IN5S*=9K+_b3CE|t|J+&!30j!Mp0>9;(tEmI<% zHo=`*7l|v@Qe_kl{1Tv8f1h5d@Xp_ULy=3@zJ+_@xVSa8OC&9mH&q3sXw6J2RlRPu zs}T>2-OY9oX5Y0E}h2)3mV zGMzoMX72O!SuUTrYDAnu8`zX}<#^QkcL7G2$5=B|yf|C4uYcDie@4!=Z$B%?VgAxw z2?RYWuj26jl@~PBKJ~{Q1pZ34K{VmDV+)6gze}RqCO@urzCKkbQFb2u{SR+mR*fBvC-6g z$UdeDS%ykRqf@pe(^@%D1=Sm+)nNwja`bIk7*F9pT+~;Ke`BE7Ao~G@M|Xm8P8qO- zaihFtS`UOWIh~!MjBcOn%38w_NyN|E4TN1+$_Cqdua=bU<&0d&2ZE!s6l?Bh%${R)Y+7krpvIH5sQNv3#*p14tKH5S-O`MXqZ=~ zsUQg>S5)G`f53bdj$o@73)882ogg+JTb`mbaMd!5p!?u>Mk!!I_5!+rKkh=!46;5i z6$;Ha-2qW`{}wJO*<6qWi8NTK#gm+mCJQoTAc~EOCcRMH`iQ(xCXID~aOQILPbkmQ z#{-MBZ|^P5=)CM*+XW*i%yU0L46WJ$0Qj6Js}T6Ae^VU`lHTU7@&Q%aCD#gYpa6Ks zQ6H)i_GmJ;CUJ~C4JnMnNDv%RcN^|H=dkZF91|TdJr+~yOD*xMZ9$ z$xEqu0reRU-nqiTC6sE-ESbFP8g084Qf5moFLu0}e7P3kXyw)?rpA_qbw)@}PpiaC zuklo%e=#}2?@DyXlejh3Y6gH)(L}Y-aXoFiqU_D1x=8zbiV@?*V-;LrG%a7=cNxYp zAy$~xAYr?v64O2G$T~zI@mUuUNswCYO|&05_-L=;^h_ zp`vNSA5S>=K%9d*=q-3n>mPN16hm3Sy`x&U;Q^TGjXDb z;8gKGE`I!;5Py0*2Cm9ybx8~NkgrYuYB?=%x%7;Qz6HhWDpU;ik^{t@KSdhw;Rq!0 zf8pm(yh4^boAjc^Z1oLho=SZj*;%blo*LGjl*RXK3k!aC`$Ciu1cZT&Q>WtKxts@# z4$IY1uLK1RZ>4P2Lf9SrU5e!nhh=bPw2?$Bvj=G4#Q6Z=659cmAUHeYp1o#vOk24WyV}IfAi8x2m@g~+K$I z^@><|xu5U4*`D($V#P`gUBEp+S5-?`#X3u718KwxCyk+|VtQCqR9JXV$z(ZWj(y_j@BGdSNW|EwGz9 zS+VjS4I;dk_v(g{Gn{FHNJV2fA2|K}aRB2FU#~JB;G`{S8+&fs)LJh%4wi|45EzXE zxmQZgnwipfzMP(DvwwVDPN=3Of3a#X8F<(8u*o~D8S+Y!U0YER$sx6g65*?XOAF%~ zVD=n#;Yi<~AdrfieWwVFbp*&PoKc^;xGUt`}m=yQ!V*3Jj zKEF-kl3Qj4Bc=r$Ppxwd$^XxtHQlTuBMnv5%pc5QVB|6L`^GxDDMF8?ozCJYnfBf`<0yc1hrqExcoBfjmfPYQa1htI9Qz4aqYDOUV>uLX! zLt#eJk#sGUZGryF?@u!G=MVU&bY~dGNs$*%|89dnj_imt3|mq1c)4A=q>=a+Pd@*2 z1<7BFBoxhIQ@f;*z%V@gPi7$h1#pgxHU^zZFjO%NV}XC2iq>B$e;2#Nf>0hgVzvy! z5dTKV{A>A2WNR{v;I@+g9`}ElDgQS~R(c2|pTsl$b6Hh?{Yl-ww~&Oprp6~nP3TXP z(Er7U#a|{glKcLJvcL3i{Dj~izIXbY2VEt94Y5_`CR9#HN!J{K>l?cW+awaByb|Yd zoFjNb*Zc0C!>W3ff8_}hyPlExT1Man5CD1o=bGykd=WO??Gk{(_FK>T1FZt5+nfuA z&`TAdi4i0>LF0Q`R9RWaW}%YLj&{z z7oU1EF-97kP;zg+=z%})-mA%$geRbdSI<~5sPlmTP&iDXf28^IGv1O%){tY|$@E{r zam}CE5~%!E-~#2{$*=wDv}5awEaa3`Ro#UK=gB;3GUAThr^@q;pwlvE8pL4YP)eNF zNK$WqNE=}VPcg~21P66^E@Z$r(Xz-oK60Zn8x%l}#-wIr{RUR)x%<)?u#%Uz}by@;A zjfd?xjnaVE+Qw~`UdU(iOj9$CVIlvP4*%nttT;S-h;2TImObACFAkDPmPj#I@ z*C@>tk?bKA{t1l1mP;CYG#$_BU&LX`Mlv{w#=;cE;`Ro1pO|vQ!q46L$H!hWHyh%z z(kVLQf1_>krR8D@S&gcwU-wkbAIG2sb&eeiGuq5J+5?&{;%rFk)L*OE-t5efG;75E zc&K}vh!24h$H2GbZE)#)FzqF37r+C1RU1+g=K*~>zdFC#m;dyz3WB*IO0Q$ax~@Sf z&T@(FhE$J>bR+;i0kL?uw_bym$tRUd!-7CNe+p|RWum;gj~@N#^9H@liJ<7{73kow zaD&SG^jqCbo)>gJln3h>?T`{dg~lW9a{XmP)zdpR``*OzexxZOfLEL`Xtc^ugmWg5 zgWnEs6k@!gF$NdZpwo4!w^b1244uVLi&-CxEA_soN+OTVxf{IGMEORdX^W1n8h=mg ze_$6h_2_~@&_!T<;q$j{*D*fOl|BAy&#twAQwh#c z(-%Sbzq8mX%4KGDH*gCk&BJ}6KR6jzf5)_Z&5M@lk*{n@uX+SFbj^>xx$r3}nl$Eg zUY)!2-}!4Yyq-AAY9qy=C%d6-GnrPgstk)shp@h^UI9(sp$=U^stF#6m6t0st;(OV zy)ma$IBb_gETe|M$$$Nkj4?c#$1;Xw25a1}zeu5W`9nN}=(jz-e7 z*!%(il6bebjM^T2C@=uQlhMC)?Wc1wU5}hn841>b7B2@9a<6ikC|zzLnHWx&Uw?O) zBja1a5_e=s&k`D>k37!G&0jw`* z%P+KXPlm9A5SR)VezV~s2!8QawM<=7y#gGS)P;`Ub)BHt07;}Zzd(UbKX*}|2;}V- zG~|yYufo&tS!L z18oAmVBI%x1doNn0;g4MsNpK(X`e1I2sN1WJJ?!bg$shoqd1+obZ3aY#F5Lkx7cW( zZb?5-?h=*((_hGRGb{4s)6VzY=W}Ed*-{FULVu9i`qTvBD8fY*f3}d`j4HI_m;6?N z--4guEH(J^r)qd!(Q8cFE@V!X%%8Yi)$iRjXOTVRj-8pUe&@s|;pl1tkpHML1$aE1 ztwd#Xmi&O>6Fi#}0>Nk}!5^1Nl3x0%*@iQvXXDt}?HHBW33dr^xN$}2b6V5`S1p&l z4s!i4wH1dXAFYK^e}b(anwYB&H)!Qr%If3*8;*zSrc+T_t!xDwW8L@x)gqU*-w!%DPQV!_*I%T zJ=I!1BeQTgKr6ep+|MCGmc%I+?{>x_0lV>Pst+b*?HSZUf6zRxFsrHl%#z_q{nSn0 ze0P|@+3wGUL2EuywUN4tcB`H}-(N>EDNAeSO#O1kt_$XAox-{nB@qJ~q{*A1X-8b5 zFv>pcbb<4C;!K+)gKIyx(6T3e5^heciB=;Qpu{mAL`sbDB1Jn8_x&6Y`d7awn?K`V zHT~x_?9{&De{fI~tQJ3{nFd-8@Vviw zt13r|XW_ft;&*VGW>Rs`#8|Unz{yQ>)pe@8VzTGte@#D_BrwOe>?i_{4G_3W^9Ppr z?N;CyRq>4e4z(jgm%4o1>3}V}dU2z!P#!BRsc8&Fx(;gYxVZemTx>~yJIVvO^^h)% zH@LnK7la9-ooCz-!aB4JD@V@DEl%*O<4sB%ab!GcgB-%>>K=}>UD3@Xl3pZW0=;$^ zw$Lh{pS5kE{Ngb1X#YF9rqVn(&A2dXQk8t3f1>?ip_)IdB__q{T4je?n-pEZ`O`5>d?AXkCKDFnz}nAR%+-dI zC4|^chJlwBb?sw1L7A=KTA#-U36GmYvt-G(B7ZHrBb2x0mA0mVpx-i_m})?chD|H( z13bS?Ue+2Cz7$E2EF|@#)7(#ijZNUtmjJy7UnqP=LX4uft=x|Vt~3j#5dH3D|McyKzBu+3b!^0#UDc?BHa* zQ)IH3kg7A9+?edm8B!Rd?ck)>s)mY45)Qwazhrca7RfRExrXEKZP9^2koRyS}6VU z1T5q})17Rjx*GI|F}fdvBpI8)@D}`1*V}UlG90x1{ZdUq(b9U*<-q4Ejcf5oiPiN( zgnYdcn28*OX$d}6anr~_ssk3?YFO1@E#-qlDGGfu3POq^5N4@r<>EAsita?GLVvW! zt4cf*l7KC_8Xqb#T(U1~{F7gJh%eP*g3=*l>IouedBBU;!3}WJT-gH(#@LcqG8EUc zkVTz_5qhP;%+ghOr!xM2?$^PvW{>_yJsyV|Odq4Ixji*;c#e)evJ>y%MYld1DPm{( z!`IAr!bF8yx9!@ZlUE}d;O}pz1AmZ9N=r~iPAb+Jc}`*1*pAK0Hs(I;FG>=zMO>8X92b6JeSr*Phu z&G=h=94^bgF=~f=3PLfp_gQs~K{fhbv1Qe~ zE0u$UWEhS%DH(VR2r2hG;5=v$gxzn&b~gL5PT}0YiSWAimy+gXnjC=3m6SbDsSLRzQ`9Ypu7R;1G9Yu1U0_ zh8s8U4%t1a%5w?R*nj1-u~9{DSl_6lgUG&-`ghV`27Sl_Lj4DK0GR+-FuKFdTILI& z97Ip+vJlZpuc#!(nz&LxgTDv~t)^dCIfZhcEd5QsmYe&GkzAM*=G^r4uQ=NXU5q}bqASi~y5qX?WwFq#} zIUz*|qi5Un&*6TenuPfCYz+BzvdJp zU@WnZg8Tymo5DkQa}E*VbmA#!Fv8RFmT9tnY5y9UXNk;mr7Qm}P`w{3CR8iXso$ikI3mk`DuRr9wiGS0(jFz|%D-JA$Yr$)q{;`!; z>FmqZUw{KJKe`VR_Qv?KY!~2SVho+(FId_i{@>BFX5Q;se)f^Ur8i3341RVSS7;fG zH+j9cU5&4;doMwkz7dX{X_??cnx% zWPTb;a({o!qSN)t$Xrfd1QHmei4`Vm@I5^LYSz@CNfm(B$C^tDZ+m2)wZY}!#LSBX zPm{E^&A;cdHa&_fFN=LMJ5%Lpdx#mwE-;3=xUJ9Q9G=`g%f%ZPgwhqiK|><4!zCK3 z3x&Z$zVC|X!_Tt-S>ei)Lt+q( z9oH&5naI7XHh;kFZibb@()B{`@1W~#h(i(J+=}ld4&6TT z$7k|sM@E7T1DZ&(&;Z-+$eo?)E`B1PDxgL7y9Y$ufTUveqt&~f;KYzBE9-$72;Epw zyhZaMmj3r!TZO9lAr3y2JQ~;bMUtM|!<6GTQ+w{YbPNg&MrC4?Ot@g~O@4gzrhns_ z-^@M%!Zpy91+N1+VPDOL@y)`(ok67r{11Toez@ZsYMpV>^yQb{(uBO)6>T)mes64NbstC*kTZ+ zR6xJF`1sb5;sm_bbhFO~)dXzTIDe)_dt}53!S0-LYj(6kB-j9!e~KywAMJkHOJ9waEH7Wx zsU(ZIL0BnSY zmy9dqM81f2O)t=v+^F*E?K@g0=RjhT#8K+k1VMQS3wTH`D3v(V>~iSth7g5 z#gLZ^B2Oi0Ob42|P=TwRoMJOy=;1ZL;?^W6*Y3Qot>BS0uY+^6^qT-P-F{mt4PB@1 z$kbK|*y#wF;&Jj5mZAP#l{qyncW&=tIe-i8N%ABnlo#?NvZq|b9)F9ICc-6b&RCbi zaQfJ5<4b7ShtQV}Z{$q|Qh8&53e2)-hbs8&J%{_kNyJ395OPe1yZ;$33{ELHGcD5eZL13U?PDV%8pvFEhi)Ux6ay;#nN!`jRb+=@V2}k#^>9>v z_z8t>Do>PT>(AD*yo_;`eU>h4j!KYSG^^5%gkC8DqZKOoSAXS))V&GNhl<41cHqm9 z3dw}IZu10^(J_oC2Y`I{ByEw_om3>FaI9>Iz&=S53W_buHEG-H#eUEN3u5aXU<{jI zmU|8(*DnC(u*{~2hwx)fnJfTaaOkRKg^no>-NbPN1eq6+dZ-O)6fD-IF2BP3S);fQ z8ieY|N8y)UV}CSuQ%w-jQQ3U=>mFhbqAS^Nv-syGq=sLlyybTE8+J57b1aVPAQ|&A zo(PE@|e$GROQeQ{<5wmf@k3qW}`B4xDA%ESPyU0|XP`Z9f*U=CLxUKmO z=fl8QnI47NK&Cl$>A0?5 z3Vg~3A<;CF^8>!rXMARH@3m@@XSM@DU@zG(#7~It>F=BEKrSq1cp{Z~75T{F*`Y;O zI}p2X34dB1YD8wwDqCJ{XEQ#LgdszwE}3){B% z;@yX$7d6z^gY7#k{pJ2_IAL(<=`i-+N6?F`s()Ex=hiHLTVimDa=dPVSgM6=e%VsV zy-BJ4F|)EBT^dIxi4MvcFQmz`+bNkq?J;hT(pH9`@bBI%>IGYp!e;V?l>uQS6xrvV z5|nW@6q`Qh*)E|U0ThxH!zW1b*)tWuoLuB#k9j^3ATgIlUahBs{Pui76O|(!%)qRU zr++jpG2ziebxfr<>a|hu6rc;3cbXt`h$C2%V&-(_8*Vk~OB7n22{?!jH#Ct%*BY;^ zwsh?zK{OtWF73l(;LOwH>e@>^&jRsru~obX8iv_=dobRTpd=DQGvOp!l!UOqY`yaA z>A6{LT^X~u zzd}f@A(-f40fy!Ga_r$Z5+mqL^?GWqVXXB-Min$*bZQP$>u1@6CdONZe8549G+5qt z83jGB?x1@(qUXYSB02%Gy3g!?;d_u*B-tj(_Wt zSb=dJ-;`oGzEo*<&2R?Rj@Rsih3EpUm7E!R8$pfR!u>L*jyr_kwv7dA>*2cn1I6hz zN48NE#;xF4{j6a4Mbly1sv8pbxNz-E`TE%u0TVU8OXw?5$XEVHDk#fND$7ikitvzq z%aTU4QG(|Y8Y#K)OV#zy-x6xfoPPuzr)^54#}FS#H-my-%Af1;8A+VpwpyiN9xJ<6 zZ;lja^O=@r1plu$__UhrWLZ-2ar})UeL*iGkWfon=U<@mw#vFm&%qP09wt6qGzh=R%zmP++k`^zm*2N+)< zMAch&m0-T%lmvYaDrKOmZ92T4)(bC3SnwP6$I!%bG;(wuOtMK-nSWR8vInB8O&kFP zAi^9oN(uoF#*XIb2kIHXaq?p#+*Uc?e1_@XeHfpwY3UF<_FQkaeDkR)sz)FbCaZ4- zk#YqU1D2hm0m|W6+`gYba52#W>9-FNl>>A_O1DXl)w^Hi{!XF8wv&K-pWrGEzmo;5 z6f2sPcaIT@HYR6zba5OEVM@)=W_tbRDiITC0{cA5a57BBp!1u$?0EMf*Of`j#W2CQB4 zgXu;morex%?4Z839r<&rkWYIt&pk+|tZ8o*4RoWU2wWxIXn*f6>Q~Z2TOX1}qbioQ ztJ~EC8|*I)0KWIy=i;}%bPJ}98g)xqZSs}T`0H%+=iJ42!m_N7Gl%Lr9g)JYb8~fI z0!25%9(*n&aT7LaRm9Lt>bKG6J^M7Nk~HVk_j@?NTyxW|PA2S#wAO#4p+0r5zxd9> zWv4CT=+ajx9Dk~%Sm(ILD$X#5fbZh#eHZi|dCa-Ee;2>Ls3Ti+p#zmHgNxLUS&W#D zg@jPb9t^JDI<*zZ!1l7vFa7y&a?a^qlr&L?4qBmYQhu4b>|`6?Ru4F)VcC)){a?ot8gBF|9@gCll-#)d5*z39P;; z5RJ_6qJLmk*$qNh@aph|LU}!$p$e2N%0HS<1NMbv& zwwu;C(MwE#+CqROU7R?LZ`s&54|DJ5d4EMe+)zeAJX{p^J=n04PM z$4FJyaXH40^B2fcyx86_S4*tm&M^@-m6a=;^XwNmxUdn`pZ!RiXBm3}F-rFV%ny2P zP>vTeB9xh2=L+WcCNm8ybEy|~p;3nxt@jtD5L_RG%J2t_Y;YnC~;>^G-=9RQTnsykbCn*X#e@Mfs!MrqbFZt!X>VF^h z1v(TWEG_Vss>y^*CDQVZ1ce?P=jP)bOZk1RvTrzOFJXAepc2W)49@u75XL^rsKO7h zuj$#7ocMKT75?_lXpj7v`2s)dfH?rZJ}AwxGFtzs73@Yq4}>9)n*xCwu732KOz>5K zsoJsb33=*{K+^r}A@cdCHpKBIIe%b=MQ9&b(&Nl1FClhmvyptqeJgP=@MwTmhBbTN z^e&EA0!ADiGi!(DR9N8i@%Ad{xe<`374WCwEQkK&_nu{#E|4auVBv$ijJT+>t6UW>Sklu_=ibDjiLs@3nXit$%8`MKJgw zj~c1e2O#AeJ}$jV$KLLaAFjW-PIA#x%oG^bO!Vo)?@dQY6>8lN<1LMZ3ooPZ_J)4s zlzlar-+`jrF=;>n40~9ed*7xg%tDgyikNGfXF<9-3~ghdzn!3FJG$R2(K`iQ^Xzdk zk77(3MMYdnmYPn$_wz&&OMiy=VXPNG2IJCe4n*!H5yhRJf3=@fy)>$Gy!;#Fj*c-Oo6() zg{F|7O@=JYKN{1L&zuvui=5D8@b|)hdv-{9H=i#SbiRaRK$6++a#LN;oXC8e6{{Dq zx*b~ElHI_NA+4v*M1Pw-9_L)2U{1$*3w$=9{+`dv zJi@cq2i5Z1WiwYsbz1}3wGp7ab;0uA-cInLJkNm=m6g(sS&bGM;_(Iy-r>JHBi}ppv1jMB=4;NKwJ13>Y+# z7NxK~XS|=Jj(^8H*%JAdnm#23U~S4|i)qR)aC^l3Tj2Tq6|6OZT7)q2V+u7`y z!fd^u)v>Mr$hMTByf1c=9=?5%^6xCX2IKk+dr8lh;I1`L#CzO(7 z15uW}J)4!J)Vj&sf?B)t?9N4NLIOZUI)t);nId4t3FMGoR}TbuknM)Sy3E0NW7?l9 z{zd|vCCBqS^FVDBG^Yrp46xZSo_W#z@sGxTbR`SY+n;($szK~-NErs7@@5E8wcam& zD#)SPaw-r!}fe*=|K|MEdx2k{cdBzuyz$j#(d=HQq z_iBbdq9mII2bgnxyss~QFomaL)ZrU|QReEJ>ssc}lghVHOVo(j7Z8=#&rJDJzj_vCZ4=Wyj#gdr z%70?&iiOulJ^_XLnR& zsvfm@01Lvs5i4ED;W?Tl5nk+jn>$HcdJ#(Y^opzw_pOib_Ly$IcTlgB!i*n7UZ?q* zU!i$=Mu!!YA_2eGh8YKMA_f$OF#EKDd4C5k+BmUwKc;DO7PLZ7n$g#Lx^ELaCG$it z`FJJ<9}nY&UupO(cld=4NQ#IJ)MJB052Hrc?|ibN0M_ChY6Ymi1FRbuBgWFd1Z#Ol z7dQ6U9OwBa$OC)3jeGHvWW}}2gHfE)`Mss>C~D*6yulruCk~dC>9iSwY(GYM*MBg~ z<(1Vi^Jw2?fSXQ&x zqx{aV$44619rRc7{KA0kCCL9TM_JI>p>i^;FS`M`{uyKoOy` zYpE>LW}D$4^#vUM17weL+O_N!qk6? zZ|9ECOG*8($nLU|AZ^Nlp*XR-85bi)J2W3)EyOD5+I@9X@jk!YqKkjqnOrE2 zha7}Fl}Xzmy8r=~K9%7+#VywFdVd|@4T6yFz%=aMVkpeRQHQr1Z}~p9;y>`7PBzps z1A8$NcYb^tq6RY@?$Ehnzojy@GHri`JsdqcF%}d|HpdG+x`_gaD1_Ktz&spk8en=w zA5-bpdUmuse^*GM?}aM$yW}@6wG%c}z+#o`K2HG;^7*ph*kvaOI3YB_W-5553t|bP z2z{n8rjdr{as*30^Xb7fAA2E(LGtwW(B;w#2rCQCy{gB`2R*M{2)|!n_%naGCZihj zv3u>cn(aB+EFt4biTGh#1J|Fjp3Gn^kW?L$OW(hY0Qf;KbO0dLXDn+0*2#rL4Cr;5 zSJ#?D#6;pdhyuRLPmpjysBDTZ zh~oG5lJ}ysoQ{7}S@rFEdz%C$)9~mK=FxKkFFxWY-*{U`PBgOR&ztLh-U+Rst4?ff zhSwpP4KKfM&5H#gx><@yKHFG|VK2W)nVV2wjLan79x z$HgtLr`J_tfMB9=oVRL46-?^a;GdezSF|{B#$<7fN@ssFIRSw@1!?4ZvQ>0hczN$` z^{kuPfX9<0ilr0hFL(^$GfeD6aRt#Mi+h3W@rtJOvyGv3pEW1$<|*=>#c3{Al!a9; znxLGYc;2%6Wf#|pcRlLeW00~<79MR?U(REkPY>Y@OME?>E;}6Et-0iUt@)Pi`XfA{ zwvVcf&U=6JeAImLY~Iu^>|d(3v*h~oQ4S|H@ZA(Z7@xG+;}Ku>J7I`VGCJg5`#eBu zfzLiNXy~2W@y+@6=}3Izymy|5!$x|&r)c|Vp0_tM#z^bqM_&kvx#UJvQkK!mdWpnK zdCu$ynyR--ef_hP$u`z4mX){q@zy1!0^=lPnrwe5fxq0yBURtnXD0DBFYcS=2d!UN zh-YWd7LPE1K__wP#4)cnpQ(gw3;>lJ3}9P2@Qya8xyw5q&ZH z{%)On&1pPQW{qsZ92E}w;{|-J86+v#-e=6aCv{z*j*}0bdN0T1_T*KjSYDilPvx+2 zPyBx-@U{JWc{SI~rEG^wDyh3yyB)^D7D_hjc)sUV@MPcj&-m`V$s^rup7Uil&SVo6 zurhDKW4i>aWmF^bGMj5t+_G+7=Ap~bj_r#*6W>jh$^YF|w?iUv*DxZUU> zLRt)pqv!bdmgLXPi$5a!&Q{~+H9RK2c!z)Mlc5m zyuB$E>5vIZ_p#}F$(YxrMsMk%z;on%;DN!r@?}=?5Lf2yoE)8HZwObn+2nC^r?Bq$ z*OS+#e0QCi+iRKQ=I!64#*s8>ablLUgg)$VUbk%DAB)VzW_QfD?k-EGGw{3J!#Q8C z&Th}|9|#?y^U3Mv2j#>)!?U)0G53F*P%N4P;@4eNiC}-$B_YN1+yYJKwi2u9uz9v`~9s~JLmg=?b!vpdEPOmN1nh7Yv1->uc8%}`Xf#i5#$)3 z4F3~*!nQ^*queJJ;2v|M1)_zYiDTnQk*n7E9+2kT_Y zs6Erj_BTSnNaiBEIv=&=P;6xPklUMbYd3~qbT{tIBzt_zYV+m?9GHJ9k8O*0rV^Pc zV~-#F+HO#NWN+)!db1yZ$82qC0c?259~UQ$glw$yB$D67vE$0eIdF;!Jw4l+l!d|h zd%RqxsPT}f7z4`OaAsNUlMHcx6qQn8Sjk`-q47_T{=`4@>fy@dc?V}9% z*+kx!zsk$beL4PN5MRf%Xf8R^#n5_kw|Iy@8zB`qlUl|{0Q-Lf$NGytKb;+Br_$IL zeeN>v+lZ}g0FNgn<~FpEwm1o&{pYL>w&2n`sd{8znH-Ej79TgOJxKkw^Rj9n$z~U> z4|46f!zA;j^+0tHtCh<`o0_5dF}Z2Fj`d~Zy$dcnUy4P`MOu;mKK0>gaDg2&_H3Pp zKEJ_oZ*?2hiMD^XC8fxyt@&o8b6 zn@E?9PW-ziG>RQ3Q_Sxdpg?)YG!%l0$iu-E^c_i({7upinHgRva6pt)Lv4fC+f0AXc#fJ&ebBP3S=Sei9^i;n z_9-v#T+PafsRxuW8o$}oSCG#m8Y-BK#_M(=zOg@3Pe0h7mgom6sU8MN)2Z)0Q9(Y^ z_Xwa?y4iV2>a+05&TKqQ{lk28mJq1p?LwVT&rFAH&V00^|I7lp-hK*8y^@q(BSwyw zPAC<1;$?py0sw7!|FZSn`Px~KTAA!`d}nxC!Q;w0{gBwMMBM6NKfI29WCLWBfxV-X z-1!(%`Lr^h<6E7*IoL3jj@8vjwWIxM9BveTxJGub(%|-oV9q5_YK}*%(@Q-aM`_aL zS?imNR%4C%(6U$PYx8a+Ml<5fXk@GAch=63mydtpH}O_}Fv7*w$I}Bg&+O(5X|%4h-7W=$Z8-(+|DzxjF{~-Ooo|Z&U?Hp;gl+$&|`H;3WZZ&TzBT# z#bVw)qYF>W&uK|U_#oAifAUhz7&+fC4D#yqaBH~Uzu&sOzn9vK@Q!R`7rG32=&C+v z`qzIWX4_zX_vK;p2qUO#!{`fz3nu@1aW6Z&yf{iz9OBQbc zRLWENKD@ncT;h#z*uRh!-fR8^faR@hUHh^FR<7(o;yd<(E=V(XrPd^e ztdSF%X)g3%nI~B3JEoGp+r*sh4xi?j0;hiwe2_JSb?|`^J2`hJ>h8o7U7whZY+)7$ zxj!K$R{H4G0=+*o>LuK9dLJ8`Nq}@0cBgr;=+SIHAilKvHr*QbD}A2${pA*Ht`bL| z%)wpvi#$B;arW5XnZew1w*+>63Old#cf9za%;Kp*Wa;nXl=sZ1cZ<)?Z{EekiK2gH zjz=1}*?!OR*Ib=lGFpHbJ5f@L;|`}E)pJNcKki#NTzyAAH;bV&48EVe@v!U%(-6Ss zvv5^J_TsJ9AO5+3YQ3>G%cal;U*Dfjn;3xCbrrHY|5kXS;jFz6QEj)kjjdyUnGdDkg+2*~Nc2_kfU+z`o@ZKJubs?Az zS%lptrCi+#@3}_L*v@K5IpbOdG#`#zB|U8He3m_nIa`_-d&@N(<21>uNd@vN3qJf+ zZWj>Tv-bce@gb6r90Z4}*#wo@Hip!Cac9{lOJw?+!G~?mRJ>8|SVIgSA3A^X?s&QO z%yfA_&JPiR3-38E@Zw}5g3awYsK@}iYK?{;YV~ouLFz6Ij14W)lc6>ZHy_BBKW-&yGn4@AGd9ciJo8qQ$c;5- zKi7>S9u*PzWku)Pn=A*{5ubnicxOKy|CpbmSu(lM;#m7>otB1-$%gaCJr=`@bY%If zzSBM$2u{W=f6XOllhcdjt~w?;-jm&@xE#acUYhfRDY@5dUOMCW3B>v3+1t|C?0KMe zxjMB|Z7|ne!ro#U?$~vCwHwXWt-&f;%8sN}X!gz)Ng;cQF8c2N%ou+!eKP1H%ESF; zG}k4P5q!*L`Y`M4j498(pi6i{1#{KIaifh*}3&0I0WkM zkQDFYt*Vb?`dHG7Iq!cCTNmt}#aMEVBj9V8=@z3rq|b+apSI>@v_Okwp~1@W;lRx- zHoQxLe$t)jrRv~xy--am6;ah}*a2%RovzR8m~R6#m?3ArK3q=5w7)k7)wzL)kIVCt zH23_~O?F&8-@fg3&=QR7l~9Rs&leGfI{UoSg}ohYB{{L$h|qsg(=a6!-=x>aHSoJY z^_uX>@6aq_dw1|=V!e4y+aN%-83T9hYL_!x108}`^`7<0)1-*}4s&=1Yb zdaoOY?hmpsstJFcMSTjVIc2gKXEhf))P6HQ^3(1CuKUaTTqocI7;-6`N6pU9 zhjEc7q2|^7$#I@W$FlFee*!UTH^HIt&W$Gn=@M_+V>o|2h6PF+RL6Vm!dmzx7vlIem;zqs>mE#G|1;mu4$v*p9}}OG+NIK> z)LcG`+YW{L90pm~9F7n6nPo3lQE!$|>-W@jMOfzr9~=`b-_j?zb93&Mx*2SAgDVx+ zx4WBlz48Dlm{wa;FO>LRBR%&vJ3f5`;&VD)oKJt&KGKxG>qco*T_?SliHh$~EMC>S zH7tGsNLA&+@$5>|vxCirq3PHANAP(oZree=Q8)GJrJmoqz;^z2w_$E(bT*8jn<_nO zPBwHdBRjk<*FkFM`+2jd*=FXQ&>QQqtcLB4mtO)D(#lCb0#}DERhF2CL?5=wX=5I@ zEpC4TquI{Dzdw4$p}R9RJGa{IYsw`fbs6`1g)@FxStD97^`d)W2SG15QYHaQyPHG+ zon6>~h|g(h!9bOU@%eJbG-W5}=)YLzxY=OPu>0d_V}KieKJbER~8KtCB0{aGAt{VO9P2Eh7VFYdc4S^_j~ea$68|E?s5 z2=D>a03t93h6P2U08miT$Hom%B;~+Oq1>V^iA;Fm6ihM)ZY-50l_eUMe!(|c>~nwP z2*yb~5X%C~RXTI_p6mzdmAk|PJ7ngb;VA(sL*IqQf+!9MbT_i9g}W(Ia> z#bhE#QO0C~ZKou|MfC1><%2T<*DaT~@%d!DLkPiQKeLjgjl)?ZlOWfe!_43H?M{091 zH9-o*3M*RdvR8IFDNAg@#Y-;=W~gEvb;D*=ClG=p;` z9bGYIpw$R>M$o4$etotbsJs6OCp|T+0;F=gDTm z>k*gyQ#(#E)%MFIl@Y$}gyy(qQwU3l)l!L>?KLWb!b?gS+l&ZbjOc&u4wvhcO;&G> z-06MvZ$1{%DpjuU%d!g}AO4viV^{{C)8|wIVB~?sf5$J`!ZuOF1Jf~*mOQ$n%bF}r z#)?PvLj*1`NCjsEuJ*l26unMgPl;MjKy57FVVhiQ!12^lFqibO4luPO8V^#nL}TL4 zl5Hn3B%xZhLBG(OU{-&1-9ISZ$&e(>+eygzqFV+Bj7}yAz~E%^cwHRvYTvE;5vG8E zumX(ZDG9JhYoM-|rs`pl?0w|+1QfzY1ATSe@nt6L${pAMQ3Jpht!R0i02(xRTRv_d zj%t~zH9-)Zq((9w*|f&d8t>7v(6N!npva%OQf@}ea2$EVW?Fx`x8KK67>jFhD&-=s zUh&@cJN^;gMYx~CyTVnP_dGW3YaH0LG|zdT0(n9C=0@)r;5_(yJS|b+V|9AEG50s)7I^?K-l+3V863eel*!MHC?e_4E24>MM3I3-qgv{avZOP zad#__L4GtInl8G&Zk6%VoR;G~d7iijwnEh06aU?=rfYG6 zTb`nea@l5`u#`Q1F!JQ}W&`haEq1Zhy+_2kS^2CwuX#grO(1#6PI=d(nmL8lGKNb{ zj>%C=&%5{iu;KKJh_k`p6aF;341$mPYswLT(ei&XM)0hGOHd3(sUYo+>jyPD7bH>| z_m(LR>(xEkw?8)?O zKdJ!l_j1*i`B2aOE72~>718dU&g${pNHmt^CjtDuV;7M5M0z9sxJw6nf81U;(=+N& zt~Gz_oaTwHhFT6<9%p#(JeuNIcKVP}?B-Vwmp6kx?fuAXPh0B{-P`PtAL{XeQv0yu zgkE35OPh>AF^V|9g*)ZyeDd-x4)X=J%CZ*=TfN#G4_p4|_O>p*->)T~9If8wH znWvyIuGuT;%y32q`qcixP7YqJwDINnXmNj?zYf=C@A?p*)O#{EZJRk&DIJ&et@IFf zd^WtT4XFAFbzRJ7?Dm~WeEn8>W!#eEHPmiUsIzG)jkEvJ#_aHJsjY{8s&;C64$t;J z@;%nP&d+q;G4W9CQ4bu|s$NIKh=cz6=d@D%C^v(p%dwGKL^LB*x)-byiU^KpM> zW&a{FX$R6h*9r0)Nsspk`LlHwJ=Uyv-%ZmU9aCDD;=+1vl?0W=bT^?d#pxzO)~p7j zD-=)~;r(b){JLD;`@8Q?G_Z~jR`i;L9o%Mr258IQ^>Oa+u8^3lPqzUV?1op+rl#5o zxqIL1b(=-P_A1Fv95g!rEK~k|)%SmAwwv|maN4G!SzZ@<>|_3W8GG|W>%m~_7zJn>L3ZQLHR&rz3lj+Z!e<5;3E zzw^UQt2(~!_vt~mjB*^C_L5LiF@oLpm1=Qclm(y5*v}zldI=KO?8PKJUzY zyjR)%u)M2Gj=gg&i) z8NjzajI|`fBpH~_Z)^vM-aviq^h2*{L&$BOo*o$W!wB{-uRizZ;05yAxxX$?52TxW zd-Jx2o}58iBzja~G3xt+d>%Osanh#00r(!x;G$3YAX|1{^gXPu|6@J?|}mA%o$jWj!fiTB4E z-8%N3zfGdt?i4Irev>8Bx!?;;U_Zk(cRANqZ-M399zb1Aq9kv(S^GYptdA*3@sp97 z9m`3#hKKe+0O5a$(RiaP)2^T2cjL1hg<~O=`zL3m)#I7>(LJ`=2cIvWnSE}nQxgDL zz1sJBeKbD@Ivy6BM`Q-P&up{T`CdF<&_SY|FFLRfP4Vfv`uIsOTTWc=<=*6AMi+;x z>&~jE&%w<&cw6PTxJSF(>*a%EcrU+<;r8oTPd z{#?P29&IStUPvJ#nt1meE0lqirzdt{g@UpC)Q9AJV_CKUY=uZXm6~^`GPv<~l0UuS z=CYG6#F>A!@(w8Qt698%^>+^muizo+VV@{L1x+mmfr6Ht5b*Zk7Evo9OQtE59P)_5 z@!lr|tYyua&t9J^a7!{NY4hmN%U04G`rD;RuvacH8oTOkX!q)2XZ!k@Kdr@D^4+zt zB$q97fnTJW8Jw$k_r~M9gT9eQljOgLR@G-)e1CuT&nA9_&+(Gqu=4tN_i{0mri2?> zT9)3T*M>1uhqp{&+=Oap_q(`@W6jO&xxbRkG(E=1uR}?7mc;DtE~c|o@cXRON zFgZWovwsQ4pDrnMUXXoAU;a}qZc4h_!0~w=prW^*Y>i7GN8GSZ${eev| zCc)KaIP0Yzt83TT?~%3Z8r#f~oyz3&G~R!o;g}mwN!r`HIoI{)VQ4bdV!5=bZ)N5u z(jAG<38ovJTz1QiTGjh?9ZvBHnJ0cB8}^vpUSa}%@lpfLWfwdtl3f9H0OT#DKjw&j z+3J(8qPW=Euccs0!A75jKV6Fw%TPNbFAU^KT-T2Cy3~nV+4G}Lj>1iWH@11^ia38b zv4FFhWU>QmXPN%|dMcaoc%_A^Z}T`>ik-v>pKQ;K*oA~j-!=PR{dV(umG*S&_w}WZ zUdg$;Wn251Itw{C*_(eqyW>^8?-{l^FrlE32((>Wb@>qa_aYsN@)?~Si#x~!ei_;v*{`+a;TM_aJ{d?sQ12Yc1HYQXbpBu-wc1gzD(Q%OEqr;^vDym_ zkN|*Ueyy-X`Rl4BK=KIg;mZ@ETJ@0=NeRY2v3V?j17bU7v#dYyp13;1T?}i3HyCQsdK>z^O z%Xb$8Z^&YgSE?L)6aZ;JmcM|+TdgF8&y-V>csOP@ApkP_-Q{7|e|JIn?s@fyBq)jXJb9z)K=GjYTac5 z%s`7)Hxbe`ENDS~z98S4yB^OL(IWOb&LBhU@o$z9Lc?hd8l&2(?8*OJd`PL3_Z~I9P(&bQ~Q>4H)v~bs+ z4_f9dAdx@|0oFu_4_AqVA|MEVik?hMrCJb3pmdX`5};av#MFF>%t_XiT5~K3I9her zkS`!pL;zs81{WTQY6B?*@M&EnfM#Q|I9p0MyV17xV$JrF{9Lye{&@{yZPj|MDcY>{ zb`WykW0sK9XrgK)QMB3W^$tJ?kP51b^)Xcuz@jTrB$C{bZ}K^ZxdZ8cD7n%I#X6J_ zB$|!~2_%{VX(B;@p-vJ5S}Fh}31EdRKr{>CB!a+*J7P%yBP3z~fwU5vCWD*;4*+GH z2L%M$6V>bW;WhU2H^x;M!Zq$RQ6WiGxFkDkS;yx09w+?s*?NC-@_TN+{T-K^UR$;7 z{d`Xs;7Y2mnhU1E67xuZ@yJ%A7P6{59sqBOAeY3-@*rrTN;MIZz+8Z(LJ*?-j6c#W zV@(`JfHfWXq*f{#I2c)Gjd$v7c?e<$U@Z~p2m$6(gmV#MqV_aY0M$f52Tvv#c>zbH z8MQ7gAV!rV_OOq*=B2nle$f4+iS`u4N6w$-P@*XXq zF+@@$ENt+CUW&(mO-9{bAi$9;Y9CLsS|fakkc_QabG1>05Ks$3pebmfvCWMo!lMjG z7$TC0fP~nA`C!gp*P5^kFRDb1fYbta&F5e|DCC>ZvA*W>52hB||KjAPHz8*e@RQ?z zv6Mt|@WtI4+eVxI>wWkSmN=h~~3@a+5jQG|d5BIXq^U=h$nlBYxi2^9fFBA_9faxB6C$m{3O zBff++$WkOeP6( zATI-A=}=6l4~Z*5?GyRACSoCmSd#%pGUAFb;CKh*+(n|AthDQQdpqdy)Q}1}jjf|4 z(aHdXL6}tQt|WjGN%4guI)g+HS`*??ddgD-2$EobHRkYVLW8b6FA*aI;s9K{;v#ve zQ?lX$>b13w=?{M_D`$MiK9a#-KH1n({^iu)_v;lma87R8%0)kQ;7`nYohXqEa460b zLS7;Pti{%RC(d$5w!c?=shV(D>nIpYPsD-_NThq@EcsM{3urLmRe*Cb!~-&FFkXNl zsujn7I(=%Va5(Geb8Wh+m*6_;e5-rojjJqC#N3#+TC2{l`}~(T=nudCCx`s-f;L;qzp;5U0nxoM zAO-|Tgg%ZH5z7EaiL!7tRNfB6M28s5GF)qa0BQlT3 z;0Br|L#~iX9=H5BdiBZ)c&`9!00k0|B=$%(2i!xT1Hb{41MyivJ3u#u za?;A9Ump05=eM@c-+TDtKmU&7Z=T=&9H+0GNdJy=EU)L0^}O&8kM{bU*N`TW3@?p; z)}X5d+ouC~1S(C5`#lx`;asg64S%Bs9?C#)mmHb;&=atWat!Nqal`g5wgek^FyJ(d z0g!ch173~-Z(Q~D_~{+Klz{RY+w7=nE#F2AKZ8= zR(`Yu-dfdq|KD8tsnOqf@uIa@zp-BV7c@vG%@<}1aH#$S(5T3j|ki4N3+q)^&$yKC-sUd8bl8`ABh(KItooyA2`8w5nS>tk! zLJzEQS*-eR?On0IXg>PMfp2|4lNDQ255+8Y*3J4YKD$!*+|5y7>89!N+GnyF4IzKmpSo@Z>@(kN%jP-$3hQ%pHb2gxM~Q~>e; z(Ik;zEE7vyYn;*#t=i?~%5ebmRP~2W<8&7ighcv#+?DVM%ls8+5L9ximB-feFa*h2 z23UiDY)l8PeE`_8j37nS1ON>HK5ZakG#eEC=#}M9uCDR==47LP*Q@6F(RqJsJ57`y z?)t`d`J4MqGXH0+wf=7{B$_RYRE@>)ZQ_-CiH(6KiC!3qKobGhP7Y`v>FOpv-K2WkX*1<_*kAw_IITty5TZc$$O0O!-zP)R`s+_1 zB_NkZtM$1*sHnw%wT!tARYh)7K?YW=!c#GG|?XWW&97tq;H2yn|s(XT4BIE0I3tRcy zOZ~x4xhS{ta`v+ux~H;w;#Y? zzSg||&_F-@U9a`dQdVxa{@(Aerd%<$9@~8T%HP^(eS75}Os#R_k@bi7NWRvV>Z>Jw zYVk7gEi^@cP7)~*0VQGx_!!XSEYlDHVvRN_u4jz5dSH3-G#C&J0m1{q#FFJovjI&K zanbJLJeqz)%CJF$L06rS8)B6xU}+3`mE63_(tX06m}LC_>OqhN8(5w&ZnN zKY*{Yy9fvZY(famfNE?0etFTr#sCzw=C3aiG#g9Kp(f|PHFu5W8n+pJb;-9MS;uJk zYVjX#o3IN1*4RHiKNf%M(4Tx?d*IvpoZ8Rx}SKN$XXbyQ?4IG=n74R)!0@ z7UF%7A(DUjbixFQIzVeLXF`vY0L8LM;{xJVgH`Bgm25~Pgb>*L6(B`wi3jPb*E5Ep zp$Z7m5FCAl<}!%e412%@RFlQZ@*)0~NcV4l%-4R&WhvMsA_Xv8`y~V7|Lm7)tNDxj zI`4mCzVha`_V0f1o5z3j5=+BefJ;F;n%Z>WcWuj=}s zR@~`0o5OR|X&-4J^M7an0{-9{0cyNg`x-uNQ^H?dZ&9Uj>;3=5+P9BP=3i`oW54Qf zYgudcUp{8Q8s|S+{a?ods)hgJ69vwH`5)c&505W-V2kVbTL0&<|C6`TVo&N>dy7Cr zfP|CfaYd)&Lj7|Luyk>X9{QZNXv(#(h6>Q+h52Y=Y<%-a94?o+X#b6Q5Gr8@_#geS#+u~nA3n481N7SH3c+ANf-_Obc^Z?N7^yWWov$X74Tzdip~ zBWd)nCi>>;uSfDX*VlUX>!a=LO53d1`g>nfBFf(BifE!i9LnNEU#=uTBoBfaBo7S< z9`J_-6286Myr6{rvTk|K_{lHbgsJ zB2W`#i1max! z#u8dfG3{riA{rn_hLXT~VcvR`VY!6pG6WjL8jPtXisg>{)x!a=0FOXKzFzq+A88^Y z-@^OL~OTIXd7);d3HKYDY!>Q^*<^Y=e> z|98GYi@v?$^wq6@{onts?tJ@w^5u)aT6X0I8Gye!LZ1^!2AU{)_+R?#t1arF;$;Xz zOKq_4h2e_NU;KG&Nd^eED3LeTXQY-a-Kqm1+;2>^|EM*82u7XX2|mK%Z!D2gmHP@% z8X?S!0EdkideDQ3vc?Ni4u{gP>Z1@+O$Hu@=v!z0VoU+lJuwv5+O0#Y=K?W-fb!p( z0m%QXGr9P;hE$0t0}Ha3P?A7yfr>eRGcU3qmtnz*p9BF9dm{MJW#91v-|_nDGMW5u z5YZ%v^H5&%o~*U{M=yVW&nveLphOh`y4L){ti8>@^fdfF z5kSCZ^$SdDumECUtUkDpViAAmM`Z0EfA44B=&vuF1h)9~r@ovmd-(iMKbOF>)?WbL zgzodSEACbZC$eqN?&$xn6aKHg&#$kyVg`PDDv~e1_xH!Q{NouJ-@GAiwueZBTojqekhOD46q>BP&S-&9 zS$#XBxj@0s?q=n0%f6CzdK{!3mZD4MIW{rGrL_HiqF@3#686 z*H}SbqL>v`AvX*LrjUJyi3K=Ks{|sh^%H7_2=ZF>&|54a>L>`a~#9TR#a65^FOM13{C(%9JRT$bLz)&O>5@&A3>2uAme8s7vty3=A z>wM}R!2Ksq|KYCl-?{DIxfMwA=9h>5=^2}U{HWjg@8&-|mLCs5`4_g8e|gIPu1U}q zlir}(-(2{M@yGwD-PY69Hgwjp<%PcX0^hmTgh5q!kudgDlCN`{zD!n~G`{73I%z&s zaCJg`r`4cK{)fgA(*{j{HJ0es<6`<2qte`iz*BshFPg9U;_}~WKawR0bQVl3zd>i| z>z(4-r56!Sd;v((%49%*B$^m#H3B2LOz7wWZbCSR0Auk)|HEJSwuhhMsm^-rvSJcM3f z*8KQt>_0rZ{nt45f9Irs{OdpS(YsZX{j2wFG^#&D+KK^6wgDYQo1Sg4K`fl2;~8)y zYDQa`fr>~d12U?RBBV?_vOtI+@VZdiI1)gGSW(uaFH0eViWXV9K~S;w?bp-3miq($Hi%D7X)yS@@4TndTdEQ}vNA$d zRdSwu&7%6l&QXgkp~N(v&?$A>AR#Ix$_P&Se3XY$D;Mz-k=N^gsCyNxQ<5s%W;*C| z6sodaUdr~lucsso;-D%lNx0@VZKqF5mCP|5z#0m9QMX|qQzbrpD3{`ILq%B`WU}Bc zo!@`WH@v|6peFOcSV+gAr~G|18Ufp39*Dv3d$0h^-%WDDXeac~*!Q0>ma}ai#(QFi z3suT4?ejJHZ?RT?UrRpO8ZG4GYd~QUbclKUz*lUw5*Xj8ga;+JLKCp(DW4FfX1tX# z!|Ad`j-ef&a5>AMI zMVnkbdNHeC&=!D_4kc>c;|hwOu@MJ!!bgXUuhu+-p0{*=Kbk@~hPMgC3hbuM0C99! z$iXiToTMSX*L`gm`a0IBc8+xz=q~(=-WT+rJH=eG!*amMe$9>%9tADg{8NHq;eQ6Jn^C9&15A)cf}CxU3@ zz}uw1=fUoO29g-XMjOMB$AdBdV*5d1kzI`mj$or~NC^BAU%SJ@*DYc$2C)mw6L6ev zNB1Va!*O~vI8KtD#%X-Q8W1cY?Xt>M%B3o`Iejhd6|8OOaorc2a4TT1uSBPn3xSWAtV=deatsS$Dwi0( zqFrU>+-0=v`A~w=U%2@B#@zP7(Srqvp@IXb&{u3P`kyl6ayrUSz>x|T2~=_Wgb&;m;>epX#i$INsqIC z%TvxM7Kss&7gwy$A98hiu6Rz5gUY_v|A9OBtzNEjM#?phxk(5pC+_oa+4B<{P_p|cV4%}U-%zB$A4L~X(>CI@G=;l)72Ubj*^bq1{h=~9JQq! zGfh-4kF5r4Z$zbn<&_`Nx}05=KbDZNv*D2qNJs9N*BJCcR0__T&(a~2O z@r6}tt<->PApZ*at-+!96Ft9mBF}!}RHJib3@>5a$9uPPeIAQ%zSR{^Z{T8o#ei`p zaypkdmBguDj~FeynTYL?Tm15CI=cVBavXAbNn2~LP2Rd_%cIJ2{CE?&N_jk2f>el+ zCJYqX7A|`{QcF7edj9ore2AUpX6G0_U_YiJp2?6Kas!Ch0T+S*qo6a{O;-L#wJy;w zc@|?3?=lTPG!K8~zzKZ8xax8UwyI+cHUa7<6F;f|`3vGZSHJD=vyf;9&-Iz}c=a5&Z%)V=+v&%{{t@T(vBoY- zmJgawV6Q zwd6TVTdXmuVAk89zUDM#Pq&5;5~YhaOH#gE!m=89&_v2M2_>PBQSvI;V>s{^%F!=y z9uQ9SG43)$+(qKc{a<(+XC7An_iK*l`5rHGgR_nEm?X7Su1@QJP-PsndY8F=b}%mO zs)Neafy3jIPGC-n6~roEuk3uAKut)OY?+?sKCxC_lp@xY&Bn>2ZB2hM6RZ&Xj0Ya- zVKmZo1Kt>z1qmRIRgIjX-(Y>g-+G^zbwjN%{iM#x5My8l=Z~oKstrU+q!5ZEFe%_~&r^F7+-WLscvA~)J z8;vaj(?^+4w|!g#nma2KLf$L`5HEpFq9AsIB{R7L*^0c>1ApghG=XP}v8T>9-pgVc)r`{G1D~(_w<<% zJzW?c_{Z_Hs{;?~h|ZC}dL-o#=Nq?t_>~+db7<25X^e}?*nHW#TV*Jefnk7s0U4vm zMPNtG&Pjq9jtRq@0XV4n^cG%#ekrm>zq`n%=y%rwvh|6__6y472REm$FC4G=2z~rh zUgl6NUrsT9(j0W^h(&OTorFrAOE1NluY+@{(FKJjVkU`6!LvCt0}n?fe14n|Ztm0^ znnzOTPru_Er>z{KQjbIl+H^v6N(wUxNcG`Bls+>uy^~$-^6mlrPNvR{+B=Ffmx$WA zKV-=1I@P%_R&~~vh=}2iPoW5METC2n<|DLi=3b$H3Kuv##YGg>LSNE@=6LwKGuDozTmwkm;9S@<*>w zbGwkn$?MeCyy9)b0%{QwxgQRhd{KJXdn$bs?cOEGyf%G&|ABT%Yi|sq?-L*NpIzD9fAY(JKRNcW&|P&A1LZUF3lqg(c|blS4pQlqQaz3etitRN(MD6s|I^8%=K5(U5gsr*1SY z$a7|kyxs{g#8Ld|FB@fczov#WN*gYgRm|Dz*lV%A+z{SQzBr_4w<1|&zloM}yOaxm z*R^^(WzRbqC^qJ|z;gF)O_XVHQ zAfK)rT04+isiY5|0X33pe+rTESPQm)!$1)&IVbfo>XK)wrg;1TA{ns!kK;JszDCyQ zn34|tAT*#%-;aTQr|-u&ue*~yW2Zj6OU!bPPx!fC={rt7_cNV%Y<+&R{GPvp_#JGV zZkmgZy?V#$Q|4N8olr{PU8pbz6G*n;uN-T2W@-yi4&>FF%Ioc8p3q={UHdJ6G~{4d(5jRJ;&yfDTCk;7V{;gZ4w7+X8aBi= zw;1&`M7O~-rA8#+Ut)WK1f)lSS9si7VgKvzwyKq_t|3HGpzr~1< ztK09ILqF#DIr5fRHkf+nL^s@jjuV^GDh^1R(1WrF2q zCAD>=k;QmoDWW9idCyCtov@hN60$e0@_1=1ZMQ0b$RdvZE9SIEHDFAC|1~GUDu^E| zip`=5cB7FdULT(!A2Ub?yp&(XTiJh%x7;$h;W+L^TF4^3aDsXsdKAQP#|h7a7q}pMYhQO5V*g>?B#1SRFFj(%>vfb}uc_oJj{bW*e)LRTe&gHL z_v3Qr6JH&xr%Oqb1=liiF=32rMhvH-Yo1)XXAJYC*nEj1{FEvoG_G42drTPVuo&lI z(=m)w2ixTeksN28+OST|Y218yahgGCxLC-gq)>p8*S=;+Nxh_h?yDOs9XZQsj5Z7F zS44-A8|mCO+9q)tkkayqs$MyKENPqW?DDY;iJXOTefo^r1yxgsj>qnD^5BxJbMoes z%#|15Z=|s#P{$6@d#97)!KCK$yxykxyq5pB=aqfezE5`G+n=1cUBk1pFWlne#h09M z9lLB3?c#jRd1Zrta(kY>l54M>R9+Iyun-#NY5tUB9mF~asCI##2ue*j8ATZOW#+Y`@VdCbDRdA``PA>4xzQ;qOzkv zQnk@fs#@lv$)CjQyO(DHC>_|P>w9gr;40rP$2Utw0s+f>=@cS)B+}0JZaYsbo0BS~ zZT8DuiXQJ6{dyVAwHx8}MtbNsN~-FPX*tws5aVS3hHo}BJWg0&>%zK>?(b!=|J`-J zR=N(a?w22b)wxd#F@Ya^4!=xlh?AWIL;aSu#JBV67j2bGbQ9UEak-iLh(YrRwp6Er zw6eEnG>#a9s#Fo7(SBJH;ynf(fAr(T6Yca#Eb2Ks4*4P_hU}HRsweb#wR_(!!&xz% zF&)gESU%hN1tWQ98Zi>GN|g1qeFd^=ty7Npdf(@NjRgr4GvG*bEe|IgN%T0BDtN?mHF8P|6KuKS)3vZ4Swdwk6LK3G4-jGy_x z39jhC+OrnI5mREC?_%2UobRi%7qiNh+Kik?`F>OMTtBn&U2goyN z=ZROisUq5FFn8X`@6FwP9YEA9Nmu>$X?E*>5MA0Bt3fKLX%72M%6x-$rx(PDGQ^1# z##6^E>HAzxean6Qx5z#LIs4^F2jM%eI_J^f_jd06{H{U#%n@I!?QD@g`;k>RO0THl zZ$Uo!*mc@jkU)BowRA`#ZIx~o5$9A-JJniar+k_}b*b+cYU5}%VG&<>IdZbF-y!gS z!!CXID@_=!6_2Lxc9iUd(#Qq zWbNdVQzhvd`hEmTSa5_wq7Rm=NcT2>k(YRz#KGq*%ABB>&WpP4>li%JB2FsLYnv5K zvbhTt)~rtT4o*qhIbfN%S4LCeO+|Zk&Jy;8B44&V1a|JV4= zeAgpS+8Jlfgz}UhU$2?*51h3<azk)`qD|e&z|TUm55&hDk@tr1Q+919?KeNWCO?8yOiLIm$|A`460V zDmJN2t{+YvFG%ilhVD}l(4VA{?V5;1P%nm6pJ*bum zt4jYJ2suh03=f@n5)hRslH+(b$&$%q1k;MD*DkUi7lF1U(P_lBHDh2EA zzAU0ddXwNZ7Qvl+9*fp8F-!Km*lbI!u+3@_pC8=Z9W=jGA@>3mB2G}2cOBdqRiI@AJ zZ9ZMw7^$QPFbCDj7Tsh;lpe;dmG28}f_bObEU$cSS#J*V(aVJP@iQ)V9d%J#E2nFh z%uH;Kb6Gbt$r386?9rQlsWB^qoz3|3Ox3YhCp#=g5nUzGDV}3RwB|}yqMa(YoE9^> z@j}W8&5dUnZO{*7t4fJMt>_(bswGO&416puhC1{&7E=5f_heUNced*oORMjkTK`!4 zKgYWNzU(_*{_X*BM4p~wYveaR2dMX;lpsXm+T`{!dzUXz(4uaC7p-yqLZwazD?+dV zE6te>EYRxccJh_O<#RLJjvzUL^o}2?(7}fr>1T;pbKZEO2qYY_#xEL|Rj*8=w1ASJ z+sMo1krwqYp4TryYf?KlHlWD4p1zUkG~{Ml*~EOFKf|KBQ(fZ*mKCr#8#_dAe8jbM zy%*+r&Z6Kn&!=O5s2ZH-Jw83pC*%*l@Q_28KV#4I51%q~TCFqu2d5*S6wP zvpA+V{oIc7V5I^lPz?iRJ^I>Q@GNGs&)66@sM2|$6A~8kSwQPSlyo8{6(O6wV$f`& ziR;Hf>a^3q&Qsf~WQ05q3E4>HdhVt2@AY5kUot}Gt&h!p+MOB_D4xG3~8aqlk@Io@qaxiud|H7tU;X)oXF$tDNc- zPB4tc^*p`CP+zX|7SjD;Td+2Gt>J<5{j1`P1c4}YV?!-zgj^s!cUqIk_^wL2R5B8d zM42`eI46XEZwX|aRgJORW}7bHefJ+SihZ@L?|=IGU-i{e9LJ#S`vfk3G0@N4>p%C(N`2icOXy@uc`${v zB9Ethis$**>;5-Au|4gkx>m=C&Tf^pCqUXXi;y-k{f-r4l)E*~AFOH@D|70AV6I$DVC2z^nA@gj z>`8gi+PT*KB0~?tcRk_CHaH>cH6G4(`u5CW6pKOg;YY7p5frf6hPC1Tl9TZ}$&M`G zUu=IP)=qW{QM*YjxSvyVBO{R|`$*2LWW#@dr_6$Y(?}{X);l3u6FaYw3&L|?EUr-J zYbJ>;p4*ALyqn%_l_BDle+2gS_bjne2G09ZOrD&@2VTxia?==ZotFy_C^L;ho-Vxy zkE;Otem#!dJ80}z!D^;BD8H?1=`>L9a#F_{MuXx~H4m?f3JdblQ?kA{2A!Z5o(HOlkz2<^v>=e$1hF!ukSk1k zJ*O>jV*CU4QnGkD>orgMUe1Vrp%x+N#3MW8e+4)v+!dd!zWc`{eLMB_yQYs*ZbKrk za^2n!=A!4qocPUyo&RsW6UU22hRLws|G)RY{+_uIn-4Gz;yw~u{jE8n?EcsZ6T0*Y zUG?peLSc{ie>+d0HcEBn6WEo;#Gn4+j~;Jz(!Ee*^l1KL-)Uc;;<%=NW;XKJdY#5& zeK^&pPFe?p&+KjXpe45cj;Fu*gJ-_mU~eSa`deSiZ(rPA>=FwU4_M`T+-{5H21AUe z{hMR&eXIKPquQYn&PhXI*-$X$FEjr=LR$&(&9i&Y+1AGSm)KATAw(4+kzP>a5Rx~- zkD9_Z0Vz@xDN3Bj+lCN-(=?tHV6D<-$R5CP(1}kW&7*uw$o6ed3$#OlpnCBPrg8ds zt`{AZ^vevq$-w*(&*jPTAM%PXD3kG(22aoD`^I|z=$Sv`3CP($rZ=ZJ@0{~oFb7Mg zp=ia{HjN{ThxK*|IfDlIzL*OV(Amhz!&#VX4~n3iEhd8Kic`japB{4ahV}(})sXMu z(u7dOZIRTUzD_ySY9&<0`5~ZRnsZ^-FP^bNRff-s=x2!`BCf za7wv6!d}u-PrgaLp>J(F+k^b@+i4o>W<`xco}eV!j2EcqMzE&t=Q!`y*vBgY_1wnU z>O&`#vwnSJ?oniahwu7$pI00QJa*^@`S=VFL2$1hSfk%vMZt9}fDeN_g&KTvTe%1Fz zAP)a0-uBIZDL=2FV9<0t<1rUa+_R=r*7yIM^3rQPwkr<%VE^Y@_OZel&ziM?qKV;w+hm?oO*UZ%>i}xR0YZv;le$@{{oRooZUqW8X#UfBZEn1t>lKtm?)LU?jpgRs z6zyNt+rJzJ91wZk-}u)Rw=uoWY3&nUcKvM5T9oIydcWT0T7K7z`}KCsJwL^3ee8d# zhem3DUFV7A>c+E+RFbZ``KswUv4SmYbr!KYwaN638C?^lB4JYIA(jtPYy@nGO1P-9 z+9@gqOG2L~++~PQuOemlnzxb@RYe>s0c+fJCwsEX_yf|!w!aeUj_GkfxXNpy2RdwZMNuG!4W1Y;#E@64fX8h(Q@ zn{wUOvf)zi^d;ijp&|~}xfIKsKl##^e(uGYTO@yK2M_vD-+03rPr&Dp|I~Es@tY!h zalbyEALHPyS}oNs(mst6mzseCLR)J>jT8*hj3~Ka#1P8rH*V6Aqg4xMn={^pXGVvh8qKfWJ-Ys>9Ux@c$YQJ?CqegE9ar)VckmQ%r*@mMt8 zJQBH@mw|69qq*V^)g}Rx(if9#wiU1JGI%M;kk`(+yaXLM3nG&Mbtn=AbG{ ziWFy;UnA3O?7iGNWJ;+0YSa1s9o1D7E+%jM7<97&o@@wagrrN}8k-)GyNCKTy$*>O zbr#(!hXL>Pgc_=Q-SVDKc(%1OEzh+$oTKaS*yoHR4m^bmpQ(?xvu{o7(=oT_a3!4I zK4NdVPe|g$#q=3-2tpnsf;?A$GYRN2d7zpLyM;N6)QrPqZDUPYS+ARYb)Y6=yubd` zrqKLaD@{3{b}9#~F^_mnKZ4 zO$zhH3m$-)r6j6feKO%v2TPHg8JH{#jea3T{bEP_!HtVBq?3&x!J}_DB~-_f1Q`_{ z%lWM?Jpw)x`Y!C$jABo)uAb~7-9S6#EYdb>n_Eg#+fADLsLHw|Pq#%;f7m3?eQO^< zt76F>%fX&4M)$_aQI|G<>UHjmn>a~V1o;r(ItAY~qVC5St^2(0qyc}a+a6{2N6$lF zdpY%NpE>j|@*A6eakZUOn1plryR?BDsuCA;oiFN8gi%Fg9?Uq&o}CHCf2ci_e9hzP zgR02~>4KXePB^X9gHNXxgJR>;Dj}%LXrd`ojVHvTA*!VT)E>`&tBA&F8OKWTHZ7=` zdV#JZ2Ca;kgOUh{7fN#0^9{9hdt6A7RnH@_ng=oPNV=hi zH2t%`{N`$IVU6;5dVh+YuwUjtF-fM z_&PtzDVWL=x>lfnxWqm+YRq;G({)7QiL1I@Mk-#Y?VNH&s0CkAWRj4;BdyxJnduV) zi7_d$Nv8J3D5j01kz5jHM~*qXLEhd$th!>MlUD>v==IX#acc*MAW^s-LN3-8AHyMB2d+rR2c zGtd`(jrfE)Uum&!XCj8e)dA&gl2XLG&KwF;RmvFGL)m-K!l%=f?2<)l0(-VV@ejUs z)(L@JZNj1{1q8n!PcD242GyT^N64x9=C*0ITt%4@Pi07HlL=iB3$({`bKy+~0Bq>P zk#C6S+JJh0swv{RofoSeH9elYzOD}i<==7liGy_JFfW5+N`7cwEPAZPzFE3EuX|*R z8-pCc2fvb(TFq^|oT_7P?POUmP=AtVT#vqB=fv>r6ecBOl0#(4?B=F^wm;lNH^eO; z??n_HK96?^2T5l|*3G)Ko-6YJFZaLpw7zxPo99)3R8vroV~lTItk5QZks)mB70@J8n0l&iR!gt97dMDUt}_%Rv3tfkqcI7 z=c#9J_ODKx&1PL4AkKxvADd=(Of`L7sqYV~@j3?_f~vpxgWt8dJW0-4wO3s9!JnQu zK-dp|(d$-!bB)h+sh@T1^I916NMCv_60<2p3?Cv-r5jZ%36mLZxg+A1xt)2jbL-0` z8nLNIQPhFma^Cm&Pt%@T=8%9>iu_Mg&LSQm&!3e1G13+B6d!nmyUlvps?3hkaK;p3 z#U4>s5k_j|km@-g)|!%FCRLR%dSiGmvjRYS{%Z1E(mP5xCONDbz7MX?yg%;5Qy{@^~+d zBGf1!P{Z_?92uzviS&(KhI=2mq{f->(19F( z@YO(4Q;(mHwY8PqU} zpX^_xjC8pS{W5jI%GWGzc0wB}a+NrLq+ZeWa!gvah`MBfwLx14Uv{3%N1rlv;z>m` z_WAZa-NzkR)FBC+*7+|u0IqX`>&GX-fFC0_uDjF+F%Rvo{G{^}Te!+?PjQG>ObB#p zNmQ@7#%RQqgd53P)%f~h7cZNfK(_Ys^aK#Ett9vw6CTl)^!h^J77dh5?GkH_6u?NM)?EabK3 zjCJnOKlv@R7dLaQ&%D1ucc=_b_k78@d%G=IaH=mQ$!VW}@?2*g;)XwTw1;sy^I;ZJ z_jQn)5Q0J)tiudi4dFtO7`5(yrzVbaE=aUdOzXX%cauRs9eeaqi$O^+eN4fJ-gr~5 zDPN0T`-Mw8R*rp4pWNu~HjF1&Um`SzjF~{OT+<1lc9uT6P_5!c?Q-2XyvrLK8iy4R z2i&`d=+t9vBBh%tb&jo})vqa9+#jy7z!*e%+OiA}1SC zEwGP1bt+e+(N3=O?Y66b*OHEgy*YpGS4KW6uPW`Qoj8f9~jV;p49%SFzQgRrZ6Bie;39`82HJ$X< z&d(Q=%NMbBqouolQruNDi~|*?s7E0ftepe5UCrO!s1;r$Bj~c3UEF!HRST}|)HB>$ z^2bFHtG%rhf&C_<6m732dG6M%t)FMDnb3_ziJoj#7cQcr*Q3oxcNyt0?`Nn79encP zd7op3!)ed1@k!U|dVivqpBh^iTXN1p&UWMoQSDP5!%wn|rzdlEx5DS20!#lm$Hvi$6M!=up=4iZIEo1QleKk8ZEx}|M0gL6%MxUZo; z+DWXRT)0QAv44N6bjG{XcZ4V*N>*UfS3A!hL5YliuwWG|0DEax$Z1WCeUCLu(ZW0L z_sO&UN~J5OZI%=%0?KkhH%n?TF3^I#z&9Ur-}6xeyl$p@KI*BT@VmBijz>cJ7k}*^ za=3rwUS8SE6TYqOX;5G_7HjXx?TTh!Yr6`u$2rhFS8XN8WPahLwsH~0NkC(zLzuo% zaGxoEHJ_@@C{q>UPd2QkPcyL6Szdj`^tJP&_YP#$b zl3ijRk)QbA1Lv%NE!0JOf&8HzI&dc6^_ZxCh^>u54ZmCDB#KCLVwyL*tz2hig^XC+ z9)e-L@iB8R6yD+5yK7n0Q?L99NddU{x_t9K`=6Nsi`=LO^DiO00!TJmQ%p6-ZA z9~ojCZL*=D+<;6yXTocjSRz@bPmZ~zj&5cTf50V;YG-|{#v+nSW~R8Gna}cU5)={Y z0Z@o0mh*x&A+D&_4s||$<;Mq~8+Bk1PzKGThqkkPY`FEXvfHV5;gxvc)> zIo=*}(0}BE|LAR7_cf+mo^^oxJxDMf{nl;0@X!Cs#e3~>ea-DnPdt&$ZDjtbr)^pY ze>3?Y;8Gj)wKfyvd(CY~*o)?_7e9spg&xob-s)0_U%bTw9X;)T12mz3#$sIgizk zn%fT>@ogi|`Ur~?UZCw~H&RcsXgv-SLW=q^u+oF0tSmVK3I)EBJcz@E9!JX9EYf!z z`KU3U&!a$wg?aZB>YCRtUVi`EsSKlfa_dGWCML-2mOsfwa_hy9mSc$x2R)%AfAHne zYHga#o$hY8$fY0@B6b6JHc@YWtGUC{t!SI)OW*#hL>-O;IM}zpyxDfaRs417(;xga z>g2}*SBxCNx%7ZsZ0G+JA551*UD?)4?I^j%Yscc)YgYcqs|F2Td*|ej>%fK*56+rKs1u6Zb0%n_y;2CO<=XD+_|x2traKq& zaQG13F%1|yC_%U@Xsw0eZcJ+*^dx}yz{^(rbB4UH9z#XGF6uTSXAAXQbGImT;dHvC zt==$*o>R<^BJ0zIl>Ob?4DgnxAf+$eg@Uo{mz_%)1I=ywdOVE4`&?b^bE4{ zYR-@6M*hORK6`ufBOVB>a}0i|F&JkCZITek`u=lA?Vsm~BJ?JDK7dNWRJ`Xk4?O@Y zVGbilOJVO`e-Sd_6menof4U{zowBJ`&{j{gYQi9Y&Ano>VaE#T#a6Fb2GjYh{b)(o zn5CJDlyBx#SfLvQ3GMYrl!X23hD|cphRIym(S&GW@uJz-aQo}_`S&wuRXZg~SzEo? z(Zt5SLS;RsUS7=w_E!?DJI@KmxnbWIP~50R)=-7@20rXHe7%Rpe;;~|L+u7_{FGj= zhYQ!T2*mfEIsLfaNcG2FI+y(?aZQ8=;?eZiDG$5{fjVDHXI@O=lg`oi+HbGwe&79whhB$o$m4(TC%(0@u4-uQ zb*=i`2cFH~PD>8c1LM)biLgglNfD_*r%flg-{#hdrnR~We`X}tYi7|qj=AMtte5MD zZJ<9E9u0oGdGJC(kSMNVu4G7bc0(4aXKO56NkSn_ZLl=&eU)K@-B8Sq)l8PJAG^5w z6v)#~^6~N}>F9AQtz$b;V=oih)m$0hripx4d2 z#8X#mIXs@ZfAPs>AJjiML4{D;&qvgMD)^WiEf^@~wek?$-2CP$>D-rB+z)yl7%d4& zO<-Q<4(zkFmJ3_2fu?N^Dt%^K)(CAg-ZVkfBmCYm;GmdgvZ{SfB#>t7}7Ef2x~e5o=`niBsZql z$|0}~tZeU?YTh4LJZ3QY^Ed!FqX*Q(+A5s?{hoE0Kb&mGcW+U7wI8oKAN!+6>v-9t z2m7;LDOfLVq+^16lI1v;lQP`%px1RNIp?>p;i9b^zmTcZW}K<|T^P4OobfS&0J>l+ zhdl;8e>=WoY|wFWTU|{SbQ1DtdUT>}=cr_%OiFTH&2e4=kWZ8(=&`y%2M(}hu(67JOPfgSYh#{43jW$L5lf3JKKL=Tai^7mjt$PD->NwR$LERu9N zCh1-@*;++U%m$Ti+Yub?^zYe5!3T_S zpUI#Fma#X~Y3yq7jMoBf*rS07Jfz?me`f?_LLUvh!L$L-_!iKHKjQiKcsvxq5^7=J z!Z?9Yg*DKIekd5hiv>al8rYP+YWPKX0&_Jx0!^{cp~l_^W!yV_Pw{#*>bklGzV|e| zL8(C@M+1Pq0DQnE0UMn4Xr$;G-!Bc=MoA!=b_!CcDsYXv8U3oLgZpOY9Bhyae_$1P zF|dTU3g6!X(QIxYh1UQ)kze|!+9F8e|UaDVl^iM_QjTKFq z;J%-O1>)x~8|)HZgc;VA=$&bQ-W&AI^WfqCXNqibKffAg3EXLRFtaE44Xie^1N^Q~ zW+#G&lugzAX0mXK5Y^{s2%+(e?~r=zCU;GBkyJUHt!B2Z#{jTcaI}?H?2nP-N;FwXYFKs zy08DkKWcy)-2hpx_;MpD@jn4(N%CpPKHRQ+u;F4Ws>Qmabw$1er9LPgS8-?~rdIlQ-ZpbuVW^3F=U4pbAR$E*B7m zcnxI(M6K-QrpZ&%f36rCLOTQ9rx8h*%8r+E2Pt@D6~%37Au z4segeyn$f9TDrRxf90i&KD`yCxD!_@cLY{ZqZ^j16}8Pw>^IWqge9R!t!2LPp-zO( z8+H1=n3|yf9GL!d0Z}W8kn9Ts{Imb8+(Dq)55FOI{pX$PBmX1-={*E$Jev?je~Q&|U!}`~f%s#yif0A{ zNjJ;=M%u9vIF|eBqk*K6JkbrPeY#S*fk&2z!jLYc4d_zkO)l{}R`Ah4+MLFec^#=5 z^;oEa8cOlpjaZS-7Ss)kR2nYM?ERu48)&p0Li`qbx4-EPRK`| z?Dwg>sq$4!e~l7h+5msIJKHExU7nr41IPElRo!QYQ&f!!^>-lgZ_<*b#EOLF;=Cy~ z??BRfAgK?ISBwpfjUMjvj-~e+d+l}qy*{d}><ctf6Q>_JcHva$)`~`hw!O%5^H+`qk9;609UE5Q`iD}z2O$Gs(UPPxYD&4R-ef#B ztm|5o`fltfkLcKNTt6$&(ucXS-ugL%uchT~8bVn7j`L9KhQKg?2ydhhDm`ostOEUs z0sW*df72aAY7DwKfNluxm>7ICL^knFlr}1=B2iTh-0bD8{%A)ierXb+b&HNX81EYvLIme{32c4A+Qy=W{5Qw26SaiDw{6aXv72Nzw+lZW&V? zKU&naE{ZU32)s#L6D$7xKEnA+Sn8j?qgW1qe_tL9vqA^&KN?d5hrj2J^kLSoJ0Jzl zLwq*MCYyd9j?rzyLRztbWM+WX3kMDh-^Wiv-Z!#S3x|S6E@!I#fGaSe9 z)%|g==vo^0$3K0Fk+IPJ4!(R!bVG72Ir=7{)qU@K4Xmi~iyD2Y@qPI6?%@mVe^=1k zuT1~@JcBY_=(6|alsFQ7Y!#OMnk;C)mK#p=YK6}#)N;%xcGo|j?rILUOm76vEAbAk z_s#`GOR-{PV|Ol|d-O5T?LPmf=UYC7o6~*Y;P0Hzk5>QTKJI~d_y2OA!*LMrr(lt* zU-DSAA@HSF@Q;S2jbuhg-M`;If7*_8p+6dyHGZB={T)p38R0nptDo=z)YvwVgyoEm z%?#&|hLsz`r{qrtdVeVQar)*(UFe{_UfFWj`_VY0O{ob)NrKOHR&)l))`;HUD)fo_ z;WKv2fY1g$m^WT|ei3NNI1epXgibv^$x!38r|3!e`BCu6=`FX zCNb<9qYfl`-KeVfn_lmmt*nf?FqhUwH?Tqf{ZDgDqi;UPF@%SDLuZC0VZOofg@~om zC%)IcPul_ghq2FPhu@wmS><_p8K)A`F_e-A&i5a9!yWljp_WyaEcau_5m=>ije|tO2ra!N{3bbFH zo;|8%+2rt#W7vJqK}Ag|>79-9JbH(9E;CY8Jgp~j+*Aqfw2yMIsm`0=0Dz1@##?_ZcHXQas` zCAPGl@Vn9P1@de=*@?IR0r!6?`@f{UmYw z^%4_jh+8qv=1W2Fc>3n=i1%NP`}o@ssYSywd>{Be+@Y;q#Ar7+0^T{ zU)OvzLN|@+fA`hF```F}KmZ8C^HxQ7#6Gj(yavw$Nc!_K-$xuq^yjT(JP*il-lS=; zzCN7y>|?INF@__$f1UKNbKjTb^!K8FJ^Z~K&e!<58qV)u?}zjI*N5T!{`E_L9Y8o< z$Cl!KafonC?Fz30{WG5T*58*poj2S+8O}4q{U`l-e;>pBi~hX-$Ju}F%FZk6g5aw( z>Z%UZ4JqYP+6M)+y!T!=4SDaq3ia-Vob%sn?Q-a@9yd9d3V;KUz;z@{GtE754-=OhkoyT|EB+E zOBBiL>xW7Fqt~SJrRg7i;rylFIO#`=|Ka~H+HKn`?q9U! z54-y>TJjIy|GH*G^v4@ezBKiR{)e4K*Nx*=HD##3^v7j2+rCNMkN3Z5s~>LnU$pEW z9RH&I^Lq;XuX3#a;3oc&3nTpD{rn>rDf>(Re~(O>Ke+!zEC1pBFWTvcU$^8KBYf&Zxo{?;q-?>^YQ z5;+iTfAMzyzdP)xton_WK8p84fF*#BK-fA=!K|EA|CW}^9j z*YngbT<+iX!vC&brv{6z{#`aG)?%?=8hL@BGK$71QTn;mMoOrt{5P{q^^1d^e}6Oj zi)#6`G=Ba9R-&|@-I@JajcAS%JSw~BnG!N8t*DCPH7fd3_NcU?+ux`9%MAK6 z#sA;vm;1^4zw}%E`c;4QkwqUrI?MX?!%;Cs_mluph4riFDF0XHD=NHb{a4N@diuo` zrx(3Zg7xDgQ=;|bvr$6#!!7)9f29=-{mz}I7ybOk6tFrh`PsRDHqPe=!;tyPws#8jrl$D|H|j@{Qa57 z?vLE6zw`JY3xcmMJItKa_@`uk`7P|7b)K|;~Ruwt54HEc-)^px_@x~S-1T^fAag^^y~f~`2N)o z|IhfPfA$ID?>_NY5AT2W1MjE*|JV4a>d*N9$iMs5*T4L(DfM?;`H$}(z4=S`2N%at z-hZ~ED4e3Ezj`8CRQ4+~1f^c|`|IbA9*KX(`~L9!#d%TcZ+=ASci+nS8@FB2+TVTZ z$LG&JaQ^sY7v27|e~(>%`2Y0#?|Rt&tA3~#ZT|KZ_rLg;K~(!s|MLI&-_H;D$Hn%? zOXmKb6Z|hlHJ$z9YU4jsbWs__Sd{#`hn2~G`a4t1&#(NGKlGFH`OkWIesLo@MSXtp zxcblE%yz$Vd@1&#OpE4z`3CHY7XKVFuxRDCUR;XSfBNbEfBfCQ$jFLze<1u{966u; zz{C_kQNcxL6c7D9SNJDK3@1=lMl%#AQ@=aBuU|d^h-NF!{B0VX#W|F%(LBZZlpWFh z#YMk7TtdaAzhLU&;&RGHY4Q4j;b^Ji+8-#{;s(mee&A-xnP}zWHX8Ad#HB9FrFa|W z_cY+dJium+f7LLZ^1Vdxp~#B0DEKt7z%hZ)F`m%z9^8*VT0f-UB)HGC(yc`3SWndF ze|Wx@+woCwUx~nR(eUHrk5Ta1Bg^mN;D#bA?=w-KQ-M5aaqe@0W8=`S>Cm43daL9 zx%Y2<&uguQ{9_QLsPgBhCH|-X_WvlSbx8LA@qgIYqu8Ih_#gh;|MLGXr*Z#(l}T3o z&;R^4e>DB`A4=jD;r~ZV_WHm7`Fh)*zW9%3Px>bN`^{A}RlWZQ3PJyUTeJT-*8YFY zlRf#5UnO`=WeNZHG}#Iq{eR{VDQML{XF9mw*{wfof-3%GaRu}LZ$4dmps32bq@)_M zUyMI931BD*eo=8S)mUuxR%+#=6wOe4BT8b0e?VI0N+~($y!0#xb$PQV6NGZCeRz6> z7uzN@vOGv+oYI*A)e#7)OfJfCcHI}7XAQOMHu#JgN2u%zjDt90wP0&#DBDL%?7;W> z0nJ4yVO&~y>=i;TP;oK_+Y%t8ny%i9uaR1dfX9Z5`7}?&hYtP)bes!PeSnh18@Zuh ze;{VJI0g4`K_#UrY78x|)C&G+ypWWUueWh`@zbzM_}ul1%_!EwUF{|dgX2f7k+@sK zsRR^_QAy-}S%AwDf8ea?Jk&ig-Fm*-aK-G354;j;KfBu6&EiG(o{}2TY~Tm%Ci4O+ z{yR;f*niUwsyBUGt)pK9h^zUhxXVxAf9JDYD-|@?;0>9r(jP9R&x+GM(8{`(w*{NA zMOg%kMOA=QnyrRrL5+Z7=OjYl1Wq(Nj&HD+0I_`Yr|SaHl)m_haNC?uwk>tX(?1Y;bl$_*tzuTiYvKjZ6O|e1W(>aqCLWHt`Nk`7zALF z_$uOE;VwmH^U}Jyp?#r#dL;mUWrF|;z!LZIErQ@gs=_8?D%aTS_gH6+(}ep7ZmiG#)d>^Ri6(6|bB&a2znomKW{TQQu7j=I`|le~V%uZ1$kR z2Q4w{!jT#0$KS2hIeArFWdkI0*|*tWh6U9Flu(#>`j=_}qBk_fI!d`ZisV-Y*o^cu zgDg!qG*^V>&R5gpmjz!O1`!cn=`=l2(s~F`2uI{qke3v~1;qXH{5s>>jvsCBU;`Wy zTS0D~1VK^L`f_p@oq67ffA8BHD?tE|TcIEB>|mC&E*GE@(GMb;SS`lqdMRXyD#D4W zu;zO&D#hhTsw`6MOn0EZ!Z*Y)9{4(7P5BNv_t!1xS!N9B^G)u)r@m7{L)2w;0)O+A zD1SU#5CWC+xr8lkH#PVL?cK<&wDq-*;mT#02Le=XWa5I!&N=%_eT6tRh@lhyNIxteeU+b=OgWZ|=ZQEB8rn~a~l`v{)v z_7&-JaJkqC%$)6JK2zJaLbEsHZC#>5p~A(Ui%E?UYh{Zse-)}#0SfMz=q*q@YdCEO zT1$ZZ#2kJ+zfN${Y&hYHCC&!$Vsz0;m~UgOo0VRb3-PQrl3h(rvj%g7?#XsIJ5Oj% zK8h^Z1qSqaXI&1&Dhi}kvBM09@kQ6bW;$1eKG7Kzt5dV}mMH)c=uKre?80bYG@HXE zJ$lKKJ#3nUf0?qI+|4)%vvBVm>{+50d(XED>FA~>03&*V-JDr(!h--k!hqZXi!48= zaA#2hsFJ36#RuteIj1$)e(5=8rc&K1$SH1mW1^OuM#&){mz@LTLK;T!*Lh@Pl&1Wv zi`HW5Mb0^x{;?1VcANOrJJU*vPI8obpp-S8(VOowf3Y8)vS%AzL42{Pm7O(s_xK$} z8W}vxUWv-kOb&*4(AFXZ$l^2AR~&7J(o7favC{9rFs*w!eIZR1+wCOKAjDD`%fUBf zNz>K&ElFsQnoNqhUzbS(Ib!(s0j3ynB^-O8rpC2kyuq1BvD>1NO}am zb)aeCe{?o9El9$JBWR);i_j`a6KmjLj~{KP7d}H0hSMkq-x@tOmU%OyHS^1eS_Ydv zKuJy&FxihTP$wHLa1yw4fDcfLXr>NjfK@7dxx2XpP_ovb%t*4CH+|S`uB;C&w{8MY zZdYLJf%jh}Xugh{rDbm`)fL%%?^9M$R&k$5e*p5aHk{-tRK3?1k-NaK5HH->$9#ey ze8Rnhh}q@=7Sa9^AWhd#_%Q5V;WtVg%EpjNksg{isc9ivP>6SHowgOR9Td92tCteJz%Gmk*i*z ze_c^inL}Ehe7I}t3@7ui7qTi0+!v*$-j8MJgEL!RI0acL_JwUK7n^esUq{ZAeZ|BF zDb-(Yr>5j|#zUVEl0Ayq<R9dFd}ry8*(E?PT@vHa*|IV4r^ zez~_SEV@qB;xwu{h*dC`QtFWjJaNv=@;-yfvSN_)UEa>m^5M?Me@wo^APPQ+E#X-; zm}!FMJCsYlBRGE}@J`&Ii3d^;;X8si!QVc_CzY+yYJHwpBv|{H8<`I7kvY>ye;E@= zl2OKzY>c>HL+q`)9Lu^fU5RrlUY&A|>U)wx5uYYzp}N~99$>rX@c46SF*Da4OG^+b z*A0cyJf&&AH%A;A*}c=T5W}d^^`>#dql)qw#FUj-So(N$*6Ow?SG2q`(W6OSKTB+c zRr5!Zaav)8X|$?)u4!hwT8e>!e>65(NP1WqXcPXVwuA?4XyO_=;rNERw-)1MVyRpY zqVRy}9;G|TM5aFkqLmg?DFf4~l`xT#n+E+}M|hve6p|WLIWZAaQ|*4#XyEYM?H&GF z;mjH_5kpeqxmrZ(3eP>C336q0K+puURY0IsCHXD#n{I$h!}T5~0zvmfe{UcpM0&yy z8(h5p<(A!I)3TNOg~insB%4LpN!e74h8g$Lz+;G_x<<)E=xv&=p$J>jtoqhC+!Lhy zVO%QlAVZ<*#M*zkp&zLKgk(UqD>oV;sM_b0b~0%>b$Ufx;1NFDH2qMalG0B&_F;B` z9#D-35NQ>9f0>jeT0W>Ne~SkWw;7<4M~I2cl=A8g+B#P238I6JRXpti5cr)KH5d91D+Zeo@1 z1?!rVR~kWfjl$cNTfA+dQ5loJVsPXuPR>pH@u2kIWsnfS964PGjq>lE0Qd-pB zT3J9o+MA9J!EBB;LLL2is;AzL5>tb5SpoiymcH~>V)CE{P8^nbiM?hO=S8-;X3_xeI95FafqR^m*bfm3R<5Kv3 zEN(KIi$EzFe@boX<9nJ6et7{h%#Ig7N)@O;5QOfbs=LG#M`>84VK;IUDA>JT&f~Lq z=g1$0w1Geoufr^ocoP7ZsNoVx?vH6KZa;R6Nj0Hl|E}< z{uH+K`(&^u33B9Iz-e?>L|~gNK;LQd8bwvg;~Wt0#?A@hhaIzUd;DN*&x(uQ1|YJX zxj&nzuppk%7z%bkUKr%VJP?4q^o&`_;`ay=O)7^l2f~dcg?{*K73ohcGtaSyw*E){ zrf))`f2VRKf?+;;mffk0()zthMN(hKyu=Gbe}WZ>Mx*sbJkD;K1cmc49ipCIwZ&?Rjt$vGB+Zp0Q#z^%pN=vdzQGnZi8mpMS?16em^b4i%yoq;f0xt2qz9s|Ez7*da8uv+3?n+FoL?!_ z2JzmE-uf43IA&I3X;OOZl>?_-h83d~j~a4mk%gBjNerqpI54+c`(c{}as!h$?c3Q? z{!?FLaNtq{ygmHo6sy9ni!&3|#z__SCNS+kxOhaNBLRRQ!wBOI&)X!p6P16sj@GNt`Wr^ggrl`Prg7V=(0FuC?(zUlzvGlC5ex_|3RPwvh_*e{jNSry5#2w5S-9s(eP z*i5&Yfg`22%Eo9;O#N^;A+!MfU`{t<9M3ZpULVN>4^d2=bs!C$cg-zf+K?sUw!&}z zM0_WsSP2ppmW#ERXJk!DWq8fV04jE~fSPT6Z`Fh-ym@(`7!|n8SA!+Yc*K+0K9!PAM3mX~zE^<+& z>oA7r*ujL5HS&4ltF{mN7tnbX*va}j4LBmCi};!!_Y~DwV75+c-c6rH0i=SnYkeFn zl9t7UmTcCu+008)Cd#5re{vxt6#2Zg+!n$DeslDm5!DDGSmRvbNvMLkX>)*Nh-4_} z;3u%-P?~bXKvw0nHuI31Yrj@U_$6quxPvs)`#ZluVe7QHoVk$RB7vf7o1igSRC`P< zRi@Ftj&o#qx>-f_0e9U-yv-?f^}H5U>(!mN2)+D#=LH9hh#Fwne-_d471NI}8vZ!q zjc_zUqMWYE&mP^H!UKu?rNgjjBW2KVjr5&Qh#(iG4oxBnm-OuQT-Ymsp75%kn^1pu z#I;YRO)ysh**Ze3+s-96w$J9WIJdB%^ymnIslEZLS0k|9np2Hfje)Eo`gKwJ{Dk9M zA7`#BGqE<-A7TYNe^%%q(ThYZY{@&@43R|$6vL9)e#CV#q?oU8{GHB@m@ep-61?$gU_c+~C<`G{g7Q0xMmw{5kP{M98Zj-JVI2tjW6 zE!b6(1DWsw?4zd@o;vy(-^0vn`vtNQCx!6$eArObxja>&f0%wJ&nk~3EmwL9lyUBX5d>7_=c(#Vn$m z`Z0sP)~Xboe9qJt;h0fV$n%^=ow;!yy)am2y5jCDb+t>Mq%xESZOiJD%!=%479`$M zEY&`H+p7Oef1ak+Ivs)TjeiF1{O|y@xv*EgUZ_q1t~)->nOZf45w^^kq9W)?Zi5f7 zr7~p>EZB0DkoPO(;IQpfZv>Q0+RK4UNO=)m9B{(6?_U1MxupqAjRsHfRnKD^Me=NT zpeKo(Zy(=@?Yy{HCNRQ0$g54hpCU@DK;-8H){J(|f9_$_dj%LX23o6r+Qt0F7bSZa z6=*8c4hS;|n*o@B6#}!Saxm*rzG2zSpYeC)x|GbUNC2NVZMOr%1b)lG5E~HqI~I%R zfteLdU=fy0J$y!AOz8{n-?M>FYw*9N%6*);nZ_y9Mas;{(f+b@Be(9?nkPU|zG(qc zkjvs-f4N7OUnMk(vn62XOBAS+sW!v(e%G9a=FsPn|DG+7;zUEoETI$IPzCzMyj%BIOX%jIA`*-n=&Ocm zj0FVE6lAhs*_=uqwxYWY5o#_ziCIAk%aJ2yf62&J2d78!HJ`PWBAVBwShH5blwKL> z=PA6#@$4l)xP(;0_dd)o11^pa+3m`JB6Pe}D@~qzXzBo}e(DpBlUHN^8Roo}SZL^w z7IJi8hc;9A3emu!k?uFFk43Y5UtAhixW_L ze+I=f1SC0e?5ZP?#z}p{@=R>mfL`7ngzEORx{?zgv0TUBcFdBCvMd|bF}>C1d-8cB<=N0e{Rka`pxqg9z!b}b5_hW%S*-`SSB7npUApRn2+bD5-KnPiJjf3sf3#J+ zENuf@F}r z#K}Fvlmn9jt=kN~7C0gtl1KV>p%EzX1u?Ja?kxwwfa8oDNyTL=-{uIb8vDBA z7)7HjE_K}8vsL@-B(qZXZdRIWh}NlRfgbMNWJhv9AFsa56q-1QZ)`mM66v(%LgLes zK4??cH-`g%U@$iK+}jC!e~Ob^Yd%8_r=D-@fniwj_%Mdc%3!N=N4RUq+HshCyTjh# zs+!5f;HHP!=R^&g`cTl)O`po3R?%`s*6d8X7cK4A}QnX#t16Rc!|5zO?i7x}~&{EMRfw zIaPhk>F80(EmioDYvH@J^kpA|GYqcG>^w0m-Ew3&(tLAPe~&_+fNMf~C1i6xd-^8G zgCA58oy`0Lyh{8{58V!$+SKn?>*6~9lw6J+N)`m8HGH=Hfp(2` zi@sFlxs58KMiQR)C!qt$x4>eK)u~;bBHKdL=oKmq=I4femDhS2@|L;kv-1#Vc@Y1J zi;oP?WLA01e|2`7SdI=73t_AdSZ}fG(dr#Z#@H7fnsuc|El$Vum13M7JN@w%Z+GEa zu_a%u19TrAa}hQ7J?!TDF^w(KtQnj6o%A*3j!{JTQVx$7Y-W{FCsCin3Vw;;C#z_p z?8f;NE>#R^vWjJ#P!E}etzbvZxmcgpKF6bI=6Y~7e}iT;&k$+_yX-$hn@33=0<*vO zJOF;a_v9@J>UkK~jQgY-olefDbrk&f1iz7CLGuu#u94q4bK7|^$E88Htidl9&YvrG z?^!5Kb^|5FC0MrfLA6|QpT<=L)wI=HO+SjT4Aa9%(7Za%H695d?S zdWXUGf1q&dG|ZbbO!nc6OckJ8*}q$WcxQMr*kwfNJH1Xfgu!;Dvu&(%_4ZB!eI9s; zs{~x(B|R`FNZr{;pyQIDc29F=sjymAbx?l=7Eio#%FAPhI_!O3aGceMPUDf2w80{2 z>foO}4TRE%j}**PC-c}Wz9k!?zTxR%BdZW;9A2Mi3*6EWzA`oqM}BH)QHS|E8sDv z@$=H|Y(7EH8tx8Kvhw0&3B+U@v}1O=d>Tc(PoyS$PHp+}Xwr7d>n9c#v?Z~up*A2- ze;U;6D}?BsoEzW`@eA5KHrR6Oz1Kz#x}ZdPgRwbXOUd}86ISfRz;E~TCRhQ;tIr*= zOc=hl&^MivT<`L_jZAKWDjg41+4BkDK{9ARtN5f2uLg(`Jns5w`*8R&4&*09)i#~( znI){eiQg&*$Xs3v&G8kaRBSX?Gy!Lof3Ti7p5b8Zs#Ej9#zP66Y4x_PKl|<5a{zB8 zz?zu#fgGxqKDkLSKs&Dqu83C7XFT?vgo`5>UWwZZ!Jjoh57E0EuzL_5{C^0kAgte22&Qj!1wjGi7xc8R|N36Md6X95$|QK^Bko)e;|Qi zNT%T?CG*YI`uOqn=3bk76xqlgh3pe4T;f9EM&uahK#+Hps6L8;1`Z64s$_$_W{A8g1=JPtUmVFPOkO=KDIo z6)U+xpf`wGIoKgKf3-t%vf!y`3x*SNB_iDyZ1b1~nn@slruGBRz83)`wj)XSMtGWs z4Ju}+D1U|J-BHn3T4cvk!>%^l^MsEWQ-kJtfJxbT=R9UV*qWFBx+kyH>DjhzJWD`YbgSx1l+UXL*Fb%He>@FYpF|kMIhYdo_N|V-?5+?g z`h;0Wg^fNcY0D%Z#rBdZ4Em<~9fFHM!GH{_JBrd1hvXZ>p^OEBZW3rnvi9~#J*&Ct z;b4%7x?n`M%ytH@ndTYtnNLpeW@KU?X1pmgx*#>CTfKRzXc;`7i};dRa+MFGWlx7j z3=L|(fAQ<{&R*u6)CqiGj=x44XqocB9`3^fUEN6!Q8Yt~5SQRo$jS;Q_XN7_+qh2o z{bLsKIA7oWd|g1)R&T7uZ?+VLT<6lhz8Rcy!Ue4fgHhRSOGUZs>Zf@bKL};NL>7f{ zTy&}gf0KgGT@8;i2&a(iQ|SyXa8UQ7=gAg8e}F%jYem%o3G^?=K(!KNXT_K~_B{v0 zPE|TAt&=TImv)G_rv9ywi!5yntwC zf0>v_R49nlSa7ipddjQ(C`T498pIq*f1V*z7qNp*7hSF^FY;cz-v@%`$hRH!ukE?$ z=9Jqs%pcH%*G>~wB#k3f zQ2UR1M0>Sxp!~g-m_pwh+fdyb`e9ale@XM{1N>5Zk6V>xQt06|l-@VxNf9T zj5(YGQ;ZQ-RV{yZncNNek}e!IL}77{$$9YaY47yPCWHZds%0V2>HD|^WbaoWe=v?o zRA2!fZvl9)Ogwr^EPYRiC6Mz~j$V-RRX$?mnGxy+lB@fP3X#foj!SH``ZStUu^Wt= z$^HEFe>sZ`*KAX-G(kl8Bvkk(sHWA;bC4uGnpW~LOHI2vtJ_K?Aau74rU?^nObbG- zOL2Us%Rf=%PhyxpG-CD*GNo}Me;MCCzMze(>7LIMB&}_Ta;d6`*(Pfq8j~bVtyT)r z7orB$rBw_$kaE$7wNDg+Z_v~Z=%0?_n~nUrR zNce~@)mjM_Ru1D0X0_lCX;+^ z0vexZ3R*cL<+%#E2j{T@;}zJz+3Gyn=}kZS zJ?f782Ie14THpfgW+3B%$fn4b`$%DC`AA=xvwR=C!aHqeF*BMgYB~pL@TI zm++R;2+6e!1@#+8``uA9u$8QxmdlHG6P!$-0$k2fmaMAx04)J_w#n8=19O!SY3O~b zy#(8}I5?mtWUtfbe?@EWl5gI-pWrR`5pmBS;vKu_i$d{6 zYIg6gKV?$XuaoaWBM7y%_XhYr95C59VScS^p*V~$uErsMS)e%U^PMRo9US6o8OpbD zTS{A8Q+X3c*eanfsO}^!80S|V_XpphCh0zIT1n@2Q*6OaaoXG$3{n__8&o!tO>9$p zkl=17ajq08f1%JL?o{uVc)6yN`z~(H(bG+M?-Gf3>fsB3-(Tb#;tJo@L40T+X1`k7 zB3FTYDt31bNEAiQ(&qAQ_EwZWXo!Ya!?jIDh#_95q8bx-X<(l(v*3vUK0v|0bGR_J z!%5+L<<9D&BdoaxQU!V*UzSg%& zI190^+w}%ovEj`<0jo}Uc12KG4RjX1)dY-o(^*pmx~bL`M8)!wpqxu7gfZ!U383UL z&OP~nNg~qs`+Hf-kGVhiNNc(#0`w%k#aC7WwWr^;B!({}8m)BVsx8N6;94?#d<9{8 zY_xLB^+gkqoqr6M+Gm+y3-p&>1k_)cfwf+c5REDid7dA+;7o0akMIEAMM`|?o5+}4 zs&a+BRTLhS!2wFSIMB;Dw9gNb8_uY&Av17b^S^%*N@el`JOq z{n?B`t%x)^tcVi4@fmT#$qhEhA&pC6e?pI9Eo1yH!N7snmL;Z7aUYO zW$eMRrG_?XOBLUn|-Wk7HDs zgu)1>UT@4IYnooyVK|wJNJ!iWA5((-Lte1!MHkxjied08uNx2RLE)4I&e^3;PQlVI zj*4Ofl$^7$T1^<#4*4>e#UgVgV&!$xG1&fmCtx=_fwmjB?E{u*fU&ha$~vvFMSl!k zuR9R2ICdRpn~7YKAdTH5&!58^LV36l7_T3h1zZ!;0Iqgsr`R_3S*>R75V;>>{X-(ZIu`P^hT8ib){h>17U?@EyV#e`Mkm@4)uX6Xc$^_Q%iJWl=gITCcU5NFY}kY~ zhU)O>I$~?^DR9)Y7}ofZ8mZHAp+*G|&nlN-bY%~oy!Z*PT8p2i>8Ea|&waV=4SsWq zRKsHE5%xi*0{6moOw?9BK!2LBkJ2&F+%pK_feB*k* z02%RjL6Jybh+1XD5q+WmQ3@nk`MwpzGCjwNK#ZgFO z8{H>=*Y1$=iGwOV?yWvZ%sp;Q@d`T+V`Aht;pY%R-m6ZDYXNQN?0=LL+Cleti&Y)b zl{UhH4%p~1do;o-%l87y>I$`!Dq0!j%&8ttD%7Bf^UuQ2p&X;iw!JNT`jb<6DL%9+ zYNxiW`;y&#E*VAM@lZwY!+kB--G>Xf{mdEedwF)46LZ^1 zFK0GI!@jwmeQkKP-GBIYQiNo;G471IZW1vXuTcQjgnvlW{$JTTkDXm%EwH{zW)YG2 z=rE-B-kH&R?>v30sj>G!q9c+@ry{|S*+P3y>72D*o4okrtT#MEUtgi_Z#8+wrA z2h6=7F-sh)2!GG^D;g})sz2UO!p452Y;AwaIvt;a1E8#2`wf3(z`xU%ZW{jf{x?6AsM;38&uts561cF*Itp;M*7qihl^(_&0ueM3la`V~kXSD_oNJw6UaYXoVj$sv%Y#*~{yxaiD z5={qlki{9;)8>KdbHC}@@uwP$E*@z(>6!|=?}gUbq_7G(h5&#U&XZ%m4TAd@Gq>5z z7o`^VbANdwMe8)F{1My0_LUFVf{cRW(%L_6aNVZ|G`S0=Z~aXwoWZK)4PjrFgKN0i zPB+u{tB>HJYB(8Q?9$MziOVExZ-&I@`;qs|lol^qrxm8GpW{Y^9T~?%bj8xMZTB7| z;0D)tF+6?}cMYpJA=P^BX&{HQIAw}2?^z>#Z-3-D&{n!sd9-2#zQT-#i9rWr&-+fh z3{+)3dq@_nRSEX@MS|KP@jlwWp-QAENx~H3O49V~mGPDzc7Vt;g~6t?vefo?!doog zPE?)49oc+Q!Mpw#LZEOxQAABP(wrF4wpmWO=OvC5@!P%507_keRy%FKP1q;b z^?xD`lxq%{?`(_@VSX>&x0U+{U6zSKI5ba`{31zNE?IBZ zXXMcf?Qlr?;BaWG)wO=->lSMctbO1K0`Jbf80H&|en6?q6&K9C`tqsz7#-$b1Fkag z-G8s(>WFA$)KyIEs|SvwDO@5xHL-ri&VR*)2y0|g7M7=NB(m3BleHa9_^P|+Y(=0P zQT}cvZ8BU7g#8jlPtkafz&)m=9Wz(@RI;kg&6uTS)mXEY1XL{ep_eNVNlxg|PlOUs zZU6;#HV)ZPSt77TpkrG$gxxk>zkE!WQ*{+2i1FH?9jNJp7S2)wkm3HugnS@pXn%L~ zbyGu;N4{mHj-K7Uo1NGpqe7@2MDH8L+qr1|oc17ile8Vrk$gsFExu+NyIqun_xRMq zE42Y9UJE7S_iSEIXi_i1Ec52I+}$emPTL~z?@&0l^njqqocm*hhc9C4g+!nErMm-e z7y38d1SqRL8-S?~_@rX76=Hm1n}5Bhi9A~%8%AT%?7ZY&AK&-=OZ)J4cP(gIC9|Ep%oSwBA@so<(zH7RLL8vtG5Q2;wvW!tL~R^W0scqPNAD%|?# zlRJ|VJ|Gt7pS{s^I2ZH8g~25E(spf)(z3s&MM5a68@CnY7)H}Q`C0qA3V#p|*hSk0 z{tlz)0d_FzY?(k+W7a55C0lEp&2uexEgCLTo#^`yC zN%2VYD*BGppg1H80A0-C7NBKi$SNT2!tk=;oYA3T4|wD8afsb)paRWBfg@ZQec&&I zp#*wFrqJQ|0U1Bf=ytQcNPk?OS_nN#4Av_O+Yb5Ib-fFpD^-o60ML*0 z`=RHsWwVtHd8x+oSL$kch!^DizTr!sGnV;8GvuW$uIK8*(uSYJ#~`Axo0MYj;@zzr zfR`C$)3Gq(Ue1W}wSC2tWaFa~eGh72kW-C6apH#k*S%2uYo!VSrDXdjE z?jcYO3p$Zu{fozIm|SxbMij&Wb|9dIYr0Fn@M>=VZ2TJPXt@IK%@b6 zZx+^F$gy)ToN&2gSLq$(d3K_==oWaHS^6t$kP`wtipSQ%{96r!8`3MhJl2aBcejFq z2`&;Oa9epJ?47h9UglNRihfv?)WI2mUyCmJX%U|L^RUa)O`C9k#!DS7L=nMmSu$jq z<;og<^()9IvVY`Bhh10~g)#u5tx%a7zNzBi$t$Hz6x2GyKKOTuqu3?y>Lfr3>3?BfFk^;kX?+ySj;N+1s0J#up7bV6}BL+ zhZT>(ACeo!aQf|HJw}9CqN~e~9QcW0b;4cnmtlsEQ6Vv(FOq5ILU|%TWcv`0M}m^& z7%4#w7k_YtLmr%xbM8hPFJECma$N^s?(=)z@41XrI#mN*6wJj)sM^J0_pMAw!(&U* ziimO@mR$~w@yJ1}WCS@fmWsjTRGlv#Dfz&7rRjiB>6y?s+c zk8q1OuS-!|RFtVH?@uU(P-zZKpW}_fo>_Ey@PCc1Tx1K z=oMs|0ZpAv?)K2W@LB@hM+kfo?4><`B?sHiGD+0Pvnb6Cpcc*0nMQq7hbn4^@WZ1M zg@0;&I6kle83x#Gfg_HI&}U>FT19Cex&n2_2hdp7xzEa`+j9WUFRDs3J4Vfz2dk}% z&zOjptfen$rI-ITU2b5_L%=DkK)x|pwK0kDzXRG zOp~--qk5rPoZdq|4{d9n3UKTRtOov4fS3Pe4Hkcp(#wL?=?5U9ee&D~Zua@f15uDe zKINnfS+fMFgt@r%xvrVkjMO;cl6RFjkKZHyT8*{mHkYYat&?TqxDNsQAOAdP!!Ljp ziF!Gi)iFio;r|jh-c=rHtRG)BqhIejh!| zMmK*y6jT&p7j%$diL~?8&zrtE$U5ZP36}$CB7lOU-_jwLtuh01jivY65z*mNde2KJJp&>x4O6syp-ii0 zIH1|};}Z-6W-e=8@pdy@G6g%RywZYu)N&bi!Brg7NYj(7A0>>^64M_F0tv9Ba*Tic zKx7xh4X3Jix6j%6u4_0_d7+~?BLRQNl91Q4)*|p{TV@gb2=YQ}kSf^DPtv=Df9x;{IY7$uPYWL4Z*B$z+y!V%E)Uy@ z4A<4ru6cVGygX6trz%ZjWJG!=DN|Lw`L<6NyA;7)hAx1TrwvbS^SuhI#NU4r`5Gqg zL3<0TtLgVv(%gv+ptdPSTO}FLYuI&1az%Nr=JF!7Y}3!zj&SR{S?oDY1OwrbXAX$V zBpSgE2QLE9<&SRpkZ59<9KCV{zV3#!mVAR za({)(QfXd+yb|?M94sqk%H{5j_tV z>(ylx>Qjp-*&R22@uEs0b3kO5^>wV&8qVV=g78eCe@{mBa5c%EfRBGqvi{*v3E(4m zI-6DNmYvQguK0t5X6U!)sx%i7m#=CMg(+d)?MI?lR44MCnnFj4Cs>txp&sxf2NM$? zD7)xE}0L>h@(Pw~} z;={Ka9EBLL3%&{A8D<*_1L22tSEBo=1I_DOX*ZjScDriUgsM8LqV_x8VR=)N7nxOe zneeswlL2OjyIMOQP!iWNsF#?_6`j=$CC57ATUH&SA$*TGib#LuqMev4dye?ZnG)*! zmO^2U9Be=vxLA4kN>0+l;JB>4r-C?D>IV*kGG0LG&02ffrw6p>Tjwc@(DEf%dT>-) zwNhYCM&NsKU!Ox7Z5o(E=vkcIZFzj>zJ$h<1D2ntGIAy{v!)Z0+U}&do$JP?n^p+! z?Q&?@HaVKfTO5Dd3CITKk1U^3X_;6vZGN z1@n7b7Z^GHj0aSIa@*QVXqfxhD8|(lh8!VFX$}zM3{m#kel+Q(Gt1*q%&#sDw=u`6 zK1_K520(oC>b^o@WXLphI9JW$khq|z!Kv@km6&sz2QPnn+;j$+imGK%u+8M^{e3DN zfgIXJG@}qGU1O}R+$Qv~9)iv{Vd71Lr7i+M^I5N&;_Ao3D$0AbU8(%VL}@h_$LbG+;I!3crRSS23og~1vbk6U4+ErB?c)$cWBK%ok z+x&MQvs;U8C8I8cH*ajcBy7=Fjx1QZS|!q5_msGpEVI4KMyVaHmYFRfx!LX<=QiYO zM2nZ*U_d4@Z?CcHS)6q1@|@aIa|AusI+1?^vusZYU1O50Y;JcLF0pUT)4sBuq>bYJTe;VBgsBE zW@eE0GGV=9kNiMo@8<~p<3_t;@h|bmYX-=I-E{Wk2o6Q%yUtPLr{OP zfStkg6Lg?N@Isyy(tW!vAvDf>p;igIb5&MqMP(mi4#j#E9Hi&$Deg$A;!G28NrLtF z*s>mNRYb@3ykYj_{zWV+B^9b()2sp)lstRC1;B>{7ViG|H^9rH{Q}UmXKc*>hzy`! z`K^g)y2S$h*<@7tiS&JupI92bd}4pA7x!uNwj;4VSoDy~Jz7a>X$w4WK|RZ0lx;{F z;?6B$mCK?JD&@aL{$1lnlZ&!d`;yXl0#8Xg*-1CfKa4X~u(EX%lPQl+a1S}VI`eT$ zbs;I_@n(2GYCqd@*W)X7yY!UR+hM+8R6;=w@MA-q_mj+Ra=cJ;EF2&xdq;n3@wwX( z0X(7ezHrNG0zC{RCb(Wu93SG`-=E|uKf2*PO?yKbFLn@$0Ha$S)ZJ107jqYX9ppn{ z?^azCGtz!ym&`x+*QjoO$>|}kUbdT)lO)m~iJbPyn&yF9=4n>u!z+dA?VCY}+CTe!o1owLO20;~5>Gqjh=Yc>AZ2$St29w9~Mtdge_a%NShjsMA`c zO(dn8Z)a)CkODdC33F9Jac5ZpAWDvC>EV11Tvm~K-5DwLqOk0iO52$UxRXUv^DepE z1FPmPTl@8sDHICtK_n~@z0`9Z4Tr__qb;q~HmY2QyqDbzEGjcQgzf;0_`N!kTv?7wrlUd$nH=3w6u|pHy9z~s~X!DNH(6<-idO*4pq4r1@qx zXo>y%ROPNVgqzInfDeCqKyi+GlO3R?JLA1TYJa+Q_@NJKObP`7=|}w$=WVDY0dOq> zgF9%@3y4k;f=l)v%l^My*nim8|M5Tn*Z&K1{l8hR&VN|0J^3G&Yk&X$J*fYsxLW>8 zzBEl!|2(L|KTk&O#Dlhk#t}zGtnk$>_1{wqQK2Whqw_`#CDs{cpZpG=x&s$x!!d>Q5> z6ndJbN#P&aKmOao@l&v{*vv`D(=-SF39M=9?^3KSNwqqrBJ?Z&w8H$~!GGof=CmA% zYmYsHjXw`BVf=rcWc-a2R~oFI`61Ml(%QeU@jcQt zP5QL!JvaT?^>K)G#r)6aqi=P+Nk_!r06nI+K zqR@>Z1cO*jmgsO2U=R$=)%xx^<}9N7I8!5sdF4#NHRZ2!EiCvrTwkQ8^P2rg#gHrj zt17-3SA|kzK^olwLO294ukjVk74yEUzA0)@#<4mEj+hOC-i^UVkKixnyToO6hZFAJ z)JT8e+8b=MVCDyAtVUHZ0p)2%hWVblzx962ZgMb0TN3?sYEio?#(7-}fPLMB=9k$k z&YSBq22gXwf^`X;_kf6}S zMu2Kt)O5C~tnLXUq4XG)-fFan@Y59?kK3?mbYkKmt$xs|Or#!jFKFxVzqWy*r3U9y zv+R+CG%Soyk2E9HGnqYSe}PHxB?lY&xtKGAT@YR@3uU}&y8gliI%E1b!E;RJcvUy=>8TW<-nb^3GFP%x;kL z1-;n`jIlxTiU_du)9q!K><=)$MrHZ$-A=_RssqE4x9WgzsDCF2Iz#ak`4pA_$JKtM zK;vH`a@wz_?LtN1LIoUh#73r@OGtnGjAv5$ON}!-EiDW@M5+2J6xIhU5J=rMHc(Ia zY$w|1z1kz+D_ibIEV`TEXR!}cG{@s_`~ms&{Nk|W(g0_M_qTSYM>%-f=wC6Z*?aa@ zBIOc{wuvAXJoi8z*Sx=>?A*s96zE|1>T>L3VLgd{WD2b1YA|atXnje4fBJu$;$it5 zpA%Zj8&p=On#7t?ofW$aW$jG6RNZ2a*o#8ZYP*e57JDv;5it(3VQn=I$#N3|)yNT* zb&d<===a{I;nE13fB(#6(0(MvQ{%;P0dxq}{2jG4sR*Jx298giUZl8;Nvg+#S|1Tt zccKMK_;XmEqA?3{9SWM5P$z%%F{CRju{HcHO-=)z6vVW+A^|WQTBQ7P=ItUI?~CJ7 zjB{?^vQ;Y<+G?g&|0@Exj@<7db~pX{+EGPA7YHQCkk{{5KlmNAoE|>Il^sABwoI7_ z<*YHU<^kyVJlHZeZ@6s}at$_|5OHKrz8wDQA|D0g2C+OW{bR-~=2?FnD7oRn)VV^; zTHQiW#yRTVH8d4S_Vq&G@gq{L{Sy`ZDnD|;?0qZEt0i2jzBwGK#v6YngEO{7A%x=S zYgXIkiPafEG2{cbC3)`iTaiyze~Kmh?h4_Rx*tfqfJ5C=@Rc}rn`2%0&>!lb(31X6+_dwYXz6O?*< zz?O6cdS{h6<0XUpQA>S&OBQGpQqE|2f3qeO@R#n?!=dBgjmwz zoBdra5f}(Swgslsfv%R5E%(& zTNk9cK?D8oDux8@jRDf(TajZ-LqShben}BVk0ke*^sRlp?M%WLI|`@bVmkXz%1KrY=P{^J z`HWB0g8qNr-|RkPm0DPbUt0&jnX-<69GVX7>&*EBKQl7#4xxbE>+_>?ORH378{TWF zIQjR{(sSeq&(>Nu2XP8M5-3r38ZOqUW4R{bYC)pV!%m{EJ@_Gc^^6yPg|>erN7cq7gq8*3!S_Ov0{{tr-B##r z5OGUREKj={d1sjS7Hg4Um`AYI6v*{REVJg@VIbpRg4dR`1EEAfBdUcV3(dJ>6@De` z8(!UuD9S_ZpT3X=^YB)%JP`<{io}SdRpAA0MR=V0OX55m$rgqX-HIrIjcr7aVf!SN zv$ublM&Lk{Mv!n@3>@2AAwfR`iGF-9Fb$A807hbhr#QG<_p%;+##o%)l*}6h&Tz?i ze5*~QZdr*AMox(mRov?L8vuM!4MYrvHBGZZbj|W?bIn<4ONQi|(_UjNvAD7Qenu;}8b zP4Jiq$P#4NI0mn4-Sm4X8y{Av7$NoQPS9(gt?j;5b2h(nq_n^9`joYN!!zDQDOau} z^eB(OUxHQpM|gQs3|G!9atWYOSy1VvCF-hJdwp;`#-<(2B%S#T>S=9G&}3T@yfuH9 zZXcfz_xWfe-$p+z(}+;HTcOZkmw~*bWiUdo;5m&(!pY67I!Jb_p z{v9^GN$F&-#m3G-ypH|!*myZVU;BSE3%!o8s5I;;Fqy4eBj8@}5@yqqrRdb!uO$Ve zn3%??S`v9D zWvt01b*be?GC$bM9)9*(Kzx;hXBAjCeK1Y zWB=r-nTERpNJxgB|-_d5uhG~MxtynGYvmghEOmnozua);HOE_~^;nZugw(3VxvKqn|!;M3!s1b2yyI&ikWHVBM>l? z02zsnC_@VXkV**duG}Oh*pNUGrC&~J7i>nP3Eky>k~1cuxMPNuVHlxm^jyy6P~Y&( zBe%O!EMds-{obX5#PA@qE@_+IkHV)HQSdQg?qnj)Ijai%`jNK0AufM6lQLCQW>suZ2u+r_bspRc4ve%y{m}*J-}fClc{Q9VDrty z2S0a_*-gl{M-nWsT|~}IKlFE0`NA8FMGtT80|B@rdHX88O>P45YCsVHb7`32aeu4! zknjx|%^6`7W;o@X7dR<15BgyRRs-?DDk6!Vx6(3H}!w0yg8Tl3Z8U)Km|8ksjx{NaTEyK zSt#{v1n>v2=BfAQp1{@q)F1l&EP`QS$|BT-qD4P%o{9rOcMmY#YsBkWNxrO^uA>BM z*?}nDPFSANK=20UBDgcAyg*OdblR6utxmv!;}3t}uLz$IL|ImjZUG4f5i^-yNYEtW zrb|emg)i0N%Zi@yjN_p}#i&CF+(N4~bnT+^j%5TN>`4^dN}Ntb*T`0H)=08Kygk+x zTR*{}E}1KEvljGKgNU3lO^!)GXel<5tg_-NFp28!ah=%~WHTtRKi&qSrE3Wc-8)U7 z@N9ov>2{$Ic$y37Au3dsxHz}g9y?wxxO5c{(ro;xKQf_}vn^MjUz5v7^3y7Z5y_8i zygJ(q&6}?}DE;j>S&GN;;V_J7@J}M)d#t`(*ZMp0z5PWZ={<_^arQMCr*`hi2&pYe zj9il1xBRgP5HIlEL0$UHSh|gwV#%vd;*L$?=z-%6#6%)Dr8x0nV@>b1qkBv8R$Bxg zC2&MYo_wQrv?l7BB1mNa9B;<#3=8u059~F{w#&5<5FX}w253LTWl-pXR1m$zQXIk;k zU-CNpT0H2&xMdA9PY@Cyz6%LD8@MM~+rE=x8A2+d-{`1=fKnqa6l3yM~2UNyC(gpGL0uX9(ltIPwWBNU>8`^&*Trjr- zQhsU0E=xgD1GaHyyW!CF z(Zb5yM_BZVW)rzG&Zsvx?eBjVR;pHZl!XN$4>k7 z=x;9tK0OMl$~5J7h6sNgb8jJhk8E%EB%LvPU4OR8er~pgW_vHVsX)J$q$l}J9@$m= zi95h6oK0N6P9a%(5b#n$?KpuRgK}O=eLn0LN5II_Dr?=F&HM>F+ii**T&`ypjktxR z+$LQC7ajcW?;?#eyl)R{d4gaf-%2lvp zG8;|>Mjtd^U(w>eA4LbAtOEm+9LjB;IkIQOeu3=33@8TQ;T$Q*y2S#uYxVghsYu8K zk%ONXK8Wc&q<~)E)DzDWdFW7loOVBv@6q9rI;-Aj;W%aEaqFtDi zN5w`^49?j^-< z0|s$2Xus@vOIPI*_vT0Oh1S^fr8OpuqD#jx&E2n={#;UGF=KBzkY^ahVLA zQenz|kYmy({f6kfHtC=Kp|_=N_=1)%ihJw>P#Gj1ib;IZM@-i5H~MY-6@BKIvf9S! zeS^Efs^a}x#1OPOCLF6yxrmhqcBl;To2@$wT@f9NJk`z%dwUnt09XUvq8Ri2+jssp zjvw$hZZ>ORRtICOQL~g(*nw@nX1S{2F8>ACS`g zIx?CsEX;;Ir=r=4-Muv{mo+My)DQD4jz(wi^_H^SX zlC#VKU3;R%)OHX}*jZ#)9JH_Kh(-Gl^+5X>YgH9HAnzc{;#|@W+J(MNvuS&Q7^dj6$t05^ z)}y2KH-lbgQ2x|@d=&}q;d!RBz^)4MZI*T{DG);XGkquiKrc~;(5hFX;3H6;%NIn9Nkx#rn$VPwD z@b!C<@NdxpkTNZ+5sXwVaVXQ!lW#>K80!ha{$v zwO`g#)!jNl-Phuqe`uWhzz}dhhv#sKBpdwZ%Ig_9k%O8JI06+L; z@dx_Re!y8ntR!7*@@1#$=dh1R^c0&{WV%#jn#LW!e4q2M| zP8D82XI5t1Pst$-`_6Z$X_0>wRoaide=Mu7Xghv_i}fv*8rLj3j)H*Ce1CZ_uVoHL zU|)n+5CG0cB09Kmj3GHlhmb#j+vk|4J#-c*lN*Fy*hg>4gz|h_Xz% z!vqINT7&q|be?0VSFM6mRKV60a20f0|wSBM9BUT|F+^$6LFjd2zs{sfxI!L!X zO*{4e{7c&Qx4j|F&nfGS$&&4jJBO)bJ-iWyhZ72w;4)lXJ-TRyZ8FpSfsNGtf+kx6 zk)-m9rZ=l)n>2r8r|FqHhZ0x@NZck7fbb`6x?JHZ1>s4m4J7!X%1!dsrW|hyyj8ZS zMl=Um$$t#QpW)^}@}o#3(DZ`#e9!X`1rS0m>(N4SziU9Ld$So1sq?+9*VRlnEVxyG zV2PkAu3nPLM`bM6*X*&+L!hF;Zc2(u)fSUq*aU*2^&y$5>?GLwBZ?161}F@Y@^eM7uR?!N}mA?R`~J57mlP;e7ds$bP~iqk%YC1 zs7T~ITA=h~ZA&2A8|BF|K^_ZwhB>9M_3=kNrKRV|f5e$0T`1I`x&Kxr<$VZ{x>jcu zPA3vq94oC+pe`v&AzTlnOFk~J2u8Gkp+BFV2srJ#; zQ2DqK`L+!Qwe(`O*+0u$iFnFPC5toYX~Ep3#>H~z_tx(CNKJ)npQH^p*V$i(P=*g( zVaBbIPj@ijXTN{ZMU>8Qn8%<%uBLded&jIpyK8^@+TZZPuuylua`)UJMAQCx+lTAP zRKMF(Hf#6CcS&^~5D!fCC8s>kws|VGpJzkthd=`hO#hp$^Vpdd*1GfsF(9Ww56GD! zrx`it%+w8%Rm0y}Oa@3bu8 zwQ7G2TxM0IAXG(JikB8Q7q%78d5DAIo?18jCGqY*`oWA6-fs*a>{FtBZL<~!#?_8C zwxoTpqQk0Go{uUj+0PGC{rQ~MaKO~a82L+*wH!j2uy7+l!RGhHQZQcJcM-^g803E+3Y;wQ`r}!7e-lJ+?}_T48*=-!#xU6p zxj+qsOK{t^?^EwFzDqkt#DCOwIunQ^;Rn6nKAc-_cE4>e3KCut4!Sc@UE1lb{xZghVI5pP)H$*}~^OJqfjQnC9m@ zv*FvbWe4gY=b?1(pFIYyYq+!F723C0{sSQ#1Da6w$R*!*OrUZ~CmI~3XWI>Tw8W@| zp@g|i_^<@MAwg|gB~Sw=32V&QDhhwu&XDfl%o!#Q`NFGzHPdixmw&Wz>fab%VA}$+ zQ86$UT;nqWcr07%4HFi!n4e8Y4@emku;o7ynts<1#i^HeXC9Re1g>N~=EE8I>G=SG zTzG5sNMS7wWaZHM+`&kwFU`hsg;*(>IW10?4h8I&y-k|?q$Q~m`Ym_1OZk7`3tK0n z6iVS}{ifpav?5zINLq2IQ4sId@s!veNt^`EX>fv&24fDUYTMwcV~m|xNEC@C*&px% z8AzKAp%f zzpe%@!r~<=)c?#5y~qYl!1FULzsdd2l+nsPFRb_26C5+;21!}?{XTym1LO?lLEM%* zsG^8cpWHpK56F_jxrQb=5K{8knx)!3 z8r?R9wagD1)62~3?3jNWj0<&R%v;l@puSUml5B}q{L9ze zrR~6JHp;S`0%8&rKDYNqY|2rLxv+w6?V8|(GF8Bpj-W>FYbWvYVb4jwdNN4v@(WB1 zLi8k#Gg!wV@B!Nh#8&1H1Wdguf_Ny(eyZ_erIIk5gf2*sxy*mQP{8(u?B~f1NAGd^ zyKDmZCC;T+F7X-O7IjYBWXa=0iAFWzu*X30wY6uJ;-&6d;!Km<=*`dZp2>yce**6b7-qoOWTAkTY8BOZPp z1>{#wi%sS&V(&5bxQBP_1KBMGoGe{WZIJN|O z)@0=Q{pK_-7bcdE$^=Nw_ykl}R&CYZ_9LQ|G+Uran`p$zv0^-hu&Ihq`{0uWnN1Z8 ze9l)58@OI?)QyW@7YfdsW`MUoh46qR!``BE7aV*4`p;y_acPKW8N&p?E6utVwa?vm z=2GjYzmk7C2qx-(W!1cm^wMQ6>Q~v?xkaVk(Pc|oN+eI%%M|Rfyx7d1CYH*om>M2# zooz?DL39EEde5z}_TuajD{DBDr>qot%+1o?zAeF6m~%*M%crilapI^fdYai!8so!f**gd6-jUpK4HnUTq&>l!3+(Q(swRB zacl%R`S5|m(OkT+6?}y2>M7s=hLdItHS1_P4KzKYG7PIe9LG0`9ov|Pex8Si9p+|d zR^eX(^p+t?is1dlGJik2fuRTRs?Oi*uN!=Rs+fT9$8JUbEgsL0v=erBz8XFx1#nRaVm@Z)RcADikpTuVAtks zCIGg>(UP49u*u%b6U-54{RNBRV)DRyLRtgAwZm?$GgBNQZ5NU(sW-}2q+MO#evc15 z1i`GhNAiWTT$jP)f(XKs9qm;8zr# z9nKSCV-DV!W4%he^MUpx4KWcIQSZL3*0v*hFC&n~0Ox0=9e+)%Q!av}fITOdq0eew z;WN`p>H0V`2b}q_C3L`!VcJDUxGBz%+rb7tA58A4Jcdl~AxZofz+ zXbkm=X>aW1Y#o0`d@E98L9fy}9Gn-k?O|n_b9tMj+M*i0%Epp)3%3 z!bcgvE*gWUgo@Qu=Q+d+e$Zm1;bwm~+~pOZt>c4Y@#)|(w!(9*&$32|q;!)_K_Vv= zNqyz8&ju}gVxA|Q52a2%t;?sGH9aH`7I2@*TZbYp;A3kRuT4zj(}1rvbM zBZZ_+F*M>5b#?=SpBJG80Px3K(ZlCG^?TF$_CdIW`}v_UN(Lrk6JDtyprn6PhR~0- zXAMyCyRO5+A*}#GK)%1+C4~HW9AXI+`3{x%A z3OBt00894iHnXmWh#K$fYAB005Ctj+CB5J#EE9cgTeA<=0Fa{%f;#2DvYE7g?ppB` z2K>`Xy5(N8R9l-ZUs0W4N$m~y16VrQiZ}JT;7izJndbyS4=5pYj#lh=Nh>&r z-B3g4={{*fWaAIN(r1X%7dJnDtZ`Ys2p{bNua3e#jRDLK2ViU(C=6IRrH{T1Lre>S zUr}Tan2~r1sqUjGbI=;$gL_QMY?EnjY1wju(6#JH)t%H7ev<3mNVo3*!hm!b$vgm4 zHd=@#xot9F7nBAME+8!i>fZHfP(X|6D`ThcmjnYW9&uR#oZxaN zpQik;CgK#m$KN~sSP@w$l#yhJOeE9C;NMJa6coz+H%SmisKIGe{rubgWZXomAUmr@ z_hiCyVxK#nt(1BFXt>hbP0LYg@)9x zKG7#}3cVr&_n{Ajoo810eG`FaH|^wgyu`B5HDruBzzRq_i zuV6D}Ral0vF{WOAg|#b!ahNC~d~Ago9K{OEJP$W7v@4%~NTaS-j^dz7*8i0jj;P+{ zMmlxc4AGSuInU?K7j1LyH!SXR5sNM`uV~IDCIScLMTi;N&evi zfAM-iINx7c78J(;i99@v>hpv>+bR2+n*rtN3P*2;!kWARd!K3{bB}XGhB*7pxwZm-$Li2!RICJ8A}EQ*ig`RYiw-H+Fv!cXzOIEwXa2Fo0R z1K&^x!pS2>cjNGUY%B*a5RcJ+d8a2-%#(*7v>4Sqt_T+vA0`|?s(hwX+hfJ%96<#f zHB=jaqOB8)gAsgc-ldJ9Ai4#u^nf|IWT6a*G0$6MA1Ze<-Iuyen28*kByfCx1<}TC z`h*ShhSFUKapaWy*+CRL%w?zg9V!_CN)!oMzW_pu}B<&XnBFMpm_MECL|4GQnpBfJAi>6`d} z<~#0yKMttWk((uNuiE{qz^&eW3;h|aFfBYKyZ3xwLLl36-JP_w+{wC5jDn*6dwcyyNnLlbZVL0ZOq(I>3lE@tHVDHO)C= zYFS@qKj|#W6emT71xCWVRm=6sg`Fj#o3K_Yh|pzT1WcUHA86TZC{gFXcbD*-4aI*E zDrIMNf@-LoWCh+c>JDp@CodKOv-oVYt5VVDPGrR>3^qCr2xt*1@Q$wwYg!Xk*N&K7 z0dhAh?qHFh%CwMAkO9xK#Go)C4U{r|KZ36jF8GlFZSQjWk-vrwCopG-iaA8V>fDdC zpe;e=CAhsc+hkPT5${BeqDC{}P(*+2qYvz?BfW+67n<=7vdmlLw!-7W60znTkWTXA z=OF&+J1{~?<3achoe54}Y1MpGe!Oe_cx|PA-iWRirG*{b&KIIe|xO1b<3M?=W z-DVEa8y@ayS`9ySN1VEP^P2-I;>)9f3zA-X0VNPW9mh#8;H03racY&ePyl~saj$au z+ie6VOK!LAkX2A$9Eu1oTWE187sh~4IqPOCdCfpKx{Rm0sb$^Y)JGeYu3tN=hH8+g z-vyMnWoA}b$HOj=1Lkpatq;gBhM$eUMOEViMVvokJDJSK*B&mj--pLX>u=((*ww@U zi1Ssi>#Tw#{pNZCFZ>wFEp>l~#FKC1%1^1-KgN3wK-3VDjSCl2W0shgt9_PDH>rfB zMYj2o6p3n)R&1sJXySV&#LW17g^NqXMc{eO4WTAas@OqvZBQt_IAfLAbmt*wB=aHg z&WEc+v@i5&k*-R~gKO^(q?yvea)Ija3RBy5{W+p+QJoU^CDF&Lsk?tRiPM3+>9^rX zNz12U1oUm}j&0M^ky~y60h9EPOXf!v$xq!KQc=9=5T2WP*5r=c7Ef(4N`YVZ;BiQ5 zt9N|bGA^C7DW>>3j-PS+N(RnJUY+;h+vG$ExCrf)R+(3$fSjb_mc8WHlczOyu92Fw z{!0uCn~&4#BKM7Z_j-TeMLhs%d4uh7vbciDQX@t}PFlpg6R_BYOYrH)UUAHdVR%fZ zWi`@o#Jd%q6!DgS`xN#Qr8#ly^663?-nYXt3`|U9_RQ2`{s=AcTA;4Zl-JmxIt_=% zB`4{Y!vR`MOa)ao3k1TvG%g93NGIRA8$}S7lH_#6c}0U!3oU=UbmKIEP$FuXUs9Tg z#Pr-xwg$K*VLWrsjy!Pv@$n>-anMbckR}u!qJbr53mO#pID>KFwD_io9e<7%kVg454|Roga?;Y7sbj(iq`Z- zR9EAIATM{|0u&ht@(b-qk%lb6(+&?cpf8tYZVrGJ14DNS77uW9P$TuR@6HZg9V~;O z`e8-|UR{6AO5~JV?<_LAH@7WQbw;*Xm#I7_&`{uq4e^x7PiHmc)QZlTbDg($W=*s~ z(svH=)hNdL#|wWyh)i`#ZYAWR|xm@ z=URvXxx>3{Jlx#*rX?9uMhG+PcBvy}P*Wiw5Qu-A8Fn+<>&o%i(+IMdqwU)YxCMqc z(5s>+2I?ae&1gS{+nNwhAP5V8H?m#gfc)X9$hmm=r&9J@x8?H#nGvJg;L&ixh8EW^ zp2x{)+02y~{r$EGeq}Fso`rqC2>6YDTjMQM+q#7uvx@5+h$W+$i2dK6f2iJk4G5P` zP0fD;=fcSYl0p?kM@au4`Uz#j`Ux#FJce{rmw2f=ARgLMwKA@V%N;>DofW;a<)*#P@iM6k(G`9LUhz^mWsDH80Gnk$h|gbu*#I<|En$+eYbx`W6M zuSl6kKcu5NVZ$B#o415-4G6L*7Bw-oMo~$ZG?7MqD>zI4Z|`M)T|YK$CkSuzM~58f z=@;%|U7vyiHV=-jreQ_CNE?4e%)>;E{|E^Q1fs*V*OIZEAw|^-J)~0Ww=Oe(O;pohs9Ip$Ko5n?*~%(}>Y)8D2UDvsww$mySguj`lNJ7+dR5fX1S;#MCE& z?6^Y+Fz8ksLB+D&SQoa-Ka)Y$|3kG+;dF0+o+f0^K~wj-hqvQF=(>LqMqOxg%~V>0 z7NwDM5PaML%{~=%gpqk}MVx!gs=#PH2gtdE@85aa^`b>q!xc9K*f}paxXbK(+enxt zhvB6%^)zypKcUfW?d479aE2Ns+RwZs(iwHYfucfRMv8<3+q0(OK|iJVkz4IoF*+#F z6~zvY&DBOC zNS&q{mOJ`%3gv&@#rPmYBAb#CemzbQ>bkL&8KE0x0oM*IcKM%li!4M4d1E5mFndFT#n1G1t@pIW`F-s4I?KNzw=4SM|>fCW2A&gg$Cx{StuGxcjW>=9w|oa}{!UNd{K zeZh2eDGhnf1J1=pwpHrG;WHbx;&SIvo{nVpDyU0>XC z-?)EAUZ}sQ!l;SHKOIsHfF+rkeafBJzWqKX%fFZk1>x_>(Kjps86PItuiGH}QjrZXxX7<%9Z zaeWx7Ip_rrG2iv;J4wc2y~j4M2ez)WHVCb78{ivu8hmbGIG&cM3Le^plxcdGe0@qz zdE%876Cvc!-u@ZDVvGT!C7V4 zgrJB1K;Wx%$U8{EGz^2G&U}p;9HTXWY-ct(YQffrXb2rywhWVf<#i_d1xIP*0L?$J z!6!%ESAnpR+#C19VZ7vg>ZN-#lhswAFGwB}aAK56{pO}v%*!A;vs0n9SM-0`doPT! z?*zuNjXOF!P083z3r3|Ov1GW!Bk&N1Jm?y~;&}J-9^X^hmG9RDnR}&i+t$eMJ{IOS zQ$k(I?Dg~oRhQotfs78d6xcKWVGowKCNc+C~?WHZvLcm#i7#1EVnJJS@9Bbb$F=UG|o^SFDTo4z=*8m%75{xO!%#f&|MdgpL8PKamfg9}{;xk@{og}!m+A_} zcWh$|f>)6%eIR6VAXtC18b}-jot%Ywa5#E&Oe6g9eLoU7EL*d|WE?g>pT6iV;sJe2 zFMQ_C#zLK@mksj%P97rj7s1(~V8|5&k`-i=zR|&@xnyK9;~A7lPP$h3ieTPY*hn?7 z_V?DPZG2Af6?(}k9>FgY5gHy*+@<82N*r2CfDkhZHIoZbpnHG6sP{_yR<$o($~rLP zjuFS)v1DAK8yhlG0}gTD1*dml>hba$2J8JCa>mzb_3jteJr6O8)$*rT&ATPLehXS~ zaaE}nrhZyIS%MUKZ#st(RZf1aW-(IrYEB@%zivE3W5*;J2rX^VArGhk7t0A5mD{To zu#F)DFxk3oz_ovD{Q$w$m$z8uxW8*XFa)`d895GEn(B;lo~i!9bvn~oZFX^gOaEHMNC1EvyhIBWqKNW;mZ2<^%-7NZ#g zyZ20KE?q3?`TezQorG+ij(TcSJOde4BPG-=@ycts49kDcv1DSpp+7hW81kZzqrum= z#@}xOXIMrF_7k}wmc$$bnV`&@HVqLY>@x#bzXrp7gpe_R_cPknPneqV8wU6}Qp^~2 zuL;A*Kh0{?*-1ip%@ow7Fk?faSd~#|g)%V1DGXzBM)0jPBg~40RO@s>x01<9=XoB@ zcf9@+bz^_ujeQBe@7_Cc_lkVWr3&5+?e`O5FjErTJjtEfi?X0Av51-@!cBL;R)67G z{PhthqMs5}mXZ;z1L!{|zXB)OxR~B#?g`fuR`h%})#@Xboe80D1dNh7t-? zLTG4i^ooI&r{2GNrfd>C;}yz501ClWkNP?s5{*&(aKxd86Cr|MW=-+#88dLzg_mE_ zM36<~8|;cJDea2=6{=V{*`Qk~^(~hVFgLD*zj5i}^6*sr?~6yA<$`!Zb5AyBJLQxc z3jTi>X6Q!RP}i;dCd}BN|MsIk^N3-OoNjyzBRltynFkR{=U|Z{Au3hqVJ?U6tM2Kh z5o^pm3Li!dLpr zrgYgzam*^Bn*F3ZTjiJvBq|O|oj&92GRl9gM1WQXe(mF6V0$VxXD&{y#04ut0+ZQl zhuS=g?b@oSoaL%U6>a+SkxRVM&}tjL&@Hih_M^IT1P4WCQh8qrC#+Zau61EAa&N1Nk4Whl*u7_ti1gjPkR-p zn^KpI*@T7=?{a~$Js883na;G7Gj$_U)gMpvnjkvj9hz(7**GpXeU;DcJ07u;N~LfQ zXY$Hq*ztEHid)TK%K&~%=GOcvU?hK<%qC7EDWp4E>x->ogh?K&vajS!kJ*`x|JJS` zt3jQ!+qUx3v8zeDHxu6hghmV^So(~}iFRLw#3WFN8r9EF`*`~PCvZCYO9z3cnz*Hk?DC8sp9?0{wSX~0Y~KEg0WSOy|z#$)X%jna

>zgHZ3=YoLDw#ErzZ`+R>v(M>rZ8JGlz21+~yem!><3yphO>e5NuKRcU&wg)=M{6$`;Vq1TeU`wguAvnD1 zHq)rp=BarE?;eo;Rd)aaw@yy=-%KrW^e`2qzkSu%#5h^^5^i}Yt2fy#ktw@6`YRVF zRm0|vA>VHSJq6p78#ANU!P;sVn_P=u{+oljYgj)RFdKd~+FPb<9&Sn(l@O|)8d7)G z^Tzm`(3EqgI3I{Ar5JzT1eWzV0G!f&#`|(aT1)=8BfG~|P72f5%XwYuKbVXJr7cOF zcI~)0THh~@e8?eHR0*7`3aRLndg?9LN7uY`jq!H9MqP%6Io(#l+t<-uR@3RY1`_HeIP?`QZKYaU^>r<4|(&@+Vt9!M*9R1fxN53 zeX$i}fV~|ef~!SzdU(^X)Y*hf_Gk<6~w_{6;A-~z*AssSbrp!m=j)UoBNUHdoAqoT|{1aFS&Y3-_c_~EqS7s1P#IWbClj&j(NsELky@YQ#%HG1B zs5@HT=2?FWy4VW+RFT5*2;!%3T>gU7f1U@D$Y>=vPjl%vw@2`|sS@@p%0$AoA?o<| z=jk?1w!$=kOMdFLG%YvtAsC#+Pgr1uLV?#@<`!g`^5hx6X=UV(=6Df7vi=NdH z5#`ccTFNBZoKfxhv-6;S8O#Nc>jc^c&c8*=#EN(&or74nb-+v0kNG;RoN!Ob?6QY@-i9c2xDK7#7c&-Wr zwk&_HMUynL#I@mz_j0=P2rSc5q;7jjD($lL)eEwAqYzZ3>{2SI>MO=oN4_Z|OFrAH z{O6l)F5S&QZ7p)59Y@P;0hh<*2@HZDFaW%pxGa-5AX|D@b14on#5^3r9m@3nasM_1 z%s?^WK#rx_^4JRnBVhz(6WtvmK`USos3XCKpUIZ7#buajpA?7kw( z(LxzX!2pkgXy5={dyb2~0xR%vvlERBxYko>W&u^o572(=R{aAE;aFMLUZ5|8T!eqi zr-r&=+Iq7-?|v3^qEom^FF9nzf3^Xc3; zxjBtGP%i>dMI#fK^1uM1vWiWUDA)x_WMeK0y$gf)1qXuv(sGC{+GSr>=hndh9->K= zVOU)xKtW)d#J^TsM-#B%s89$cvXXzPeedFj%Sp>;KPW@lQ;n!e88eZ*w;jkX-@9Xi z!rYCsQ{)wzqLiG~ceRy4OT2_mREKR}TC^r6p`?_zb8NH%cBJ#IB=V^aahZoaW z+9H>R6S8Dxz>J`&ficDpIdS{n{A*)LVQLUGc_B6sfhlW_!_59a`p2-vlc?lQf#wKm zqBwX%E@*Wy4%3V;G_fN(MkJ`NJ1kPrD@Kl<{P8n> zk}YvY2UboK30NEM-6`vHZs z(dn6&UW2oOf$}nngnmPkkZx%L-SnpILiq^dT1Oaj*(}{q_EAakK$?F>S8Wm#L90@m zhACE;!L>@!wrSah>$lxDnkSHv%{;wZy1)`CoV3zt=@9GF2`1in#YF9;joJ9DAC<}rN8Cp#+`?hbL64J@cl=B zVL^~$`1^nTum79r@c(}x9ggGw5FP%b*f76;0@%&g9&B7jAF3|lGmP{PTfoH9KSIMl zA_K#)9rD*`JY6x_H7nL7c{5Co{DU8?$;3`ssGMMQGmPZ^$!$OWe~1kKG$NL8{(Wqw zOdiH&hTnh0g5S+BB8{X{&?J%(*+O7V@8V zGfbTPBPL*(M0c@gcM>cxjKuv54jumy7yc0z{-_hlzy9nQhwu;)A|=)glhc2V&YMg0 zSC}INkvqf4&0l{OjQ$7<>_4Ic!?5rEcdD-ZDOP_(3+82%;7>_p@4vJNpWx=7;2Q5R z+OJV70a)%YlL>!+=T9IovmYZ14AV2}%_xUMx$LcQM!TaXAAd#@2O?**jAx(BYqV-> zv}~PA>>UT9V~64se@2J#rsq$IR6J>+dyMb%Jex1_ZEH+}J)B*OjFT_ILp3^^8_W^h z6*?fqEhwsczmg-cGHW~fy{Lwu@`9cF(l;O4eg9MN{&9aK(wTj1W@ni66YZEa+TAm| z{4={8F+L>{9Xk@6JTyKf6dhYqUS(A3xKr8~{uf7=Bjy*wrX9=5TZAm5#7S3cEaU$b zbxDHH#2jPm0wQWLYv?Rf$2Kb{%q>K2Gs{e32+aK#d&b_3A~Urw2@WGOwIU0wAhEVB zF$ zsO((}Yz-N#ZDdTH!tG13Os%l1z*weFv!;V_tdoBy8auOIH`A5}Nka1%ALNSnZZLN* zF}4jbwW7-nBQbT!F}3j5#xf0KF}3+<_kHLegUYqSaS!H6&iuE!R`9La_iuiQHp6bF zY1+c8J^3p(zR%XVEV6MVcE~5yUH;dOn4bL?Z}_iItNb??F=}?k z``>>&O6;9SViW(H1EOQgY#qyNYqaXWYbCSf3aL>08Q0F2?9{Np&L`XUBU{IUZ5tBT zU_fZ#4$YQ`=4Obp2=g54CUJ2b7rPEWNO8XAm0{cpAuU^R-QUgY@cNwLlhaR zP58bwn3`kj-C^pSWoue9Mq_86J`rE0lx%;>(7ah^USqa7zqJ}lWNd+D+@j%FKje5k z;2HI&xPGDhR=cE7f z_Qjv^mTF=QE>(@tG|*?(m>|}2zMB@6M{yKV+Vfyd8z}5Yt}wz zpNsvh*`wm5yFT7}>#fS@MRTYnC0u_nFbyG~xP+2|d3cA6@I`2x->a`l3nh@=5+D73 zPIL78l>mGe=j$hbcy)2fqQB$wYy96~I>dw9sk4b3W5TPf^2Ir3pgq~b{e4)Mp0lU7 z$)nJvh!(J)>r${@Z{#(+5<5xIXNbvzgzwZ`j|F%)H12`;iEP4MbE_ykteJnki@n?r zlC}tHyYj6J6W09+>hbS+pRcuTd=iz9IdnH*Wa*nifVI=5trm+ampm_jFPOcKS!a|e zA7wJZIQ@=sdJoYWn1;lF{LCgd0da9Un{F{qqkp*P#AgaHMi0;B;@{C%hPZf)CAa8r zc>gY*_xNY!lgio1aBkb;dMbY>t6AC|BC4+`NWqx=m?ltgdtWZ{o=>;ch$glWy*Hy~ zB6y-po-~u7@3==uPHXSLpt+W5QwlvMYg)8^Ql-k+XI_>0?4UoX)r@~E#X}@N!=>HG z1m*kVhyZ8QbOAq1ZZ@7+kefxYsP%Kyw~KkRbGZ=M^C*H~2jv8&0DgbhPeP2d)4hBN z5Bg?$z#M`0?w;!~_=3w{0U7T9XfwqSU$df?$MYk09W%(8G@KKi3kKybysLf@mmmMO z-Y8#PY}iZxm@8M)13q)^h5O)EU&%Y@o@#y8Dp2xS!~{DB+uqMmQI$pK!av0pSP z1WDxEoD}m}K5-q?$iw;6l^#OOdLzlcRI|Q)59s|%v6p{qJRgY=<+Gp%AQX6q=MyD~ z20R~y_{rsl;>Fp?fK6b)Cu%7YmAZ4Q%H_${{`&rXxjp%rILIMSSBi#q$k*ztOVVl@ z2rxcq#lh%VQiBhR2_?Eoxh~28q?nVOfmV#@F3tPhQ=skX`}3)3)$dw1p!FYa6(e7h z1xY#`U%!97uC1iRP$bW(*;~-$>d$agq(mxh0@ZOa=t=m9U8@{Fb2*9n^-)NqP(~Wsndr$$?h%fh} ztCn6tOn{d_KGdBA?#}<{m+ox8>y+W#TrRxChy!N0#FVSR$b;HWsB(6TInv=$v~5~@ zJ3h_sx_MU4VDXj{>%GL;r{P8mmgLkA$wq(fr>|S0f^>hwbJq1C6q86xMKxzWZRW(> zQM5bOgK#+MNo1=Y-z(uWN*3$FHiReDAFVx3LCR$@UeMK|4ANv==8Jc~l7!ZVa1?c)FMap3NbDIo5w9 z&W5?ky|6Cb&yreh@q7XOd%*Cwb0bM$B`08fYDz_@MBfzzV)3>&d3HTkf!OVg{!JgQ z(FPPJy?&60r^YR5`JE4y*#@;LKzjn(@k%dvgfCTzYja^=C1aJM&K8o07MZl=qHl$k zglLSLAi%1SfNUE6wj>s9%J5NX7y*Ayn8%wU96Oxp-k|tp={t~5#F>R>5NDDpJ7dcM zFPLH>oNqdRz9O002S%;j*XrXrx*V#u?t7g-7Du}(T&?1KJw>MwwF&g* zA+Gb&*|ux)CYc>m7jvwZ#5Au2!MM$RnoI-%T|JP^;(1l|$+F#W!=nhKW~6;%wv?l< zHXvHz{p7xwKKtnhs}s4HrEd>pKW?a)2nw1IqZ6i)f-;Obf5Lx!Hzo&{xAQGEoIyW% zImfHphQ3=`xp+n75U=Q%$y&b1Q%)POgsYQXy^H6J=k^`X0>RW_iggn5d&i$0?oaK- z_OG8i*G3rgv6lL_f4s+HD-k#U3yyIdj{Ux4QMu3Ax;#Dn&YKg*r4DC5CV{@lCBz^P z!wBS*?RU?<$TNS2xzpx?=zLBNxkPSaX8okm{5RMlV9?A-s(rBIbkUHE!+7v5tmn`- z_MXJgbbji%81&Q0u1IzZK`@^E#6u{UDoZ}(lhT)zMVyGFn$J&t+TROh!B1RtkMVAlHu6$;SdxmjP+Ybh7 zA542MprC)q2cZ-z-97@)qiH(($;31cYelU9poKDp1* zrjB)9`NjnPmcOJ4@JAc=4Dx_kcmKzjKNh2^^XCh5uTpi0iPsV>8R@T?0!wa(F2}Qb z-7`cVAUot?S6uV|j04@j_k@v4|LF5f893Iq@|#l{a_*^?_J^44;`uip`&XPmzdzPQ z2YG)z1vLkUm&&DZwWU7d@*y@1_0yTdPa*Lrf*xYpfPt>jwu#o~n7|$0)aBF|4%eK( za>7~FXks~I6^VUT00g6y}5ntWkfLkTFvM- zyiT}Y39AA{CO)xw%ok-Pg~B@XGWY-Re`0?XVj42oYLgFfK#EZ(i3B~vb{n;F4JJo! zosr%IMCX4T$8P*5NQ&jMu6u&~y5UFPR?OA6pqZ~rB3ORCT3F%!t)`(I9LBo92AYP0 zJv?H^sj|@rzWJPdOer_~Ki91%d*2>w{~;e7@7mpWE-J^@-yHE1;-cKuS7<*JbJ2f) z8QZmHjIBeq)r#%A71*KHC+Qmbx7nOPLv@p?rW=K|>3t|U(RNDe<`35IFd9>^r2w7# zU|Zkc^BK{z2wojF#`sE!R&(w!tiwLSos%|PJ>8RLuN%Zhv?^9v4mkxCk{}#WQ((`8 zbMto`MIHr}ka)xgKYsuE9Z+2g*vkFrNeiiS$ts}O zxgP3`=`H4gg#o|w^75kI!25r^o*T7yHA8iIm*uIymx{hT#mnQ}=quPtyz2`rTVM^% zT%1FyrplKWKK8Qf6TxA^T%Ix}Oo$ehk=KE?WZ-nd=PW5H+yjHGxYh*Y2gVu9cbc)L zdGH%GWu~Npm+4N+jG6fe2-%Yc;~M&4F%2x@1Q~(VF=CYv8X912=x~3F9B|OrI3p%o zcy_!YSbuAUmxjNO(gfp`+KnEtHyUncqwx);To5}!4C44$^)-5jKN>ruD_{UL&ff!U z>25K(y)_-Zn3vK?Xc6Dr+7r|41@# z#*+%tdvg=abY`ZrInk9~$BaM<|2%zqc0pu^+L zNW}3sr?Y}&a+x2`zWnujJe_$H1zM^pUwo3A@Hwc)mwvmFDPn)*!EY~lnRRX7h}R?` zDG1X!m3v9@g_e4+AGm2Rcp0?GHYdO--A)dq(re0^Lqa5h)uYG$x7@_K7io*gFGqZw+2W{2vZOkmc@nI2= z{kQ`yHv!~jBp_B;x4`EQJEfM-8vmF7E7Q{PxK_Oe^~8TL)A-`H+0sKt(Fc4f%xhmD3+xZvm)kNO{1x>evJPwM zGz#AwV!8b8$rszxpYgm;T-Oh5dF;K;jXL+D!o513^M9x>^S^oWv>5W>fI+E9^x@3q zWcnv3`Hg=y=tpE{%l%|W$m1l2BG5J$tTHn~3r%!^B+OF;X0aiY(D7TwP`2;pf?W$q z`Oi8~Oo~PIZ*`yuM6O4Sw3*{H^H5~f8<9OM|H384<-w^+O;4+2J?*&&8>6NSo@MV* zcF;3oY#Q!u4BLtJp__6r8@g?@s!V{7SfM^eD|&yfYqTL0xxpULKaV)DTQcWo^Q$Y1 zzq5!Hd5nW4?-e741~Vm)$wiy-}!OZvMyhbHIVbWQyvq^xu1M-$Aznt z&i7cAw^Qevr`l8BK)n+>d)x(m!z#_^;$X{ptCe_Bx3sb)G39h-WXce$o18DaE@Jh4 zOpSl^NUK@Q^1FylC4n;D(Dt|3Ha<)6yroR|+h$%(I*RYwBJi=unwzKI(y8s91FI!m z86WS%Pu_?I8E0E1g$FB06=iwnsh93ChK^_sK7;2SF^x}fhzp$51)u}^rb&%>Ft$JN z;HmaG+3sODmvX>`r+)mguDr;B74~ceaq)la*tZ_j(BbMF^9<&LfEanKqZ|eam?>&l zPadAr8IktLLsoVo666oKptVY1x?0C^z{t^@dT#|oya@YQoY0PN$5S_(U}u*UYyI7uh!TG_ ze6HdC4dxN&134kRzVVati6cL%l@HIi8G#bHWb~C8@*%|iKCIgh$VXmb9$sqHTeZ2v zYrP(HB0X}#Z13pF-YVb(b8mY#eRxZ-j0KTTk*O zB_5j@5vFTNN$O=_l@IS71;=MA>3SEvhjq12<~JW;)lgIDa7>^(V%TG?ZE}iS)5v(_ zakctGpcTUA5z)Rj(@B(e9`MvWZ1jHJe<3Dj%PkMIZOI5=DEy>#omz; zG@I1^`!5ZqNSW14YP;N2_i+f^7evt*IOSwgAm2csP|>!HV(6w}qN#tYm#r2e@iJy* z1?zqe*wd+Xd8+dRD({1QqB-)FmGP)i1Yf&A^?2deYGJf~6=v*ue5lcc_ttS`0z5z7 zAFd8xV}dpgPi4UC<*(^jk3hEp*zgXt<3opj#g95a_lbVKicCp_YNJf5=&pD8`Zv&d zmXl;AOoKMgNkx`Qf8?<^zxfjIc5~63Q z1ylOt4K!a8-H~H%ae2XqQV_7@VW)qqep1n%2VhL*a*sXU``&~O6N!5R>#K%9Lnw3$ zg8gHyG;{ryQo?_quQ?bKaa#~-%82P4!n}*^B!xF=u{laD>#(@jDtt6pu9QOEyp-Jp~Udlgz%6UHRHPkkw-!dr*dDe ziB=mw-K8{9TM5efAsB1tt2R6OrO#N^V0`4HeewM+pecVO$R|*H=le`;P|FEgW-0YT zGv*ur(8OTN1=a4H1|QKyM3#@Qk52~si2?Rlkgple-1C`UU5$~yA?h(s`g>};kb{cA z*g5ujK}(+ycbA`Z{l41xo$JTX5I=ol-2o%?r^q_JH&N$atUJpq*lL*W%ledim{E&k zJVhPC^^t#XboT>r>hBh(8icO;MN0Ji&u`S|VT>>`1=B_I>sDr>D4Z_CX$d%!U=oV9 zdiDHD^uzrGI9o0zGF{{)v5h3QA-?JO=&MEi!Wi}#K+?tV8ByM}&bKg+(HFa!kukyh zB3e;@e)H*Yg5L2oL5*;Gs=sdFxg~!z9Dui2f6;$w09in$zik(;{z~*^jdR4%NA2g} z_lxkvm0Z@s$6D9r1;bCejZ>ZUde-;%8r>=mpov}n04WJkOw_QF*<_714;X1GMhC{rM<4lfP z5QF6>HT*Vz=30}6T!+-_gNj{UQ#4A`QOIT#>@xCnmtE(KJ04~`y4U^-d=wBF>}S>2 z^VH^GP$zxPgLq~GM|a`^zR$)(-W8w!q8E})=|#V^*GElc`CZTK8nU%qC8nq&V>gWH ztJj5n^qaA-wu*9$4J04#-p+r`wG3VDY!s7L`aXewLZ)&Z^gM<4E~a{W^$UHbvWNrK zf)m?WZ(Al_3FSc{b|i_Kftg>u?10dN>xGc5ZlC=O3Ql3AJ(P}fkYA%~*i6VD17q}~ zDQ%n|2{`K)T@UBXtDSoACr<4fdW3fdEXb0yf1PNsH^ERxh+5a8ZhX;w%9|%$v*AeqHa=k%6zMdHqh7f&FYl6`Ok7(TzN)jcoUjbSz zD6EwB2Hkz_MUa(UBCa1YqWlPX_NfvG@{)fKfhyIwDvL?MAxSPR-PCe3qRO+lX$GCOsCm-^DL&=h@fX`vy z{-&B!u`vB2#hSi*k6uYgwc=D;M#x(_)5VqC=e-YIE))BER;hsAB=fLd%pOcj!W1~G zWRUd56!}QT_;Y-CTu{>}qPtZJqMH(b{W!12$X5!V*!f9EuB?1PJxhx9<6+|TMJL@L zN83qHcE)x@3w($zQ0Pm|V01Mz`AxF7A?w=~ipeG*CHBR3MWapT714I+quS9Z zr;&|ra4i@4P&?u3B~f+Z6r?vzh^Z{hH_HZB&Wru>~89x2%74>w%W-uBEW(+;H1| zg$a~Txt@zdM;X3dd@Pl3Cj~TE3=jGwZo81qe?OwO1UVF8Cx_=PUoz9)E8B5qnvbOC zq3er~`RHDA3vW44OPHH~TS`&e>+)ia@}aO5~I;duan#91Jo1#33Jb zN%ff{yP0O2aac8}pPGVKCgxfeqQ?0a*B#t45aAA-H{h~}TM&J$+3&euu=fEw^= zplH#95f4O%h1eGbuZq@JO(FLD-uaO+^F=Keaa~Ti4)30lBJy>Au~>jbJ$f=*=&!Ki zKJw;>OGcw?GzC99o`b-1i1$(+^V9Jh%8PS2_8Clpvu@{em?BTryI8w8X}8YLemcvc zmK?Az@VBsP6JcfJ_p+c>8#B@!xaJ&Zn3yqsu!UM$J|lUTLBT-SVb4bLV0G~~t2b%E2bWfy+%ts`*0aDi7YdVt@(hGHSu-hilP3nZx~71IU|o@nC6HH8EUj1U>N^3*Vgd zo9?_xxxB1BoDI8s*@SUc5Q7{oD4#$hs8I#h@A#}+t5jnoVMc30?2;HwDQK)dgMiwI z9@HlT$D8^Dj{0uY&R~Dqnt1duo*_3AXyk;YUQ}3rKjfSoO09KE9smA3x`yk9{4wN! z_7x0zjFqelk0X{F=1CE|&7j6-R6p^ai!;YRA1>|iKgHyK_N)Jj`LD>+4>jq}uRXvx z&$L=o(-uDRNyxvLvCk@9_{1Cex+C;(t&2nxO7lM0!>u+dj8Xp&U8(e#5k1ZcdE>ll zUi{vF%wn)EFC<$Y$dn6~j0*~?ri90E;3?%rPxibb+KXA=5~a&IqdMT%7Pa$~7&Q&E zcI8tqqguvV;QI@0P7kM;53BE(zk3W#gTtd)xXSNYU;YMjpEJ2(wCZxI|8U9k4=|I} z%*y!!_P(+0!}*>XjrTNnyqUhdr}F!rEban-QQPnHJxPS~5uSGugE z&ZpE)HjvsWN#tvoi8{KkAy7>BF02z_Fo`F?Rd*Z(|! zE39+k(Y+2zcxaG{f5AK=Nf80KJo4S!MsB(Oo?nChqVMXsrPEvte`Ynvxo4ik;zcb? zOTb>~bU%6FRTze(n88Ah6y*y6{vGJgO>*ddr(&nIF0@~f&35!Vj1J28MRAksVqIiy zoACzVYqTC6#$=-XU)Vp~;JoTGTq`Jl-Ms3LdmQ}hLi=&zD@r$u8W^WT-k&+|6SsNR zpAI_!e%Q;&uMZA09A|${^PT#;U(H)&F-BhM+hpi;nXP9bSvK!hIGiIoDto;k$ze_d{Xxx z8(S1~-+YENoTW6>pu2l88s~^Byq5#`zknG?aovwx#!9aF{z3ibh(Y-Cyz8s)tc<3qOGlo9nO8wDS69j zYVJAl6eN?UY1T@bW&qkyYLq6Xg*n!Pee32MT>VSr*^e&p>Se8iHn%+6_zCCY*?!}Hm!TGXu`?lH zL#_E4|D9cWuYOXv9TQ;&zM%OZ*?XCvnI)_8OeW)qR$hIIK zJ0i7tqlUkS6h1^HduF}JDRy2{MU#Pdog&}3Q5cV>7>|>q9{h;G27T}FY{z+7hpYaO z^u(8(_Az|de(E4!&zgaM{#y@x)GiKj>b1y3kNR2U6ggwP_mz>!T%uhkdBAiTlDc_| zcVQ(!KKTjcficKq7jatNFx$SxX8gr*9x3yKO>cv614~|ULjh}FE+|ZTKgkV;Lb~2E zC_#vKJ)@qNKt2noN;&0o0{JqgDrKe#sVNsq7rCq#FLN`=gMI6N&WR&GlDD)pgKj=f zhI9JHp#N#cFn9iRp`Ay5`lPYFmEEl5Ht91!q-RGRQNYT6CvOu1E0GceH%azEaG!Y4VvG`carg&oHtC2*<< zlhl}apXc$-_?p7xC89cKkmgUck<3nJqfQFCZ<*}NUryj16q%c&a&>Z$!9$13i2TkP zIQ5G!G*aI?8_pP}%$bq3bhzjTMjdtmoH^>FpQ4``|JkqFocG>n<&hXn^TMIXh;0tO zImaGJ60`Sz_v%#{HII!FERzo+8^2LnPDAj2#}u|X_wG#2N4x@C93bVSVf=+V{74Cz zhkf3K*q_=j?x#tYL_NIih)rXv6zhwZv)z11^2ZK3nUI)cpXV5FPCFaU*rh!2X3IhU z{9WgT-?JD0r=9)4^ZkjdEU(?%($;B739IyPFml6xtH&U!N(rgfVS?Hd`5snkpPOPD z=Xxe;uhG|>lDb?H-3Za=IAi;LmbwkYto3=?SYBHm*7`$g#0gkDd*s7TX6&g*Xm9r1 z_P^##3c8g~EK$o4cs$?lQx#YZ$)pUDJDB%f82Qa#_7_wk+Ur+H^w;B-Pb2Ex(*!wX zar3NyONX~5p0{byPj{{#U`ukuW8eN%{afAbxbMrnh1%PT8t9_$^aCrL=k=%@W`T}( zIi}yUe?vV!GX?ke_W?8Ic4oaP>~kAsY8xb~P^OEx_584sYzmSEqDG%10v)+`+zQdkBq1*AFFq?cbE8lohK1FrA+NiGP-KF*%Xjk@G1W&MO{MAaOfUKlLtJA?%rf9j1mc?SHZUH!{x+tahI5t0Dtjfiicqj zmy54C;<$y=g^kIuhs)Xc@*=(*_r!c_vI*{~>i@Fy@AI#Zx?mTB&-=MYs|V6^FYk8@vRA+(y#!5@RMF{{RuQZEKw_?$vDT|5R7ETP(a4GiwL z;BqQ>40^m0Iu~<5&13fz9Y~o}R#V$$3~e6rFg%#!92uvcj@l#NUBjS*_^CHx=N{Yt zJ==cAQf0`KVJNBU^4j%aj4? zNAl;W|6C^)XQF*YOz-=sI~X*#IEy*^F++KtL3i`Grx|oXD*ho3xJU!}CKbTwHUsRb znbXWlj`bC?YYZjYKr{q^`}Dekf!ouxBc`k*Ev}~k!(8PFFIVz4G?GexgUjet4*KD$ z8U4zghEi)rq4c@d0ygUrWZne6esOp<(#1HV=pS>`5F15Dc{Lq&Z?XH4o4Zi|n7h!! zz7o%jqTY)E)Ia%yzqRwnoexgma;jU78sP7qPkBR7i+a$fK9}>6@0tid8~b7EVn*hK zZ&VFsmxSi6e%zIJ`EvJvzVW^_^pM_#iI!6e9!;hGP%tJ*Hj$z?;rx}Ou7DaNnHejF z^S?}60XqArA>pqGzh2dZkPt4%@}DjX-m`SuCnY-J1MG zD=;!z^66WhL~p1Q0X;@d8zuIUBp?|zGNy*lm__|%8EB57)A6l;xHpo%npgqHJ$Nd0 zesef-8MZjbeYayL8*HCf*n3vPOvrH_NbY}VjP}$0XO40s!#(|Sg_$1bm_zM zudC5Vi~F%IG+BdxK8SzG-%r)VjJBxHG8@!NQrx$L`>j}xwi&{E4k5nDCg^a#)hf^6 zm7Vunm6fW>#d!wK@wCOwG%dEL{VojWYX<)IhVSJcsLR_+-H)rK+&tZ|%i&_z&aE8w zfU%*6a{d|ryfbDif5R5}#Qf%a?~y+CaDyje{kJF0Nr2pcKkAY#4+6D%C#IPl=d}U` zWlN8`X@Pr;tT!b#=P&D45M9I^$`-Ut820gwP$YtfkWV{+ts+^!S8m-TM>*hHWL z2A$8e4Pv*GV1D%*q7q{i#xPnK=H_n?I3uEbN+-wH_TIFi{lSLUkvzs*Er^(XZb-u&Ak%Q$f4&a*KN? z%Q9MYDX|^78}z(51Ldf{)aINKjK|6+_YEb3p0mVw{Dpg?1kS^&TVk>Qh4J{zTMfFF z9&=i8(HkmUjy&1(DGtH+e!-tMdeT6g_|(IHm|e`29p^keNsQXeuDyeQu$ad~pOajs zDx)=jCpJ%o=3Q_wpUHk56VnI29(0^M-5r9ZSy89sZ59cUl30VeF#}V^;xK-h+m=z? zQGvR$M1K~i)L3uHq=en;Rc1I*ng@avcY3SVxL0|98od7o zV{c~O#Kw-F!q^^N<9$BjJ`As&y1AOe_b#OW<1T~mcyg`_E@mKx`*yzY-}=z@v=7Taw$>)uUsJ*;T?_;XDiudK6Z%Y|uQbaZ2o@7RJQHZ3R z`@wE4ZOfo4e8$TYUP_`BFV{(b8RO0&nk+asCJ?_&Osa80wDKd`@<_Ka9L(nH^8ufS zfj#Z+aQg;lL~}{ftL_@~EZly+`h7B`mWK>l->Ojga^Lj^@Kx$+I%kOx?6`^Xcvi{VO~b01-+y=!Q*(gVIJ)e*5!A9KgXS)JG;H> zZy(P2;boXH`w;_Ay>QoG8)m4A^Bud-(&cI2*2~4+fA4!b>S)h1(DiiX`u#YU)aM*^ z`AqY9pxd56@f>K>n&jcEUPHR=#%r&5iw|a%<-Fv*${AIJ+fLBF!9Cq8u*EI}#g+@V zyE^tO`4y4&kn?Gr>?WCi%Mp+ZsMa|D6BBNKF*kRnK17AM9sSA{;XV?d7;~kPWr6PJK@>(y# z+C(@!=ycww)7^E0PFHBu*Ue`8F&*Y?z^BoD&;xXOX8PO%-{(Z%&Dq%)ajv67` z_>2_KDU@5-zx}g+-z;&UmRilJZniuv-sdT=nb+(z_MSn47)`EV>rtzrMxKJk`L9@e zNB!zi_j8O%-?KMGAo?>ef#-++C2lVDd+*z6=NSFLfoA&kto^J!|JCXTMcQSY8Op34 zWd~zfHk%c?eORUi*C12K%9jv|Yi1>3+wp=OlEOC&DLN@&kdpue@hhSEdo1Rb+c({8_DL zfh~i;y>aww6oGt3J%Q_Q?mHLPA-VAFlOB4opAl@&JM-$}EXwI?H`Bv$e?x!SpDAyY zm1|Ok$y6hMW{_*tLv!G`>xe)iXGx}Po&fs&OhCRYwypAQVdqsb1Dyw9rWT;(3^o&- z<9d0$YZ8_(taqCPJ8mau1f+Mbrjj? z9?P=MgQ+2b+lzTZ`4!-RrFK9>~6}!+JtUGJS}cN2pdiV)$36&73a_#lL=i zDrz4@(!Q_+Qo6HS0nw886G{?U63rLXcHL9j%jr#+r~PEctEp0zU9a=*S!kUQZ+uO3 z_cpbEErq1ubbedJ2ea^Bnrpf3UPI94IoGb9^GBn1*jUm7A+DZFyNmgOpXW1hJYzb{ zLdjQR&zii$k3H+B8gTzTOEB!1^E)5BkfnOR$auwdgZuUNyizM#<;kj+k(P_S)GB61 zFAGl6IMs$FO+-n#@Lyoey!?-_e#rVF^!Ge}4|}yGt|cgP8=B z+C!YmeYCfU&}HZ+liIJ9CCOxt&mYex9z2$qHy5s7V)St@=$M}72OLk36^CPw5})M> zs(je#G2HuiuIn$f@;`bcZkGP$q9*&+*zXGxVb2$u1o!9qI=W>M2T1<3p?Fyiy_8IrEcT zFgJ(fc8X#Sn^QZMTyvj6@zUh>ZYsQ*q;00O)qV{D@$a zA0NM{75u2Dh#9h~}p2c7+!t}7>Pe5u1>rkL`+ErM*a zrk2O^#zP$)eKcw+VVuIM`Kg)H-P||)ir3|(E>4Drc5~Ln4LUA0sypAueOxwp`G@|^ z@vm|;!afV;qYcmorUs(VgZv0__F&i-y`TQvrEtVf7yeS6w83tl!eQWL%iHsRPQ?Km zlR4^nv*IbVayp~oLrf+svbT>@-R{cm_0=@xTUD!EWd!wqGX*OK$)upYY-2h>PE^F~ z^TqF}c;t`o!i=A1L1(9BHPU185*_ZZ=e8rD7h(EXCgj%MC!|$6&yRZef@Ij|a%fXM z4Z6~w8ohHr>)>{*?k{}e$LtM%`qY=1I({?g)yRkP zzxA*>J?=(6>WnXY$QQbv(`?6(2Uo6-bg>uth|m62mptqZSZAzCo(R}~nkA}|x_we< z_ZX-8GbCN+YZ(Pu9!#w#pi1$@-GZ2I&Izo!MJ>OgBF!H{I`)XM9FImGY=M4%8gP1UVFo?-l$CBD3?DQAmP9G|q6_2z{q z(~S?o3=%8`-ng%KPjhA`b8XWQjM(N2zD8hR%Lv~2l!E$#uUiINm{MqF{CPr?d?6BJ z4Kp^V^AIuBlJ325*dvVZiwHT!p~UU21$m4^uNSo_#+A!^znDFLn9%ROs`CGj8BCAZ zhnp#FVwU8R5=dF4Nn;0X&fG|y`Wjd1Sup~Y97`CZ=~-&1tn zixCX``C0e(Q>R&fAGOm?M=!tYy{2`uC-D}Ldkf$uHG%P7Sdxoqmafo`IdDJP+tZAs z?{@ryA|JMs`-cn?W=vj9WkW3PXN|r(7zeILhdN3a@{6+mZ}*0%VSbAo z_jaD{1at60o$`qudb43&`hQ^{)|y++}%sUkK)ZrlX&qYlF+YJ-ly2*2T+t z_usxCjChIDo>g6nEA_!N>5Pn*oECS~XbD-l=1I9`z#nBl{^Of#5$J}pv|$$1n@o8Z zTs!`88}>RBiKKtDpvY&_w0(?h!$9i*>h&fumceT!F|P}UIW-g7&3z=e8k1j-ZP4cd zH9P`S%xKSlQv!yCURQ84ma@_$(|n<5x0Q)S9aN5*IgAZdhZ2&>6(i-8WW`fCWLFpc5_clA zI}*qHBIQlf2s0-6c4B3c=kU-Fdi@s64xe(lAcRzZu;Jo;KI)neWs735T_>d4RkONM zslz9zua@_)nSgfo!&hiO;qhH!7yZy{)Uu%cf6t=l*8`?KzZ=cJ+^4EeyWWPq;SLMJ z2H!J;`d39rZ$yFbn6XpbdH5`BgFA+5N}&z<0_!=S5n!M{g*MNd7IZG57->){u;q>? zW65ZL&qC-$fqD`^-sEsK>dTVrJf{8rsqBrI9CZ2Ty7|0MZK#Xt@;F}u-uHXrjyu*4#qF%-bgh*R zz4aQ5<-*u&9lR9+#Ikck>_X+4AL| z+UBEX_vNhPIMspuU+;i%=P)LG$xRf&wo}-{dEW7b&!7@!tcdN5%&P-6`~%*Qz$*`b z(w2!xCsSezDVlP{vEI$cL^e6@s-31cW=05)nd#=B%hlpga=O(|u*)eUO%-tn!HlOA zETeATZiMzbLHi8=KC!M1`*G~%15R^2XO2!C&atfj=HU22UvP6LAKZ+SgDPns4#-~{`#$6#`x#HC%0@J?4w`4KH z_cEkHNBf-#6Z5Xp$;UFC47%F+=z#qChXuz|`sO$fGWZw9)N?EtaM#7Y*>9~#jqw|O z@K4S6wC@5^k9(4pFW7Ho&@q~+T=rwXeFq_knvxGqf;~`@bW^F{>rj|n;BGX3R!Fe9 z>8Nk63f!H{rP$&p{>`e_IDB zY$T{sz&M$@{UixnLjI_=x1bExRCB>|)o|qH`)(BXw{-9nHh(F%&dPe=tP0> ze`VWo#{I=CCAg2MOoWjMGdJ(9W=;~55?vb3CBYY$BzEcR$!$P5;r)6!z3IB}U4JM+ z0@-w*u+v{NU1I&Q9vw7YV%;?C*}}zgt{-`!t3SP8>OxQR%>k?LcZ{5{nX@;?1OG!q z{Da>zrH_J`fDowQL-3RXbSlO2IZTHUl$<38RZmrNw-}5K-22j*%<~L}mlj}VY-|PtF77DyZ|`&VKBua? zq_&o{NHQ{sh>V;fBO`7cs9yTe)$oPRSymZ-;`%z*rpq^O4S25kiLVK5%vjYk^80W> zezx9~^RsUKj%UAZ$Q17vzrgP`{6F=jKkq@mbD8{yy@~U+H~G^YGIZwkm-~Y#?@(p1coVpYG{w3f^2i-Z(oZ;$sH8F$}=bIORmmiP%9>EC>fp@2>0Oc?TFnD zmsaUya7LgXhnu$<3J5yree459wm>!wu6cB}!O?2uTqjp0&X^UL500zaPI$dukbkpE z5obq%;)Sx{?)HDNsU(o&ETkVs^NE@xyY%2=m)`xdOaJqKn1=Q^zxwc>e69XvzyEXg z9sI>^{~NdJpKR5C`2}c@4e5|u;^2t{D1Z|$D0Y2TO`!=W4X(MyyQ0Lc!c#-WeVl`0 zB52Z@tMY1SqVw@-r%S$YSJ0W`E+E^A4rH^r=T zQh?5L%8cfi&!B&Vt)U%-}=-1@$c@iqWMDt$R}#` zdw+xWFvPd4hdUddiyP|vxna8$9q>p`F6aignjimvi>snRhs9ra*4a@D(*NDik%?2-RcJBlSBUa$&+cdo$>L1 z=mZ>uNY`dwXD-ODD0od6_J6B`JdEvbrU;@itydR*_-L3ShvJY>q8%D0bh|9^DMDTYXqR+t zw}Gth6vs(9DZ&*NZTCWcl=T(}T0O5)6>t-Oh$T>67T`>#+EJb)-V(7&${5*@uHNxu z?}z8O;0~MNyPoI@0ytpo>74+W?JTIFCx^+^XekAZ3xj+!^Q~q|Xe(C%55r>KT%{MX z9}Pe8N2#M&{p<^V>-2x!E&Z`&|JXtcmH3CR`tYCT{ZFjcpZln|x(k2t5A(BD4f#rc z34iNgrc=(>!4B(S5O*U%etHFf=nFZxiVxsSf(T<>f{Mg(YOHvJg3eCC>I!ky!IM)S zED*55nqz7cES?K^uu>NM#GNB7r>)N1y;{tm7C2{el@;041zw8ompgeVA^R#1a<&;rcT&mK)%4vp3Fmv=V zk6eFR_&=}L|K(ombEodl{-~pWjA#3?ll<{Zt>FI-N4JFomIYMe7@GROz9o;2R60&WY8Pp|=WN6QJ|jt`5qQ?Z2$oyIHQy_*9Dz{pF{9fPv$tETsM_1q^7+2^l`H%I& zuuB^=m>__{8o&}(7sbcFceel=DRr=as4MP*dw&wE zA%S&>0&sE=3a5}`Zh{kY%&It_SoD~W8LPM=IW`>t;IH`Rt|N=>&swWi{y~rPk9Ya= z{l|aO=S=6Fl7r$ZD7X&!Lji)5zpcr~eC@OT z0U)cm2A$u0f1jwIF;H;yKj*6z{Q3zM@Q|I9fb5u62e6g+0y)kZj+TLCR9!$3Q(|Ll4ar}Vej6m|wx-lJLy4L4$bH}C$hju) z=*U%7+*}68XQpx+?xpxbecUxg*`0Q197mP#?&t-qnhiIJOICFZ?mBm!Rn{2frXe&t zeni}D&`Rp*?oUI1dpTp`y<%NlC%hqUdLb+^M_c+fz0&j3U=^bf#T>5fDBiypah!&jLN`&0A%0-Knj`(SdQtU{3nW| z!wf)KjTWU3sQjP+#W5~`S2%VBHMj-91gZjHfc#l9pv!@=S}WiU-bV7&1wcmjxqQb7 z4yZwj0}V(U;1rGnpaxe3sH^-0d=8He(9lf+1BeNL2E5xC4yq0qKzIT!=CcZfps#@F z$UWc`$YNN30x}9Hj?4oXK*9k8h>-sXg+b*{NH06B-!x~ya|L{GMe%Gt{NxfuKP~_R z=rp2du0RKt7?{q7A3P7h8POvHEd#LP5&)1tW)J`kApFe=TtF2AZj~6oIS{Wv2C^9F zK;C}vX+fj_1E>J-0_U#a1^NkytGoaXhclw52!K+5DQ5uDd;~5ant;42G-{980S>4U z{+fmG%PWw8VFJRcE&wo`zaoA(KwAywTORTtiGc=0WSI^t#J`U`>L#|wAgXK)WAB)| zI@$OAKmU*jDDVX&2YjsRG!2Ys9N-Kv4BQKW6aW~=hvh&0km%AI0JMew@lu30H$p^! zifVIzUa=Vphy(X__!LQZOHiM)jRpDN{*FNKcV*vkDfs;VjKoNZ&7pv%K&!xK^5oEe zz5`JO&p-ow53CrRCjMSo6*wFGqp}`=>3H0+BY+7!TL>G~mKgRS3DpcCkOVLQ%Lk{5 zzpYjQ&VV0Qs|V+bpB&o-Y``;)O;Envm>7nCVFw!{Y|O-%5*uFoifKpYiR}+eYnjJu z?=j71?&Tg~s?8MTM#}H0FsmQB{y+RC047BTAPj3U@<8R$72tbOpFrYAeY2WySv9e* zl7`d5uvtM9){9dig=rh_W+UxFJpq`Y5HJev?Wo-y5^{P5pss%+Ak7m{CS?~|#UodL zu&-638@vbu;B?k1;0Cg~!ACeKGys8E_fe)qz(M7dc>>Nf0b`tC$VZ$}E4#Fc zoyq@(b*C!fxOEk|6>>>BH5KFoQ;hL{XoX!ED;eO`u=gUOs+C>Hn!c(g5jqhkt&Z4b ziVmnitm=uclgQ&X;1IkUnPMDyt0ux&$%LQ!f@Qf(hRMO6^W{>IsWDMsj3j0K&0jFlba7b$fq8d*C>YuWlwDN+Hc{C_K<>5(xkF&}F zlC|=J*)AXeao;D2BqkFO#whIC2|y>3!X)xwH^GEga5d30AnF_x6&(m_BzB4pWQTz9 z1oGAyfui6_rg*3hvC=aj=|4OL`&1>mAjh3jO`t-sk{edpPdjf@3!;E74G}W z1;#ib5f#kJX~>o1_LcKYPTA2(jLF3r;Nn}lg2-Ay#I0~2<_UC@@}<*qNQ;61HmF|& zVuPY|CCLb2OhVy@PEFSpm9HQ=mVPRk0)PX5`Z>};9JiheF5;Q zXV$LZtsnyP1gKB{S8(mkqjN_*bRtg3lwC};MwlnSOp~KDgUw& z)idDf!W=}pAS8mDs5&qc&!qGW__{E=kudwe@}ylv`TkFSpz8tvt|E$- zF-92xNY2ziL$+4EGYSr9LT&;=^pS@>bRu1VNLCR4oZ+b{%FxDt8E~{lXeS`ne@Y|y z1rEur-#V23`yRQkoj=|f5t>v=4pJrY`z2rB0cAHD_(uB{-F zHW5_gq)elC|K!WfzH#uAU+TJ`e)73#LVW(!{u4+lk8opU2g?M+E1Ex0zty?5MKbfN zUy3)Vhho(#+<65T;WNhQ8JKm>s3r)T4^L@ui;=u=Mx~E`0Os{nD`7WJ9GHL(Y>gHG z=)xeLd(bwv_z$qM}&zUC2_~fhJzCrGjf75kA{N^M6#-DtR+c&s>@*lb`DBpa<-|myI zH*00<0LC1Dx$65`#X5*%4x+gU#)9>kdr{w;IO>V!QiI!9eP31`jbFTg#xMEPFaM34 zDWpItJDSU@%H2UVffFCos86DC8aj~AEWt`3_6tL2HFbTbTz!^ zhU{kDuv#N`YCf?03MRme|FiHWw^nBMrQ7_-`VV}65dI4~tQC06zoGM+4`BMUScHPz z7}VrDQ1pgc&j6`&fKi0}-_x%H;E)0uUyeFQU2KkAEpDxB#OHrIParcu6SWl|zpHuT zJ2Zv@u?Z@@fijBN=Zt7fx@k?9x9)D%idZ*jOq+nvI-^1XM+ij@wd*iV07Mh~%(ud4 zP7J<(WhQ3@&Ioj8pZlhvT7?5l)1vQ9e=XyI#obL=A<^0*ZkeRKV!z518fXrluAqrluKU3wLh_sNe>>ii zp#9=ut*}F5yD&~5K;t!9S8#tPGmuN_?>Yx|3JrMlAFZ9F-Ke8~z^6uI5u@t>h$Fb5 zu?6)z=*5-(t3BT_uT!*Y*ZB(x^9 z^lv`GT_3@U%6cB^FG1zfpLHu*XG76-e0>C@){v{${15Wcw}B7{G&rKPkJ{QB=1IUm zEvic@hD7hTmslnkwPvy@H;9-Wy-| z9X&f=_|J3jh5tOqU--{+K21oEAQV>J^#Fa|H3QiIr+kW zpTF?m=P&&Cc}I8v;G%vkRfsMKgbz<2A3OjQ5M0_Ix`ZFN=}Uj`ft$Yciyye`OF#U= zQD6GMa4#f7HaGn-ZpZ+w-x!UC0F})>BzNmL2?B!OzkL*ySyl(NlWd^%@Nf7lS`+)f z;fWu3_y>H9>Swk6kFn!_`jKsXoP^IfKz(rXmeoOWBX?hT8gdA>Kx<0>H!Q8|0{jDZ zMY#NiEkC$Zf9^AfPuH8bSnLabNgJP)0rD;HU0iu!@4}{sR`_?Ei)p zKK1T@;-eCvy0Kq;sS(~h^TQWT{=)z8M5$2SzhN7MxBnYf`{40^8+MweYWnUwbs$N! zB7n*ik!}XfSy7;j6R7(M7+oMYf2ca?=~+paRdy z0kSg&En4z{YWS6&VckhTY1J7g^{WU}0JlFk0A@6rf7O^3(6zBc=i$KBg$~5Ei{{Tp zY)(kamk8db0Z9pe!iM4ir$qV>tk`9fm%~OB=b(Vj zub&H$u{r}nn+Y5cyf=&-2?(z6Kc~%uF%T=H4er3iW2~b?kYX5HG6SfQzEuY(F6rt> zG=`!3L`sNCMW`I-02CVq-Q$=m>4fs_>XXmS$p6t8!{vp45y&3k6QA?@Q-Q1?S|R+p z=xM;$Zs42#sIvc*Um;a^{6~6)95My@m4*N`$awg7+JPMK{(y(oKj!m}ij=c|q$_{} zW(5w4w<`lsIB*A22a**I$d7^oz<~V6X%5osBE30Sk$zWqz>eZ+8xBAx%fJP&2eJWD z2i}n@Fa@B0D>j#*!26UFKnCCg z(HkN^iLwIn6{VRkUA%z4zoED|3V=AOKdBHM0jlSPzMDF5`OP;uM*LY&$Ish6fm;SW70-*Q9pHKT;Q9DWq z-#^I}2Y`>-O~Su&_3z}ULI+v{lA8h1pRWl1BbPtzjQSUYRDJOg4J41o2hSCMuHSb3%Xf{x)cci>=tDn>e;{>Vcndz^du%b}&!Dq-ogShlz-Gn~f z0S@^u19x=Tra9mVIHbA*Gr~t-QU4Wyf%-k~Ao~as@HwymI3a#m=scLm(ReK){<$kM zBItluK^=Y6cc6vv4*+!0y~JQeNCaqqT)H4+A_u0(f6)cN>*v1iDhQwZMU^0bd_{fY zXiks^D6Sp_`BiX$D?p(VeBe4zbc6`FIbw1G+yP3+_mVmxpHc;I8H7v?JOwH%LMni2 zCEO8mnj<`cH$fd-iR{*`h9ImkxYk)j)bJQCsSn$^fmA;L0pF?fQztH*U?fhtRM${aQ9WWpigOkTVj_jpRTAXn z0^e!0y|T(ZCl|K{WQfO3h^G?z?>@4lTf=CsQ4|1p+v+S*yZCqgDi3Za0^I8dB-uHQ z%pKv8-|82`!EL4r~9n|E(OxTRQ*O|1ytD zG4GG!zx=oV`~NJ5`}}{DXLmQKZ)`rofOD;d8IXSo9fz~_7! z#9Rdc$CiJ8NdBj8bOWHORwb%#IS&Pe8zjxQu0HT%P6Za9RtrQogcT5}d{uDSxzP zMtXqCv^O3Rls>W4NZxLce?4MMd40?Kymh=6R5i#!i-m;EUg$e3v+V8KtyO~Ku&WGV zdM{FSdOk;9SM*?-Ib0oh9v+7xd|%Ei*d46M&d%q0FSBMx!_M`8)z9(t3xsgqag z5?2q=dzmk54>U&j7zNiS=gVAC^0=39{q8lw-& zd^{Y=HW4(ObooL}SHRd^?9vf7hY^@2Ob)AiG|lrqClH*Q$>_IdQ?j>)Lh~{Af6?xq*lh87INpc?Sl8x~D}Vy|0S<6xt^kN`&G3_SE!@kBh0Wm* zm9i_Hc{%6wyO~!Be`v>%eiQF~Wsq|!`#BmbsN#6Yl%Tu7%fJe+P!8SHW1op<4($1z zByoHl*<@Nz;(7Eqtmf>nd=d6MU#RoG)8@%;u->$3=Xk{=M}LwZ=OH8=d%In_HlODV^gJPRmR#ZW*Po2iw*2< z-UCdklRL%INfBiTjx^)~7d|^WsBWfqUYv?8jvh?Qe+t=k7w0E+C&Jp?X6%xMQ#wYP zWnApVyONnvs0WWJG^gp>;pXt1Nem4?_psJzDOR48n(T^R_CQ_co^5By z`8##4j!+4%iHB?ZP%-g+OAaEZiNttNlsZfCt-NqTRb3ukI178zN=f7ZGp^5PLAV*% zT`>hae{W6gZ1=-Eex|p^P_?&yhep~wwOOtgPp+f;wR`j4WY@Bao%&5RO2^gRDH;#; z`bgi@=Izmoz+*A>ZV}?yjSpNnj`#_ zdC(yvCKo6Z#1R@9AZH)b!_yc@yrp$jFm}fCf5|zacomMRWz|Dg;9wuzn{nO)^W3^Y zLv;~xzOzfAJLlG6)?KU`yQ%z~*)nnW;&X_PcyT7)O%1AXDP)gyTR}582Z$F}r!nJaRQkDF(?=`PlI>tt$YfBC{bG}Mf5qKl zuih54+rGKP!+SLDLp`z2^NPDTeRvCRCMejs4q8)a%$dN_87Cld^D>%!R@s5`iL>Y# zO?5h#Ra$qP`Mx`SryjT^C_^)OD70`H4hq?WD$GbhkxIK068t2Wny=oj%H+iTHM2KE z73c1KGKb0#JdKX@9Pft_lnGFZe^YaV-7btS%N#F~4tYg`EKbO5-m{b+9^YLqD>3cF zfl-(Q>f0x+^c`b021g<(p=W6dXWdtDex_SEHp|ty_D{1G%#9Ntwn4gs_n;q^d4KTh zPrDt2e|cbOBD*;bR?EZ<_B$*a@U{-79zRbtULMre5one==2)5vr(i zD!maS#}qpIiH`PrvQt64HMQs|&!kYgyC-UqB>uE z1@G>4X8R6#ezft4UC7YHf0UMu#n=$*2~4}?8CZL1<25-Jnqs6yD>)JGSZS7y;#pGx z%|s)A4G36;+b!Y>sWU6yWQn_Z+A#5n%hme~VuzU$A$eT3+wC5&L%F_{TVD%YJLB>* z?SE|lM4Oz97k-X$?>apd-`2Oi8+<8et&YR3%__?EpVOE2m}}P z%1Mn&{-IcHFP8NSg3h>-G8g-zR4vZ2sx@skEQ^mRsLv;-D*1=^u7Fy$PncP`dW5V| zs<-~gs{Y+P9V1HKf9mK+Wq1C?wXa4!+EX_|(_8CjTo2U(4u5OcIJ)&ivllwgvf9Pc6+r4mwEHMm4v6+=ayAGUIO`5H&9kvC3W+j+zBq8VP` z7=&&(ElwM2-pl#x^)K%+?Cq>+;$Fv#YQL*mPu)Z}*(IyUa@jW6$Y*K3HJ2qA7$Uun!xae;pLrA@5l+MLQTy6+){_V((;l_Y!3gL=X-=XjYeIQuvPF@(`L@$4LunadhZdx2HdS5eBA<^ZtG0{TGn?Hd<}P(A(R}E6W+z&u34LxydN*y`>bcmW3eT5L zKb)a#e@U@OS;|VyCI%Y;w0g)mo9x$y%~M<&ZbDz=>s#*wFceSTHT0l#lGX_aN2#la zLH0&=c(ehCy;v=_D^CP5+1yz>)`vXMG3DYl!Yi7#SC!9#?^cv|oeuY%Q+*@RhTM5* zO%cz>^KkV$iZ#cFe;Y@d%_aMIN}cDMc5lIne_8#=e*8P>fDTHe`+_*FS^cI`=ONbC&i(lb4Umn*@homch^)er=6y0$&=bf00t6(@z4 zM&I6@HdU1 ze^s*)M~E*B?{j=AJ|9AJm!x-$DfAE$qwYQi*}YWsv+H56cSl}z+-EO##(o9Kn$a9T zD`rWseQ*1@*(uQ&qm%mRUMf?`jKl$yf_G70hukiX@w?=Q_6nxU+-QPvEQI&Kt?E^A z8A(317xH$xiGw0|gASFab<^LPy3X(lfA$O1VKUD79$k2$HWMW=WyOWkqp@a*cx8Gz zYmZT6q>diXsnJvv&NN&VYO}9Q_-)nV^5q38b~#(`?&zLLIqM7z8c$D!F9B%#{dsb> z++nBuz^s*M5LitQ;XUNA(*=5vYT_L%aoO@ zfV=8onp^)J6kuzzl|023ZVNLge;rz4H=Al0KEXeBP zUODu}jpLXb^y+p45ci}g&=5nLmw88g~b9hJ{BKxQCYqh%ohtERgjZRl+v#Hz&q|HkB5#I zX~!;=d0Vv#e}Zp{`D1G8kjs@(z+)w5AHJ6kHFGbn?`LJh#i+6+Hf(MWg#&-P zzZoS>*F(HR->ElBmXuC=$(gv)>J>ZUKqRgtd-a7VpxZ#WI+m1H$J2aG-@rY0$Kf^H zQ_!$vp7qrwor6X(o?D{culL<64TeAFB@giYR!EO6HqTwTf1Dr2&CD|YASsV|7bVs{ zEI2I!O-!F)?YT*c?<9Y}^Y2o`g*q<0Tqsq#W29VSDEyV5w)<2l_{FRPc81E7Q*%Nb z@`m0wbrI{ekq*ZzM`15o!*kx;|TpQG2zfDTH0_tneg8crsb~`g$j?Iu;Jmx{`ar1QdQ0 z-_xzb{pKEXOvST|s}0#5Jjua6Sd7Mxx7agXQ*H>)e?CF`NsG(wdO1rv5A1E;>Eb!4 zq$iRTQ^2fK;)9$I^31XI&wI0Ug;|Md5-e5SzMRB3EZI#V=g3w zc{(X`Na5GoJP5mg8NzLSTs@a_w&rTY_wpFk4y!W~CS2ZGR6ifG^Mn<3bYgu!4Maq# z)=FH9f1*;$g2#fhWKq6H$9{VoUd}ZkFi%W^!^MqKXA8l;zcI2oxa2F4_EygpFX^I}ME;cZIJD?XKpu4^icUoy@@n^>$% z!&e-pIgQ-6I;s&tEQnHl)rbz1Rh>7JCM zSXh=)oB)CpoXF~j!Wre!REWk`=vg5)4Xu^ zJ{k4r{5TooGc)=A1`aQVm0aI{^Ct=?r`>$9+M&sB$J@}IoX6|Qwq;Y2!!}o%d*r-n!L!sTN)Y;$A;ppPw;BZk~2|TdQq~_!q7o57&0WjrMM< z9xEKgexQe=?D*$bNIiWgu6EbBaXst7cTtf=x;oE5TnhD=oJkxkuTomtKD!cLBN29@ z65(Cm9XU^@yK#4%U57{Vmiv$He~Q67eczZ#ag37}w%ha3SdQ8plkjxDp2=_xpEyHi zK^#7@oya{kYmC982zbOy&|C?n-(*2%LU}3hGiEy-a0xG^F4n zsBU(7Z~`^?1Qlr>sO~Z)StZRHw`(h)_Lo5ZtF?+l`1jOyqGQ|&n>={{&gM?x!STKR+HD^P1qWj;#n&_ z&9KA8YsVDA!a0Kv=GfDVe+H+k>jBQsK8r_gyG%GB88MS@;=1VWRvtCBNbvA{-r+0D ziOVEZ^i|ru@nN5~q=%t@Wh?Q@n>Ck1EV$0HoGCMKr?9fSL#OwK)TkX0{hl@PVf7b1O%A^2`=Jxhv zeI-y>*@-uI&sc(@$u6FaQ`x=@Mn0dWbUGR9@+imy+4UrKsH=zG*st-hZ{(2{ zC9|52EnKO939lnl8;7TL^$qNWM+5e#OFQHbiyl1ZKGiaX!!U;ruIi4d+kQ1j@ohGI zk-N`$(unEQTqfUXe@!cED!srD0-4#al4RMju=*_>n|&XejlufGovXgE>Sme9_nf|K z;sxep9C!N}@J>+?e&LGloe5q=k=pCk(ue}SZY5`1t~oDH-o_+4v6p~Zq$@{JC3C!0 z=Q}+lZ$UIg%LSAvt*5C2eQt5IV-O46mVJ6enyAOnEe}pjXA4;bU{l<~!?7g#n zv<^ikqq8S1Hs51-B~n)z{YVwWx~(dz`z_+;cDq%j zc0Mdn>_wF{)HRm{ViQ%>d6rIP26NSCDO2b;FkqQ6&rT}qClyn|AG6P8aK->+l zYld579n({j%oa5bLr~MNW9@C)&E0g?yN1F{!jHe_#LK-<}(M5P``sqS=_05TEcW-AqPcNY}hPcGLFYuJ5guNwJe(2wP$}o=` z9-sQ2;xD4$QFrw~zU|oWF|E2tmuyi_*O98J`*oq-hhPjc+7|6nto-t@CnRlTxy~!% ze-e?Lb@egVA&6J~wD96Vjc%E_d;6f_@meqW`Lvz&BjATqC0(YGi>#ugPyn6U7S1B2 z_BJbn)mRi#p)YB^o?h08$dl&kFQc)q0x!89jbkI3t&cG%U+x|!j#-Vzl_Nr8mTTHD zo8&}y2}gP>%~+zZGW3WyZNoN)Le%bZf7Krg4F@ALdj7nZ@I{iBM(kd!|HhzrRC}e< zj-7JGm0W#=?^`_ABbPo2O5|ot-|a9XL-}Rxl-C@xz{eg~M|yL+9nTIe*ThNO!`h`( z=6Za2>^O+zRV7pSsL1r`sRc*4`co*E)iq*b-LbsBVy|_4ygA#rN%teqSvs@rkVo;?3!}qiHl<@as&reBkWFKLaa9Z^` zIyf1`)Mk zn^?Uq$e2OWiKV@t^iAwfex8$DI$-pD*YdoLA$1fZjXG?ypq10sf4WyzHAl-Zdc2R@ zgJIS=xxsR;qdTNGbmkn282xN6btnZK!5K4;mtyIe{`-JQU|r}SPlQIILYu_d>m@m; zwHEA;qkk;du2}p)T+QUJH}8<8&oAwgM%goMt(|-hNk3!lczDMz?b0sAbkL4ro1Ybx z44Y2p>G+^vr>n^ee+@}tV{-1Up>Zu%EO7hYd*X9q-DFd_i$FBf@w*EV-?uhjf`v%cJoLxqe)8JDv0J zer%q%vV1F)(d%Vb*Geb z?_y>v)pmamMr_z|^k$e7AvPspHb-{2_?knV%!0_H+^I#vT=n+uHP1*Cx@~M1IesTY zo2oitq>mDdiPu6hM}~Sm)$R#7;Wgdt>eZ>YsGgTQiRZAn=(mjFmDiR!iQs~6pSlSv zO*R!f{4TH0f41Y2LTYfS$hs-hhgjquq*1WxOrN@DY}cv3VOdSn_Hl`ssL6}lYuK*o z6#IJMC&}HSALEp~X^WxFcZDBS`k*>ZhaZv_?g5W6RDs`0a`tF;jM(wD0G3?vcj5JC zjntdxGGUcyjRGs^^3dNV?8VXEQj^b?+cNb|!d2+6f5#r43ZI@iGMkg-$mnQ2;$bWb%+fRYguSrRxs(K6iV{50y}><*s?_R zf8(ts`2B{)A5e*yN#3iOVPHJ4$U6Wk^^`z!aewS8e+LlEoF|3C^(d#ptY*$5Uzh~9 znEBS0<<*)AsmP^_$AFvVy(eBoSl)ae@ESs1kNfxXTbi)sHM;fhKF0v6GbGJ9JA_8- zmomHISvbaK%#SSlcd(!pDMl>KOekxrfA|az>yR8!Y-5BPTQCI>aR>&-wKeIEJQ`hc!PKV0Ny)7ngg|!HRm5_6zz9Rd+x0Y}P?f+F zne*x==Cil6REIOFc(SNL4DvEhElfL99r+>8I2;{b;=?-}$^)lrskk5gRTJqwC0*;U)eaj28DW zJ}H`o=WVtS6*znUOpm;f3JJ`sQ#7Fzzn3S{;p9=oPf&v)t3Yq6e2k>0YU+u?MTN{a z>Z~K_g4%}j=$SErf})^Rls_f+e=yYn$Ba))r-_3tSpUJ=y~4vf=G#C`NHn3J1uMme z1z6{F`y!>U42tEq=gIip#NGKPVS*jrGHe1gomhyhc-A;{gHRT|fyUAVD$}3~I~h*6 zH|l2Rl)_mogSr|pnwl5ftZ%{_bQ2k`37%>WehgYFm~p5g1g{y4 zYv7t>r@6S!ZhZuHO$37%$(&{?)+SfKc_Eg3YK|G#+HktcP>q0k`K%K`k#hllalaoY zH;{%Snz5dS(z2F_R`M_qbE`sQqG`K`()#|U5l`sBeUWAGjrav*e}LUCpv8jg%f_Is zJ6TBmPUCW_Wf0Isw}{rcG-sG8ky|1Lr;8-$Ss#$0pdnY6h1C-nJUIO%4?pdtIiVo5 z*UcF_aZJ{4yc=QRmJ#%W!DX{o5{PiU(g?d+s3mp^oD3^gvm;{@5~ob1lWfi%tyFCN zrQaq+@(lF9a#pwHf6Zh(huyV}&FdLGvT%KET%VxA3F8$9>^khkXH^xj((fbi*C~<) zAcDw~uZ1jjJAR&MNA|<}`tBMmE#!7t5JBzxg?d1JL~?c#@TPqQ%aCbd<**S76+TH3 z&H!1p5X&P%vido{FjgM0kzCbJ>h;dumMTr$ADD%|1s!o?e^Rs_Da*tvE2Rx;Ydm=J zNulqp#sX;z%5O*MhWE9awrIG>0JQLdRT?)&9BU`;e{Eza8;4*IE&=c`CE(PJ^V z4C zQ(h4a-k1-K%B6BncSm82K~mZu3S|(Mp%6@ok0BXZI2N1eKlig|qYv%{&nL$(2!+}X$rI20#~xC)1Cl6`IrHS~ zSHw}6Ykd>`z&#~kHi;7Th`h(CvuXNu085S0wafQHXZU68FA;x&0}#cfPIJhAtoWv9 z*-s$!e-+-(IY!4;`jsTi&MAfotgm=eWbiu~pcwc7?$c*@H=P(iwb0oI^k9+G{4JE( zne+_Vlnp$E?yMppEF)~IP;J4>LyRhS)Vr@HExg~4YJxnEXFASD1YxXueVzwXMcS6h zaVPu@Rl7++@zm)TdRw9mML}hjrf-P?HJF3Ye;dtnuK@4%p&DVms65cYDTcuf zx~D_K>P-eo9g90>t3eG~9*`sCq;U>7 ze~A+9fx&`sPGpWPqV4ls?5pZLVoQBs>Q{%nQ=|edb*_%qLjDeI>}&}JiXp$@O*6e! zs%5`RzTXoTa8>acCBKJaMT%8)VgmfSQp2QRkO6 zciUN6VICVXDF>ktP5ti2Jd%0x&igTae}VhRmeZ)OZOMN=8hXZ@`BYBK^PoaGTly3& zHLY8y5)A71_%>CHn{%ajsh6o{!X_AgFIi&1x0%ie6+}B@mW` zmH8mn9JORwl(O1jxOV<>Rz;imQ#kjXHM_8x5N=|~HQW@ly%k!|QtXHu6hcBqf538z zA&MT}Mruhw1?`=5Ar%DE+ZaeCm9*z)tw5%`K}OPFN(mY7C9m8=BT1M%L_!1qG_lV1 zLS6uyx)Rhu%>p+k%w<-!?_R^%Nq_%pF1;rF#H`FbJvO~s7 zNQw(=y2f!(o?3zEHxDE5Q_Y~ve>z@0(4e;hy<4wyxz?+-(7OS>GlNRk z3M;r<3Wc<*_vChh!7-e@bs%x{nGj-^FeC5T9Iv-~XE93TlN8gs72@)Re<*(S2TRfg z`2>{koO+F^e(p}5_5j`><1Yl}wliyZ3&rc#oWEr3N12;7Gxkjc(t|w#?V4v`&u!A( zTp^0<<2c3JogTN5=Zq`MB20T;q6K)cT@E?f`*7}UJmh(=6X^GeYlEowaMs1yX4)YG&zafp za!zRIg(jx3K`YZQ18&4z>~u>e-ioR#m_Msacr)PkoKg6DX4Jn#e?k2AhgTx;cnGgM zTOURE9);){gkTIpw%{a}@I&n@wRdy-%(R>`=%SO=Re?RBoka@}jaS=`Ea25;pFA6v zZ6Zn;62h(eRT}ZTY1(Fj!Fw~2PP2>`oN;T1XtNrS!XI)0K%3@Ia}%8ln`D#5Cp2~$ z{oziBmJtJ>V;La&bHh2(V6satfO7lFreR?|Jp zdwB)EY$SJI;c4&u3j&?Qrzfikg)Xle;pcxi2b^ z!EGL0hkhhd^_cOi=JDcMPs%Tz9futiiz(J`&^XF z48S|atc#xyqdke{&MWqbfilFInZO&LgpnlX`P(kHf8&sZZ*5rz& z+M24b)KU~5(Q585N(nM4AjkP7Ggwg&%$8k!@SN5vf%|qiKUZ}o<-NXV(+vI2ZY5!F z*7jXDs*o5^QUb(B&+xV#i+bDBSs%)CJ;w#ba;a+`KQ4}JiOjCS^J`aiTKHgUq6APZ zOa7!Qf8!JCkFkjBQ#(H@U8o4xT6QTsd|tI_2Z2qwFDEu9y@aS=`%Aj#Fx8&Cxi%&!-cQC)a>@H z>7ZKcVCb5ktnRHyboq`I>&1z?a5g1!%~TI-f1S5=nNzRxC<5?IWoo*sv40GPb60N} zv1*aQtJY+`s9CRYWE7;Ff|m<3KZPhvkDoe!boj-X&mne(nPQ%NG4g~Z+)StwMl{q> zck22e#lv+qy41S`qj22cZ^s)wn}Q^fH*rr?6w&WHq4Xy64i@6jHRsDzR`4u6edHEU ze-{|>>t8E3p`^4=@VbWC+matTrQFf|p1Za0y23~$eA^x@Lz}lCVggl5FOv@O#H}i% zW<}w6tXiyW#w;!s+`P(*rNSgRThD)mThLfprxjqkg;ym)$D8h9jWJ%1W(IdNOjzQ2 zNnmP(>qc)p2HKre>!_jW>{2Ts|5U%Je-P={Qgqd~NsM9p^5=#yy#=IE;~#a}I>sTnEBWgvqNu2a~|~X zKIi_HaH`7m)bs0uh=*ml4yf5_msEIO#U=MpB${EERH&e6dP&{?&}fr=Nk|HbVV|Q1 zYz2PpZS<2mW(ar)FcoIRHYz63e$d079eTV2t(7^gPAa3vyATd3Y39O;e?zJhMcItz z?8ncbP~$U6)VN|E_KAI}@$K<=Uc&xXh%Q$#TQCh5==x$m5t~_afF2(|-j{6e>Uq;3 zrB;t{itJ1W#kM78O4_0JL0?Tcr;~j3kKh2a#vgEIo{F-$$#z;CJu97aI2Tp1AImM_ zqG;sGH3$Pw^7kUSnRoJ-e}AidEb_t}?alrS%qm<$Utz@8x%@YdMl+Jt3cH7SD3#Sq zv_Af*F(`SE?Ek)W?*zn7huYZ)=|(da1{$uKnk&*%!=H``w`q_b0eF~a2P0XcZ8l&b zo3Yy#QA!%yhuPcz&N$#KL*S%e3Ji>ZYeB)TDYHj;gv83xRB)yXe-FZtkFsq0#t`Gg zg>cw9M)zTQmU;OSpHM#xX<@SUPV$$_8b2m2C^Bsjpx6e(VMrq-cOP8wiBJuf7bs5H zFX{r|n;UQ1q+xUcV=!O27?C^7(i`DnTp_V+W$%`D^;1VT%&s{R8#wT@TeuX_!G8#7lTnCCw0*pLis4%aWlh7?Ac*6Bp;Q_tnQui?r-nB{sT zHwCZCLMS2rJVE1jq9T6+{rUwQxGsT8^(N9`{b(Djnr{f0tmW zjYz{)@_5H@9NSA(KB1w@Bwvp9s7SX&1~d_oSVd@@ ztDr{^rLgSFk4l=G4Ql~8*LyD#v^VI|VM;chpLX_4RJU*|Y?Sx2LaoN$fBWj@Dd?sS z=fLlt;so>I0DIhvweN(w(4J&>T^Tr~`j{Q$%SX zDx;MJOEG%w)E*+HcrW>mK(B1UHD`sf6hnOx=~x+Vj8+1ICie8s$Cb+v`+3rM{)N+^ zQHWM90I>A(eX)ivg0pJLf1Y=rUdD+aVBq~@G73;Ds6dN$%_4tY>Lm}V2~!ZV0e+3w zvGUn!Thgk9Ld%Yj$=?kXKwAs6iYCB;Y6$Y{Kaa*JnS_0qA_WWS0}?zk}C z?+mGEE;;aVV4VAoeli)3zHpRg?wf2_vBmHjZ5Qei%HhhKd;3X<4P#=qIMx`T4IgRI*4eVoA`S-G{AL5|n z(*aEj=JWxsXzqB&^EJ7^&apUCX50xrF^P+3TrT7lT=0ndZmAag)dU%!qUgdDgPF5_ zDP8gFh%1s>%=_#Yu+VNIUVO(=wU&4kAF266a2g8(ft@YIfAlUZmv1#B@HsSvpN{H{ z7J@LspV$Rp*jccB%BBQm&TMHD-A6sXkqexpI0weXB;S&bY&_L3vYD|IDX`L1vZ?{^ zBQWei*z_A|b+hUvh{Zc)xif5XJf?;{+JlrvLN0gR;O&ejnAOETg};{{k1Sic^!*`` z(@^Q%0lu~1e=hxei6KX0i1C%yMv(X|EHDP+S6+@6C}}Bu5R^S)2HwIMz3`c>H%4C( zgK6fAmzH#h`24;PNVlf!>i&Nfvgo`hatD_XBAM#k2~_ep){cN~wYwz4-mlDMI%P zzNxT^B2P@`$A#V=s;qsH+juAIb)K?lFKCQflV3kYdK{#yvHVI1+kPF`N)NqY&l(fB zXeMkLhb>l@K&Mw$<;BgQw<6W=H<3u%&G7~Ne~y)=xM56XA(HVb9%4GqQ|(FLM4-Lo zF-H*t!qt3d27MghXq#|Kve3^|EP#jE&CDRBUEMn#h}Y4f$zf$-Q#m8DjK^$P?)D@} zv(``Cn#!zIiP4*h6J)uLkF7yzeq3m9BxJ z{oGp#?0)i3-f%!O9x<=Uq%#u0BDBzBtyZ$3uob9Mgs>uFfuhsUdAWAg<&vb!CSQQZ z0?2|2p3z7R6h7_?Ft+S+4Q;ClQf&+Te-a1QG9db0b>=_{1u2isInG`lx`z{ikf`I0 zf>{mEsV;;Bv-)tOj^e7-2Rv&1c7GG!gu1H(U|+~f2b|8 zF|avz7&51`!f}uQ4DyWq+TC6AQ=|l49?tCj^_N()%)^RG=(({p=H84yLRx}{S%(vN z_IvjP3&i@j2MJ z`M11R!4~sslF+4KU=i9Mtm~5ie-c;WShe#;NepsL&R}vP_cC-d?3VoXM2tK)dWFGH zeU?qWiB)=-t|X+cKX`5m>J179@GzlgdYYNYRHshky8tcN(6BLX0(MPN{r;w5PcU1x zG7tnkx8Jlo9On-q4yj2cK{*8<_SLeVE&bIIYWGJ;l`{MZdfk~LVzjeM9UzJ|90bs6&6|-#R_-1_XTrGf1#WdxN@L{wP0YC zPjk<**lX_qVOw$If>WPPat@ zb8;Znapql87YF5`e{a;4l%);K6zc11K` zmOyrf`r%E1P(S%zWSF7RFKktzXhsLi$pd&y^)uDz$&nFauHNYn%&Gf1%mhm#>gKeu zu~gCR@EzfK0ezzAE}vVRauo0C-uUk9Hq&C~nY)@ki%J|ueqQ2-V}^;se>XSPyT8_Df!n|oN%ZJFRA_N}G7(D!n;AcvjE+*4Nqb2lct ztG?z6P^bRAknb?V$orFNIKExh9Eb!+bL#OIR)ys_m^8uKCX2==%EueKw)p;XF&fJE zrdM&X9ymVQf9G9&+l*GEi*uhFSfKIs(z3eQl?85NH62ff5VSedj~uk4QOG!s*$xL}-@5xwI`W=BGt3yt zHv*Z234qZ3sBuOIhJTR>9P7OH>2>j5L&{-Q{!XFgy22g8Jz2dUqxV03=N-pAk3e7h z89o#qfAWRS81=UMNh$2l{ZZPDLV(g9!R!oWD*K!uAu%*pXS!0xbQ82c-6=7p^L2}Q z=<{LemlgC#$KYfe0HFtrd9&<6k{D4aAyXP2X}v%*9To9sPRFl>0YBK(x2+Afz{h=9 zT!MR7+Pp=eTg%G6uA zw&0?ak8)meB#>m=sfl$?SVN8yH5ya?oPeUf*JkzkS!>mf!Ag3op7|OuwM@kjHao#Y z*&sl4Ag4G?Gx;oJYv3=&WS!dtqO(zaqwNMJafo&jeKJsEC-EW*zTPoz!*{*X%5a$OB~^ijhp0_BQmjMI@vj zB2{l1!T46Z634irM)5dD2ajRfIDtO$9Qq4O%Emjpo8nOTWVB8Tq>Y&N&;=)j;`;Zu zlx-)D-c<@H7J21LA=h+_<=HNZn2Q_%f0i|gJ~_wvTgEIg2JC|b{?g7wnQ&4e+;F) zQs1nm2$UD65P|tCa5)B4jT_eMj5Q#JMcY&a@a($7^YSA6n%@Lq?lq}?QnQL{8pa8G zNxXlaIsi#H1gwvh4#hWCt+d#0oZdUyPs=rwQBphs+PEbf0{|@ZBcl4wp9i+CrvgS4 z&d;E_z0Rrw_bV)v#bHiIakwVie?FLmu_;(D#@W-Sv6bwi+}QJ05_md-$L04kPcU~) z06##$zg)mdvQQ`-He>D-9YVuJM8F$yT_V+a?H+oT39w2qz7QToeaJkDpV`3JL;?PX zQ!Prv2!WvJ88<57yJ@n$axqY;NTA~n2;jA&rpP1nN*Tdbynh%HgwIF6(X(TVl}An*Y`MV*JhXpoQDSM((m;_# z;*mtQ;oGpnHTd;Pg}%@%7!93$;EC_AbJvG*PvtI!D~`o~{(JUrdSS3-JVhvE{al`~ zVZ1Hj>OHjP(fEPPA6}TmxsMk%{A|)|JzW=0imb9^vGGsg6bu6ZI*H1)Vt;B?_SEn$ z78DpvPY1Q8h7Ru7G*e=nnxxN*`76-6nL{wi6%#EF*cSSsg8~mR;tun&3p^m%`o#;q z6mjAo0R-7PVio`hWp;EAek%ZV#903R}kYc+KKfn@Xiw5|LOO- zDpIt*0_Yrf7F;hEH5=nr@pZ@=CHMIh!2Fp?sV<0^69r63h|rDq zd>C$)rzBj;g;pvq(`?)@pI-4JizDI^5*h43DJ!pY<&Jp9ifJ;(;hc8;a|ahqOq6$` zaI1ow%emMUEJ?K8d4cD|h*<7>pa?L1`%QZI$PB+Jis{WT>3?VJbbngg=pRggKBb!W zf~|hf3HwT=Hvmru^;t%k;=4#P=*v5Zc<%rFVY=G>aikot3h8h>ERa2ohh^%1U& z9{mw;%&WMlqJIr>0%|nl4-v>ldS?3M^OQ-LXMK*w$ueIM9OxGig|V5T3!MIjHpPl(W7lw;sy^e zB-y(m$z%-&nPloxD)+u)lxD}*;F4<>9aWR~Y092((0^IhO0Ibt=yCD~@qS#cd~5M8 zT>q}4D<-2p)M;<7qZ;o_>vaYa3i@6Ip?49e0)kG$;+vVFL{|?u#!ZI)V9o?r;irYs z6MYX1p)H$hdQE1>LNw*2Rt-yg&+4BYtA0!%8cSmHHeBI!6OF8;eE=>NeP(&W!_nZT z#7o~{RDUu81ie>8@Q}+T@=71XOyzHipLqFAMdDQOOWuzS$S84t;LNQEDQ(Mcs%k>( z<<<6>5Z=VMfI71vl$8TzZ|C;>ucQV1>u7qV?@1zIqYrTZ!>zb;qLw{Q~KU}*(Tc#@J8w*tC=NSkJ{(Ua)nGgMr1{TxCB#yF%{iB&b}^1~8g((D@3jh3%(mgzs+Tk>0(G zuXJ{7c%gkqJon>3i@>AjPNtPeJ65GXc%dA}Oiw;tGaDP{)z$jcLmNK1QxmJ+oq@~p zDMrn(S?&i4=-k_I%_Qtv?Q~Xl^q#BA8h^6^55+oRcgs?bmO2t0YqpZv6~D?!_GDc{ z0YR5A6csYTr14frppu&{a)?JX|un=k(ruBsIw5moT2vp*@AO*dYcyMx%n18b9 z=FQ&KuZbO42}N-L7qQ*69g|K21-j-kPZ7NkYLS_d;5h1v(3oEn?&dyc zoA@a%K3WVlV2%Vb(A`6|KmN3KcU`>w!Z46V^{&UyCK|VDVeYF-c7HCXHGh#uP6$Yb z_>trsp6SwcWT;0Y62B`5-R%={t`#Ss*qQ$p=J=QBVqJewC7>vmxxfd=kP67;PkWg97oIBYvKx zc1$V!#h_@jx>Tob5VNRELx1!+IZd3yxQ$q*XcV5w)bPxU;mB*=3Gt#Rv7DdLSqXBf ztP)FTs!CsRRN?9mX5_Z$R~jBVZg=_d`C)a@Q?JVmz0nk?4QC7Wb}UR+gcihj(z*Ex z`cwM}yhCcv$YWrPX{xP6Gbr>I_^V|z&;Cw^EqH9A+EMB zSwER_R@Ti0xDDd^>3{KrIfz2&aT)kQm#Q5_beA~J1!hg2RVHB7hJgFj1?S)I^uzf> zjZ)^cg|vS|X3)2TwQt-5hZ&K@2`Bw|4FO9>x3OeD=tBqe^@)3)uuNJ;cW=XArIG+6 zQZC>Upsyj*O#4P%$=dlBC*|$DFyuDkOW^A|SXIc=xKgPfunu8~K?k@<- z$7OMy{*v&ISoMLyi@4As`D>c^yFhvcV`neW0Qg4)D!4eYImG_Bd({IQl-Ug(SB?kq z6*ESBV}CREe4Y1h=w4A6DKAbiL*Jb8pr`Oc;`EhYe7Ij1TA1uQ4?w?VLsK3~`-X`B za|g-Sv9^r*IT^TI-+O5qaA^pR=QSXI8R^T~N~v?92vr*RxtZEaNm>-xx(R$p#+y>0 z5?@AbDwjlUi6x{M*J)FmKxN|$kwG|p&HylG#DDt9ZNFSk{Ibpm>@Z*2R__UCDosQs zq0Jx{=(X^UD6S;hKz6MbL6Hms8%E)z5tzw z*NUhn*vs|%u?+d0D?vn6`bCpP*>B6u9X3ELr=ZILq1ft+tQAl^3U`%^J1EWoh{K|Zj?q>r0erQKD z(tcNSbd}uvR&th+vl4g!H!;wB;FKP@s(-c^xC7k1k}FA*pQ{!o$t0jEAPXeeL=^N9 zkABcAxkhds_xSc?dFIfjMw3*)&X9YkrbsM?h5B$>wy~%=kTvL(7v_2oHjw*wgg0P#_@LBqdMDQ6@TF( zJO2RSgN(SQBUWCaDzFD=Yxd|X-gKlXnU_Ac$J^4iwu53&F% zDi%&52?4@ATm-BsVz?-%r~!WcdC)QDeBZU#{&rzL)1e}yUs`XyC4@u@7ngm!uC+T8 zYmN2`D7O!oR;nboGb8WAQJXJXyN#{e@fuL);H-VPeBPv|O|m;(-1uqzTz@XR)gpGn zK2ln`-uU@UZ`EQv2WjrTt<6D@+)cRD6^Uw+dXr~DV?LJKL@G6~TF?1TD$>oFw##06 z`D;T+;N_C9?$?tf9*$!|l1P5uTiduE*0(BKMsM^KPkA)9L$0kuupM<^F5fqSb@B1! z73T5`p8ep8D4X_!jB-k~K!5DyatJ+BtjuQjoGr_0_So0MvcBl^mA^SjOK)qwNt(Q2 zVs^rHwkfsww3Wtk*&Hp^JC1hXob7F^*~rJy^**!C3-xfdUfn2G`!*>KhNQFcd2q7R z{Sh@6`|8J=;xNRu7qP`FB<|~heNm_T)V+2GKj_*~L6%ytGj1S^Ykwn27pG-n(x+Oh zMybx4N4;y;uL#-xDNVS1J+zGz8~1CS9+p*A9wR?|fx%r}$^7-o59?=~_{O+-Zs$e4 z$W{cJZj}1;5bdhdcuoSVet_p}RuEa5g<6_7?>$zN!!5w4!?kN3bB9Q}n7w54C^q|6 zIeOR2`hkb$Dw<05kbkPfUU1f$T|Y06M{~$k;J_v@F3P#{lH#bT2Q*xi8prfdJOz}A4j_)qbjx8qGH@AWd64TiTB>mV1C*{nY*&7HHY*DJ>-)ZSyDl=JG<7EL)% zj`os+}vJn zXd~v1@_+QysP(ON&-$V^&|slge7%JMUaX8wU+p(-og@qCrWuu>;gSdNq4?c>HRM3> z3YEk|vldfpIx?TL0&YfD`gM%sl(O&=oz}i=URx`GnD{r+r7$`ieC(4$Y3F-MT$R~jKa?#z z(0`kxN3@--8$}6A)myxemu%;m{%Nd|w{$6rnX#FUub0cCYFpdg=z-O8l_7lla` zVeV95hhHJ4)_=l&;ni*Kd(epA?|D?Rr#k9Jrfk%8mBYB)-IP0%A$a1wF((B!h zPKUiYYlmH`HC5McUr(adW_hW)ceK*C<1?4C84~46UB6fGkX!rGdM|ggbQkgK;(slnuGgh@+{h>s z3MOohreGd}XWhyz#?rIFGnE}3-+#+@tHRXkuza=GYebMWi|`^0=QI6Ow!-Cf9hT~Q zwN=YF7If8juFiI~)pbS10H{}yJ}U*`_{J7KsJjKFO{KN-dz$SPOWTAPdx0u&?UsW^ zSS}V@;VpR2ZiA9o8N6|}6FTYS2-f*D(sdclHVm5l;=29rj9-sin5Jo#Jb#V!Kw^#| z8J|j%=y+N+F-cWm#7i+F7^Ux|XYzSem(eX=HD-Pc1npwF zo5CWxQsq(^DG{&jlPf$-G&`~7!;rRR(E{xubnm6rr+r5+IzPTLc{CJpCB=M+J>H4Y zh3wxsJRS9+v{owjlS4>Dntuh)_z@M$u+PG6?)2$`0w3zp$!m|<`nA}otA6v?@9*2f zFK|uEd<=tgn9tT)mpfrt&Rl<16%OBZs07HiT5>w_`^?gt5CCcGmLkS+9%RrE^Y?|9 znOzFEqv`L0`_2*2@_ZpP<2@X%7b`xN*=gwXTau#NB4_N)r1$=`34h-O*W%{5nFA%C z-B*KYM7&s~Ii~YId8zq;@7w$G`P@qK{h8;d*9o%z0=x9}cEyG3%!_-o+zOYgDOBra zvBi&VeaPdLW;^+a*)~n9=UMJnv86=rGMO>5+RxrlTc<_L3#G14-n#4qT~i3&#K>BuW*ID zdny|7wY%8tdB^h_$dA~21X+hKXSfNI1s}7G)|?c)$VYR%U8u#ol!bA7+L@Pgmd*9n zes|V=l+KFeJBkm|r_a#)d{;~}Pr$}wVSj%f6KQ^9Qre$qoA+}w z*7~X4&9>bwZtaJ;59HyrKcyF2b;c&{W0`oW;ygR(KZTwZsYl$6(7*24h!fH^^Vuqv z>sQqty?k)Yiq4nTksfyIBlhmzMdRE1`7jE_fx{GQZ{h7N&~coNZ|>ahe`kPyD{4rG|kE@|{`qVxRGj)No}rEdEmfxD$L+ZYk=%Kd8IwGLF;mq42R zj_1o|ejTww1^rHlArIa14BnX@l6yO3T0PUN@`6JtE`L4mRBX3(s3K#r2VHd-qS9wT zz5{|5;ML6)bgktp>Y_t^G_7D3LHBl=%d&Hs-+DsigPnJQr!rZwy}V+=NznFO@#P%_ z_tR79vA?;e(+-lyH=SYeXvl{R)gE%)`NzG}S=4e9r`OF@n$TSzTWbGOIO~K6YVXT~ zJxF;WdVjP+t!xK58*n>pFQQY`^OS{LH~e;R%7})ywCLlq!6zJpEU<#5Mmq1l1@6(M z3gshxr_$?^bzn$m>gMD$I~Kv=x_h7ZQEs36-Z?r=z&6V*4v%`M0KV>;o77#ftTv}^ zPiMmmN`d-(9G<<4lK6c|I?3?I^0~9DexDEX^nbp5^hrBwUfo*`^v5uNXi4+l!UoGb zJLn>tX-WRLo%g)HDUIAwJFRxAQ5IsTjd$G!S}~AJQSZTiC>5X`kvcsHTnbOxwe7^0 zl4_Q6a`o*w^%L{CHuL4pmqT}T$-9uAkk$FH5&dMO)Sko2peJ+`g&R=PIb=tmf>3G@r<#lkj21v7E9xP$+N2ig@ z!{)%~>a}=YP8;PpUu_{d_jy>#%gZX6(|@K|^ryvQo?hhBuwM)N#vG2qa{ahQ!V|oP zgD$S$!X893d3}CvZch0Ud=#hgj4ym)CA_)?jZdrB>9&QdE*e>7dfVH~--?^XDvy-F zK-cIU@`i7OMbZJOjmxuo0t=dY?q+ta-tWx0>~EIa*{-!s(u5~?roN;+Yp)tW%74aD z9;YJ;=YV)^K;(yT+iox96)pK$P0aPlU%S0iZcM?9tM@{7UvAtPD?waXZu6*xSt9JD zji3w%OPJB`{e*f4rpKTD+(h`fl}`i6`QA4t*?(^@BmgrIO#kmFsz8*&o*N2yiV6a@ z1QtwL0O~@e#xeJ0XxezoqaLPQm48^ege})rEW1NV(q+bONNY(0suhZX@uaPZF4U~S z^#Kxr< zl)dHRJ`MNKy<x%dsEw7;-9qdKV@>aYb7iY(CP|f@x zIP7Q5UYGj#nI1>ukrLUy&fO^Xs=N2BFHh8*XALSn^(vIlr?oE^D}TvfMBOX%7CYBW zoWUW|Vbg22rnT2HRP{!$?Q;-l*}%gqR@|7h_g9o%ot-_aQMe6E`o4Hu6XYjn)(f<7k*Nfuvy5;&)1cxPmVaS&` z>raZ=f~Z-!%Vl*)7qCt>xZbX24oM&CN)TLOb=toPF7GBVf$22x9f91rRjFoW<1x_L zK8Ea2TY+NpErxB+GP`JdTfqw86hMV?d&8r2`RFfHQGjA5w0bYWV+kgP{IN&$}K(7vayj7BJ4>f%~%flx;Jv`@`T_u0LI`+_u zjOT0d%GQf>%0ywcxo#KB;J{tbl|%eK%*EF+(v$n#WygI?RMW4nW8HGPTiervu{F!z z<#KQdABT%`x_|Fpw@b9Y)yeU8ft%Z9(4PVbl3e`Y%8Z7r$A4HapWX?{x#&EX^O;;eZzyTb z@9aLxaI5W<+evt~XoZ4YxE^;QQtS?_xC2p374`j+RiJHWrK3Ncd36vDFK-lwOzBJy zyTaybK6Oucs_#WPUlH{d2Mnp|?R6rwIJsrc?hrRZmY~1a~l+JMK-j(!fBI*4>uII8Kj^nqUdo2-ovPJU6x{ub zE63}?KeP)uOIJxIVi4qeM~xQY{n06nmTWA&34iXPM71Txu2o%%HHA;M9M&v;C#`?g zKmdbyEIMsnEIieJYid&p$E&s(_51SqZVRDmyD0ahM@c|+h*G5K)IUL>i74HQfaeyv zmxxwk8S3-(AZN36Yzil{R#ZsVF@D^P^1zxiJ-uwG71!r=b+(tQ+I$yTv@a!oNLzN> zjeo}R0Uc$rTub{X-LODbOb)Y!kQn=dyx%*LZB$!o-Gw`7yXWSfKTjxTwYJ8u)b$Ql z&|-HuW(fpfmu-RvFeRo)P~{d_riQaM?r^?qQq^zA)uON1z6lI5zqxv++HQP9=awX8 zUzy6u*uByv1Q>5~7nxo>Tv-*2>JWr%c7HwqR4Z?sjod@_c)JA~9$$FfA4JnrO(MBOMqn)T9`k#o>69V?WS3Hc?7j?%$>fe9)C-H zP4D)V?O`{gP3SMHlMD8)JFcpLPS3wv+F_}SK^Q?2UjiXo2F-O78^PQzP+>{+tBTz^ zEpF=KzP@47Sb5XVLXkzDzm6@kGPJQx_)K0LiyNc+Tw7a}L&?7Ljs0$>3ERh&&&Z>= z6%VI%mltI4Gr7vya=6rw!O~`rn}4kYJACz5{$h7gt9%#L=V961*YRnU43T1K;w2aQ z$_#?55r%XI&S#aKcPRFrgIB#rx6EuTowV~T)FN!?mi_LdD|=t}RLf7s86FF;emp>~ zRwk{_gOuZH5uapB%SgjJK@6oBOQCn$3r54cJ!j`ZI-pzPGkv(2`DkM+zJESmhp6r{ zJi6;QuhWIMR;1aELFZ)#NBedU1q}&e=hR!gU0cyg3;LC(E9*Q+Z`%CqG^`IVqBP{@ za*>-!neX1KtURo}(ce!{=4|cnb1PPKNQS7dpuu<;nfksIT}~Zz1d+J9TDR?j)%%5RbjS1SjOGB#OQ*OuY?G;?;hL2#`M*8D|O{wH?x6m$2wLzC#*nS92@sGkbO>WuQ)G5)NJeJ zer1MPzmIc^#-W|g%W)xq`r+H+JBUth;hP&6-L{KIz1g0+a-Tcy@^q~0e0GY$OJ3wJ z(VDTujg1B^M5Am;rp;0jU^~%F{{(zFb~`1eSPj;>oi{H-KLHEow#cY`d;j4 zy;RZWV4o7r77xs7;!9EO`K2UsaU0#$Jk-u4RK#wb17H?^IE*G5`R2vo{xtU56`kr zlw=E@=jFl>n0VUHLvvH)afo6+)xR2B4r92;Y-Q`w@YkGW&w@O@#w)KO)_S9CmC;{`qjFm_C<~PJr{{HLUEZNJ2w=Vzn6wqPU?t5!n7@JQol6(p zlEr@CJ?_Cno(b-fE@y|WqNRuX(zqOU<9Yqk?T!3iZ`*S!a_CQd^sVGP0VpzUQCAo( zo_IMg?te)iU-u5ww=kp9*auX(n$@LJH%Ls+&FZ#gYtscQ(ez0{3x2@&cjReZl)AZ4 zdePf5&zmBd)i~Jh2q4c#VAaFTzZYkBk-`{&wCTgOxIbHKVPl_iBKzAh5$T z6m?N=S_gUee68^QJeuKp*s4qaCQDWmim5{?^?wj@@}j8V<%>>ynFFyV2E5taR_cM# zMrZ_7(=h~RWRkSKUFV>S7xt}ZsqlQk6_wG7%ER*g5H?4-FM$jmJDX1Xj8ae|4`U>l52zaJ|j2)43n`}5-_l2l|h*`#7+w;^qz|JZCKDnoI zUw^jkRT5y~)oQE8>sW7(h!9Dr-W&6r#!egTuiyLofe>SJ|3;MdEXJ?L15-i{p1Yjo>loivYIcX$u}Qg>#4 zD864>R>1ec3{L(o%x4>;DW7>hbM~h8@P96@vPhI@DJDs{wE2CkpIc)$9K^G;U;BAP z#<#nf-SYn79c+CFtNX#tR_5-qUv?_73Uw|_IQ zg_JaPl5AnF9bWrI^oV(SQ_(>)%Se*q+w)euv1%-KcWYC zN|Pp8-mVLJT$~`@KGV8+ErvSt`m#Lr@5G47>>zdxj05rYEE$h?*N2lCLML8VtCe}& zoaf#M==SiWKmGP~gsDjCY3Cx*%YPj&ejoc+e_d>j58Yd2%VnIL4bQH(RLyG{zmW8J zW#XN+WqY+sd@};EGKcI<%+j5$*Q<@B>&>I?f;`V(hm|^Ctyk%MxqQD_E6TIk%zPX- zn~iihozL%g^;j8#aDUQ!bf0UFX?T`u8STnM+SFOUrwtv%o%+O*n-Y;KW0|Rgt1OVj!@8A1o{f}+4p3gtKX8out z?nfNqkcD&mZP&+hedGY(x}82uKf7ST&#qShK%@Nbf>oUw$^h^7i)rVp-Q;R`*f+2_ z#^fa=)A9FdS1MQe-Sz6Do56GUd08|^{c?3ZuiZ|&R=Lyn!|b5#ihsRkH}qKpfR7(( z$GLuXx%%vCHJ$&n#TWA1W8zErj=wn~Fy=C&9BoP4f-rhRs``s`u_ z091$1@$i+#^Ghl|X9Wi!K2C22Zl-O=lOrm#HwQpneZu#+oOZE-pIxf}fa&K)Ei!G~ z_4%m*kR1RvfE)n3$A2RZvJnUNaJkaKW@IPi-2jdl00v)Q15tb$B~Jgtl&ZH$pFop-GQ##O*quEJ~u@>B&P z=1@&B<`Duc4Pd|@Dor6^5qh#r6DnJW6hlbE+u)N3aBI6@1b;!FXgiRG5Dilqzh@BtVGGk#;;5(#p^z+-(afAe|s&G66xP~A&837ED zR$%>9)H8+42+%IqX{&%}PXNc3UWg`;Gz9(Zfaz(jVeBg07;2t{pX2-jDojRzw?dH^E#U^|HWd;$SyDysHa0T=Ud87LyKgW49HAU&yECV)nR$#FymGR6Ne*=DkvTBM_0WeX>y zjZxYqWa$nMNdxK=A=}%by53>*BCs3uD~o%xTp!Cts?s>VSrCovQ4c%r8>p7jj&HK z_DKi=dqPPL-omU^0JUs@QxF4q0pPw&cTdkBY5+#^03rFt+k_P`i`9O@kZfU(6Mwd+ z$&Wq8DK71iES)0T{lUvJYbLDt)P*fe)gI$`G3;OS0< zpEw?zF@v#qxhutXg-g4(=;dnB6d{1Q!6m3Dutpq1y|B-2$t?w>mOIiE<3fi%Op<8Z zVVcgBf$A947#7<+|ii~E~yGdYH|)c~8*aJL%}okWam;q(9k zo)*NHnT{j^1j(f%kKJB+LrPr00R$?5FQ$|~^-JqGS3pP}cudC$E7Zx(zkfLVgYOQq z8)J?Y2vkU^jg28yK*7&|lK^wsgUo#Y?==R4P>^*HOH*DQ0XU2bBhW58RR!6%c2`qf z&wgv?Z!YXG%wiBrdO)ukVT_O)Hvq*o;hB~6DLK>k3xZ59T&b@soimm}L~T`R62*&^ zS-)@H>HOYV*1(ScJwL_M`G3RDct4mp#i5M;5l=owQ?2tAFwhF^d5Hik8&Fp|?G(V~ zo1BYi0|@y!_p1OI1dL+9BL52T8ieH$Q(K?TPdUDToJ@FaPvzQG7Ww7+;W$4qnvJb%UF4?aXY;{VjE!T!X{509Ep9K{PTGyoxbFIj-$8u}fpZv>%U z%n>t#y42TNfoM(BTxSQr20!(8k9=52IlO5UP!0fvR9K}zVkiKRP1j?C@Adp2Jn!TK zP9cr30#SAaoMbw;5iV>`;Royg!N=ePo-c-b;A4R4l%L`!KYyK({?w13akK9^71-jF zD(0}qKJ4eG6NnD0lIVb8tiblD015%iKHbn~OI(+LnoWJjVVs6!m)&y8d4-em%dx*> zTW}jg;6Mjr1+Z`K*NiF!uoXbD3Pcq`hQXiw`tT7DPQQ!j=XVoQe(+-fzJB|;ZlJ?! z8mJs2u*(oC+J8W!SQYLaR=oCrX{tcxh7eBtDN?Z4_YjiLgtaLMcW`dez`-6U5kOXS z(>Mp9`qYygOx&f2{`kWf=_em1E~yUbmp^{-fA^^|pBganO!}?a3={9d<~nU5ME0^w z*^+PyHH4E`rx6+I2yu!4C9VqXy$0=Q!m_EC7=~!O*MIf|D_G4V|9+_b6$~*wNZDYZ ze$bJW_yfGEA|<;TN4U2mx=V=Axd=%q-Y1bht4})DbfJb zYLHnMsDCA%@&(&eg21me;hD_l{wFV|78P!oWdo(1^5Bgbo;Z;B;W>Zn#kWuU^a5G@ z!*xFVT@CHw4~P7HzqCKK+zG#906TkO@>ZjMts)l12v7zXC7vX4t5#hbUZBbRcL93@ z3t9Wq(;a79%o&76k9El5GAuBl&lvmMm~K#ne19clc$)_z-RdK&p++&FM8z!4b^h(~ zU=f`NDC+=ycD{xHZG<(`m!RXoo$|16y(tetNUvld-`?$$FaPLq`cH2Dauo5eUnZUx ziAE_a6Bl=?&p+rDb*<8LLs(~PeG8E|=lkotRCIrK()vhc*aMWR5Nx$rNgEBNZX! z(f0Y%`7?6?6aX9!$TPHi!dmo=yR;(xA76d_`@vZ9rys{3el_`)3_oL?{Jxv=-58_h z!|yoJ)PNoUi$aL97D8JE&2A2TTLsKIAb*~k5ZE?`wn;hD;FNPE-7Nr?L$I=VX@^dg zX_!s^jsiHv%JhF3T_M%3h-V1UNI^8?w@wc6I%kam4uDR6OeR0RCcfiNe5aSS58oNm z22Z{#!QbBJ!!PZfs@RJ^G3?X7*#3>*iI4u}_&n8*eu@#q7=*3*jmap4v0nj}#(%K5 zoSpEoO>4U$Fx3!EDJ`WnVVOn3=!|>-HO3+k(+F}r=?<#ab9EZ4A5jcAp1VyV(jaod zn3l>Ay}W1@sfE14H2dJ9^`3AsLn8%OpwtsC_9kdQxCjIC0>8arkqv4eY4GE}sXxhf z|1(!pn+Tu@jf|td~ou&-u(7j)dx>1@>3&?Ar=2<5&y)XNmuBpMt`=cZNd)1 z#eR>OX6iN7$)x?zNe8mA4Q{2`r4wEtz^?*=(FOIO!1P6CF^vHI_)YUBETU6Apds|T zy}}-E;fWi}fbthlI-oP~nq)@w$QIU6mntC2Uq1LZ7JvHnZw&ruBF2zjjgVfA4+ec| z*|+DUQx0b0^!W#$iYSN5ynjgt(Yi-=pirU$W_MZ;)~mSH0LL$f;-gk(N2Q>y7D#i% z_L}W81UbEEV{K0Hh=6dz=h)sL~L+neh;ANHPfg!-K7vS!ubE3jBdbwrG zl**g!0!av96sl#t3t)F7Ks5gquK+whcCaGJ;x(M&6@TK23l1AmDYt z>qOyxf_nVccg9ogYkvh6Pf2BbVNLQdgP-{TiRmT);uII;=~EX`^3gvboBE^QI%3Bv z|LBGuD9QEHn|*pVuLL}pG(HHa^Xbpvf8lN*lo14b==eYZj4DDWV<1rl@ZaN7_|XGZ zMYv4;Vb%g=!V^%=wE`P}ee_KY4)&zAe*Mv>3HZPI#u-r{p?}&hX9PU>e{kazdYoWb z<2eR4g20;%AcYXPiZe3!(T_NJS(HG?KJ{x0R7ug8mQ1`^``FKRrX`V+{XTtVi3^>P zsYg)1agr@afWP@amkOOlFr=!3cxw@FUK5`0o(Ppy;X0 z{?+e3`0Gtx%ztXcKls~D@jRH2dtYAq!xz4G`CCW+a--1Xx%*fK5DUAHl-LfMJ4%?g0z?JAdx8Fb6joaRA-`+tavZn~M50 zZo^M^e|w{Jj#2c*w!i%E7t^NqlZj7|f%rdowgi9qdi0|^ezY)SNYNE!#9xq;xzQvL zrHRd+H?wE9!twt7WLI0l46-&PjKxwsUk9P+9$2eskR^~~h=R<)B^YdWdmu_xgh>cD z2M%^%2Y=`mk& RcpW86LYZ)LBVbC-V8RQ#``oc?t+i~)aFU;abWns^od@~!44PIP-Dknq5TFf+k6 z3cyI`&`&K00Ttd^30NDzQoJfWHRga?uezSNEq_8#(oOIzQ)Y^jKUENJD_TcC^-Z@G zj8aYl`0ZtMg|;YTG!m-j5K>8-f;}nrG66sV>eLsT=O6v(GJynoWP?$NN65fb$CgH! z`5(;s_2ixflJo-v={K-}w5(SJ*L zT3PLvSo6%ka zQ2?nqpWIS!6j#s~?A@Q<>7RYb|2=jDJV`wz|G3U%H~-*$NJq?> zrUDx_Ao_CIf=VCtb+D{*)EPsV9HAB#0 zU{C%UWc1Oc3h>+GPIb%!znpvOAqx88YxbvSl+j18_;LmRmn(S3tC+>W1$4>>u0RlB zjCQ&k&&zZna*dOV@u^$(ez%xDw-Jn=i*8-Ry+vOLL=Yq5Q$Q7EpzQ3fWTem$(DY?- zTb<@ag*TXZL;pAK%-NI|7Jr-K?vMVx{D(fVBjNA-*$-xaeet&k_W!A2oHAHYmws)gU+rKgQ z8ONjwPPU;Z$UG!+ohW`ANqbrd^9z&!r(_j^J9#(%*__jw7k7T)<( z&+u3Oq#xbq*XJ?z!5=O1GY4N~3$_2^pi^KvaTbHo-u~JGqS*J-T6DqmYzW@j1lzg! z=_w-g1V3YcSFWwuP%KQ9%SD$10p2X7-y;4-q{XSbqD!KYH2sdN?T| z&;Dl~{q=L=j1u~tCx89&5=ntPgDNw(xT+<{m^BCFZG(^BIjH)sVboclHxH~GOwlOKj?(u4mW0ivl(wFBJrlwO&Fj%=tfptYaX^3I? z<-e@KoT2MyY=5baePy=INDR0g^0QQ6z_h~CKDC$>~S>s(&oV+Z^{>_AnfsZ25?8j;WSao_!D zX`k0S%PW|naHgM@03z_saT8_#$ZTmE7X$ZT|8j-UuC1n#_fLKP;zKp{wvp&D z+<}5=@aA3=P7V9L=?W7c6t1uF{;BK$H%rLt71!*9_aL3d_1zJ+}^4uRb%j_yj zowc&O;eVN>m9OitEA{a5gh6CG;D-+Z6Mpy*2bYNt>3$vluG^XVkbl(H>TeyMa0FjX zPIh1IVba3(AAekKV%cr#eR84yz*F_4kM+Y-p0QTa9P=OB(}=wu*$D#mef$Rw7{0PV zpq<+x;NSH)8{xvNY|@?EAv#N%S{P?Cb zl2u_rNmVf3PHSOYI^j}%Qi4=R08K!$zqFq2=CnbdYATF={H4!I^Lf;KTir9NVKC{o zHADp^2AF?lTt!LH)x;x)ZbSt|+}Q(4HHBvoa7-YORh<&<>bu9(e}3|<{p1@53jgRx zP9dp3I?{5|Y3+*q2Pe#O(Epu7`-40Ezvd*sXT3m~RcbiJ#>d|p?4tuIw5NKfjdEo% zX7o;rE`W5xRQz&5tAjaolW&b5ZQmv!?P`nf?ErtDY&b|i_(SMnh?;DW31q5u3S@>D z)fJGcfMNymz^_SZ{LMX$rHJc*>L#FA|I~j)7uJkira18@U3wcm05Yu(&; z?y#rYG}jGFyZX@zzd8A<0so!HnKU&4R6kk-!~6iSW3qN@m;AJ&9dyH9a4%%U(>2p+ zZghW|tB^`R+_fI_MHrn9XFY1k{N!N%`<;lOs<+5uA7e^ym_;t)a^PNMRk^03+tdA2 zfB$g0lIFo^?|{#d+T6%-X=_TrCoWG(p#lhO!}V=r!e8@)zZ7-g%da)?GtXaQ_AlL` z{P30P%UynR-1a~7YJWB3xiju3eXIpR_EUdrSP6!17eXof2gimwT-j>SDJtzIT!zzn zh;RLjPCASBfLb&8z3Kn@6I0-WDfTtQ(_H`MGoEkOEQF6!t&)z)l69Ikaku z&uMeJ4{;GRWb zv`f%OHdLSkcww1Q}q*zJVhru83{w^Q}XgQF=1`!am+4U{2ohX(!V#N4fZ40VL|byV?XwrR#cmb5!&H3oPQ%#?0%JlE+^Xd-={N>h2h2*zpeelU*v@!T+9m`k$8a`_Y zyQ3x{z+?=mds>ZxzgVGRV#sIp&pYrwGY*QtxJr2-D2G8 zkiIl!05GDOS94nfOx6L#7;cQ(1G0iBMrisydhknb%{n^KOKt%gk&~a6T90kOh^JKI zA)DsAKxci{QGEnI3r}%xPyN?G|HQreSLaNeDq4Kk7<}U4&ssl)lWBiFoBnrgbM%YV z4H)Ga>@)xWXYXyBmgSjs!M`%KKkZ%4l=!Y|eVI-O5Z*K(Abyz=)PSg{r~#+uzfT1{ zU#|Opo@cGS_taEP)m&9qonS&pI-O3Z`{)Mur$=c^(6jXwagm@`(1#ibHttfXak+9|X;Q28doy-;``3PaF~6`V25OkpC0>8=@3%JZ4}Wxk>q+;iglbkU zfW-lH1{Gp_0i0mi^rBFZr4HN$!GhLK<2l;wnQ9m$&X(faRbYP~oHfnf=VoA23bn%# zUnsjlNq_}Ql(jYssn;S^a8<*OjuuJt!J+A}Y;kB?DPJ}C#({m$3vF#*^w(a|u6^dd z))%B5ci1By#_`^0VoE$>u8#cc93t^x+8cATn$|pU^sI8w8)u+idF;3JMTf4$2Fff9 z2K?ZANGr?#dLDoH-n%7!UeYqwx!-*3RZ{0)uUO#`#!p5)%@8WF$Q|RO(@(>Azp$7spGyC)gF;S_i5&|uw**f6E~9A8 zVjbsB0U^b)QXpWZflAu?3HO4V@(kvEq8+*;ip_oZBJqFz=;pXBo~r)x1AOz&+pe0G zWac=-7TfgNt1}2T>>JxuZN9NhT*i3>s1HUWaSV$V$Ds7g%z4}0@!OX`#h0&;b>Mq^ zKfG#l+H+a^?l0WXz!7PG!QOa}FT67ZBr$uei-lu>^jiw5K{3mpnS($1?U-5IBLYmXPw=`Z6E6t}hWiXbP7@Mba-@ z$X{%7Ene~L9Max5hDu`eQH<7VPmlbm66Dp)TNYNUYigW)+dHuGKpndncxu9SxMi)*_7_`XnpimLX*GXmTD>NEK{|3g#fHW5R1-z z6#_>y^Wj!UrByxlg(}GEna47IrC@9rxQwa5OEnOVhMI76U(!3N<0*Q}ldY7gd#Qha zsx3ZK;8vbEQhvSOb0B$&MjyWa$oTmDtDnDRfB0uiQE;G{f(c?a%K8p4uB(DwsSq0Q zfJz^*l`9f6x1*x;2rDz=ty|x1;lp41}%=>>%J(~xDkR{fyaMQEOGQe=rmu zyUWKP_lFv+*n5v=pGuN%}wT&5(^iee4S5-D?u?9TGm^qgA z8m3J3_TC}DCSNCOp4m%K^h9%fXXUAW?(7g(WXiHrn5ApGi6g5K154vOjmLk^9JZ@~ z2Qm1~g+jami8aSWM}n%D7bm6_H(I9-!iC$OXYf>zY>Svkv5}jW`KlaTms{EpYNO)j z9*VQQbo$*&>?kYN#48;Ym9)j{h?akPl7G4~{!DH6qid_zwsBnaPe0Pm8q?I8ovD@y#rU+P9xZ zUO!(`&0}<4?FaAqlX!n-s(T*G_%krG91J8}*|y}ruH?UI%YUilzYM@{GagDFMnCPr~USasq$UU6Se_(tsR2szw8jJKe6-Qm>S7DKe+JU zvj5i}f&RoROFim)ZtCUzAwLQ??`PDLzTei@(CSUnu3}m*NF~4jCw|woysX}~8XX5k zMMHH9Xf)n@ulIlTc#phku4hAyuZG{_KVPPr(a?>-BeehCLjrX2z9HWaq!Cfm#Ql`g-GW-RHCeyh1$=9Iztg*NJ+Ze(<>GzwaAwo%aW$`=&cI)X=>2 zXaD7z>MeiiuYDtkY^-P+i_N(r2vLf&b>Zp44=yMZh2xbglUG%IqCacp7%(iTZt(ad zu|ae7s@C;TgV>2@EZA5$biLq>Ycu!L4(uz`YjJH%j-xVbPQLZR!)I;%VHf-MTYdY= zzxaoI=^=7F{t(k9dI7Hpdl8E;URxsg_LtlKu;qUjtgeZjA5Y^R3p6}^m|R&H-m2== z1lgi+^tUeNqvvGVy|XW$Im5blMvYiHK)Nd38fH`66hxW&wr9x@eY6H6lsGMPb2x!7 zx%-0wc-w90TSmQcJb#r1edNWL&)LWz3Y>rm74g!Gdy7# zjiP@6+nx|7>fA51B&zaN%>(=fs?bu(w zwm-16zhZf#enC#qW115CyaRc$mjjdXue5|xbtcQB2RUr@xnGjMsvZnK64-ENGw z%yd8cd;QVBWK3KC9lM1U?e~Nq6T|z5IH_Y+9kSRSfIA?Yz)b`nTE(%t9D&{@XLe0+4$eOOcxG++W5cr zNm%oZ#t3y!PS@ko_9ges;r(OlCm5F@dNC$#Ybc}d_4Ivy6u!=;<^t%|uKoKt`^F+1 zZ=!I3568G{Oe~{C-?pUA_U#{T_Yr?x?&sSAHT>;op`3liGycc{`TrNT!udIO7{B9q zZSHJTh>7W^L}Q{opWvqCh?Ohk7mR?S!$H{_qFNz!*hMI{RVE74D^Mj;7g~AY8J?0+ zI$W133Zy)+5T|C-*Yb~FAhhuDwLQM$;AEg3R8!giNgJ;QExr%QHS||sz-ND+{<$w8 zOPB9>gLd4K246OB{HPtY;f|%Tc-HD&B90BY@6|)8D6CLkTu~NS&@TgMprVlJSRE4l zqP5CA+stKr9496-ES!PfJxffa+~X&_E!Rh&z z{a<3#8?7E6Nc21=V4V46a+)$7ZnCR zR2?);R7P#fyO_XI%N2%&h0xHXK+e)Uff%}oJF2E02?)m}D6kj2G9-VV9crm}d*vDk zijG49B3>X)Y+%zq)tQP~cMt(Xo-^Kj-0DM^|Dpr`$op?R`}dk0xXrhHC;Anm5juxo z@p!_}iP8(e^X3kMjSqpPigah@X^2^6u0q9wro19AunDfDou9Z|QQP_Ea=s~aCh)v=%Iz(nubwEThI`^Qw~Umi;wzxl?wnQuG( zFZhK^>0V&KbFu+OmwL{mZJL^1U_$0*ZyZ|*H8)HMInWlz#-M-gr<8&4z1}`LdYXUY z3%}*z#}0)AkI~{q=V~@R8ZcZTAUdrT8w4ZhP~CMDuM8ySnqUZVEyfV{m)xNSVprVi z?Tl);r(!4~4VPw{zM7*1jt**sJWmH;NxjlfH!?rPcl>xJ&th-6_U+42)4uiv}SqWPeOxPm!WLz);ZVZ*b;r~;d{(r?o{f?nlw8OXkCvsla zlpMLLGS=u#=3z_~qsfPc4|^jM85QPq&dHoKqN57=SFwNT3+8H_#;Wv_xiQuyZb9M{ z<+)7S%iB20Hh$!1jY+!6`1eDM=3FC8#wxBA6?~e?I2~1!{NzXhFN6 zEg#WmmjUT?JN)yWDUt8_V;(+wck6p>Huj1ID$N}gWm5z5sqU%{feF(O?LNs2Pzq0L z93t&dzs`TLQeOPeontrCe`5OpB(rooLM_{M+s1!S|Kd-7%bMSQ{x`0+JvV$~>fP7+ z@sDg565ot?pc~%wfO%`n|D-i^&mDg)wD3DaRU@~s?$8Y5vJ~2q|d^mn?s~12@by!Xtl@Ir(_t|T5XWPaZLOiiO9%;2m)hw0zI=*wR zyTwq&NCXy_JV2#je=yEXEn`>AcuSvz(>0`A(q{>{wTBjZ2Kt*mGIzmmj72Qt17-h| z5BA_Yr%IdSp;9pw)${SSTPpWv{1qK#SDf8o?+PPS$k z2TghUg}K5f^o3DwF;;UKW7U1Cohkfb7m`Yl8o?XCZnt>VG$-&CkM(Wm0_lHmqz%nc zUh1ZdDUm$Jq334l9JtI|M&GtCq0Lah#~QB|GB=RMsjotHaSM+I%4q2m*0)&Y$ap+W z%o0@e5|sEaSYAT?6MuzjqIK7?+v?*i2(d7qkmZ_sQymo~tN62pX#GDDZ>#Duj}oL( z-ae)O$MnjDjC*MPKQ&|&5k`M~I68+!JIoEKNWrV_Xm%N&APSW|EV)9nJ<53ACj>I*)Z2Q zSz|sQVHSJVD^PVPi5(IP9XuTiI!CM$rcBV56e{LcPsXKcY(FbRHAixsEC|u4LRv31 z=eOHT2 zMZe}k@*5BOe~@j`r5o=Ed_%&#R-eMbu;8wl=M|DH|jLP5NszFVShEt~6e_zvHF4_d#cn1^U~c#j%tTm=zS| z@#)((lCz_XkAj$f?w#W810foS*tGq??>^diah>qEFxhv0#iM`8+xP?cjiavw@W1L= zANqNJ#N%Ydqu$@~@{s?E5%~Cbx)1U@_9gy_eVJ(8D*lPN;UoZW(V6Tg)h`VE2Oss0 zt9#q!oHj3r=}SLs+&F*WpUCmOR}QhXcYgWX{u;+6`NVwZGt!aJFa*IG*Pugd%aMBH zs`J`U7P@focEEq;`=h|^T!DjQ{%dYC;&d-q1|R8r_{6GV^3gBT6th@6#04hwcmh!r z#-B1&j#+()Vu9=XvWu$>UWVo zX7dpIob7sift$3B*l*9!m4t_|WJ#AJEp``FCuAwA23Jvn5U; zZS9?q!6$#$t;7Ix7&C*zu=t-WG%)VfzNq@nTiT+zk?sBxzGSEe3&M z%w;(l$#UH4YSIkFe9L#1T0W()AG%9OD_fo;Z^38n#wTE8T_FfpiUz9GoAdbltYS*z zk$0*ws`Eu5d%Yp z9S8Z7BP!LuZEk<3TPsh$a}BjL`R2puTOa$Y-T3umn{i(;u2FiBATx+mx2E%@B3|4e9x>eMLP39C zi46P?Fo|s*X;mOnAy3GyLfRMGeaw?{(C%aHybx|S@dn8+o_Xa4?FXaozSMM1Qp!__ z*~+PC|H^ZU2T29P_Iw!2`PSj>FFF6g?`Nk{dd#mpVN%P5t0&J+WvDHCr$5ukgDL|{|w#S|0tJA6aVuZoDb!H zC_iWRukx$>|6ld{|L|A+Kt9sEuQc~_4-ieIJ>da3P>&2|kjLOKrh%%c3ju#mSW>y} zD>RF*H8vjI&YU!YLRMVs4GS?6wfRY|B-hLkDit_q{sAPx*iR$pMGiTfiK5;oY7t*a8rj??1NpGO|@wP$LV50{ zCu#RI+Z-}JOpm#_z08btsmwA-lY3rbO~w;S?xpL0ry=l z+vD4Ti(79a#;%EjC%X@6^Z20}FqdeV?8{tMG>5 zk$iuT8yBF}`+e{CfBKKkvV7UrZ|P6vc&Bpyv{IHopa@_E^AJ>_MgScdiDtF*l6jU; zD(7RtBtHz_^lj%)(wDUKK|~rZ_wRrG zXOsY3pTJE(8v|dK_}PDQxWGBLrtN1mWd40de+1L_mHH&0R+C@t2KriCx62B+!5rRw zafrD6fJMmx@M6WKD0}-U+DPa3I(#=Pha@{8-ui;}eK>-#tbqVF5}&(ZC;@E>JB~Us z81X8N8#a^4-fB3cxE8hv_Yx1-Jb)2bPh!4ryY(MA_q;i}(ty^61~^mJo^@Oo3_9I1h;#Y!Yl5ymtD)eMh*)Z-a#NRl5p zuQbFWtP7?U3AJGuXgsUbY#sTy2G&!($kpP=7nX)%nvhR>0k72eb58r53W3I3I_D?C zE4Z*o2ibofZ`*?l*BdO{qih5EF}m|8Jg)T#U^4-S_2&XKGp+#H?Xy@HDsd8j0=xEk zG_vD_GtlQkCGOz?0mR4SdaY~g3dk)Ai$ev7MS8f7d{k6uty0BY+X-kkMjEw&n2}ac z8w}P%aRupt-GEYsCe)X0XxvUfw?8z6rs8Xx7;%3=c?De7)xD4>6(cTF!bAIa0yrk& zp@QH_eJn6>c%EZR_NQ8cW+p()qZY>+Byni2BkZneSn!IVWn=@g>ME-UT7S=--xsK9 z1P+{AC0UfXoaKFiaU-zrV%lH<*u`-II6iFzL~{WV7N{xj6%-YHk8{rY^C1G1%XJZG zxnO@fTCZ<_;=YuY?Kmylrl!h~>IL*l6DrRJAO5PUf3OxD8w2-zEWocMoz)81F~&&C zb2pvX`lpKZQf1CGn~ z#Q=Mu7gvZLSdO#`hH_20v|U4#$98`j>(J&bUji{PD_gn-RIvm^daVJ!RkXV4O*0&__ZRj#QM z!c@nSHa#72B;z4jVOgoeIWm}}G7;rg0nm0B0AjfyGZGtJ5<6~9DoVMKb zn;PM^{AAlidzVZ4#%;NUn;L&LZTZEv34NDK`W9`uoeRFO0mU-IOCxw}LmXoy_a+pR zdAs+@wO8TcRqmw@ZiL-Dge~QlN~HWU+I9Ia_>A_+kT!BJ=iF<6S1?lJiCmLXP9qlC z2x9Hn&Q*-vY>ujSew_Rl53-@|1(pDBBOL!)BSu0mB6X@F*rj(@rdi*v3>k}zo z1~wk97Pv3wSn!3U^S|6DumIx9xl-d7zgKD@WhiKQ!0j9vmCQnSlQQXKNxLTo?`J9|fZf1m&Hb3?!vn=I%@6W@)!(1- z;o&u|LHkm-h!5;W93Ym!igTkjk~)UmSG~w~2!(*_6Ni{Q*hGQZ?wh!fd$Vg$B|XHx ztH(Cz?f(6bcueli&6ghIsj%0@sQ30!>o5lQ}CtN&2m_TljE$6TO7%64+AAdvD}>J|7O@eIQ2?5*dZf=)n{ zf2HoEH%=D)(VtApqN!~INbjwbEppuzaZ%k-Z4x4Ir~#JqV}ay;#NDJ5-8qZ}rE2xPIhV=+QgL{RO7<#S`iS_j1>0+m`!Ic={P%)6}4rH~U5ecudlZ zN}XihR9VZ5Ht13(oZIhm*?0Q}LO$#Ja=irHo3whX)U%Q1v88>3zLocdpZ^Et^4&lJ zGJ%1-U&^`m%X>wXR&IK}BjvO%_2{qn+X4X?kh<0f@+Yn_P~IeCk#2@ds_a z>OFp~t(UyVkKXl$@A1FuJtYq${PhBDV@?Ce|_I>z!&2-wf^M_#VSmjv_I@SasS)b!~{ff|=onX|q{Z*Gz z+4fIe+2`eVUDCGO{GuZbWZT^@x@5B7>hwbwY`p7#XhOMc`@3!~`@Q_GYqkCOu3LXq z6|dgsP8)Q6BJql@CT%lv&x!(is~|g8;1q$8|LBgs0@7C1NSlX*m>*99zV^HUt^u~V zYIvIyypkr{TaaLw65!?6{ZZ!s``nxCRvB+YC`#APtw<_AMY*QM51G0Gh)kMx2tUsO@z&CY6D7g6 z{eB4_ULRm|vjoT?A@cKyFBCByi1(j0`o+@krOUs!Hb=a~G~<`dYu3gB;}w`GMAB~E z+F7l>#5u!a+Ig4TNamLm%-D3hN!JnW^PhhOr1Co&KnRv(vRb?E*FBQf;PQW`9802! zpK?_?r<$L80=P|L`gN}Xp=kbdum7doh0_r2e%had%G5C+74#{jfJR_Y`N@*A4365$ zmtzjGfQ#&j)8;1x`5mFVj01C|-CC71jR@!gqyk+)Pa%>10L_88y$>Ma=pg^vvOQ9~ z@9|J}?Z4x_MCNh&^5p0ZzSfsUVkJl^Ad+sl1{GSHZ8Czkf|K;G*^ zNrz=i4=%?q{lCB4uVjA%Ssnq}w{(*IHyru=@k57`jJIX-{kr@}7>a*B?Y(4w+y2S^ zNE5nBX!|4mQR;sXtoHk2C2S?%8%%=Fx%{r}n?CLQ_2u7nOSd0Bqk!fuU$Qr! z{ipd#e%}>J$={`x$louL->3xV>xEpW$4~o5(A(#F^1dCX zLFIirFKhN**FHmz?B`M-@m}A5d$04icCnDZ|4Tk@$D^?~-~NBI{$Y^g=u3KSm@Fp{ zbNRO&*Fe_aN_w>Q-u+?{Z}NUlX}@d2QTbUfLf+fbUu?AUs+9++9Iqky^wUrHHP3h| z$F0lYoK0JgLE6fLDcC~Rci!`3NGB?K$@TV@i{dvwKjrs$z4kkrZ!cZ@Z_!aDzy9-o zX!7wt;`Y1btqXroeuGzvB)LB1k`yw;eJ;^J1i)+Y3<3ff_a#MOyRWq*u0CBH%7=5n z4w&*g7&rz~=HJ4F^d8^7U3GZ+Sw|Ec0gB91A-@GI*VUX!Z(Rio>1S7mQl&&7Q&R!b zB>g=hJ5hkoku5v3WN0qOAIQ(rXjJldAoIY79Ia$0BN>0kpjEQ7ThL`LKs*QPz=5ed zaAgi%HHJAs2-HM=>}|l*HMmoR7?IzMLGqi*z)FM#aeygEmEWJUDO3XYCFJ!ExQ7Pe zW3vRomSAk7(Zx~e%N5&Raw>#VI3pBnvn1+epL(zPl4+ry9k)8sm%4V3PhJMc>;gx0 zL7{tD_j`XC>V+chAFHH4R0BP`Ko7k(?9-+~MsGZXA^oC@|MtJ^%iC#l|F8e$etYch z&1Lsr{@efczwgWQ{eRnU(%t|0xjN;?=HIN%a<}?F{LQ)Ycei~1?`>IiZ;rcv%kP_G zp1yw(yPRkDe;X>wzgM^P-yXN)f8B2Gn}3sqT~UAT_x*oQHq~xC{9m`qOn3O(2@H5L z1!zGR5YAc{Uhy9}N6`s@b4DY6N>xNCejbAX2jp^Ez|ei*p*9A&eZ|EF4IQLX(&%DM zwcR{6y`d4~_^t(!8(E8jcu_iw7u{#$iFkY%n#c8mO^S>DDuV4~c{t3oB13LHPMc!P zMtOht{5tfn$HQoNZ-)Ci^EPNbnxB@}HD-H#+M9;gM&+v)QHS^4O*y!WwK>Uf_my-e zvq4Tmi_;=6GdqYq+sC}j`B+&`=Hr$3+RXNK+B0T!u;?`C#T3QzwqCTE412HPV3Y-$ zu=7Z^_w*Ws&Shb0)8aM0Bz|-49+;mM;b?#SAjrDR{g~^MMc%nrgZqA~>|YCa(0R?x zbAr{2wz+hgU|?AJ;L*&lU4{CG(dE!LX5-0VckDaH(PK>QpQ|bz&W6V+@62}5sjN;h z3-!+CTwO$;#ep++O0yFztov=8ZF}?URq@KQlNyuhV4BX(vsYA&LjSQYEQ6b4GMax6 zOr=Ww&Z;}^`V%tnx1EP#VD6fJu^2YDNZ8f$weJSU#qhZuHKD`yo5O1d+7_b1v7h$r zS$BK0`Kvb@93t-+rQ_zT2cz9?Rt@S)zpk@N9r%$mYU;h4&QM-jHYHjGVs+z$TCmto zwP|;Dy-z0h=inYjr;YL;GZGbaJB)wX!Ev)KHGMy*&un_zC=+u4Yb`Nn6Jv9)yQ4d6 zl6#z92JYrE8m-fAnPtejJmT(#g)oKjP+iOO{gdq(hGp70tA{D9%LBYpZwbb0f$p;@ z?vK;R>v=rix9K*nvu7t- zPbL#P>h_QK-E4dcp1ag|olk$yig!9HZq#kF==BZ@QBbvF-NhnIhxp-?8IQ-*HwQ!W zHQ!%`(D94#**UIW>eD4Reoa`=SMT~k9rOyGcHycV!c5VMJzZ|L#Ju;IMY>)<$L^i6 z3*5F!B(PZycBFK~e(qaT+dU|x%DQ(RiqYX&IFYTOB$zy}*>dSDCzpQ)ZOMR~-P9W_ zdsSfu+r@5gJNvSCKdlFKf9VQmXC~)UHcI&s*=Ai@wco@;)rjd3t68Y=t-73=bmPvE z+U5468(nRWh7(bb%}az$eLI*L>vg`2M&4oG>(JqNTXkM8ztNZH>simn<<1@E=RVF& zo(Kiem_}1NCvXThq|twi%Y@Eyw2J#zt6y>Fx_lKFJUqYlYp3i4!oP&c)w|sb<)Xj( zr^3%RmwBLQ`hphlG|Qk`Wj&KYmn@?TIH##m+=4TTo_hZtiHUM3jc~Zd&AQLROwK-RE(Zj1O`%|*1mY08<5f-J7$8}xLnzin3z&3}+_1t!na8=#A80qtgx{{x!E6(n?AA7k0h9b;bry!|lEp8T87`VKvy}{(abq=e05=$*C0ZFuM8Bq=lHy+0a-& z%meOJ(Dzq#C#>8&soJ5p$-T$k9UmU7U*Fc-!DM+@D`0=0#MZn%*9(o8^V;7`w9N$j z{jLq5xaOASo3axlY%FFjw+Xg)ijm$zspYBTmwFBaL;8 zvvG(fil6m0i>TZnVW8NSW|Lh!V&$L;^2nUhf?n={=2WX~SQu$KpP7rM*Y$CUtxj$p z(#JTfj@f@|IC;FX_0ZT3%*u%uEEDe{z#$&q0GEcKqR^D;m zuRt#sUK+>E{Iy^Cq@DrKS9DWqPaUChdr0Di!=1P{?*(jTP0ht&9Q4cs(osDbzVHhV zkzMcI`vs9pz29ALRucx@-bD-&PNvopcaiR%+)IBl>al#gJa4BiT?p(dCwtKMJAL9A zqvb+V?<~Gr#DC0*Hqvryd^GNn8|%T&6Sqx2Ga&SOV-<4(Yd48+yL4_DMTX~UQaw^9h+Hm~vWifd%9;s@UK*Zc(M`^D=` zXz+hp5#`2|`nkLEUAl1;?-)1NyS1pSD!m{4{Cum1ZtT7i%8DiL5Bmg~V~~*RC=C6f z#m@eI=IR~d&W9_zTqE)qkDhI{QATlExOk0r?q2;VRvvqpsU*960hrM z;?5Q0k$Sh)^D^67E?wQdhf6NAO}*>)?(-a%2YM9yOgEBbeuE^8YJa&&$CLZ~w(D*t z>p{PX@6biA5T9NN{ruiC5GDSd9J)}hwuiiK4H4eH}d5Su*Co3TKX@y&n2 z`eo(J`iowy}RB8MpiSGH&|Qh-@Es2KsVhTfJMHsMBO^oVkI_z|!}}*znL%8*VRCFF8(U z5y#Q|rJ=l^@?woj*Tqd)#kktUj%j~Vzcaemh@-k}Rs{9RD;D}4mdR!eQK%jLNvW1Z ze=WxK^*I-J+UV?1l2ffHwaJ!4Elxy?JKRsYdpnasR3gVa2e}K~q08*4lW29o*c{LL z`>S0#SO2xu2VM4<4MTacr~EMP494Z{ntysZl>8IJjQvI-_5}59e2ky?%$s4xVNhAn_EBJp035ghS0c)<3p3D+HQ)6p za)lGDgR@-~D`$r{W_NkEY?n^-xjNeSH}qVr4mRCwGiL2bZ+LZi#+=i<@4mF7?-zGw z;C%)pt_2ul4WizOk1yLJT>V}!9Upux+kcB6yVDOO6Q( zd85$XF0UVP9$uE?rS*#9a-1V7R8o=y2ZrjoPz!^Qoi>bUz_Z)R&I;UtJYNpIlRg@g z*e_Q#|S<$EykTvbW#YV2EC`Go8p6_vdIkV$2cdwZRu{ zVbe>9eS1AxJ7vnJ`RIQ|x^?5oZ->YJGIR!mTvMH1SnRL6)IT~!7#+pxdfwQhjBbkZ zavoTtJ3d|xX*`V-HK>Z-v2dPs;EjL}wR(LFc(mRe6fZUlg+26XeN&oSrj83|IwbUB z97*tKiuBbCB!dKSn(NhBFNTWw>fdW`P)$Ozc>wU6hV*~CSL?TP+#{~Bz3Ln- z!vzf&!A7zC{fx~BUZx`V&-?CRc)W$irh<5RAI>K^Dxy0(EQ`d#_agC%vaj1s?vy5U zSyHXkPATe*L7KX^A8+mMX*q}re;4ZIr3j-ZTTQOdobOg)F1R79Cm#2JO#Luu*H1egx$u;jorhT zY{{tc^5cKlX>OD8Y|XXf`_?+Rv$;u$>*)KKhxymId)UL>WsTViBnSJC82i;5OekNMw z#=DcgI&@yyKJ*^1W_6{n64$B`Tf=3w^(_@OA(?oia%L5y>t*wtXZY6HUc$8-t~Q&? z5%$H)L{BB%yOXCg8DF6@+Im0_I6tjM)#FyGljX2Egy+)nVIVXuc`P8yK|qg`lZ^PK z&O?8}mGW*sh%?{xcHV5;TX>VIyu}Q+xwHB zVxC%R_n6$5PX3H8C%hZZ^GPV8wYpwSH~rK0sw~Gv$vemLlH8k3GMsC}Bg?a9GFV;} ztab9VETic9+J*a2wTezCrs-~s&z;C^tbTtQO=xtC#6{&|kcMY#wtrnw$~Iw%oa6_jul=2N+a1?$_7)MDnPQJE$|WjpH4;&{_-M9j6 zV?Hb6=wNysJxaVZ8s-B$II6SRHE&qxjD~X`&oKcONU~;1>6aNQB%SpMw?KUz>fezBkPzy{*=VS2iCFd&RbyE@JD}+_TAF+ZGXsvjbFO7PUFRCP70x0rBKxwt*r74KN9$!j^+v`fhFRt_MBkv2c+VKCUR9D=T}gmnQ4(RwyAV z%iP|*ncttLRfOthl&|l4L%YVJx{B%04p!LFCT4baGYln% zyv=qJ>cg|;y9*YM>~&sV9^uOEzK-Z@jtzOLE$a?b;!~#IW;w5l=->qNY0vh&tn96I zxP{KSzjU`dgcfS*l^h6alcV4L`Hb?m~kKFjS3A1#xjZHT7 zI`;rQK*GQ5Fh9`Kw4dk}_m??K`G?$D2Ugda zjgv>7z3@I=D&AleA=UQAr+)B%vvuA&+rvP1z880f3@E2!3+0@DvpQwzRnFn+7vJx& z2JBW6$r%UbO-BU_GF*nOv7r!Au6AY+wuMln$aaOaU`VQeNIUz`CF0SUt)we0I>9{ZjE4F^#{%!;T*P+SpbJ7L3$jgR-YL|` zy26(G)zLw*6_+Ay^aUP}mam8&8jM3N&CpMlnHbpP9AuiA8KzHZ#a(#0ZU7oyfO3%E z`KI($Id5Q<0vL@XG~9_rsCLA73=Z`SG@b=)vEyWK`fb~PwM-77#!K}kp=Z>h?|)s? z)&<5P%)?ge(&}&Ca{J+K>9VM#_xPujFmah0rMuvQxrOQicO&$GLSC=s5ZC7Z z24MNd&GGV9K1;%%4L5Jl{o>L;QhtA;>mL5JG339F{hp|oZ_19xR*_`*5G@!sr7+d} zDiqEsel381q!Z}1D@{_AkYcuMP=VDr+Rf{*H37kaOLl?{2*7Z@}$Ww|+O znLt9}60y&TNN(+}UUj{JxOM_xC<_;^@v838?;9WL_T^VXHU4(@VpK@-;{2M*VrtU|fu)GM?h9T8=n>L`K@Ju%Y!HO)F8B(`abP~+T1l1(UyN4T4W&7a!o`f;y_kAq;uJ>s}6Momh^ ziQ@L8NR=K)%`Dp2-j!BN-M*?+mMowpwb|xQ*VUfFCCDgFr{+pLWgEt&+{-RMW|!vXP2` zi_)@UlhN%f+CptL-X7o}*)D4wn)1z4rhWVjFSkVVCH=v$)BaJy*M~*az1}NlVuN+m zff9$^#X?>}@(otxUc!i>tV5t|ilxAUe0kvBsh~w4Lg3v2$=mo^U|489(g4P_%0NHH zEMdgQkQw#sR`a^N_IBqTHts-w`;qjF_Ci}C`dHbthkEIeI>vPZ)!~cKRT|GojJm3l z6)Cyx55Ita0PcD7#{EX8wx^%R<+Ult6gaFORrch&x+vvtvDRkh9)uUD8QQq%`RPJ1 z09`|5=Fp;jW-Jm9aVRygN4rE(*s7;*O!QK4`_Xd6iV2}0s(Tzoa%yUaP=5HGh zKeN|1DuSV@2tzs0Yo-_OF7@}DO~Mfe?|ov@9y(;x*Sa6hKIDqDcYNy6K%~s0%;t}k zEOrZ)r5RxZ-jX5u&m53?h(n(NlP2-Z;!(^0$wEc;;N~tJQ#IX`fRXwNe{Nf#086C3 zVau?Z*E!f*ajAAt*{lJ7$|=<0Y#D5*8LDbgOWf6ocyz2n{qhzwjDi557?N{jg zCcBq@Ez*N<&j}8!ub06-lfomO0BA4ZPQ`wj%_MVk@nIUEqflLc>8hbE%sW7rk)A>< zb8$G>!nvmYXmbuTwXe62G$<3Vr^V{>K@`2EAK9D5C9bJu>nHfehmw%39HPZY-JDDY zaYPChb=Vlf0#KIEPo6I~^AjNFIe#@M?-ifE_BS=Do!lnN#u{j;yGvob77B36Ho4Xe zrLtO`e)biX^%H`B?dauKC{NYE`MthE`iNH9A>M8&sF3JBu;xFjMmkqG+e?9ChT=4D zmqP&GvBxNKj_+?Vo0M3v=Ybr+2Fep6%Yd4QcR(^=v~+AcG(@}c(Kh0PEiPGZlw17g z$*VvV1BJAwvkF;RT_%BF6U2IROUyLHMw81PW?Jn*ko} zTuC?I0AL-pnL!T%K7K*2a?q&@?C4^cyml@)oVY4(&i$;YOoj%qBS*uC_SxP?7DCH# zKxG36KbwHeMs|1qRdCIJc=DtpBoI{T@;1~*;_N~bBBNhDXorT)xOQ~u36?7(M?y)! z=yV^}O_u?G`$>8bJRa8zC-K(-{1QCBAnM~1M9t|9@p3x`_&qZ#O_Z}J)4z3w>{ILS zK842$PJSbF1(n38-xoEfZ2Tb?Ni$ilb6=s&jep&1cZb6<#eG_o7xvBU+J|UC!9q0t z3|U_AR@2FRD^18wm;sfLUIv(x+;^x>h|-Q8)MnRzYcyYcA(P+p6W!)RkF?Z?lqMUv z&BzBIT{?BX%Q>p56)b?fI8;C44T6eQgw}ZM?vaz>w5lfc0kN`j5{pSyrU9Ro;LgiK zW*z;V1&qKtBNa*msfrr^3h(+4~=-UMPN3$=?pkq7If5cB`;kQKkR`tgdF*3I!B?q7sET z2smdE=n5Hd%2+bt!Kn$4xn+4#IXf`>StFxM;*H_=70w{`H)T}uy4+u;Jtb& zgnpva_&cO_HDdF2j}}1B!v%1B*56n7iFJbR9!2}0zZV3E0W@UtP?^Jy5xvz^v&f(q=j^{JfeZ?sMdFHPy7M!1i^JFRtS^4!M#I& zCDKBik^#+^K;0!R2y50x)Mx8QD<8{SNct_^-_Nn5beLxnC)sd(6Xo$Me~OTq}UM4M4%GG zdDcUA2b|E3?Tqb&R=26|Nn!=A*3XcC2m*!D8L?Jfp?`oIH7TzA-OJgojs`@+<;H}Mb=~wlF{KzkwgbKax3_4xgT;5*@5p^dMqi`Sj0g|nuaN{+u{p3ea>iOYK)1eaB@5i{B%_)wHl7~_YZ9Sl`L~``7yJF4<0mg4yCp@~Q zh9BpV4(&{>gCk-Rnm-et`BV3-K`&AW5fP0j` zj=V5UeccFpw+dR9RAKu#GU=p06S!+ASyh#{u~a{x6{RKf2A)x1=Z4Q+-}B(A&&X*>q_XUT~P1D<34MIRdl`l?n|e`gbaYFVanN9LSb z?oP94vbWJ!TFBGywM)xse+W$IYb;cf@pr~@zoZsjM=&iu9LVDCG_whe8s8%lN)XeB z>Vyy+l-gohCxmym@Jh3H6fYzZ400l{q-bdR#o*ARIRjF0B4j@Ye!{ol&>^LybZJ3? zY13&ar4JUs)S?d^TEc*T6j&eq@`DN$nhzJavnjJ&q3b*0`hcyYr>Gj?U9q+k>+#}I zXo5}dONU9mhz`K5ks>3CuY1k=yfDI{wR7H{U>zU1 z8FkFHUA}$&Y8l&IQo4pCCw|ZeV!hhx!t*wOhK`0@9lem9>Q>rOlMJ8udemIbt6a`nK zPut0lsdF|V*APvh3Os!UM<7E{`aW>&%RHjqTj3i^+U~_R2LZfv6rU{ew+=x}w=oU! z!D-AM1Jog8vF}eo+qTA8l~)Hh7sI9ZOnXoA39}%;pBqWk^+qjR#-D^pDXdP>b=<3{+r~dFGji-4@L~QF+-~Z|xQnPtxNw2YPL zCE2c3?p!(-Mokn+24X$MCr)A&Za zbaKkbIE_Ivh+(-ob-61mO;rzXw54C|SU!%gr||o&r}+XkFV(IEXSJRz*G8y`jd!YY z7Y}?6V4<+L!}Qm1{+8c(!bOpyL$0lnsL&0&WBWJ7f=DmF+6|ZRUXnymf9ioesODvV zgUdFkJ-krto|-hN7suYqXHLLc;g`pcVlQ!=C<|~e3M^l+`xA$tzq@UoY$(@cx5Ewv z#bJu4mZtryZl=6d_KtE$cjCh!jfQr9q5@tv$7ZIm&mP_D7&88@{rH)68=QMBW8GA z_Fj@y*Pwst70qBs6ecqmO>tE*nE3g6NWwQ{js)~x-Y71;OP%j&*KcO;rRd8UJ%T_T z5U-big;TebU5&cpt9vcXPzy*(h^3No^z5Z2iVMJV}9)#=K`{me2IhUU#Z&hJD3o$M#{&qU_tT)FNuK<&t^P=g`8@ z8GNPbZFn``>}^XwoOc@*q6mpP&lW&_S6kujF9!sxW8yf#+qDqsXw>|F!RE}=QWC?J zMtn$+U)NVz!TdIqOZqV$vWw@Ci+fP4Cn&P^&g4Ky+LKxXquaF8g(h=~39Kk|JebWj0PzNj6 zl{3I^+k@IBPjdbSEQQy9P;$CRciCYI2QXXSZ$W#kX_XfjvK%{Xx|QfMDvCb@4xs17 z$M_}e&A#@U`usq~Ywt#Zdauu97t#;pgb5{Fj&G+ReQ!jQqq5P>I?W7z*{gW2w(0L^ z->6PEz9-fR=;7Q|{f=-Icqg+hyp}B6`5B<0c!XoCrE6hx3|g^&CAdL_%ctJGVp5LR z8mE?tDE*Iidn1FaLN;@})$S;Wc#AtPrL-U~Z_ShvVESqmzM1Td9xcGnVB~V~>>RK0 zMC${f|OgtOOFM+j{&6fsM!Ihd5Nau=oqC` z7QWVi^xBq3@|>1`nyyXRv!wjhenL?lNUig(ZZQf$OJZPa4VP7sO*0z#=XX!AHuOMD zT0_BmORFo+#zh_J4W4`NtIa64fi01b>6B<%Tn^yFaG9KJu{#ik{3?JJ^*U?E3;^w> zALrzq0qy{6w*_Gqd3+Z7EDkupNktt;;3V;VXyCiBU4T+ay3+9zq**J$cLmyXSf4g?%o-vCj(UQhw26PYqRUo>X@Okm zjN(%OA8IszyGJOL#vGg@+E4ERTz^{2rEJfB^kNdXdc)`$W1l1-WK^tI9VPLNs2JFH zo9jp0$}hef9dx6OJFmM&LFAmrcw#D4B?{h|-iBbLE#u{0dv#l9=9HJ&?(7_wU)h*A zfH7DUC;y?QI~{=F;$KNq;;^I5%t+i+zheUYjMV=PJN)ZfcMjAPpR4U}$CoT=y8%^~bnFg1e`lE=7QgQ2V7H{VR%+QR#4;0hu?A_`sjefVtWzrfb_+oEMG(%$QuBMz(6Rv%MFl$S*t9?)7OD*ylgvzQvjj(6zMTelBo5-vvSq zSD<=eIiJInz2X83=nz{zECimvgJTLIOySgaCY#ReMF0Sptz|-jOt~oU zeQ69t&&#rDe<@bF=x7;2>|Y!RM?pd`9J2AZ7tM)Tm47uGAFYeRoF1>)(9-Ty>$6Z4 zaJ(zIOrKP$*70LH4}s6QY@0l$BXxMx`K=>3k)>(UQwF;;0_v!k4;L+D_;kx{j2u^1 zW$Gq}jBt2}jS|zP7vox3WwtDlL6`6|NsGGhLBu=3f5~>3Ld1ukm zGd6sK;#lsLQF~J=FJ*eNRAn_nZ-%dTy>pmH$mE7+$*$~icP^A9mq|wNX+*+k+#Qut z8x=-0pJDl)f0!-(X?$#47)I5%g%Ic)2K=invwB)vkw_jr!r+r=cg zXXqnie-?}&Z+c!q#C?;09W*PgN~UihrI)HgDl^Z?5-7IjtcFp_N|~gBYRy`P_QJrP zGs_ps-1h>;l*S z(h8$e_3xQb(GO0tvUFRWC)QDn`MYwdhw~Z!e~GYlK)uw$cGQlo*i0!z#_ z7x^d171s;3Pw%8aK(rD$hwMKX{=zVF(@EJR&V1Y#jbKk}ho>CI)wiegjAP$s*f6ZsyI|UwJh%7djP0TBjm_wS9fO|p~%|^)>i#>Ky%D~_I1P5pE zi3mBVjxcExm-%t~enRh>z$i#O1 zplkdElZl^hXg_ie0(5b}yg6x>lXAL-e^`nuR6gZCK&_2K-NC)z10mAq*!9+u>%qn4LcEc>jp1&quE$ziPLOe>2JHme@d>y zF}cp-bZcvD3+-yCn@u9|p?uqA}wlxVf&r7DMWgfNk zBMP!bEudwBZuYkU zu{P*=aTKk}#3{>zp3X|hbWC?PQ`0f_6^BTR?=a1isc%Ofp<+zypK_S`{_|mdLJZ(4 zw%*&_X6V0&-QPad$^E$kc+KQACj%A0YDG%NeQC6gMNx0&@lqWHJ9*>pe>LuE-ym}D zpWsnS;s0DEB8R`&{}ZD1jf4No4cJk>@cteW7miPy%jNsxICs>MYBXn6@abX#eN?I zCCLOUN1YGEB|84Nt6ASef3v|2ah|l6?TLKArrxYJ(KNN$OXe|j=`La(2bf;y5LurD zs&AFoYvwg;LQQl92Rh^p@7O-+J>%ZD@llbbSc4Vj7HbjH8JrRyeze^WGjas>i~WQS5~|P4`d0Fs4qA?7K=NLKf56Fk-PqKge$AWt z0^uWc*y#~E=?9oe71aU0^`&DVjiePJP-ikE%YgPEr}T%nKRKe}SC>d)jBa7$Jco)$Njs4!*gHCdJ{Pn9c5WsI;tIT7UHD$0M6@ z1oH!uDU$KP{!;Bp8niFVzP66*4UVfVGGK*DNI_?q|M-vp63PFQum89I{y+X-QTzX` zX?Op(rkyXE|D$P#@BcrT{lC=gcJNYv1_Rqa%BA?nWMCUNWw+E0F^}ZW#f!W9e~|A# zke1^Bx`@dMnnHi529x`H_&*1W8f}u|Wh|uf`1>6B>uLLYj~Piv(zR5!1^O?(gw{=oY@fhxTDjc{AZe|_}E|8imY3zF4uBF{(hNF9bTrN7CP{@M%U==(L5 z-Z^UiO&#(tpMPdk5*wqe@u2LR{>>k6{ZWyaf1&8=a5tJ%nVWguQ6ZaEXu{isTKc)} z=}Ip6D4p#hcd2TBJahFW-Ozh)lpCWVeYW^5bBmcxPJL@38Crom(5K%nD8cP*iTQ?x zS82PXUjg9nLtr)Z!xDcm07UImb_iV9%csT)$^AMNqgHG0Ouy`0E&rZETg3-Bi=pB{ z`rG<~#p;{EU$H>#w|I%16@P1K#=06I(zP%QIJ3r)?3aPN!jk7X9vrM?pN2vZsi1JlME1Sl z>#i??dV0{^9jCR~i*GfJkFlK{3FwnpI5IsGv;^02YTaKfB5jO@-IgH>LopRggmDuL>IH!tHk%S>1#Dibkap$JNmme5P#7I)>bZP__z%U2#~rl=i#U~y`q8X0;Q9Q_dj-y<$bVs@ZAE7Jh? zVLP|pJq`6B7SMn7n1j4_5!wi3ND-9}(Ud3&uPGTuHwQDw)%8{Q0i8|ZX=yle3@ zWRvqKj9|IG=Z<@G2YSRfbYF)ltAeqV(hOL+4m3_6!{L|<kRN2qlb0fDZ1C8i^)GC`_bx{fcoUBKM2INt&rb#SJ^)T>zZ@jAM712x zn_N#%89^qXLU>LMd!X_R$>iz}Fc>y}(`{39q5B%LVKlDMQ3G9%*TT|^mz|^}5G!n| zGz(@@%F+jEqx_6t?hl(q~u z101dns=m*okF(Az-`uOKecQ!sNdTQ|LMAD?@F)_YD|_#ZVaf48%Oruhxg?H%GQGr! zac$C23@j>7ydf=PTDRk=xpfZ{O{I<9id~!5hid?U!M6nW+nP9F6#M@68^qnKCz=cFoOl zO~(;~Ez5w+cqS7=N&(;}IJtpgb)}G*wwcr!9Jes5J%MPkLzCHk>OPVflz-x`=OZUZhfr0QeBkdwzi+6f|`bAUPMq@nL z;Vd2OG?>m)4*`)gmwc58e*Nsc_8F0;@nfC6U;0o05`y3?Z^|Fa1(0ioIwk|d>Xy|J zET=yRcZq(q1K$TcqN4~=JY=8qJ6$XXqq}t|+SeAtJ%ZR4_X(nm74`v{A)AtNGXcvY zSiLeY&B*|do>0zs(_}G!U5+Y{+dPzV17A-|?mDD}kt|!tFz7Kh4Q=&di<};6vacEj)pPaw5(w;(2fh3waHSEu##i1kkXXepBj#RDx*aBbI7$;KxUXdo z0q9*G(fJ+67~^>OeY#uX5QwK;Y$wk>A+)0~>{iVA-^UKi3BvyeLs){-)4+g25E1!3iRSOgj?or z!A3v0?d1ql*!P)JD&K#t4fL0V4z8vb0hh>X)NWgZQTOo8a_Bk^Q+Fjr z31+UTk`D#OYsS%2yd+k1`!z_(dZtH$YoLC*J32p7XGr^h));c4^_w3k0P!K87YPKU z)~8k0vW-kWr4c$0?COZ*8y^fFNk6{F@S_^B_rm3+;A)y6t>ApR?@Vk}>(}sYx;N8^ zhn1Qrypwrhylt`q;$u)tX*tIYJyj(!EYoGqENuRmDnKA$EOZBQa$KkPotDcqxH0sl z1OzCO&*MXXZN}ilk&u?~95yTMlR*qqdG%uIMV;X7Uov*5AXk+(YAa?W(1W|w${+it`Zu5s3e-!$ih zn!KIc>`ZmBVsJ$(;P$fRD}s9xbNfQ4c$LK z%~IAkpza*(%nI&bkbyod%0mg=*AH-iRfV=*z>EZG$hZvk>ElzFK#|Grl}??J-#}&k z%L$f5pV%3?ZY1G>&g%Ws;DpCX$|RhFqB*+DN1@X!=1%P0??=tQ*5xELBF*ze2z_ry zrMG^6nbB=4cVhyo+}$ghrFDg@)Dbf#!bPJTzI@-Z?06~o9qH7^s%Bb>_j;M(mcL6& zSN$+}5nKRAqS3p>NuR9wJ)k35fh0zuo8ilTz(Z3uP6^=aAbhL!=71O8lpNfw=AIWe z90?9SQ`{YFmgS*^Ezz7e)poELECVsEkv+qID-<4jGy)v&B&&2qD4tXTk}9f1X4HojC?7*@L+b^=T;1x`_%y3LS&*hQ%ap z9*#I%Z|-VT=S&niFioA`J^Nih=6$RWr)2DqO5X$i3-Z&Z7NoZi-u#7<$-7SQ8#e=g z!9HMUN-WdxC#5&`ot^ohPF+imP4=BT&8E2C_FK5|(l+6kLzlw{M`V#tf_knGUIMyl zA+9J<)&jN`kG^L10y)NS7l_ExD!1SMj#U9xMH%x~osEv8y@|)L7mp?-(J{Fb`~-`< zD0HxYf5)mVDbh2GrBqOk4XsPKpjFv_1zH9PvRmkrLblKn#BB$%a>+WS$uDq!u6G67 zROvCebks`~CqE9k;An0PcX18D7x;Q%&i;UmMf{|^tjNt^d}4?g>LD=V8m@c!m8!D! zu+1orxvXd%VPtxLcZ%p| zPe}YUFhDDnmi`I0{S6@v=(4Hm>gv*qH%a0OH2B?eJDc6*o&eGY7m8jiqgXJBqOS zoLM;i44dJ##Sfs^H%nOcj&MbPE|=;rrktw2>-ktqKtfmxM2D}rVioTYyJRya%&B^B zLF=(Lv8K)A$Nchi&|QB78s+wgT^p09tATXXNdzMgP3{O>X3<4Dy-w)_8I&+_THh(& z(NF)rg)a!hJZrr_?_1Cc*l(2EsDT>veG-;*HxQfpg%ALk@@g0SMW(WUlB~%r%*u%N zxIx{X@$jSdiuF#f8K0_)W}Zo5-zY=PbNM99IlV7tK3M3Ef1+ZO+@QQW;~JO0k$c~yD|2q-n8c=>T5Zh`YRsC z>W0G&JTKZw$MAAo>T`M9(Eav)o8r1Wr335K0EM+gyRjoi#=37Mhv!O)DZQt3`{Xn+M`(kTXF8KW0P^@21tIm`N62t0>&oLI z3+!&6_H?uH<*!3zi_l4Zw(xHhV@zsm9BR8}pZ)o_0^^kMY+L=PgSW;aRL&}WhY*6q zcr{tpnALdS)GF3C<3^f%#k314})1H$iB=e$Mmxe)qr^W$skq9GA1~w$menOE% z?Rcph5ocGk>;xN*50~Qyk$V>br4xz1zsvsOoT6BN3n+9n&`_?NL_7&N+p{$!FB5Ql zrvy?f{tDd?(|gbF=3^D_)BVUvL;1g`bhc^2DF3M(K@&YSR-wA z0RYCrA$Nvji*8xSlvSy3KE%Hcw@ZsAD?wlGNI~|NJv>YJowY@m6B3u6H%)vX0a{>U zWk;Ra4xh@{kB>ZcQYU0*j`CVR1`KQNJcA^ltFCa@9>F6i$wF8SRyI`OVr<(AMU^{$ zfzcF+-B|T?E;d8B5my>PS(?LeuDVqHnj4BdecPr=`K-WOqi&U^(KQfM;!q-OfCC?h zNC&!nZ3kT)>8&cu{s7X$pWr!9n2l{nUXA$L&aiyEQ*S>XMqzljs|};N3ySq;*9QSc zhDT&JKl4W8B>ae#!&ux8GL^9qhmT^U>hPgo_GV42)roI zmvGBJB|?t~w=u(e#_&t&FP)mXO!KNp63uGd62QC#*qn?Xthu^I-#~3Qr-gohDjMls z-A13}PKW1krNY&Gr^ibx%dwf&{0b9uh4k244>wy&=P*Il-+0`B8QUscNEHW7G3!sk zI>l6xc?Guqt~ZOtF&D6}?N$o|M5AXOQXI;$Yzr5+@fGK$T+U|8Uop{`u9~+9`+5lf z8c<8;>B#^us|m=5&u+})G54x}|H(^D;l1k{!fGM_Qgh=!d`toKIR;sT$L= zx5}O($vWL5xM`4;2x)y6al9J6go~mry$RiX)B_01Bt8bOUBvO{F!M1PPxH78BU`l& zP5V%HVm@r}IWCO&%O=?HLdjvTNCGRi5`9Jt;r*?G51xWARAhFHvL>p3ol66oB($mp z(5R~nzfScf%0F%`4pwmeqd`$HpHhBT|BSyQRFZ09z3#|u2!aK`A+!)!R$JEc|0L|Y znjKY|Wq*(!Ksdo;H{N^uCX8^x2oJyhhBUMHcg{W6tcZzOT9PQJuFlMAiEI{qhwRcV zh8sL5O{_m=G9R~mE%dd2$jxHgxFVX7>h3o(C-ej(Rz^3@rsKrXQW!~b8F`2&OK(vA zB+R@lHB;_mcO)fa{w9XT$(Hfen_cvw_T2H_%331w;hR-i^GwS1<7@Ebp%f9)>AOa9 z^`-a_C+ae{C%u9T%e1pnyAAXFcQnZ*{rptp=Mn3+7krjXv+|gKG*QB=T?#KuXX)sK z-%m@O7cv|SC8XM1-NdGiIQ_L3Ggzn3;W7+fUg1^9L||LUO^Ubv3AlI~?AMSEMu#uP znwEKM`ab#ICiGyuC4RrDXI>OuPn6b;-UKyqb2P2VFAP5V<(yOIJva};%1IBGmLz!h z6n7=kvuALQ1*>U)c(fcf&11j!XRbPbYMNFftfYeWL0%*X$$G zG_k;xYuQ8>2le|+qv1W`I}W7$Irdpd*!knJqCR26VabAj+N!VAaFt<9QIouRg4Nyq zaxy>{_k6W`Qz*m1n_K3jG=fdW#j?uV)p1GHz?*6pM+Z<3ioF}>-8&q^BICh^WX;K9 zM&qkJSb|p*y1FSF@0OrfL;G&w=imTP0S?IUB`3b#T{9T4SNDkmqK+PeOnOfvb??ke ztmuhvN_km-qg!UCL?MoaR?Mhl>6I22;q@q-1b`kvTtYRVG2{?GT<^S61-WR2vJau^ zH#aRijy@Y7;XdMM4ZJ%#5Yg?RG<2^0e*Yvf#$Kde>gvghlYEp9V%+Pk4z%Pm@NtCH z?#QrLG4s*036y3m;d?zkFB31n4mLUQC}6aBv6#|vL7Hlk=H)k!BsbnYxwdFG3Wj>>sm7_|Q*%(6MGLY!3u|yMQoHd(A!NR1 zxeS%9s)gI!UeF$&N1lily*AzKw?G}&nI%M~5|#>W_JJ4b12ZrB_GXZtDR_oK$$9k) z-(PD8>?sH2bdM5Q zR`ZvdmILy6_y*1Dq^vR>PUZ4-(HpBH$ek#xRPs?poQ)d28p^TVhC+^(POLqZo!P&C zMv|svT6$swBZfmkeqv_k^+fFCRHmb;-wrEXl<_i1{Iy-{Yr!4`0xTr3KQ{x9?*WJe z-SHLD+Vt&h#?W1?FT#4`$=>r%P-uZ(V#h_iR}QqPDdbFtJ1%9B+~(L*vK@D(mYHIQ zi+yasoEE|e=W%@4SjCmt1n}`8>CByfy4ZM^$w92bksRM{Mlpb!6*sA=xhX_rOzcp7 zRF^rLma2=n$+5kmGYrWW28kuk$wjU1_6S|>`0WNV{?$AMpMbhPKAnn2Xkj9Z=mx1P z?(Y@9>L^)Qy#?F zR<6Hi9*Tt|Jo$Q+3Y{&%c*}3M@x|HK@Dx6jHw|1S^}Je$g@V(U-}4FJa#eV_ufEu0 z(5kQL#!xyaK)DX?^C1?4!p}qyCGAxMn(kxlpQ-!foG9Sq;3K9{qJ26yJfKI@}a4n!WS zt7nF6#Tuh6n(OH~;cgJA_cWia{@Cq=)CFgJ2t+0|oEwntgH#VXjNCr3X_}tlL!SsF zj`#&dDy4>O$R^SoDdvZjg6>d~a6c%gvga4;cqn)0?(*aDR2$}hvjoxmeRfiUcUDK` zaPSk!yfa*tP=RFXAWw7(ZSp1x?oOw@!0a@0vyf+=&mnFk`TP+#LdclYDm zB3TgnxY^nFrR=2tbk^Ky8^G@MWkE2#*^3))tZwcVOWaA&^jxT)(Of=|_p$(wb6y^n z5hO&CRq`b3_1Ry4+x;~r?Ii@T&{DcZ2j9*!4zI_O5tc`0WJ~QWu7HlSy80_xbybg5 z1{G%_#|ZNy=sq8dbhLvDc(&B;qU`cbs2b!-xe)NA-wdSo_z>Hy3dH_9>p-s4t{jZ%^ddgVM33G=0L;IBMLdMWVNijo^HZ z6ME-~Yq!MFcxvjH@zFIyiGoJ)qxlg;hV{7u?IpJOr!vR;cpM8pP=!<}fxS4IBcD1^ zaAOtLPmW}NiXzE?pHzWE0os;)XIAkDVQL$jCTe1amsx}Bq|vQzOK0Y3)(f~-NZ9>N zo_k(maH<f_igQ_O#?76_TArM7 zWZ{>|tG1}h^LWfQ>pai}1M{&iQ4z}y0?zP8sf#PS@t>p9hvu_!!#dyO`i36jda^;w zsa(5SnZ;L^naoRn6_qum%x!v>Ceu##N8*Oqjp=YxpqVPmmM5LAOv=+Oj-bRIX@%t( z7bNF@xV^^dx*lssiOT1(q(MNCH?rz5WfIZDP1`nn`sYV|oo>DY?9&9#cqVSiYe~|L znXvZ#DvnQHz3xR1K?MqnsXq&yzDtSkH_~2AG)Xfi$?yGO$E+2TRpb<@cEI(*o(AA~ zZdllUvixKzm_SRX8q;X&l_~d`>Jr3=dOg#BUr0()QnjqvRws`r2_k}cQ}mfU#}nU+ zjI6Hd!9CuuT#j6AG49A2brXJ~Su^`vk8`TAAOpj#kvfF-i|P7%`ALg?4P|0(hGW4_ zx|txBS}*6t*U0_Dh=2|%B9pM!!C&-Mmcr-2>WM^bHRpZ12?_vO-4C;+bGf?=aBwn-1 z2jBgJku@aukXjxEZ@t6XWg3gelP z7hRiYcXN^sXfl=OP<;uH^$|x*AC)o73OR4~z3sA>t|6f!kT>b6jjF$Z78dV+4;xH* zPenIfX|dxF@lsL?3B326Gg~4<5>cPTDtV;CJ04y&%IU zqzG{RS(X}RyV>Fz^`@0$V?B|N$mO1Abh}M=PE#pJ30=lo`i-N8n^N0GO-F!t(BfGI z2>G?$pR=a$A~BOLvb#3f=a%V<@bfq@B1>*w%ThSohKxPp(;4inuAno2!=DmA-92@< z9I|?2Cw|Qm7lwB~nsk(|3`lv8Y=f7lGiep>Fqedk6M{)2E?~w;rGZCT2z_zQh?gh6;MDe!5mdPj&v^R`qEm!2 zZE4+G@o0fr$NSX>Wf|&v0tisUCTEgbqUoGj=6YKc&KZ1y{g9|G4cGWvd9unJ+A zb}hlF*1JU6*X7g=HSXeVF1doM-5MJrU}Flu5YnJut0CRwwyI0apAROF>2)AF<0CL0 zu@b~1?}w$Zv1HE>15h8ey66eaCa6UFu{;{G$7BOW7bmq2Y8@W~*S$;y22!rC0l71^ zAm1fbO-LGll_Rgfugnp4<`{;vHLjL6Zid>}u9(eUFI9X^o!orXkHptZO)JS#F6;xL z)UlLhH4OAicSYScE&aM?xnsqY?#`E!D{c!YR$9yG7 zpVuX(rr})V8?-ONHKrX3Iu7d!-zhXFluV-ws)rJt1L~b@!vf;VR#*jJ*w;jD5!j0Z9GGutb~(wJcXUpGh3Q`MXy{bT{D% z7JK~*Cyez@h9UpSaI^^#$X=C>BkXQm)o?>^3=SVU+Ad*uAOZ>7l?;_dlhjeU4KwPt%4aa+f? z{JLStMMTIWMXYL@W9#`K+9*EoTZPGa{+X@wWC)fus-i)8&HfugmMcJZkRM=u{kGcj}nvJNw*US@i-XhC+mpg^7MOlvG?E zcUs(mfA?V?us261h1*jz`niifw;he^w;Wu0?Q(o5*!A}#v+FU(so32Ba@vEDlEW@$ zG8#K02Be2a(-omsa1>#qh*O}xN!i!5ED2w?#`O+~Y9l5BT+S;th2o?jrG+Qd(#E`& zG;KmDxsKvZ&>>sT&*N2L^|n&&k?W8AFxaTje=GM6F(g}}N*WqHktkYtq=tFXB(-=6 zV$Uy8+k&LqUP(lf()4cf6|WWzsH=)Tqg$Don~F}2mr+wfeokrobkk#f_Vj)`UQ%yS zk8PnTV1yr?YZ9!=N)2eL5fc^oyehA8oD#P7WQ&ZzD!bIQBK-&{LUNx3UKP>}d#DU} ze-qlw_sxyrVv(>mHF_Pfq1+wix|4Um(D5yUsAGlJhzQL1M%qtIo_t!Yysn*5in{eB z9`PMcVeaQj@F$>nM>vg zDpdni{QdG>DY9R~fs&adn^TjDc)s?Rf5s}D1t=;Pq(;OI?3k>#*RYQ~U9^wxt54;0 z=U9~xNzSMFB~|rH#1dK>r?`|?xsaQT#;v8u7SdYpJ;}P@b&>K77gFVIG>m5WNNn7B zEsD29%u;gMKZsg4{rkI{j*M=GMiLmgfpbpZsX&;D+nk%VPZk^BM+1qw+li2Ne{ZML zk_%ve1C+F?cfaG2_YPlYR)<_o&XfPnWBP)gyu2R%bJF`Hs?N#lg&xxh(PH)SJOcxs z_+<=K9_Q^-z@ML57P*os)Muy;;fQ6*SdP?(=gCxVk{&5a!d73}Q+)bfl)ckBtb_XX z;w5!vK+gDh&JN}0)(YEgTpbgwe}lCX-nUGo7y*XU@fIKJkP3|`cZB&g@{VAm&x(7H zNO0U1Lf=&brs5(;An!C;v=mG#Nx$bUl4(LEs!j^+Y#&tX9u~ZKe;DOq(ji;1y2`1h zrt1N=R~12vLX1lf72NYz@4LW3XklRE7IZgGZ8u}iFQ0Wam^mfO%s3*De@9D*<&yI3 z@|NXHDYclUK-~?S9$|%G0&88lSZ;`7InIH;Wqt6zfM(y=ir^@B@N!Z~Q#C&u(n>uw ziq~4b_2#0uO={@GehNm7PNASSnu0xX|14jI$Fwx(-qlBZQ*IrYL>9{2{oQux7P_im z!ve#?OuGy@E3)qNopOW5kDho}l_iafSMD!+sK)^#;IrShvh2QX0F!6ux62o1^P`Bhd z^?DIFzrAWSN{WXtf6y0B7~Zj!#PdF+c#Xf3P1oLu)+p0_b5?G>$I&Z3bAKxMw{1L| z*tz?h@;F1x2wtD zJ>cE%|EA6Iz@g!6D*{+&POxxsIAX9 z0TiM#K%Mw0yzQ{4Qcu|TC_D;Tco5N6y+#oZvEfv@D9v$S)re>eFc*5b!HQuPFYk9ZYkd&Wsd?&k(J( zsKCY5e^MSWtK;(o6t zCZ%KouMnXzmrYI|M&w~4TPYKNyC&u%M%j)JN%~RDm$D`rHedNp^KU6j-?93#0x_RH zY8uWaNHgyQ`IZ<~iVf8=GhCK)bOjh+wkSM71l2wNR4q(^@5#1qybw(MFmubo(e8(dE#LLL-I%n@U zKItzI>y7-qrAw^J7%%62lUj|~i*|j+yUBs?1Upsa#ACUtiy7HnLWF~NGsS21;20en zpe(>P1}ui!$T!~m&}>u{fdd%?-TPCde?l=?_2TB5ynnOPeCy0*!=N{T7mvr4#na!) zLA(E;~jBl{8_%aJ^m(|Ih{lFWFW%&4lpe|B=m zMkX9{c0%15xd$?GcL9S&NKsg0O3S7IC4*ZMAcImJ&DMql_Bp~kKBZq9_|No?-j3Uq zN-tAaDAkLVvvh$P3x2=R^)j+i|Jt(8MMFjmxG_hTfhAeDK)N*WSWce-xf_rjY);r# zS^y$*s|{%}?#&ZPF*AmS%eL%@1!h@poKvsj=N5ThNOF8n@**7tJF&~Se<~#?C&SEmkP#(BNVhBFweWsb~#pt0)z5DS9Tf}+Z z)S7oi*>EZGlPbe48k|l9E_B1InnkL@EWz1Cp|6p&6CaoK!Iy2QkYXwdt z={VV{Tb21qP3+HjD97MZ(g_+IhEqi1$B)vbIdz8_hD1tI$=epl*+bBY!Nkl{43@{I zSaLQjTan_|*tDLSJMiY2W)TD+$R6$lRHEbvDC`=*W5r;U54;C`e=In|MPf%&CcUem z#b`>ipqt^yz6Lp}k4EKkC0Jt|0-k3IlU1$o?8?TygwyrP+sIbXcQT=Q4nArYPMk=% zD$nB-vSQU&x{`KTb-NEcEga610H&I}=v_ny@Tg3a!Jb@EFx|qU?(l|j%?Vv3vd*2A zfMW6@YI>gmFL2U*e~L8E;Zo~MG+#bRZ?G_@H8GR>eMV4^2zkP@#spFNeNOiBbrMf@jGR(B-)eE`ycTxT z`t;j5<1dri_BO^WiX(1835`{CQ+@n+h{z)7Y_tr|P?}GQ?m=1-M-^^7iuae%mxuR8 ziL+2~tWcx62sSdSpOlqfL@zdJkWE5y*9aL|mbi^9e?_M(H56!DVpw{V2;UsXi&ldV zE>ve`5>#+GXw6*x#}DgZ$V5XBBW z1f!J9Vh>kXBswv$ZTf5)gZ#r>k-<7{vD!WE^zkVxB!|8Ys+ZbEnfaD*pGj&GD3zLLS$!s6Do4T09|D zFFTU3(CpCD<9mH!2xuoqM>p5c&B{?9&>tCWe`+60KG#WMn0TJHZE?$e?_E^IifXqq z(!=b72v2lm%X^<4aC_pHf`jT7mTi1K@7{oasMowwaYz;OV+fA`4Tj3zu)uC{fqgvn zJQ8*ES!#Xwu9{?j*D_s=mr33|@g;j4I%6eGKsA(Au{YOZqdIr@wR}vtm%eC*g?&^p ze=vATiCgPAnwLBWxw*`r)}Ar$9wM#!aPrlSf=7#str}Ila4)WBzI!iPlDUWh%L~U8 zq(t-N?x{CL3)3SqTfC7pY2*#;67}_SFu~)nO$#X~N?VM&l4XuvNUC%(PHi;6;s$ol z!Yx}O2|rS2X}K|wQwt%R<&f^cbYkB&f2-)bVRPgAUk^ZE7FBEXhs!HL`_%cC8$U|T zs)AuWQP)3*Pu<>9KYowz_F+rPee7onwZ;6IC}>{Sp-_rZ$Of?w-pROD!DO(|08BFO zAf4D7_VJQ1Uf%WV8O-moLMc04(6K=&^rCXgXRR!{pP*!xx448-^G@G-mgR80e^YDO zp6!YUXb17fF}_C(Ess1))=MOsb3k;;J1tVW3GL0?F&Wj!dV=NRsC zNc7@Hs)RIRmq)&Ir1suC?L@$xLP~-`7(fy?;1wGXtXFNaV}vEiJbm1Wz9A-Vrq9wmUo#z2J$kw zT6>Ppr+S%K3_}3o{_rR?d1(~#(DOp39p;Kq`%{9eXi_F-Xa7*OCmk#+f5|7WOZBLe z5pZXu39a|g*pM6H>Fx4rv(;X&_E%5u0BvOjj{2^1?OEDA(j#nZUk6YtjnFsrdX^ZM zik7|W$cY1b*>2meofmQ;?8>B0U zs{&F`ceCa{&9F9Bzbz>%c0I#JXKU(KJzChZIy{;L@1a)Xdg`{6e{QTQcx9jP#i>(g znjaTcnNB+kbN-Oco=-DI*;!vyJ<1&hEe9@+n~Q`?*6cIEq|rAUu~VJ;u2+g%T2pTO z7Kt9!xzOLAGVU=MSQ(3{Idi_;Lo@>gJq#p1$s|JY5q~pC$Go%yyYlmD%%UJO3MoAA zKIx@tCV_MGjVqr!e_br~^i*!wa#M=*!M<8E3rGyVtr@GRwesP~=ZGGUCLJC=#Zcs( z?c(5wsN^&jGtYC{1|4~k(PG{69UKTPyl`u~o$m<`<7yN!=}c>sp)M@;95ifSavI}P zl04|q;{i#1p7R5&b-EgiLv>oZagP(Zk@Mqz@AZZLdbEA}f3pjs7~cYDgI#)01a_s% z*Q269Z}jv+C^uRaF@C$YnY1=*cGYO=!)mvR>%K=ZXz#fl2ukP&ftSf0!i zJS7S8EYDD5VGiuL<2Y`;fKAXeGdtdOUHIP4#`L(b)o6Egl=J9lM6uI4vH#u}e1I62`Zdiwmdjoi;Vr;) zTk*O-I!!zJ!;#$Ch@Qtrs5_~2-?9)(Qk!S~im%sK%Cijoi(r;}CM#1mbs!yeNmkH?j zGlVjCe*n0ne2PJph#GD$0{|TPTlq2mI4k{}l)e}FvwvcpA&ndY;j{JYtYm$Do=a;g zGEJPH;K~R9xcmJ5>+O$|($6^w0Kj;^_ro;~@9)GgkmGy)-uEorXC^XNE-<^NX8;J1 z{j;BnzRpST=ad8hw3VN8lKeG``Z`sC6UYGoe>#9W0Q$jSyqjITtDo=AKJ`)#kYYYT z$^%fs^?ST{S1|zQ@A9I&IJyOQp4IEwGcNrU>{x=QUK?J_8BK=jl`jdd<>(xLh&4|s zXBN89hH(|tAnh3tsXAf{C$a=Nuw^zXzvsmYAkQEMR1CljXgiP>7p(<*_!Fmzaf8(x zf5Wr!KQS{AmYD?0Sdvc}|9?NP3LM;RZYMO>;}1~s0w@Pv-_buakJ)Q-& z&$8u?a^K~XynI@<4ne7}+RjU`YBlW$e8J}bFMt1-cUo87`k$_q`VV%CPTagVk&0jPC}Q zVfvNf-#i;t7Q#Jd;htT__jOl%=~etawj^9~^ozB};xFErnV_<-|8hJ|biOu0iw1UI zWx>vt_C1gMe;-2!t-@eOt)2B{!S;nr;yDfsVi6s>yURWVC<}%ig5aJz=*+?$e^ofZ zbBe~uHWgTn5u)+Z+OmD5h5` zChyKF`>ipc1Jgoe(D>}5gbEORe-HzpF849<(U}y0eyUe?1C8G)XZ+3opPV-GFK7BC z2e8b1;fN#Qo7X-2zOGUBOwy|?6de0oZx$$j&-wBx-;E}|8?4?bSBx1)77B-sf5${{ z>`*x3yHRDRQfHFh#NSvL3FK7RbzW~_?mD{!Y#xGL<`vhLfxSPpeTMArf1C1I#_aCL z!XejoDVr%@su1uTu=%$Fcm)PD4l7?^FGYL-S(Pu4^1IJQ)gEd)uW~@Ilr}aB428hv z4euI-*Di46s?D>Uml?)R zs5+Qgsf>BZ|>w%{>`OtKK1K|18<|z|BeNaV6E56W&e47 zlL7FXBma!me~zbocVE8ZNZ|BKZ@zQHN0swCmtrWKaVb0Pp%u<`<+fokYIh&CB_h|)15+EEq~K$9o~9H?XgmKFm`UE=mHZoS&L z1+aXPtj_L(35ieOf0YdfWQp^KU4-Oo;4)Jb_QSO2?+3xmcRn}>@&W72UI4N{C_!oi zb-{wnN9`Wi`l;?breE?u`I3Yxj)dxmHFx2NuRmk*t?T%gH+_$#zd8Mr`!nvpm}Ois zZu~Iqm*?-}=!2v=vy-rg+zs z`JE5oITtShs0wRC(HBw^=&^Xprv)+&0$+A6M|Ufyio~*or7UnK;hXNxf-*M!E4B@{ z<=LtoSulU+f@3;Ez>CC9+_PM9febuf;u|n3y9~juX~55L)peA}Mmb|AbLrhxd?{;e z=}-APK43W;f84HnLfu*>Xt&VeQ}OUgt;ngO z+fXYsQeFh@3$i1?c93`9u>lIfj_MHb5Po^aW^Z4<^!7h|2`4>ZOa4?3{fkwoeCl7W z_=8!0u@hM#nrtMnGma-9Uk8VOqWx{5GlicGeOI~xeU)9Ba z<5lH1UippZf&CW`RnF`ZjyU`;nDDDj`N}ZIW~B zlJ&s`f0ZqD17PQv6Dw9aL@PVI0#yR~-B-Txpa=X3nv#9&Pyyh1DFDDP7U|V5ru3I< z|HjY$aBZ!B`MX!X|Mnjb{NZyhGr_-n|H}*hhs%FhRDec5jmF1}Qj9q#w)qg1SU~vP zo)~ICNHWxUcz~RBd;!|Fz}mJY1KO3@80Br7e`71)@F17809E8e7TD76pwPZ-E;m&e3c3XeHjZd5Ps|){wF_jAUm-SPoDi(-$40pum;UT ze*m?T&t#ypJje{o=HJ|o+|Xtap-sr_g}G$eYOFo8AnrVNr&Sj8HxkIQ2$~xKP@UaN z9ykOCYybg=Amz?EK$HRZJ+Hmxe&_YY9!?J6VSjZhW?We#zXuhb~Hvqo-g%r1GA1%*)A1pMk*#g$q6 zdp^R?8TEHQEcl*J_P?Ev--Oj)UHnEND3t>I9B5MnmP-8N$MSa_@cTaC{iE;x^4cHH z0>&;=u++cWi$(G;<_$7u%MjEp3)Y?GKr160&B1+_p{;X(=Gote&q9MxrThk;e;9~6 z*a4{TDnuP%%YSiSKZXC!mH%M+{V%3RO8vud30A)UeXai0;a~prY^XM11?M60PRwzx zJop^Ixk}*FlMbXNn|Bx&c0D(eQ);{uQ|4iR6dPrms{APIT@{Z7kMIM?`@pIv(_13z z1it>^QTFij7>N{Ry^&2k;%M3NRZ(U}W-u&UJ zzr73l<$QSR{kMnEuMB$JqJi?OrAiT$11HpqW$v>MBAT)6+w|FG9rWl08sLJRXIVQl zpld@|?i(m0W&(-=?0x4f{flGYev4IhwF8|0#j%n52gho?=1N)mSI;#6e}{aRv9Dh; z_E&obvKJ%ZpB!H?Jh*t5Ieicu0Qm}}USG)}7$7L;OMasz2ToTi6I)4k8*JnOfvwm* zA1QF@xm|`2PA7y5v@*-T!0z`?bYY>R$9${f3aW>!UEM*+Ll0yuU&X!gMji1;B7grg zKTHexfEuu4`E9YEmtxbue|#Hk+{op(UcMUn*ROo9A^LlL;;(1?>WP0a{8v}m7YDz% z{?&3njbX6g_kVS?fBvrd%PA=_$n_XVb_Rh>o2-9-!=1RPj%urgpZKNk<4 z1I=&#yT954vLtx=7ni>MpCtb@694OE6)*Pw%&WjO4FWfsBnH83Yc=Zd0U@)FbVEuW zLLfsPiUuY-9~~nRRW!@>zTKc3%)c`<8dXfr5lcJO8Uo1@&?`-<7Kr2}N70OoTf3DXuh_-LN+FyKF zzRO6g=2P0&oV$@H;a`4^@xMJsDA<`KuvzzSpYaESuRl8Y*I)n1N2UMmMgC&pKl!*) z%xi~Sk{re4f8tcw>52uVrqsluw)Te;j1)QminVO=w(S_l-BsZy_aV>g{vbjYHTi~K zML;V;N2al;WN+5bpsnkm)*E2kws;QCI{YI|mS#Dum*(CdE06tRjPgf@O0HN*stQ)7bDj>y9L)O!}?TR;G^CGPL@A{qbtHV<5 z09yjX{^H07x4rUID;t38zmCff^LnNJkG}lX%B#Rb`jVMn6*u zf3wnTXHsc&3HZeAj~@AH?b-;(>1)#7|f6o8Zl`;qc%YtKvSqaQ<|Hf**$L%Hj;t+qu zl?=20#ooL2D9o%I=0|re*;ePee@`{AdE-!S$w&(!T7r$vH!NSZXcR}Dgk|9 z0;r#oX@px(^RqkWgW!c7{6+r%x`ut@NZ)PLSRVhjyKsKUr;YZF*9F?2jnY}lY~DA9 zG&(_$Y_hoO@OdnobRVp&;oe)cGT78cX1DCaoHN_H2Yk6F4pYk$M9qQUf9sVyXZxrM znTU=Se+UjyvMtlzXkG937F_mOZ@1j;pn`QUcooP#CM{;hiUy)d=Dcm#cR4<1bW%|(ji>+X`0Xg`(po|tja!@hD$ z#o8b}hR|$?S~ej0qI;D!e`{If3u|Jzuqr+|fmk?@9!dJ~evC)Wm#2c5ycN!@g^>e{ z&ZDH?ZBZ8n9+?g`{+gj(be8lYVGAaQNP>4Ul7UAV>RZ%n*$;00^y{l|uE%a3-1EgB z_A#ylyBD^RKC!=-?I9VCeG=$33;$~@56f5ZkxVib`0*TCAr7m(e>}QwX?ayXF4i%) zc06fZQHHU`Hv?1b>srLeEh#@ccf}u&E?3kn7fjS2d^Zl~#+a+&cN_3P#qY9Gh}TX#`)KLTEmm&QSS%#8E-Wo=bw%y(>u(YXSxz zTF%EP=NDY3`E#9qe_^6UhV8`l@b9)qJ_yUiHWj!3VyiuJvh1BcQr65M7L*7vPRsE! zIf{fF#Lj>0{ZJk$sAL(k{LO{?ew!@=2fS%;H*8496ofE+m1l>3@Zs{YVo@Q9WOJ)J z26oA)`4+0xx*ps5<0J$PFZ!-=ssKFHH<6K=;u$|;k3ie|e}CGQdb}k&@HQ~@Z+G!{ zt^KdDTvhQY%cwQE#O?bkgR(v2I7%xcdv`jO!!1!|nu_~-T#aW?$`hoDWRek{}?)TXe`{yXKd<{#pxi8-O<8Ju+wuIk;&)i*>r@T< z4E&A{oWhqPh@rbgBp?F1I>@I@MFoLvLA7rta;hV#7Iw8)!Z`p3G%mwlcmu|mq$TuR z*|};+tw=lq9UEef_CI<#t$~p%a1JUyegVs^w`l^Zf1%xrlzc7>tj8G`1<7lR2tpjI z0m;HZwfRBER~USJbbD|)qP#v(UY)1^y?r&1ZpMh>qiuy_c>Z=Od!$kdTPsw{> z#h-o~woAu%f``TvVm5fSGXeD36}KP>$n@~F<1IHrcYroq=*Di3+H$7s_VJf3aSn#-(2NJ9`AF_ABGpJo>V{n6@27Ka@za6J&#* zEv(tpN|JY1NUr^2#RzBa&5GayR+5-9u)CWfo9(#|rJSKK`y!wO^})V2D5 ze;=@YmJ(X;StMUrZE%Asx3xUqlikxN$p;MQUL>f6Hp%nYCd!Gj2i(HPW;$2)94bYF z9rtLQNAZre@xFI|%vtS*{Zdvef9qv(kVEs)3~@Z7_)ySBIg?MxNF?e%-iOb} zL7tZQ{6OHi7?yrMj){E57r*5$$``CG(onKrxqBpiR`Nk8(RR%V>L^?XVV96;n^Ie{ zoBvw>O2tB>-}^ zDUmX@(~Okv=d zK*749+yrr?wsT_~uBa5>YclQaS)3$ws2U5`xGKlE6xvYTVKC2a$SaIVP?qva`-#rF zE0sUO^YTSC>F?Zk&Ef6*^a{?X=df3Tcy8{j!*e z+Gtx!hkA4pi^?#TyVW#CTQ^d>q%WBHnNEoko+Xa^ZCZ?Bp7gAHL40`+7`XNf^0@`e z{il%vDU*yy$<5vGSW&^awY1JW+V8JB&PbV@nDO-vM@Ar47pT;9e{l=~*O;75V8p!i zr}KV;@wXR_ugCLU>u&)!jpN5$ym0)vw)Hg!B=`qg8vnoix<{dHwEBtS`f)$8#cv42(-|^~H`Vi*(Op@;Izk2lZ7@%$nRYH^#u;@m%Ur}E-sa>m1{?x&c_^CmsI5GQWz1buJL zLzo}!kipb@Ff!O*=bp+*j`!E&yH^^VfngG1vx@ofPs9)`!5ncwS6Xja6fG~{KbFJHh1x`1b6MGF)Z$CR?ipClSvb#w_zZ*UCqK|IK=>NIks=7+Xqj3 z%a#07#{+O~Y2L<@yN3GIQGDmNPmEaGAVV;N$H~RK_dGDCA%6LuxiCvO?)iqCczSCQGWcKL}y0brHsdzwJ+l zf2hC=9-1eU@_Eu1%Bd+i@}Ax>5CNOnwH2@Z6~_XDc$D;grJljzq0-D%PUEi z-V_-lz8eYdg44-vZyO>w6@VB30DN@If3DVV_`U$&7is@ju>>%7`4EF}9-uG0bD#3j zLT2q(GHaNXY`0|ipxx@TW0IpMz?;G@3qcsI2`@g298*hRzv5R<1M7!h zg1osn(7X!duxNhJJbA=BexH-^)RvZT4OP+Ikd~%9PZYabw5D;DS9JdLCxTmNe+s)r zxBpjvY4ME1<)~XgSj(p&=i{v-<`&SMh#(;nPqbhk}t%XhQ+UDx-lVju06`}GJejCe=RW%LU#0Fm&6vFrm;{K5s78W5Mnm@pu(=#?l*d)M%MIwY**DD$qHdOKm7-xx;nHUl&+7N$q`%tSF&WiYWa^c8N*&&al`0<~@ zdEWcQ$-m=jPhTd4Bzf6Q$T`sK*iU<NoPh9OWSece>6!`_C{`_dk~K! z5)W$}PxD^ysZ7QR3~i_m;SUB;Hd70NEkxlbBTYgM)2kur z>U{l_yN~WfI5`vwxP1CAUX?@?aqd=QOTTfkpV(#aikB7TpLRXk39s1h16B>8!1(kr zj;&-;&62PoP{dTroHDo*d!N-E~C0~TU`0L2oD_*$uPaJyj)KQuXp?MRi>rKf~ zx2Ht%)QZFHT(XJ_>F^5WBp|F`j7SL^izv!~xlU}kwn_qXf0y(?NftZ=neUGjgmroG zmI#%bl$iI7D8`83BvyieQY4VgWTsfmOJ;&}IyLG<2*8|;ktav)ibPA~XQR{v$=qhB0*Nb63Aql?G61daS#*^f|iogZf#f~IWG0I`)+na^vIs? zIp{dCH2y`LSm(XqdiNW5)Vilwe9IiW4E^9Ce=H)82I|)AU{EtDE~HHEUMXWHij3cn zSBk*jXYznZ7J*_pVuNrS5;7+?l`NrBP#1GD?lK~hJE&K5eo#3?eJ?eiLu$Ti>9%|Z zfARYhYCVt9u6l8|3kMd_4k~#v)%eSM`S|HxP0jf+Uz>RkvaoV!2*HNe+(_-;v6^)f ze_#Q9@MIwvNz-H!4-2CGx92zwP_9hv*S`F>Kk&O3pCpNKEs2eb#)>p96p(Hjn6Gsj z<1m=QWLna3fN8$-rz5}PFc`}yrf?VOll$<}naC->|L{cqDyO^TCwBlbtbh7j>$;GR z8xQM^W1z%x-X?F>-QdVy@ppB>?V$zpe=%7I`Ti^S_YE~qg39BKgRyn!_=@-61m6%i z+Ndi)1q&|5f+MF1d0cTbqZ!L>vFP+vLZJd;iQ_v+qvPa#jJZgN5^pMbI4k?1e8pR0 zopZ#$B^16Uld;X zXLV(%MBDYGOn$i#fAVfHmQ{)!e}5#{=g5Wl;l#dhlwL@4g6l0w!?h`nd!Ht^ga-S$ z$w@%RSE?@DOHVhmWVf(Pa=0gkI2;eKZVn*0=}XR&d9R3i;{)4q6Se_`2X7&*I*=69 zx9=xXO$PJoIC<*FU3Vt=3W@^z_lXBqf%)PM*?{#$zWF23+y>tM#D{;^e`%fLQ8=%* zeE0bv#OEI6)o;fXq}*gQ512G6uM*2SZKOq;ks~=H758V=ut|2wIjn|(sT_ygdR>st zhKj&q_oHL(`EYJDZG2~*LyVA-b~CS7H{Ye;%RAHZjrP(C?Tcsp&4Pq{=L2fY9p`k?s5T@ae;Jv_N3HYEm+iBPYGg*pmYQ-ZcAg0 zF^s2-*F+c&6&xMDUALQ%3pgQ|$3Jn&m)7N` zkTji$hyW7JzxbepR~BGi0k=T0a7y7ors7E2Of4%A$nssR6yb(rVc`{^4iQFr=Z0_2VxYM=TNB^Wx{m*dDY;R|hW+ z5SOX__RV!@pdxi7f{w2XVXY{La;1)?2SeNRr$@Ark4g&Ke-0}G>Ica>FdHwGbdtK&Z;ZbeA# z#8OA8^m?e8pj;?l7C{HN83HBs7NU=e~ygt&|L`mFNXQ}sF*ptL6$Ur z%#ZOQaAD&G@CaJJ9TKaOX>tgrW(~{DO)QtJrm@jfUedS^;Y$M6A_JCtok0fA5bc+m!3!VH{bS&t-fLxNkZ<)?-&4l&#zC7BVepO(s9ElA0{pi?!mbEO7ll5 zqBtW^f7ISSD6-qgH<=3rRLW!`h|E1C81V=eHs(jRLvocIaX_@hB3KNzR=SOCBe@6hqMIV&f(dOJk?v9pc(}94|04xW{ z7~gAa{o5v$#?+B(Q|ed{z7KtVTVrv5U>q=SK4_xC$mC1A4N?>88LjdI2Oqk%eqXtoxXP$~_-AA;5Msj8lm`*V9*;JE(K&fOiC_(Q@aPD4!x`|BS07599;! zf4itOSK^U8$Xz`7L7gDY<-#t6@t1hC+j3iTes=i-V_>j={j`*a*}buxxR|jTET_uvgmCHs zpSdyH+Vn_B6%Jt_Ae+d2V zu4Gogau0+OL?$j)w z`tS|!UmAG7_s6);F&<`>$ZZKe-RqDqV&e=|e(>WV{Sv)6k(@*Z#)r)uJ`|nl{?DI! z;2D>A$$#Fd0C&FlKfjeByezT+2d zPNw&( z{NgJ=wq)`nTa?yUzm(gsRu*i6lV1&UXSWQHN47E=;>K@tDnbz}f42Acm|OkL*Ya%S zM>3s{IsO;?NVNOH1>h&*mP&Iq52r7HgQOt6M#t1EkyzkNju@K-4jzv2UB^#tjFVA6 z2~kEg-W~-HRwkt@*dau`UKFLqFEK}V+dH2>-o5VeNXE#6>yBoYa44uCBuPzDWqouL zMM3bcB?8Cp4m%uFe;AU2aHaRZ8FV{G(*@thdEiTU$NZUa2YVZLoq6yxiT{?@wD^Ok zH2=xr{LZy6|B}mP06{>$zx~4=FGM;A;k9XZ&P3N0D?Xzj>|wN=4~ILi6_uFhYsQ+` z+RH&WUxq6&q}_e(UHrfz;>&1Mk{uWO&4P7+M?=B}bvH5V_k1~STz}~?CRG+jYO!97 zhyFZyv)gLByz^xp8VaI(jky&XUwZQ0?H_)C3INA5z?@j*Gn72loQe34oS_%q0jh8u z2*_H6pO6^+P$e;wQu})ZhTW+PD<2YihJ=w>FU5RNHv0P9RU+ALNR|Z zlgNncToae9emTpen+n9O2<#h^+(u!yQQz@%(?`8cbv(H+C42Gyiys>$(7D=d|GjSn zf9+fItPkcTT7Z3!tiNG=T zsv|k95@P0UNPlFK(zqa)-}>a8;2IqI$S>2p%a%`H`PaQaa43g-<7kiX*w}L(@y9pb zrv0}+u{Zjz_{P2;GZ7~~;zBF9_-5NonJ7{-R^dX_wtWzz4=DCQq-C`_sx_Vb9H0>Ny1ccH8la|(elg?bAK*!De7%*qWTJ8_^) zNG>^9O3k<2HtliXk!It7pfh!(AREJFJ>Na357Z^a@i75qg=#AUXW zJ%9LccAaRR6v#WoXKJ2065J49djN8NR}c5j$)9;!3K1|O( z{adc5#*wnW3lW4k4WOZc#nO(C)(p_$K!r-Iv)Jo%dEOdRWKM&sj5+rP$IZz&Ut7@lJv>3!x7JI zhc^&~ZHwk+rQ#Vkj5z5jcdy?EaDPI3lam7V!oP1{S^S%}+wQ+=yTbfN$#4&eRZ!Lo zP+~?(H8T|-pnp$PzM|Fmlmg?Fvgr&M{TILge`kNZ|Nl!R|F8d23Cxb5v2_5Vx1iLI zU|q0>WCGLz1M`y{159ZOLHBUWAyO>E`CbZggggO|jsdPRsU!_VIn0z5f`1thOOh3Q z2q1Xfl4OET&4++M>gSOOK#Fync@eqP|={e7SpI5n^ZZw*AzgCZ;V z9K#3rF<6qOX#ehNNTs(1$Dns08Qz~NCkKl0bdp0kgj9uRuoPa;;R>*kZWr$#0_nps zhYWZFW=_Aby=MTayft{tY=3~3_q>V z1_$MXp5em5$M=~WE7juo+~iZ9Cct9g$+vvdQFm;Ebu`~mehtCGZ@K@6e_O;KmIbLn z>mgc6Pj5%N1J8pq8h?3?1QYF|f4C9htLa$4^l|z9k%(oT)~KdAg$=Z3cM4<$*D-W3 zV}(z)noGOZe7xsO65kI4O@FoYUyUp#cu`lz)ZiLJp6^t_1osnNDDn=@5RO2PXk1-^ z-Czkh!wpbM4(xgZ@x;J%RI z;!6?;K7b~tt?+ZWD6>}69Nrr9Q%)tk2j)pkkDLTJsztZk?GC%$s@rk8!&&#EJ9%`k z-Hy?HA9PQ*@wHohP7dAvs+*4{yN^fS4Hsjh`-r-sIey$8VK;clyhG&B8ov7D|CxUc zK*N22G%c+x27eikB$#{4Z(upk_LU0BRe9E4E-UJ#X{De_%j+|NewVjlWw)$sfGisz zCO6_1hd}fR_18drADNx`r2*dXmhE`lSI{cC^aIl(35a^Cm=PfRlQx1U!tm~{2+amu zGj*hFK<)5Y^sTyqNNjzKF}r5YJjJu5;A^15n6_q_5PwlBiDkLrwM?-&)`5=z606*2 zYo39?`}m~+(KHa887C8bJPR1vydHI*c05?Z;DDN?67UxVqU z`#9^#lDBMK?WJriA~I?#VbyEy!!WUA*_h=ri|HLi&y2Fr%ClH`7RmXVy`GoI#(drv z==)4aEPtu{xjHb}z)55_;Pa$@9-O4zQWfs;8PLzkMP})KX^()qYY0Sts=#vd28gfk zrM5Czu#QKt)%TM(KVM4$_EecH++87oe7|2VZEM*8J7;OVYk-K%PM29s>V_;$Zn#T- z4VF)d#eHCIX4TvWNAyVEK(P~N;N0MA9^*4C>3^@m_FsJpZ6lXHbMl(Y1|*iXqg1XN z!9roAJNL2AH++3BA-&lZ1>QBwd1~IU{5{Xw-rl5$@xigA0lq> zoxg_IXO|@N8C$Yw>G}{Z<8bJ&VeYd_l(EbF`wM0F*N~@$RPLdvRt0s+2asGA$2nDl(rDlojkhas2W)Kko812(Mzh2CVXrbCh2Y zeX5?%;QQzADE|{P8e#i4sE7V8J1tdajq^@GUQs=!4I?tkP!27pwl4E zkUZtriWM{hXp}~IL-z+5Vhx?dA+cnUK6Zh<^E zygA#g9+M3F%Zi&zLyD#mEcM#HvN3xJ(#`+41H z8d2!$PSxHi(bqqGpSk)vZ5r(7@9}S7DdS$0^A@fRSQ}hFaNhbcE6lGKLw7xVH8t`G}jTk_kCYcX0H@J+} zFvb2baZViw>DfdQ_KUm69`zOwhjaTP1TJ z@|+S}n@G;4dhNxz*U;e?uB8EOmET^KkNV4GsJ|RNFaM34@je^!7T0nqqZVWXZ)QHi zIf;6jh|DLDTYEiLIStDxY4rF6)gLk_hIW*A3Zj(?;;%aqER9mBvVW+lblFxx1LO05 zwR}jG4A;+ghg#NO<&*SZv}39uzW$qbKCc5=884fY&8lG7%muOHW9hG8MP*XGdS zMzO;$XXHNEdj0-qGKOn&`)$WWW^RjJ1F4y3k;r^tqR-a)+<(F~EmLs#Cw(6WQrjF= zXy9VR`A{e~lRwKeaNLOsBxm_98e!eS za!UJZR<$Ur%71D@+CZ?!b>%r$wgM~4{R+ltYvS*}*RXGsJ+4{bWl5DO5~uESU8?m5 zEb@M^` zGQvC|mpDtMoLTj?nFFy<|1tLWa^*$*y&V5{&)aeOW`FCxIm1Hq%GmCaWkz9~#qak3 zSc3Xhw5^&}%|DhEcF+A=*@(7k+Fm_ukDf0_?3@3rJy%8Q;M$m|eDLPtLv*PZn6+rGBFgLyprXQm($ z*k2rNl4;wNS{8k<(I%Yw&+Axs{|pN6jbofIiHt_tZbdtrSdp0fXXtxXU&Ymba=q1g z>Ioac0MF+**75PuFhlFjC=O6h+h|9Bzu#YzsekW-hxWr9?HV?28VL|p&84vbkID0x zH4SdFt&ce#zkUy%d6w75`Lnz}E}BNuGy{Bh?)!oEF|hqv+&&Nk5W3v4 zX)wO>EVtI>z|!Rww0&UPpXCfJ2axD;Ti?gH-m6^OwgAM!M!8exhA}MPKIbUjb5#Pz$qCRN z{wcpfn|S_HzV|9me#__h{E658>W+<;ZGYq3Fs%oMx=!&`36vYBewH5*ieBLh*M0csoayLiS63x;ThUj8jyEC%%S-w!-!Ojm*OcgIf0yMPpZ!}F z>pcG{%k*>GKl+g;`0Va?zm!;SbNuQT>O9N8`h-h-_D|Ug>plM|>*;#@lx>O^QHc!%ONP+Uqf0ecBb$=5Vq_V91DiPddOz?7-zU~7SEfK@X*2#tv+#h)O zbp@weu7T~=i~@@vBoj8Ui2WDgyd3dQ8~>hB4{#mJd*Hs~xPLH^4dR${K|+k{0mjGH z3Sc%KKCgRvADN4Ef^K)woj&h>{i~sn8h2$ByUF{;WA!-!GKAyrb&4IJet)lK2p4W2i9*XNDFoiOZ+aA zBk(y5p6A$Q_87|7#dfj=?@O?K8GcU)+l}>c0{n!-{?)Dn zPy=E?4E=uG_RS6;R;0vK&!r$a<}oLDZV#~^=ej>7mdn8xf2&{ix_|z_^R;@mKM-)m zewr$fSbhWKfbZMr_l{wu-#h&2-;KoG?uIZ$NZ-VLGXMMJ;5oj!J-S}YSG^L2<5J`A zS8VrEK!d->uXA5MpFaaK0H=VBf-8<+uInu^6|2P1h%d$OzS0b2hLke`26uLk>3 zk5m5l@>g9SNj||GVt-z918{^5&I3ol3hQO@SO4ho>*L?0?zj9oj*h^3O|_f|ve*6e zUzHQhYd)g9AF;m+^|$BFv3^UGYp1~aw|GBCxo`sf`z>Gl*Yo#a>-&0muG{HwJlEr* z=YtjCI0jhHxgzR0-~aaB;BU{RdLOlaE62J$mUznTzp5VvY=1`|`)j4=2ZJ2ryU%tF zu>1!5LzjEjO9&FZ?lUl-j!JTT%@>8|zJeRRFIP|fP+)rVG z=_HkR{M}brK6s9g1Ni(0&bOzYRDa6z4cHhWNuE3e`4bN}QC|P`KQeyB*Y&;#M2GZp zYz4=4hDw~03V-vUrvPJIf+Njuz#mLQQ91=4z<)rR3lIVH!7Oo5iC{K_4OU_U zVGRSt91xOF!8{NRF@c33hQw4%;Ma>9Ngtp?j?@4@aW>i8DKH5MVAES4Y8C8)0U4y% z74F;os9)DzQ;65~I;14ol5#p4-+XKSU+$%MyQI#m1iKfKj^yZGPZ)n^lL&(+6&)7P3yyWjrDCq88V{6%dmSzi8QXc+&k zIT!!&*Uz5fw@~}vA3og}6FZQvfHp0U07HE^$A6ucaYIG;_cj$d07xl#CJ%*47^hcP zw)Y_>bJQ>luXJd=1CCN&OEL_I$ysZ^A3Mu@8*JuRQIYvOtN7Q{4G-P!^8+?$>*9p1gbgTYj>x`_1U%t?#TR`(ShO_I|+bqkEPwK5nuXX3LM! zs&}fzNB%w;jnpCnbzHQ|eDh`8jU9h`cz?NfW81-yUhu5dar`R#Giy_GI7)XZA>C_*Y)2&x`VSlSC@7;4gEY{Jb*iN+waUe_1(V=_RFvS zBAlipzYb=d1yNNLa)+|AST~=Ow3mIFDLKXF?XWz<_7IZoL9XItW1UVN?*LJD&40t< zk)Pyj26g|lG(ZUm<6eqdUbDbh}I*=;p0Sp-NvJ2Gsxb~w|~rATxREO zFTA~P`;)Kk_FB&F{Nt*e<6*L<^ZMiC-F|ex*3({*z4x2z?CQ@3XNbnmu6wxkXV>{- z8(ydOSMvUzhpTn()-^vmm+j=8Cs$fM-rspR7<``Qg%=07%6yI2>;Cn41lpNTj!k|H za=}}ludR1miq77j%|3@_K7SnF2J*Um80qkyx=R*2o;4rhKA?2mO{__%r*e+V$2Nk<*z*?=-s{BOV@RgVG_Zef=IBW%~XuL5+s(X7Cw?s^zxRD~q9V zJE!mQc++@$wzgf_udB&|Z$FRuEW2$EZ_CQ*4BmoCGiWw9wlnP2et+J?P_FwMexJ|# z8C$cX%4>RXM|Pa87X+M>9=+}OUcJrt zleg53_MRLxS+%gXJ2AKOavTOM-lprzeM;}l%H9M1W>j&zOcq%Kr~SOBZAFf}Go0r$ z+qn6Un|q&rT6-1W-+$CKJHMZ3VteX19|`YX#gMQD@H zl9(2Q@vO68w3+z>@wVRu9}DNI7Rk<+)p1KY-uqJ3lfmJTuGYorly%GCeU(SfVLo)6 zbLf{3bGEa3U-#6xHJ8bl4n40I5!d^8*!%LWxTyV+jDH40e-iX}$9{jiKe2Q-s0#mN zMDzCDoAlmBY`+Z8>^QWXcGg?pzHBdm>0QlFbs4vHHT9}!Rz>3I8p&784__yyddZjb zz7+wVd<~PgVmjbn#m{Zu>MRb9o%VK*@#Y@&2J6peJUa7Z?{QpBli@BMM#i-o#HM|t zC4LAtv41NnWRvv2OaXav^=1(qMQ3G;Y47spxwARHtfp}j-j?;lI_BrkFFSkeC`>}* z6TDn4ty3J`;;;4g!^x@0(F>e&o}uXJm_NH5zlXm(oo*?lp}W_{y5@AH4zV zfAaF$|`)xg4_ik*ONq=&D^pZY3oOUz+YxBO?u zl7DHlD*Rn7_m#s$@wFmdTI}p7zVG`@>eLNgE`!DxMWt*8av!t{$>TISw9NMpeCBxG zzzV;@WLxa*3w*}chjF}Y=f%)^KUV~XAEKSj;=S{=8+;~@_!y+0(#=V^B=s_Tf#I*D(yXWU{TAuiP0r=lZ=In5+BZ z5$}d;5?>ChPo9(H?YJuUy`bl8Wizl(BO1(&WN*KF^Qf)t-DmT-cL#6u!TdZFPJd@a z&b_l+u03gF`z&(Yu@mKt&&HqmZR2>>E;+4s@5Soc=DXoTT$^BV%HI6PGHmy|o&(#m zF35gvb<8hOy$#6QeIxSpwBAQNT8-pGrXNLvaUSJGULOup+-)}CU2Q?Hhq-+K=Z3Oh@YM2hSv8RjXE=|;;PK=)M?mK=xp@j z3c0w8gC4x;Ef$6!c3gSRdy;VI)b(;aO7~4~JgLblE#TSa3pR}07c0u&=zp}#Zu$3a z={GWAg533VZRNRLvANB9)0?|$J)csOo>G&XQj?vo>)>Ut<`GB-g&8%3X*HN>H9ym; z7Z=pfx_*n&lfG`CzTi0dcnbUJL~T2LpLN37%|C_}CJmUyPOfL`JI?bBRCrMJ8wS5T z>854$mbCbzX_WoN>;)Ncz4TC3O_BLir~S7>fw3}nA8J{D4kGGz-@HDR8X!h0&_z8Au( z14J`TpVasV7Xz(YX;ElYlR2G^Zb{&I_Obj-uh6tLTmdWhZQJz|%9RI@I_4e7)9NLp@0_W@hj;FS^2nmlaU4Jr_B#K?L35KrP>~zu- zSm>&?mU4VP*j*+j<0g1Vc*sYv2#(Q{NtWf)wI;->GF#@8OvI*F+AL;-+DZv|_DuJ? zL(ovRHw0tkg!Hu2u~g-9;X0&Eg}@kMdmp{Th+kASiCQ84xZzDSZ(IsVc{nd{CEL7C zcMJsM82VqP(Ah%pB>9O+$FfldQl^Fo z>6AVcZ9v){yqS@WJK+6()WP{#v?D(lSMRLlj}NtU`>ktN{MMb_CD9rgDUiWU6pt-< zQ%J)gbW=tsjbW?5<89-NcNf^*i-C1#Y=ugQGab)M~`~V}6jlz8=l-2(#lNXtd_YPfK5nOdKZPc8FxS|NQjc^H>5mL_< z1@`L?{ODlxV#t}w*%bF4<(eX;H>y@O@pHn29mU4o&$X_p4590P194E^3Fr_}1LJR)K#Tn z_;0=HncMvib1aCa)Ly8Jd}l{>B7RnE9(^r-xjA4ha%@Flxk`dZ!FPAK4Tom~`N58O zN%67^s;NG@Ssg~JSK^YoZ~OJwI4+!3Qqb}+xPOqWz@t~!0!M^ucClU=0^_w?0lfE3 zEPa@wc=DJBJShBVxpI#s-2Hx0)LKB9lniG-Qz+++hpGIks6MB#T#hhyzkR;NO?wN|7R5dxURN}-{>4vdWwllL zL0Ls{>P0PPgmJ^yjYcU8NPOK~Fz@Wj@qa$uQMI`F8A9*;665DIC>Yoxc?R(1M}gC; zH~IL#Tc8-AHcl&oNdQrPO|x2guDkODkZ=%7US|W^ z0xtyx_INUP#thk19~k?+Fd}{SO2$=XCV_#|$&A`!jz=7AlMvx$_o`!Pj$i*U1Poq?QRnfsPVytmkDeUZ{Ezx znoSP`gakE;>!jAheM2p1ha@JY^so?Ra35uxR;9m}HF>KW?!?swXTraIo+XfmIxAqL zZJpWAFXoB(5_M_NOj4Gl&VM;4!A~i}lLM5(l_VUFOU-zd6dp$uMl$o4WmjEJY8xbK z=||7^yg_w~SPsI31zDbc+=6XRLABU*RIy+VCeRP1v;?FVicl-)Cm7QCjZKD2@QySd zmGu}~wDPYW0<}R$MdxglcEr`^`fsm>Ij3@RIWb_)e~A}NrTUtzKYxso)PIA!z2jRC z20H3>xr-e#v%##^H)8WaY9_}{rXKl|Xkc&P=0)Xo^YJ6~w9*;V&lOWUTvM%FV}r4$ zP)^QydK>5#Y~mY3O3-~puGWgIqt0T06-kM#FNQR63{gD%y!R>_R-AoiyYMIV$g)nR z^i&@VLM)k;LfgJ%?tjOg0GrBjUV_VZz*rLZz zmS9w=MI&BprtRIZ(?3E7Bk)dT1*LvSkRI)u>t!*2=oaCOSAT_}Z#S)liHIgM^e;sf z?23@{0jT`(gmMKcUVd!7rwDb+*C=?L%yI1~J8~$aR-{&4HE_eC;vRjt|6)E?VtH_C zSSg(@;x9E(Ljz*SN5nK`&yOgR(%_u&ij;;hkXUI8BsCl)?VmtI`MzhOmcN79=8Oo@ zfT14aU;JBk-+z(6wpNKI!2gtvD-~Hq(GK(u<-^g1BcTJ)oV2pe=^+uGos)BvJ^7z9 zoz)Cbp8fF>faW5w682KXXAgZbJrxcu>0>->;-~T@sK-xSBWSsknH>$eb>|d;d+<9#%P-J zfxF=iXS6(IRhvY-M$R)z0(3q*g7XoY_DXl~R|~8wioX;9+xA)PC%zyee_PX$H@UvY zpr-u{uNpF&7{Ut5gZSCa;<0Go31rq%5;hN$+hy#Uu8EikZ@ zrRwFXRDU<17Dt0+(x4$nliRN0;Q^ryUYdx;nxZA!O`JY42A<>sWq4R;EJDg1pTeh2 zNX9YS(Kc4W3?FYt44!{X-boyA6D+Z0?(AlR-v#d_e#M5M;U#0MgP;+*f{SsIFsH|} zjQXI~=b$!xwm6s_%JK%ha#`p1i><2qa7C*v(tkIy^!ab%0jY#vMgjmvleg_+5!tX# zEfEHApp!AG@Mk6T9+G(ie3$nmJgv1pwb5O=S1Ils_Ast`dVhXeHSazO-#!1)*VKTD zxd(xHq~}T4rgr>Ruu^ud;(ZR{D%Y_V$7GIq`ZA(IF}LE8Ux5%bjS=O*Z{rDclS6{i zrhkn}6WFbr+n3Puv$CZpQe8@GOl{b$;SdY!qr4?TJi*XVNBI*&5JYN**xY)9g`Rq* zQ;q2Gh=(jJ7R;xt(l0^q1TPP*DM%*-2p`8^IJxNHR5WLlzvC&8dFDq5>9*@33Sf(s znF*KRH%yG+Ri$n$H5rv}WDx-2I-8;`&3_qP$kKJ%@f5L16Nz?d60|~CVuQ55s(OAkb0ucs{le@v{OUOuGFxei3z zpPYUL8bSnkFp<>9N4I`{2WV~#WP|&#?2poMAhaGzH{&YVxyQ}#tZrS$&Zh@!0y1>0 zAl}=s8!qocY2Ex$-Z549dFVISr+;U}pxW?RR=Wi*J9Oy{d!mC6v3#qZMYGIayugj6 zGRH?c+!BhlwA2B>`i1D3b{Vh#lk#efKh;$ijyz#$(&3aDoI^fj0-}VI3_k!x8zPvN zA5)q~*Zb7`7TZ?cIo}Hbn1(~KJTwac^|HmKKJ}hLu#_be@R1XdU=e9>fqx%YTVW<% zT4Cn+(bnEN_Xo?u##5dsTe=a8yI{=wPV?#a!%|f^XGHDjnp&>-RUhdxRUYJ)oCZNV z0KGDtKxq(S=X>3!r{TlM^H6O6%-yV4Dh_6q2?$+-+-sPxvfGU1N9 zv@$ii?8PS>%oY%F7HFA%mBF$S)WBN$y#ouMVfoV{rfukZc_$1M%LX#5)UZdG}anF~GzRVPn=}j=W#$95U zv3ZLw1$h|~x}JfjQ-4<)Zcdsowc53y{^p436sjlYJ?JM&>XP2xgQ4Vg#RFPMV|zt& zT)Ek|7w)_M`KodN(jG1nSo{W0G~iEAZ2`iGNdVvL7dqs*aLO}hg1cmAxQ`qsVWl8p zeS~xx2iD|h-6=q%V_Z}NnA<}7#r8-fK)QMNF+P2*1hfisFMp^_R%yUfT2ABWk+d)x zW%n|+&Vp-q!pLY+Yhs+f+edECEzn~$-dnQ1D$^bT!9VX=2j6hQnYK8YQW01c<28NX zb}*%E410!|+%`P1A_(4P*hChXSe zwEcX|>j;MV@PE;5&@jNW(}peQ;`>O4g8jR7+qehWVn++Sc)O;}ZN}{t7K|P$#EOjI zgpqK%hEq$F$Y8OC0?h{$y22l=o7|nzDl7Ww_kKFt5F00@oFr3WPE#$)Ya+B@zqbz#(uIoYEnE`%k;SMYmtKw@)W{7QeOeJ0XVMW*%e-5 z{yvv{(Fi!orFBW7+{K!2Wk*=vg5_K14VF9YQh#C2H9jAemeb%h8<3yhmPnRMPTGt4 z>2mIc$3?AF&jmwQhEbp%{^5SwvNH%1bB7V*=RuNz4+n{0VHM?&F&i-V!ZKAbxs1Lv zycr`AiGCWi&ng!P&1I$tDoQPPh>I#;JzQWBIKt_kzkDwhFc9rfRw% zE`P`eq>NSc)V=yCjW6{d0IRi|xO2fFl84rT&!CG-e-_-H#)cEd8ULJm5c~p&& zU0(<2?w$DETOP(2uE}v-E^%aN1qq)bVP-c#h@wRlt8~netKDa8rBIq%+Am*_-vR#w z^-|GC3UNpnSxXlNE_z1?XO(YPJ$^PGQGb5#MJLJZ(J4oAWA#*rJYey4e2>B`=bUvx z6#O+kiExmSPSa;>N9PDhI~`hb7zcBQwOdm7I%eag6Sc#_mx{Mdt;g=K0pg1u%&hF* zjxd!r#SqpcI%+lSlL{gCy}3R-k9>bMG&ip)7+EU&LF|s)`!df*EEgM;TRJj9Fn<<+ zg1=1Gx;9IGo&)yNh%N0`;_U!)OIsLe5Ycu8Ue!&7-;AUXaeatJZHh6eA{X-1B#sE@ zU%!+7n@aJRVyc)tEI+PKx!!ML(iho-tjn1nP9m0VRzEY%xpZk$z<+cbB`N(w4Xu|m z#^WF^%qk$8_)F(sFd#5kl4q|tx7#XFi))lO)lZl-9=n)R0D9z5q7x#$rk7xLRXTvHs;1f(t{P2EvBA za+gnZhXGN`Mc`>+zxHJ4et+Se<}5{qyP`f|9akG+=Nf183QNI2qe!{WI`0Lq*HK|O z9AB=c#!qUv+B+%)J-U8GhW>;E2t*y0J(Va@tTkri-nFh}iQ#Gb!4ZTS3n^yTy5sfJ zr~JwLE{cLi^HwWf{8iVu)B*gX4+xN|TS%JyXF>VH*tb5gZo#@pms`Zn#Mp8?A-gcNtms3_jU6=FP`%e5r6>=y#x*5ML5=p~V&r&do(M+Fb7q$+F6y3qk%`JtJb3G=hG z49osW>OjZ160D@0^avU;)%iSqTvl{GjnKjkesVUJX%fmb>D45$yCl zy3yh*LNPtumT4mI^IssOg?-iw^~Cle|3*u}({!i%!6RBdk$)l#0jVf^d^PBrh?Skb zE8Ik6s)vpUbJM@;If7?pM8XTCKC{h

|hci1^4&ln*~XqT~rLK2+|^35Zj&<+qZO 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%0AL9ObyghIur*`lz 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 T{_`Mf@L&H2A1cEbSm`7H2?DvG delta 1206217 zcmV(!K;^%YyGq#BNq--U2mk;800062w7uPW+qkkQc;8PUaeH`(c3F|)UfI2xthCqzIlZCssNCX?DXz6-o5#3WY-b z;c0tk=ciWdY?@cCylN$_DwmT&w8nWMS{IAF$XeyNrKh4bR)3|`LS~(xTCG=_3NLgy zOLU$lMRD7j2q{#eMb^5wr3$9@T$QP)Dy;RQY{^o$M3(E8#t+g*vRsK&7q?jAtZdDa zOVLWFiJXWET1t$CYUz?13_gmB*85jMs}iZsOWDdLrJo$^zc@PR{Is*P_tVq%i?`3u zKD|3=P4%qU`+w=F`w>aD_fxC&bS89y?W;;?9=t#MZRgjZ$&krR@Zc&J*Yi^8pq0{? zH4m=yOiy_xuJTmu&|$cB(Wf1n)s>mfYmC#mprHtw)x7BEqyx|JeZZ) zqQFK~SyiRVC%N3aN>uA*j|;wcr>CmCZk^rE#eq_#iUeErF}q55BtU~?d{1|#NfimU zT)yl@!Sh7obOqazQORrFl#Hr`o&zP43{hj&nydUO(TF*s$N~m(AUlW|kzldzOoWaE zWAI+y|9{-T`&yD^G^bTE6Lpg_F}o0|H7k{9>1iTcrA$S@V%^GRr4yNoa@_hTlFL(} z2fCAFnfYji9|g(a)_oO}-}!5mYk}Cc*>^Qiw(lU<8j=h~)dOHiQbcmE!+Kg05LiDN zFC?LB#O~5kR=TBmR;G)Ykh+s9k!W#H2z-lzB7c{c0qZDHyvZxw&&QDtL*1zsb416= ze~#>g&y^_3Bnuc*LNAo;k4qJq?^L*S>rZ`K2z7fZ3X$qk?H5J#Kk#ekN)&vfsp0=% zOhpyzOL5&gTId9O|MsF1>Po1n;(K?^H%k0Q#qx1fb_fqS57KE~WH^9;H3d^FSmNA> z?0>k-M8(pMPA12=EI1F|ygL3p2*VV|j_>O|3PTm8Y{fdI=|$v51$Xtw;&vCR#f4Tv z#O>~i^&Q+>GO8TtOMbWN8$h+HPA;{Ws9fKMVN^D6+{}jNqn;m z)}nRzmewH-Xiiy&T<{Z8;Q7b zcFg(@pj_2Zz!|;E$5GW0bB8PV%-h|*0}eu}KNdQjMpb93#28ApTCs@rAN~CEPd~T* z=hZ?ys-}q&S?g-I^N&t%_ots*QOa76yS-m`=1NpT>ei>lP2P$Qt`f;wpUOomk$+k1 z!$J_fQ~AY0m#V_niaZsv60M_GXFvV?^P@*Uw_E=)8XdnKoxXZ;Fgp0{w}a%5MpN zw}S7ApATV6^N8`iyA_;P^wjRbrGG+7Dmu7(JTEh`ucI#GocDUYFkDOSndEL5Mr-Mh z*Lwv$)%3x@=b1yXQC)AN$rZ5<`^VF0HOXPyc@4B+?PgPAW9ErtR7IeReo zL`)8Du<5q~^ReeRy_^RQIRZG@%&N4?$> z_*gy&1Jm*_fI0Q)1p5+(*!$o(IS#^5oOg%#wiAS55Nywp&3Pqp^Xd_*3i#aRf8uJm z6t{p2T#4~$Tq^p-v{HVMWhS19ajC>nxsci=(Tm8|OBnogY36OSh<}{<&Dd9g+vDpQ zb>(fSv`&&^axai!3<<)U=9BDQXv0lMsy#}p?!SMn)MdbdD zlj8^L^>MTxdv?p4DkAP5d&_0?vB&M|pA_XqQs9~BX|Ms)5# zH6@$Jc&$0Fseky+XHWDlP0XF`t=N8j`u4bEC|5qdjWk4tZ?(-SpX3cxOH?nS6YK^Kr7Q%{fdx)2 z#a6pWGvuxZK{`bsZ*xt=xyFgRRsS#W+ZIzC5gjVTAjJmnvPiKwsUpRY|E`$N>*lgm zF@0VRd39b6S9Zqq3aM2qA4i0Q%cVK%xcRhGQtk3b{bCkP=6xfc=WHI&;M)q^Wa}U|Lf7CNi)KCna}n#JZwW$%3TNoW|^I8mvzRaI!MxK zB>5hKMmFP>wp6~$`pQCNuNQ`qK3C`6VMnWc7O^2$=RNm=Tp;L%nOy8zh_{6uXAtxq z0P2y`TGKoT)|j$fw!}K{ZB50NOAp5-p;6$9R)5%Uk2l)c3D`i!m5e0o>uvsJ>#kbG zTX$;J|FUYPrtWe|NK*Hx?yTmb@8-|o&)>lrZ0%eQSzjUCwz=94S^=vO!C=6>QDYTT zUQ&5CjoN~_>1}ckz%AUo5TbW!kyKTzq0+Ynl20z`cEYfIA|lNU@N)%jQC`gn@AX#L2 z3A1DlS|#ZvT;-W40c8{!7)A|AX)=SVT&Pq)n#il90wb*fS=tBWXL4DA8+Te3_nuqBGD_&jru3Ts=IalR`=CdNv0P#{Z%1r1aFDl6Lq$npa6LJC7Vm3?EEod>D7f9YOiZZ?Y zwkUBs8LMO_KqDpuQ0(%cx|%>D^M4r@w7*9secQgBsYF)P>oix0OKFkM-{BTwNrHRTw6h%Hq4pBTSaEN2^9BUjUTIDzNW_Kj>387qCh3J9L@~SMZ zL|x%UJ{~VB@dgEPxHn-+MU)lA47f#6icX}aGWe>>`RO#t%4-%Vbeic_N<`3+&UYSu(-?90}F@qId+KOEsUCMLD^Jv3NTk(-ez$W!`k* zbS~0Gktna*r}MJTK11M*#o0n#EDC{q^EfXM7mzK_C(>@q6PV)J#r&Tm_;c!3kxTP0 zQ7=`J<+#D)5)uk#Nrj}Lnt#&2Nu4VyY#=qss=OxhK?`w44ZD9@C<*hjxSf>dm%fF~ zBt`u#lnVonx+;r2Bb0zjmvgADbNq%m!x`=${}JXGBBg09FXW{xuO%!h0VvZAV7!a+ z6j>UX7Br7LH?sm}iJ?rhq{t`ItQPZ3lw*eN&xA~ivJx;8#Fos)2!GfNW@DA4=D%rU zQrym`Fw0>^i&11+!K^6d1nJ&vwkULN2tfri39}Mra9LQ2Xz915OZAqrMj;Iyy}nQZ zOo_cqcNxs-sn}&Oqo?sMg9$xly9~Z(Jjk_}RcSdFkQ7CEJzf+=l`0`5kwRHsB}Goh z)4W1zElVR+1TP2W*QG3O1Gu23zh?|S_sr9F07-Q#Q$R(>xPMF+6+O+1mzQ2#TiL^3Oo45w3( zUgG>OH2p7hJ}-o&&Uk2Un8I0#Jc8N!+ikI2k|Z^-yZSASha}T;4d!RZDn7u-tMR;V z(Uq{=fDw{Hdw&B@lX;Fi&39p5%h|jTT08`lizK~71e6(EOw4+{C>5g4#bP`bIBwkR za92;KNr8M7JyDn3z|97Ztc%&k@gHH8X)r~g<3C*BR)OMvQL{woOYb+D_N;oQ(y~-p z1)hEc(rRwmghUJ4>gm9Plyq}m=?|4S%^YXtwM6kWWPd7|Oz6XzD(ByEZ3vknD+|~w zbt!JAxugx+Y|{A80v;b-VSF~KgG~g+SDmPd(3ZujU@C~pTSS}YlPQqI7XKBAoWNA; z`3~aS7366tA z1V_}FC4Vv>iwgIN8~ih@Gt6@7o_}-wl!E^$xH)2{Y$g0d1vu4M@FVe0&Eeph} zd0F9pX7vQLfs}>>x`ho+GCwEDJSb5-unJXqUC}>c0TY>Bls9H+HVf1&K&Yk(rs8_Q zf0YqInTm5!6oki6sTBXRl70wul}c$d!!rz2T7S$fTU|3%$puMo!A`W@$&i5|UW?{q zfkbz1Bqw0>kk=}i2Mk7Lz2D3VS<(8IddK2OlBSE7l1nn`>wb8V7#h^?R} zwJ1DFQK}upaGd+Z@z|SbJBBB!Hh50+rUY(zh;^34oYGEALv<-Qi6+6PEDKd(A8sJM zg$&7xC`dg{d@MpSGaTphl2n-ZuIhtPMStWp%dc{5Br9jRO#GS377DT($ZkPo6G5;N zg}5?f6cS0%jz^4^z&)9DdJ=$GC0b1JNfsAW{jJqNjO!DUmaqC$g->P7mfuF7=LSygt>~d9gdy+W2f*gI+el z=F*;45*qA?D}i%4H&beU_Vu6j)2I6BGmy4bU5R}p+s#`w7pXqMal%~Dd|nCjB}Mz= zqJnj0HNO6d|32Bx(IP03Nq;(q%|)W0lMcr`zgVbx4?VciLRNVxt2*g7ksyzU2?jTm zsF0OXc-9i2Zb01v*~ma8+>YukjH;l0*P>`;&$uaS+E5ICDbRRkF_|{#v45W2;E0jhlMv}r z*q@y&L6tem!M%jib&gUH)zW0{zkV%q>E36#Ms%Fzbp@|~_-Z%-$4{tnl8RFU;9DH) z8^^VIJjO*KJ|GuS)%*ti{Aqtb(UE#5k?FKl<{5coWxz=9&5YrzT>!c?EDIre{bY%v z1t<=%V!2xJ02Tzwc}{_)s9b! zuXffb&6R<}6`98Di18Q&56Br}r*OX@`hII3Yx3^D-I9FaS$RXhX9l2Gd6i$}1x}OY z)bM`=*QLs83XJM7Tx>+xZs5i-JU2bKc?>ttr-_uJaCSRzgMTOJI7#&amy&%`sX{%8 zd86&gJbJ05EH#gYue8rNAH*`olz`7Mowo3Swhw$Ta)evB?ZNG1xZUj3clchGvwfMp zOQe55y>UWpVbtqZlHGRNH|-Q|jR2cBO8e!K-mDtHzFimjmvzcQo%QETB4Le#`XPFY_$l(cD7u$i!j6=nw%6TCmpi-W3@)f>RQPz!#-;d zS3Z>+*nc(7W%de5E-K>w=tdGWb6VQN3{}|eb|lbFXEeGR<<*H8bI#jc2Jf@l#$zC2 zyMzWo5MO&*M$+my4KU~Y4GzKBrr1Qr28XCU9K6pW(IHaD;tdtEfUOK3v$!4{Y-P@V z;4nkg`BsLnuKJNrgMp4fJ1p%dG&O~8ggUy%7Xxn8PL2{x`jw9WAMf3o1?8eMC?vxWw3cES=-En zjDPiteTl`&H;z*R)+9CPt`Or&&TCU~S} zhr}cm8q>IEem-QZGhb9wD$90yY&8+OWq*1T)oaA><7$rIjfiac>2_pZ#|$mhAp5SU z`6?-0HSdDtUaBJ^`l;;e?QP~|o$F!8ezm_**8=Ln$~ModjU=L4%pT}{7_RsJ{%Cst zJ4fTX@&9o+uKH@F7PzMF&xJEL)UvPDZ9R|XGoVqAolA5IxYLr$)oMk?&o+Nmj(^9^ zo5idZGTje;YaN5_CJTzjCV3asgJY9V73u5O#wLdy`iuq4{b~fNx=FVz9&FQPqKy=* zCvBq&w+qhB<=sY~*C%tWc{`b|$L%ib-><^EE8Jbz*1SbE1Jy8W>&AS-%W&7~6VzNZ`QI{+8hCur z74a8_ut_944SHT*aX+kV5lkI^!xdH;2} ze3{w)B8@Oyo?oL^8v$8hM;3wYh#teIp6$`^wx#+^u+Sj+OW9v&Lr-23Pwf*L*JMp* zKH4?_>tF>5YjD|J83NPL7k}5y+5pmgjOMeJQ;#b+uDEEH z^+g)7yARp+c9V3Qnz`B8`H<~(oqIw)j*cp4vxR*rRdnRmYG3!gorpfw*Xt{@2KGNe z<35B932LQ(T=iYU$EM-qziJrK=ErT<*n~)`o8`44oA5}nJF#3wf-AP7ejxmqamez( z@;ll1HTWnVLPp)Oa(@ZF(*v|I7gzg4Pu}G6lA}HD+!7c}fXxK%8N_|eYJ)hC_G^gJ zpt$iO>Z^XUdno$W3o-Ajx(l4|^ahdQoFhXhdBtFqMvB4yZloBCHCLcEd!RNt4VwuL z#EMrdVV4{<-Q(T{ag_WGkkQ;>Cv3Or>~5czOOu6KZB#>sVSn^Fi`LVaEA&8p)*Q`i zJ$z?GYpdzy=gf&gETa5^^wqueo-jm?8lQUq38G`{gg?}9{$ADoU7MNTtD17s@caJi zd<=D0_qt)&7M;90Jw3tWCPFF<+XO;f!8NUP%hxS|g$8BmvG9m7p=*7X7f6srXJihD z{YZOA(p@g4jDISqv(2g1yzr{&;`X*%G8MB9i(Vd7HN9VGF0m^L2#G=Xl)i@hD6J_L zb@MJ0^H`#!{OWXZ5i39p!KVsMDD!cIww$VCQ#p3nmbEC!02!pJPE{c4(yoN;pg9e? zTHul}FACZ!3}u5+?5=sKyZ(<_Zd7tFn=rcUm%Q|Mq<<3HUADr*SbJv&Ph8mkEScLM zx9LliqIjIv{%&nYd}r5ltiiTxOi48|74B19S|H$aJwzIrOVt(#UWw*=&#mZ8SXRe( z*nEe;6x?NX#?qmaBsT6HN`7P5olZZr_K+nll= z;}TTU%YQS1O5G9D6zvuU-A$99GJZa6_QU7hh~0h44Da?*GFlovuhDMp@F_T!BVPL@ zIwElks6o3MdmF%~UNbqCp^UXfO>vLKZ1$*y#zV70 zWweufTZbFUI$u9a)*19mal65=^X`gF(dx(1DMk2e>4#>z6*g(>(_h%ue%HNlTRq>&MF2Ek4$dRk-sxk_hxwz_ompY7OOjU z%wbcrp?t5lw=E`{Q;@FDLz>+on@Y>6@dv2!sxSM}4)}C&!DxP6BMfOUz9Y}z((3hy zoUVU1{8E+qT}~0*PV0@B2y!1Cze$E3WFf{1g3L zR*mDRYow3-ji3$Mty^g+zFXAj$KO=oVr84TDC^@l8cfd>w=z_8NPCg^Z-3i`1he3oHzhY+=j#R)ln(x>*9D{vDZ4}bS?87tp7FiAEDSU66oADMnSeA{ zNXJ#c(%M0%FiX;YCbLSH8PCFSp5jpQag>E2`GOn4Pwf*k;nv|zv3}EFG=fu>z=bXa%pqL7#u3nVz{&y31h5(p+s`or=|=e6U5na`R`S%gbw13 zLRit1S*>UxHYW+osJI2;pn-c)}QJ?pQ z{G+B{27+o{33a=sH=A@_Re#J10N1146cRO|&<_<`S@X1qYnnV$6+QhOtT!5v*^jEr z%vAoU?^Q7hy&u-2?7!%=%-$rG{&9WG{o%JU^S}9iUF64ou%zPQCQRlJE89>N)jF;u zZnj-^0D=mefCN7(OSz^fTD(LLAfHWNLE*;r!}h!qrcIpm2M0Mz=6^pNAhGJM#!Y2w z%*%OznaJ<2eZ48MsHWz#R_kf~tX;uBd$yp-rtjBU-4kO_u9}nW+g%%nqmD1p^my_E&c*b*;HlqJ$as3L z$@w;GbN+VsTn}B95zjiwd|n_`F6&MfgO55Iv3Nws$r+b@+kaqG3}(EJbA;?it?e

lUULE|Y7H1Mf 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

fxzbSqyvCx4_mEJWw1eo4ssD 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