From 7fefb4e829ab1fcac736eeeaf9de6d9ac937b872 Mon Sep 17 00:00:00 2001 From: octo-patch <266937838+octo-patch@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:14:22 +0000 Subject: [PATCH 1/4] Add MiniMax LLM adapter --- .../public/icons/adapter-icons/MiniMax.png | Bin 0 -> 29953 bytes .../sdk1/src/unstract/sdk1/adapters/base1.py | 13 ++ .../unstract/sdk1/adapters/llm1/__init__.py | 2 + .../unstract/sdk1/adapters/llm1/minimax.py | 45 +++++++ .../sdk1/adapters/llm1/static/minimax.json | 113 ++++++++++++++++++ .../tests/test_branded_openai_adapters.py | 17 ++- 6 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 frontend/public/icons/adapter-icons/MiniMax.png create mode 100644 unstract/sdk1/src/unstract/sdk1/adapters/llm1/minimax.py create mode 100644 unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json diff --git a/frontend/public/icons/adapter-icons/MiniMax.png b/frontend/public/icons/adapter-icons/MiniMax.png new file mode 100644 index 0000000000000000000000000000000000000000..acaabd3da98fb395b9bd89393344ac7045009f14 GIT binary patch literal 29953 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 dict[str, "Any"]: ) +class MiniMaxLLMParameters(OpenAICompatibleLLMParameters): + """OpenAI-compatible adapter for MiniMax models.""" + + # Required str so a directly-constructed instance stays valid. + api_base: str = _MINIMAX_API_BASE + + @staticmethod + def validate(adapter_metadata: dict[str, "Any"]) -> dict[str, "Any"]: + return _validate_branded_openai_compatible(adapter_metadata, _MINIMAX_API_BASE) + + class OpenRouterLLMParameters(BaseChatCompletionParameters): """Adapter for OpenRouter (openrouter.ai). diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/__init__.py b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/__init__.py index 2d935e218f..a3a03c7da3 100644 --- a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/__init__.py +++ b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/__init__.py @@ -6,6 +6,7 @@ from unstract.sdk1.adapters.llm1.anyscale import AnyscaleLLMAdapter from unstract.sdk1.adapters.llm1.azure_openai import AzureOpenAILLMAdapter from unstract.sdk1.adapters.llm1.bedrock import AWSBedrockLLMAdapter +from unstract.sdk1.adapters.llm1.minimax import MiniMaxLLMAdapter from unstract.sdk1.adapters.llm1.nvidia_build import NvidiaBuildLLMAdapter from unstract.sdk1.adapters.llm1.ollama import OllamaLLMAdapter from unstract.sdk1.adapters.llm1.openai import OpenAILLMAdapter @@ -23,6 +24,7 @@ "AnyscaleLLMAdapter", "AWSBedrockLLMAdapter", "AzureOpenAILLMAdapter", + "MiniMaxLLMAdapter", "NvidiaBuildLLMAdapter", "OllamaLLMAdapter", "OpenAILLMAdapter", diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/minimax.py b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/minimax.py new file mode 100644 index 0000000000..18f6ee3702 --- /dev/null +++ b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/minimax.py @@ -0,0 +1,45 @@ +from typing import Any + +from unstract.sdk1.adapters.base1 import BaseAdapter, MiniMaxLLMParameters +from unstract.sdk1.adapters.enums import AdapterTypes + +DESCRIPTION = ( + "Adapter for MiniMax's OpenAI-compatible API. " + "Supply a model name and your MiniMax API key; the endpoint is preconfigured." +) + + +class MiniMaxLLMAdapter(MiniMaxLLMParameters, BaseAdapter): + @staticmethod + def get_id() -> str: + return "minimax|4f0e4241-2430-4921-81bf-8b2c6040d8d2" + + @staticmethod + def get_metadata() -> dict[str, Any]: + return { + "name": "MiniMax", + "version": "1.0.0", + "adapter": MiniMaxLLMAdapter, + "description": DESCRIPTION, + "is_active": True, + } + + @staticmethod + def get_name() -> str: + return "MiniMax" + + @staticmethod + def get_description() -> str: + return DESCRIPTION + + @staticmethod + def get_provider() -> str: + return "minimax" + + @staticmethod + def get_icon() -> str: + return "/icons/adapter-icons/MiniMax.png" + + @staticmethod + def get_adapter_type() -> AdapterTypes: + return AdapterTypes.LLM diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json new file mode 100644 index 0000000000..b7769ca42e --- /dev/null +++ b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json @@ -0,0 +1,113 @@ +{ + "title": "MiniMax", + "type": "object", + "required": [ + "adapter_name", + "api_key", + "model" + ], + "properties": { + "adapter_name": { + "type": "string", + "title": "Name", + "default": "", + "description": "Provide a unique name for this adapter instance. Example: minimax-1" + }, + "api_key": { + "type": "string", + "title": "API Key", + "format": "password", + "description": "Your MiniMax API key from [platform.minimax.io](https://platform.minimax.io)." + }, + "model": { + "type": "string", + "title": "Model", + "default": "MiniMax-M3", + "description": "The MiniMax model name. Example: MiniMax-M3" + }, + "api_base": { + "type": "string", + "format": "url", + "title": "API Base", + "default": "https://api.minimax.io/v1", + "description": "MiniMax OpenAI-compatible endpoint. Pre-filled with the default; change only if MiniMax moves the base URL or you use a regional endpoint." + }, + "max_tokens": { + "type": "number", + "minimum": 0, + "multipleOf": 1, + "title": "Maximum Output Tokens", + "default": 4096, + "description": "Maximum number of output tokens to limit LLM replies. Leave it empty to use the provider default." + }, + "max_retries": { + "type": "number", + "minimum": 0, + "multipleOf": 1, + "title": "Max Retries", + "default": 5, + "description": "The maximum number of times to retry a request if it fails." + }, + "timeout": { + "type": "number", + "minimum": 0, + "multipleOf": 1, + "title": "Timeout", + "default": 900, + "description": "Timeout in seconds." + }, + "enable_reasoning": { + "type": "boolean", + "title": "Enable Reasoning", + "default": false, + "description": "Toggle on for reasoning models to route reasoning_effort via the OpenAI-compatible request body." + } + }, + "allOf": [ + { + "if": { + "properties": { + "enable_reasoning": { + "const": true + } + }, + "required": [ + "enable_reasoning" + ] + }, + "then": { + "properties": { + "reasoning_effort": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "default": "medium", + "title": "Reasoning Effort", + "description": "Sets the reasoning strength when Enable Reasoning is on." + } + }, + "required": [ + "reasoning_effort" + ] + } + }, + { + "if": { + "properties": { + "enable_reasoning": { + "const": false + } + }, + "required": [ + "enable_reasoning" + ] + }, + "then": { + "properties": {} + } + } + ] +} diff --git a/unstract/sdk1/tests/test_branded_openai_adapters.py b/unstract/sdk1/tests/test_branded_openai_adapters.py index c876698847..eaebcf4f1c 100644 --- a/unstract/sdk1/tests/test_branded_openai_adapters.py +++ b/unstract/sdk1/tests/test_branded_openai_adapters.py @@ -1,7 +1,9 @@ import json import pytest + from unstract.sdk1.adapters.base1 import ( + MiniMaxLLMParameters, NvidiaBuildEmbeddingParameters, NvidiaBuildLLMParameters, OpenAICompatibleEmbeddingParameters, @@ -14,11 +16,13 @@ OpenAICompatibleEmbeddingAdapter, ) from unstract.sdk1.adapters.llm1 import adapters as llm_adapters +from unstract.sdk1.adapters.llm1.minimax import MiniMaxLLMAdapter from unstract.sdk1.adapters.llm1.nvidia_build import NvidiaBuildLLMAdapter from unstract.sdk1.adapters.llm1.openrouter import OpenRouterLLMAdapter _NVIDIA_BUILD_API_BASE = "https://integrate.api.nvidia.com/v1" _OPENROUTER_API_BASE = "https://openrouter.ai/api/v1" +_MINIMAX_API_BASE = "https://api.minimax.io/v1" # --- Branded LLM adapters ------------------------------------------------- @@ -26,7 +30,7 @@ @pytest.mark.parametrize( "adapter", - [NvidiaBuildLLMAdapter, OpenRouterLLMAdapter], + [MiniMaxLLMAdapter, NvidiaBuildLLMAdapter, OpenRouterLLMAdapter], ) def test_branded_llm_adapter_is_registered(adapter: type) -> None: adapter_id = adapter.get_id() @@ -41,6 +45,13 @@ def test_nvidia_llm_prefixes_model_via_custom_openai() -> None: assert validated["api_base"] == _NVIDIA_BUILD_API_BASE +def test_minimax_llm_prefixes_model_via_custom_openai() -> None: + validated = MiniMaxLLMParameters.validate({"model": "MiniMax-M3", "api_key": "k"}) + + assert validated["model"] == "custom_openai/MiniMax-M3" + assert validated["api_base"] == _MINIMAX_API_BASE + + def test_openrouter_llm_routes_via_native_openrouter_provider() -> None: from litellm import get_llm_provider @@ -106,6 +117,7 @@ def test_openrouter_reasoning_survives_revalidation() -> None: @pytest.mark.parametrize( ("params", "default_base"), [ + (MiniMaxLLMParameters, _MINIMAX_API_BASE), (NvidiaBuildLLMParameters, _NVIDIA_BUILD_API_BASE), (OpenRouterLLMParameters, _OPENROUTER_API_BASE), ], @@ -120,7 +132,7 @@ def test_branded_llm_blank_api_base_falls_back_to_default( @pytest.mark.parametrize( "params", - [NvidiaBuildLLMParameters, OpenRouterLLMParameters], + [MiniMaxLLMParameters, NvidiaBuildLLMParameters, OpenRouterLLMParameters], ) def test_branded_llm_honours_api_base_override(params: type) -> None: validated = params.validate( @@ -133,6 +145,7 @@ def test_branded_llm_honours_api_base_override(params: type) -> None: @pytest.mark.parametrize( ("adapter", "default_base"), [ + (MiniMaxLLMAdapter, _MINIMAX_API_BASE), (NvidiaBuildLLMAdapter, _NVIDIA_BUILD_API_BASE), (OpenRouterLLMAdapter, _OPENROUTER_API_BASE), ], From f9964490ad1141abe34f0972167cb96f81c1cb6c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:15:20 +0000 Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1 - unstract/sdk1/tests/test_branded_openai_adapters.py | 1 - 2 files changed, 2 deletions(-) diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/base1.py b/unstract/sdk1/src/unstract/sdk1/adapters/base1.py index 77cd8609f5..cdb1929e15 100644 --- a/unstract/sdk1/src/unstract/sdk1/adapters/base1.py +++ b/unstract/sdk1/src/unstract/sdk1/adapters/base1.py @@ -12,7 +12,6 @@ from typing import Any from pydantic import BaseModel, Field, model_validator - from unstract.sdk1.adapters.constants import Common from unstract.sdk1.adapters.enums import AdapterTypes diff --git a/unstract/sdk1/tests/test_branded_openai_adapters.py b/unstract/sdk1/tests/test_branded_openai_adapters.py index eaebcf4f1c..b025bfc209 100644 --- a/unstract/sdk1/tests/test_branded_openai_adapters.py +++ b/unstract/sdk1/tests/test_branded_openai_adapters.py @@ -1,7 +1,6 @@ import json import pytest - from unstract.sdk1.adapters.base1 import ( MiniMaxLLMParameters, NvidiaBuildEmbeddingParameters, From 049e8c30f2e3f8d5032ab0bdf2e8b019f74414f9 Mon Sep 17 00:00:00 2001 From: kapelame Date: Sun, 12 Jul 2026 15:15:24 +0800 Subject: [PATCH 3/4] Fix MiniMax adapter routing --- .../public/icons/adapter-icons/MiniMax.png | Bin 29953 -> 71437 bytes .../sdk1/src/unstract/sdk1/adapters/base1.py | 50 ++++++++++++-- .../sdk1/adapters/llm1/static/minimax.json | 65 +++--------------- .../tests/test_branded_openai_adapters.py | 63 ++++++++++++++++- 4 files changed, 117 insertions(+), 61 deletions(-) diff --git a/frontend/public/icons/adapter-icons/MiniMax.png b/frontend/public/icons/adapter-icons/MiniMax.png index acaabd3da98fb395b9bd89393344ac7045009f14..0039c488ea0f9e153ca24106e2efc636420ce664 100644 GIT binary patch literal 71437 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

RzkWw(<`_ZcZmJ#2hr;fOq5w(KuE_90l z`{7u(NmwR)5w!QH%l9Q-J;wN1^Kw?ozEE?UKck&z@NGCWj}?T`3FmH<$gaBHz4|Qd zBRQ%ye~e`(-^_hG#j0aAlp<4Hb16Y{l%oK@yA3l1ez zoaTt-I7rk|@%=fK2dKfOfKHYy`aOGl0Nwq*v3u^jrt_v$w62Qhyw>TM(s|`a%F{|M zh2P_i2bqkJeg$0Q>}rjOOxAD*QO98kXBkOgq2Gz@F}B(68SxT@ZxE_1);gQ#`-DRO zx9^&-sY(0rqE*M~9_TB^V)|EkK=jK1dp9``vt3$l`>hK^H}65QrVp(L#h)kDY!=p9!-7;F~Ps#QC>?RBRmeh zsAKc);2!YcJI2TO+PsHtBc#BCo|((;nU|g2>C;eH(lPu9D6bwPj7Zm*yn8`mI)`-i zt8;q9Q^Qt%$_Q=SEjB(9fa{dHQSDj5F~jO@HMP}e8Dc-yZ8}vi!FApjzCNBBslx{4 zw6{^Lu}AqyT9*#|D;iOo6(jc=oad&30Cr5FvnPOq7`X*Il5`iprcvB^CDM1b)$-JV zS-{t9I{cra>28|=^9WunpX*}#W+F=oM8rcAvuN4{@f^lo3@q37J;BUUbyN|s73nnn zP2pMlsED4ut=fg-EyD3VFoeN?cU^qKt{?s)JN zIIp(j2B2VllNKj487%w`j8Z}ra4_FMGPcK#s=Cael7=QortKkpd!%JFlAXK=4(~!>n-DTt?v0KediCx!MQNywp%Z4EA zr$o=UNa=^SH7vQjjJM5~K*5?H8-fbI6|@o;Im$`kXgyA6SYe^RfLye@-ZgjHa?GU3 zlNQZ>6i0*X`m`tNu{66$sS*~BISIS|%J>XGpk-#A1HIgHT>5JL*>-Pl@+Q?+90obR zM@k=0_N*nm9WGC95JN7h@}s65xLJG5ILpDg!)9^f_XZno6&Z?G?MWP2194l;0*&6l zGW9LAUrGtW=fK(Col6R)e}wTJD4RNOa#-{XBk4i$O=ve(g+&+fl6=YZXn(04-1nxmkkZ!SlSUa=7qKj8>nC*UAt~LX5(}bhnRi0py zO62*>il|<5gP}E|EU{>mc+B!`q{(~9OS=c)f}6!T>$ZI^tf6YivVQCLeX9WOD5bjy8IHCpYPfHcgfbJN5DEbpjbwZs}TJe9NQ* zh6b7(8%s#d(V&WdrRd_bqJmpzPkyv|al}^?v2##jQL?w1)LLMt!h(qN4$7VP16`E% z-mgwV3M#Sg-@Dee!=)au&ZM3IjN;_Y!;%7qecPP`+R!#R&Ka<*%pix@Ejh0fq>eiA zHhI2AB5j07qB4=-+HiCBtRo+x9=+a&dfnA#h%+V_56?hMD;D(hwg0EzyPmH>Xcd*Uv!vnSlY70%Eq_jL$`>45!&-#$8{3Vx zaVZ$juY8|fzfUL91<`yM7vqINuug!ac?m^wBnSp_-CRx$9ltU^%C6MgLLgWH6$4qZ z^~3MPwd0gOKktAR40ZZ0*Pi-u?{k&T`K>>Q27NzJgALHSa@g^Q0^x%c{Mx}8wd!@z zc4>FV!7i7XA4c%INh9oNKQiSIc9Yl`SwEG5-^LklWB_NR#p)|M4x}o;(-O$htsny; zHwFw^7TARrx+RECt~rnU7X*sacXJ&~ez^R9vhIvdFsVU~RSEdL@+!N!;lEwOiZ`D5 zkvRKGMpgn5PtO4FiskK5?ovFnT)zf09C$SPi{6TLUc(h~_RVA|hk8ZG;XFuRqitlG z01PFrCo^0-p841h4+`F9Q@l3cPd@C&H@F=fFTdrV?#`L3$#jL=JE9m5SeY?=iVlvrtm4!?VgKUP(w7x;k%~dBM4pL2K!qhmP2EA z{uUqmu^f44`<(Z)bGYDdY=j<{PQvHtD{0v(-Lr~+3>wikCTPDg;Ukp^E;!-n0iqxC zLZ`t;%!8rku|+v0-THSrpa4PwmZ$L}6e)=nSP^_w`qIgi06U>86;~UFjM`f>UvjX~ z_{gH-Y)qd1B6ZO>jz-z-g|GV#Tsxlr$e)VW{97Lb$`=VxdjjA4^L`T^JI-(YA+Y0Q z7^_Ur_EYiLv3`L@vqmM3n@&A%@a$ERiG$n*hi=PfGBS6a5wGazyuWjc4na47#u{ii z(+k_pYj+jPJMayAimc+UHR=I>+bawm4C#9OX?(4GI6ebpjNK=xPFt$9=LX0Y$jJ%p zZl&m||1mkAK1vNkcS>^*v7;YSEjo;p`JzS`fLlr{B@2)o2*8Wg(BjtqbTZyOqV^NC zlYf;bBLA!_tQ(PYH*+67VyDx2xOacm-^F9cYk%h_;XGc~0#+|_h9x%c3fQ<&zpa=MZ5^7OV&(#O&`M^=C!HA`zIy#otI_h2zcQyj@HR>a zZ?ePN^?7BMzml2 zTi>xQ3m+pS{4OpO~uIC7aHZ#vosrNCpRMxG@2d)jgv~ zW>}U2je*+cS1VqJhor_VHE4Kg@7k9xa=oqQwO@l9c~@py$!Nk_2}P^>=fB|3;dTGj zr{b~W>5u&2?cXaoF4@()-t;$e(kmkOZe`6s344QRt$RU6)RTXIZN(Bl%L2mCjB8l; zWDw0(P_Ced&TQ^I%Cpmv8MOQ^lyI_@xmq~glUQXBr&lB3>`L@21}=#6TY*E`gq*?UB2;rADi=8q@u^SrWR3KQP zwTZXz7>75^g2BoTTDJnyaYleT=;8aZ96Q7|90h}(^mqf^<~4wAKO4mmOzNHg$KQI$ zwEiL9)5miU*;P+lXDkM&aAZ4=`gW@qbJ=v)3TKjv0H)aph>`p0_3{gpoV_AfR=pGt z=|}g0RUWJghu2bugY+HzFdH4qPkOWPExk+bL5|$F1VlKlVwKYdWj<;;3+}d)v9oL& zJ=t0 z=m<o!mMlM%(b1BTIHNm8U={NX1k`b?Q0%VtbaNIR_M5*1=SOx7U+MAu zAN@+a`ysnJ^fBvPGUuJK=;~p|O{%WY+Prxrax;w@g0k*CitI)|q;2ef@VmHL$xBj5 zrrJ@L=iUZFn_v!>3uKEoj%d?6>9kT#&^yXh4h|{aXV7vA?)m0qDA%enE^kjFbuN)Z zL}nUwdq7_GW_X(ks{uO0tLNB}k4mNu#hYY#Hy7S7F_%kcxg$!Y0Rgp;H4HO%2}|S4 zPt0?#suY@NJFGeJ)QP8@$tr_5`;-wtH8gd%HD%6nPT8%;rXe8NCWXO_7VV9#yyVGT zxh|l1$Gh-DpZ-VQBcOEwtLMJ(&mLZ5f%CSJ+b-CLk)G3P$cVblD?B<50a6$9Ti=y5 zdWktGnq=K~@U*M*nDSTla|=S zvTI2JIL@V_o_j8*sh{)$?VK$)>7CL_n8q^ClP@p;gj7zcAlMF#UcKvHbN-^cY~01$ z6H}%8E9j9G0IsFoB~)NuD#*~k$l87Tz9*MB6(8C&HhGjAEsl?vxt_^p_W?4So{y96_v*-rFT394 zUUg>&+rM4B7U0WZ9H4W4vIpqh-h$#DIOo~4D%WhwO{ZO#13Rrg$%jc;vpGk|^>_Ne zPde$%-h`2ZcjFUh*Q1^SRgP=K7VUXE3N?}bjYz~xFAYlNmI$2yL_ikeU1+Tx#RjIG zc1Ss00vJrOk{OgOowF5t`Dw3z{;)j!;otoyUQxF7;@5pU{`s%|9DnEk^kzu_RzRu0 z0CSv*>={IA6XNW5gTh8MzE>5Gn%@Jo-Q_@$p~=_nif`8&0Pi|DyK|j`q;-p&k(Jl7 zh5(uT{H`OjgjUgFqO!?*2pMGQ#d`6&jyn&cV_~+*YGyHKr`ag)pk?VKX*J~uW}J1i z59ZCv1yaV@BN}854z`UswzO+Z62A@>E@?q>xykCy2pIpKsK)w(H*Ak4YRGe0cYwo? z$2k;X;2W5Ur1~3`m(RX<=?A5@~7b0 zU-=8RyV)=ITjgyGmu&2Ei^Gdw_iYb5fqxU{AAWwz-Z*G9OJ0UwTlZF#yiEspK8qOW zV#LzQK|iA{mTOebyI8zq8a1c4kp{gL-tBp(@Sd#334+bX&NO&O$#1bk*f7C2tX|Rn z3O^_{IMWC_F_T-7AE#5Jch+M@;S1&bw6U2vP+#xmV7Jlv@va%k`h}d!xI6i??^Pl` zLjE_6E36opfHrkgB75FnLbtLs%_m25L#lAEUxH><&x0+>9ae@^<8Sx3U;zhjgBC79 z!Dd_Sp|UmG-7@KHzB+yxVYRcAgA5#FObON_0xic3SZy18IQQb$|3kd+b^j1@%LN-$ z+y}F06TLkWT_*nP@0ZLwI=a%H{8aGDWI0|J9z7jBYbf{aEHjIO3jF84t z>)G^^_9?q2u<@HnK zYcAKyGapf9|L{npj@Z z;(LL}c?e*5+3pKF^roB*;|)B0adXc@mKnVby!Ng;2hWd^E`ro;R9 zPFN-(Ci_cz){#Ib!x)p3x&CZqY$aN3pObN9WnzL+4(HjCEb385+CkAs`z5ow?NBET z!MWD-x((&dqq#SlV@DQv+o0_xp_uQMK@8gNW-Gx(jpRoH!mFD)WZw=nOzc|s?U>7O zpRe0Gr=pxB3EOCyMKfrI!d#70;o5jir@uYUIUPFYZ~aK{zOYWth$CSPyR{Pdc9Q&} zvr#5j1Sp9*Y4+68_cl^F3+mKEdm*0H}| z!F7_xoITDK2PZq~cfS27>3!zn#p& zJhh!ftaFzKpNfe$Q%&24cJp*ktLT{xtZte}W8q1O2^2SDM>tA>>r+hGW?ko=n#at4 z$=-l+xXDp6Kk7&oIUA*G{5JlJKb~>dLBS`7&s!WK@ZEtAS;jd*n92=`SCI83t?5~u z#owY<=3k%ddopMrF}sC)^Kt-<41aaykUSI6$oaIvgNPSO+tb&fs#*HKU?l-HuS9wb zLad}S{4C$NyK^0`fIG2;{FrFzhnuI<4ni2D6%_YqhZCcfx#OHg82E| zXwnaH$^oXVw&P0f3Cf#HsKuFfH=U`-Fa}xAA#B$>oH!|$IZNM9CvLzVlZh*i6xP!< zkM%E~X;mw7&l_cN{a8GwUivO&r0(se^AKZe*nF!zOQ3n-um0_;R9^n}f1C{Tzv3!w z&^d-Z&QfQ{2Ekv{wvgWfKI_dInUyf;i0pU#xKNB2bLTR$ms}Te=kNNit5p13{$4GY zdIuKZ<=hU?Bp7W!Q#V~8h`WFYFB3<3G{^BHImzQzPj7m~4$W;Q1=@4Om;tiu9)=xc zf&+2-$f?GAnDuijrEgd>s=3u{TPvkMH2^GuoVX(zt;D*<)%PREjOEc(W78`HL}Rw% z-x1jf0);cyLKl`RL&X*^WqT8=^-_Rt{p*|f3XUfB-`rnGOPOwW%c z#FVXO1Ges)bfPnICDOsCOT*_kzZw3v@7vS(uJ6RlZ~iK@EwxSYIL2n4k>9I=T4~-P zSQE{P-T(*s!dHOyonnK90eJ=-FqkqD)wOe)@1g&zmY0#c^DP>LE#9&`>FC8uUwD@p zlZljGsiok-!|kX_Z{Wzr-Qh$^fH`l=l5Jqp-5s8olvZ{nPYh@Z>6ABU%m&u;WxdV2 zojiZ<_v5+W^84`YZ}^pX@)196YyQIj^;hxk|Mtszj+ani$Fy>?b7V)i@HqNM_IWDM zizVu{K=&xU=!enO5noJuq`&xD>#T1vKxZ}2y#p`&?%$0kpZcjdz2ObOYhH_&zxvHM zfBBzj0@c5RU;$|v#MX|YaezsVm*S)o8>J}L2?r+%+q+ZGNoPG~#Xp)eG^6);h6M-fgbI1*z?2uFDVyoWn5hr_4i7Q7j@^(Wf4y3!`i0KI(dP^Z$ zjUx~{Dk6%yB(c*w6}E>5qHk_1WkSG2A=B%gb8vKN5!(3Yj!4NHO1D6*tsPGYnlw9$ z4QGG!2-I$woaS2{^l>tDTS>jC7?fL3rJwWn{s5l;ystQp0QH_DoZmNt0)b1L9y12K?fdcK=Y5`>YAL)D&01zrz-hOmfFpoO zfz#@oDKi}ud-NQu!K`sC;u4MKk_!}Knexb3!2a)JQDI1bDSnD)AA_!YsI&X2r3%-| ziCkT!0O*>p3a70rYSOMw+6J_`t`d&PFe?1J7%3(I5(8E+k#e-5@>s+J0inSiR7a}i zt<0y`cY~i1gJ}>v5mI}T-Y6R=nb}ZpI3v?aReAmM(c+FHyd>*qBo|G1^E71wuZt0L zAVc>&-R7kot3Zz87VG%7Sk`vtXt0?B-bE%Qh4idhG0Vw{vDaQ#HwQ{> z!^k}a8OWa85uWcRKQb8W_dd-WWyyqJJ&it@7vZl0>4EXOjj?RsDzk7)@UF2#(oEM; z5G0ORQ|b*)tWz%6wMDqfLx$1V{-^p^baD%s8q+XPLg$ubI5L@?e>QIt*tv4dfQSoItHhj)&= zAS=Lp&UnBXDZM7jBvnztIF_v6hP?dg`>^aWU)(vX7D~H-iks+AnzD8}t5Zf9fp}$} z3z6ssN(nPK1os>80Nvrj4(L*^=XX5!D4nN1;Pnw_NyfqgYZ+eu`bX*bbI*-c!T=&N zgtpP~16A&fWhGGBflD*8Uej^<7qrp!qev!vAC7xCvWfVPO(Mz~#-=|6)CrP0lht9! z_JCoZb{znWYCr9nJ;JF+P#&1n@;e7>fX%d0(NvZr6owJq)p*BQktetJ^|IGQa8%i^ zuhGhHFA~mkmW>*_ceYq}vSyJBC7Q%dj97?~L1hT2jmPuguVh&7gScgexApZK36|~O z<~H{Z#&4j5MCxSIn^&h=hZJQSsOc+P311Kl&OO8J?cWCFr7f;G#lrtN2A}yw&P$& z(CX==#g2Ffmof_T%rv#6Ns?tpI6K3nmC$s55h-A!b4q0K{7QQ}UMNom@txCHOc2`{ zXDK~*u3*T>GO-N(6HR^HL_aioFR$)d>%^-kPu{f?!d%>dK4doPLT_~pBrRNSZ1(z4 z8SfFB&Top-TNs+E>#>}RxRxuR?PgW~zVE+E=gBAiYq0l!KNO=yVp;qq)BC?3Pk-8{ zT<7Hh6wlxJT`5Pa6)jQIU7rgU+=o54OjUwN1%ry|REh}05Aufgf6mL4dM*D9jC(X8 ztcv4cY)4KK9%#m32yk|nQ%yr-Z_VDIO7>7VM0kBtN_lZ@Hgg7p;WnKO_E&f=r}!&W z3=5mNpHS}5VA96k4mM;G1Pv6i-V&9j$*(0!d(p5dE7UZMg+}b@%|7gy4WGCMDGrb! zj^T&FXG))dTA53$==iYyw~`ktFziSdZBLI<+Kw~LLmT)A#}VO6NzNkq%n%559K17Y zN0YJ>@4$s3;7?&*{PTb5I-S?P7SH~H{~V_ecs+Je?sEMB%%1(6|6&8JYsdNTeKQek zOSP+NHL+_Qvcr6q022AqvbSsTRV(Aja9X#8tn=y7HUt8=s9$!v{03b;;oREsz`7%&pN)(Lf(J4ht}B_@?fOApr1_x8(g-vaOT>IV>b z->uDdhx;@rgNR&9c%SBeO*Ac7r%f8crC0y=Ux1hX!e7Gq zYyZ|mR`wk1y0n}deC@(L)=_{BqBoeQB<5GOtqoaAX_-c_cv^W#m z?78g@gYEzaZ{U}^sGM%CsX0_%?A`JX=EHvJS&|7N=vjEghPo6%{^wO|v&tx}Pc63d z3BoRkAN&91^+^h^gBH-2J~!uy-z~I)vv6l8BzLD9FTFQPb-Z`-xz)0)d1$Mdrt;2cnKs(g04 zi+ut$AijfzG10~|DsiwpdC@o636xom8k;F+n_f?9-l?ynGD&Cu!Y;T5Y=Mv)YgG8D zI!q2@7#?i9v67j}E~JjaU3$6K-KtMNCX4t?1Ip|&r!W0E|K+?}DZS~}fYmUKgVv1h zRTI4J)T5CnXDPcEFOMC5_}TUsAKpLx%RlOn#s##V{3}1VEgNj?5m*%aZt&zd`~@M( z>Ww6O`Fr1ncl~F70Po4;#XtCmaegScAMwkZcrDnvviM9;8~)TEqU-!VZ1jzEeL%kIrI!B}om&KeA;RM@vQ z)V3<(R(M{Bu7m*19V2H8kq$RmrEbVIy(*$LP>~pk;8uq3<>5WIHbBqasV``vOo624 zBQvi~mwRgRQU7CdB03r9d)sYIrOTWkpl_EjcK$Mq;mi$LIS-G+%w*xx*T`7MwOgbj zbCmPNOUvd-RHRCpgN!~TF3}nmBu>7slXza31huBoM zV?VsSkEb2QZ7H?vCjU!~>MlCJm9E7;1_kPW762uSNM1ne9e4GYI@3A20 zj2A~i`-(_jV}^!m(}Nwv2^cSX*w*nBD9xvx(x% zxE=X=rtPLmmBZS(L40jZy(a-Zp#=E-CgpI7y1{U!ml`fLNJapvo7KCrWE#3gzaAHa z7z82FXinCAI6%=VSsp`%he`av_jv%K*K+TE?R0+|_o)y536Ij+9=w+ZN8@rFLPoJi z2`M*xY*uhG2@a2v+V~$u7#`hS=9r!6tVgcs~H4XgO&(nM7J_y%5Lf&#UdZO$uoR98J-wsF_TaWvJ+;7#)>}& z{!h&bT+a>WrzWWjy-TsCBE?W--g%X`tj_iek`8I=);xzx4+TkqL-}c>Qcs>m8HNWu_@YIJ~&#+$l#5fB`4?Zp-@N$>>Uw9i{{0m=QHh;R@B>LPtVpoxBjX~3gV??wG zCe%hLU{)rd_GKos9b=jJ2@XKY*#1ctKhRS8LboG*Shc7hqs-S(B4fe}2l_g06UCHH_{qVOe>W{siW z?2fTfkq4!y;xW?6q+xZxR`aQdZ}eBA*4}+`ec{0ogVceuQFGB>0swlGp2v@zS7ZS) z(5yD^{_?+p$Bx(ivETlXX?Fm{>FOG#s|`4a()|T zx*xiXQF>UPQv-g3Ogh*CxZ0H)_LE#zIRhXk?xjc;eK&UA_O=46;c?BjQC3_8)E5U!C?-D=^y8L?aSy>4JJP@!2*Rf?E8 zjJ`1t_i1MVU0nut#=HLHU&OP&_Kmo9T!85{zx`7l+I$>de#>`X>QQ$3p!ePCR@XAK zJTA+@7yrsP)aMHeC#H>@7#w8Zj~q1Dz1&~t7#|)dVLf(vQ*$aS?(8G;SWT-v`FT5e zI1aB@({cJ2w3{m!+k+Y3=-B3?V>Y8{^IX%6FZ@!VXp-I)4QiAYpBr}$NUjNj|7C3B;Lq6R{2)L{PKLQrjAOy59w6y`YpB~13`K>?n09tQ;6tphKR)l}}_ezd;eaV}| zspgWk&Jobs9bf}mCRfz7wjaCWH)=@JMyHG&{{ZWuK`}aQzxC*1Imu?9us9daYbJ8A zY`&H=#m&B%?YZ)?3AB$;echXcA>D03IO-Mz262O~a`t{*%T)$oYx@i8kyJ5nU0W)@ ziAlAZ4H^%8P=NEZ6!;QjY6HQjBr$yUBo^88u=~6TaVA7}n0(8laTYv>u_VtjJ)hUN1&AlQ8aH5ktIo$z^9we8)o5 z$QitZDr4mFJN$Ru{`oKZ@~xiro;+Uovwt1${))f010cPP(VM3fz#pSZ2*9gqSUUtX z`aX6rQl%^9nf#kkKaqp$pAAec!){cXw&I@CBC(<7Ja_5JCy>ZYHjt-qB(KpBUaIv1 ztKoMcl6%*%0a_~ahHAn{wDZ)VlWc{KG{%m_1OLytHJD$qh3RuOf20E|9#5%+eTE!# zPRf%JLyG#|l&iN)iCHBX9YF~>$=H_=D|2v0nwTY)eJOWcsNK2CsR$F>lI|21W2&ht zg2G`}+#(|$%Ttq~0j9K1DiNaiz5Qjb}hr)V}RFeYehLtciFy3Q`+)xG1ZXX1!{DiO>75=mu;hsD;FVG8 z#hC%u&5D%6vy<2{<3x%pXX>5$|CE>fIotSw-V-n`D-CA4?jAQ~YVq1Gl}}0NgNkpI zVG&O~88BIL?$YcQ6@!Z{2NGjX@6X6Lw8u~EWQDbPDd5iWtd+q$moOvvVOpUx3h{(m zyAkGi#A~PDpk&PP@pvBftCx1;NeDeo`kG^iOL`)^O}sOg1s+!`}xqNa~thS?KMv4@=DT=3ow5#cs4NM<#y95;5aY*&Er!G;qbv)uJ+_5}H^s z`s@u3G>OLi~kJX{_p*MoS%EXZjW1Rt=HWhCk#9TKps0>44vKw9Uk)$DnZMoZ+(t6ePI=q zg<~~enTrHA?|NbxWzILe9J4Gjmp>Klvi$-+2rXdv8qz*00HALdsUU^Gy^|UHW4TKR zpIH@KyR6xU{&M+do#NI!N@5A@dCB&9oqfV^m?>^YJsi(Qzy~O9XA61lx$xrP^7jc3 zobU6wJZYtNWVLCu#!6A9%#0os(~3`r=Her#pjpJE^uN(8hxGV<0b70xuxLsV=D;ax zB4Pr@#O0MO+MSH<|4hRhMSKv)&PMOSH;0ivC)r<6$!=wov88Y1wUAVC~J%bu|K#S?!BzPBqj09Cs#r8cW zGd}A|M>0f^@o+nKA59MXmdK&RXg_hf81g za)1hsg1ZUUB$0t`PZ_qIayeMG9>0S`a@xRHQKtfAU%MPn+EH02K9N5$()w*ou(hJo z(Dy;+?B!@>__JLDKpW4|5!puq+Rl4Y6OmHa*P_mMVST-k+)urw%KEK($h$9n&;CNi45TE@W)7!5BFX`M`e6;K}9$fjU)vriBhCloFq^(Q}g#v5Wh@ zAH{6XpZD}Q>pI$Tdj#0dhV7DYkk@uN2pR=v4#b63`= z?3DK;9b$0h^Q{RE(q_jDWvRdc!SdE01w{wurin0+vALbl89NfaPc%#A*ga`S;ax}b zIbH6OxinCq>1zjKyBSA~jzfjz7K#^svmsl|i51^9sR#6&;mL93unHVrrG8@%jAlwJ zk%lL%#wBb{j}+V+@AzY65;nK^OBQyPoLiDV=SGrd8Qt56N(F?#e!1cFui>%dRiFGz z@XT-cB!P^~8ZPgj{ms7)PyfPDE_ zmlg6ug@Cd-o=}0Kl3rFSoSse*I@h>#0-+ z0c7RHtz!q}p*Uc*88V-G#{W~>y9QmC9pz!&`}<}_Gb5BL3rQ%h#1;WlF_O$B5;tS( z<`|3xRVG!spd>hmBEA5@$&V-nDHk?G{BQud;uIL-P{c@bxL6X7ppb-c5n~~nAR%ms z6l~!@(1lb=nu})U`%dTVz54Pzz1Df(R|aoszW1EH*Xq^XtNZC*z4qP*!g?~VD#Epu zDn53;@O$EeO0xtb2NQ?}X;4Khg`IU>j98i89|JLVzmOS}yzDE8{91p+pn~xfn$?W{JqUk>kmk2Dg zezY8;j@p!P{77?=-N@Z>bX_Z6|?bl2^+=+Ou>HL{R z7L%oxPz4OomU*KXcbXcjtYcF2_zS3s>C3EGDCwb;L`j>5EvobgdtBG1hMo0 znJ8mSg(>qb4n5XIc12~aB#8>@11(HL?Sy$4cZ;;a@;bC|_ncup{`Y=be!q{$e(1-j zsGqSNlZ*%!Cf1kx)_iC`A6j8W69mz?RG1l$PzI1-h4wQrjXpSTEc1l;iO7d?D^Cb` zi!oCYMNqQr5W=h+!y{-Eaueu)ZN*1C4Hy8>h~a6es=#cmDT(B2WC#k0(D-_X$1WyxEao!L2|hZFxeWujI0}P@{li zq%SQG!sarZt4yTI7b>^|XFX85Tr-BiJPHOm1#E-B<6NO#7r)|uo1rRB34E3Gf3wLX zR=$_xC~&h_3ewUPQ63|pLRi?>(f;i06lo6h9A~#+&|p4t;)VT%i3s>nCDHDmBIrnN z0C}rKW+@P{6(5_3aRGfQT39J8&B#hgIGix11O4PXk73a{^Sr07Wrwv8Fl~h)ZY)#y8Fxj zOg`~l-!~@N3i$W0n`{MIEMW#4EGamjDOt!H>?>Z+Y&QZ%0Yik)KA*fSb=+s8I2vur zV~^9DRBBsMCEjTj0Eo7M*?0sQtX-y^=ZBJf{DU zYydV0rhyN6hIdAePg|g{<}>GoH7vJH!oa;qHjVxfer6COhoRW-x%`bOx=5zwy75$NtxU{pI1~KlW4d$hUmQxEtT&Zv?u~ z@tn;=HX~^dCCl)9%ASUNF*#s4#zg@%(^8mHd-x*L;n91!lO_TI)`6(-snHx0z**Vg zy%)O|ZYs%v&IKI6yOKVQs~JnTrA;UMal<1y!j>G$g_iZ%rosZipLS=_-+bC%J)yn~ zUgRax3*ge6)fr4i!(fb{E()~Hf^ad-2oTW8%0P#^t8!}`UlCM*$29by8?uGG#&B1F zi8oEwB&Zkwde9a={4V!;W{Y{cRH$U94BeDIkY`P_!i;<8?gV^X;F0F7#+4Y`9c|(% zVoY9R8X?QQU;d?X-~RLU&%AmUFpm9RtG#A*+;bIUBOBT_UmE|D4IDh4KrupY5IekL zu(N%naH;~}C@fccg^;b){H*Q4s+ezm^8og0RA{MHkJ_-DaVEwho7f~@l4ZgGl4}ah z_oGTKg&aW?IE#%8oL7^}enz@#g>_BCTInsEY53-NlHvq*kor9u=m*ccgc~|3IV|51 zy)+c*$Yftvq+w zcM$LSF5#w z3eT;Q(*m#L1j1{*K6l#WHGjJ%jGOb(?LV9@+gOfA0b9ELF2+v>u5l)LnD_XZ`r1rT z#27cW9oV;mst63TEiyQxpUPxcI`g02A3lP#M4DZ%v1A|bxUHcPoe2npk9=|YIK7pr zBd81#j_!Sn5(r-UPC97L#m=sR+uGVe09j8ZXkHhYmjS4tqHq!fjBKVg5yyiU8jDnc zn0z_IQQ&|8*~*wl=aWY&d`Z77B3_fd8xyq!m14H!|BR#qPZo_C6eO2Vv!S6~)pwOy zAMrisEcuO-r$YCdi@GOh0-lAueLUn**^Z+=Nwz!K8TTQQtj3uH%F!K^^u)Yi7B=}* z@VbB9Vo1p#6&dN4nyM_415WcP>3noM7s+6lPBgMQv9h%YY@v>tw+7@io=JkL^q|kY z(i=w?v&vXfzr>dp_ad)#`p9fdx}$|}L<=iNlj)jdAs`{T$ztrLlwL-2EfxePN-46% z20$4ksi=m-_4zEPkEnu+32RC*qvnE1P&PDis|ztSbr{>&83m0EJK0l~-I=i*yj4R> z=eT8IphcM{*Y-#HHWm^v1m#5Q3vsA6O2ANEFuNY+a;m6QOPT6oDNyMY&dL0-bcG-X zzBcSdz?q7{RKKFF>g)zm`bZlPYoN~jm4Dc*`xq4TC;*bE-(x=0NDTk5C0pl00*~N= zxjM8iYSE)%;=k~K|O@O!8&N+XheUbE6sAzb8A8V`Bbt5BHw?w;^J;kig%t*-)^ej_vl|W-63v!XrW_fB_9@UHk)`^oRRxNkFv&mMj4v6g<0N z89Pl47)>8E*V2Vj41yqhP!HvvPA0u>khT<=&O%5e9i3FBab&8|NT#Q`6;+Y45JVwz zV5SzPqbd97qTn3aS5PGME(ju-ap41}S~7U5X$ixih#1BH?!%tOGE;E5&T56{x&Xma zb7lQvXd!59h&6|?+7w$NFCA(YR35d%^Kpv`7S^kQPW>nwFR!R;t&1-RmQfzFl*|r% zU#Yx8T5v}a-Bwvx4Z8dIsP{>yDv@Y9=1AW$L>}0_tjQtZx4?&j`G=|%I)t1mlsRFR zNAkOkDoixokU^(SCK#b&aU~QVsNfdWbPo6Jb@9ho zM>hZz3W%022Q*Zs$9>=vIeKfOO5m;Nk>UK@RoNUB{tJRmKIaF9T+TsLL-I^u$x9Ff zmoS)PS(oh3&V|NjlTVqD#Y1aCmqOMwnaJ)$SSc~jRYXVUz~*J}EzwI{#q3qOeC}*@ zn~%-ll0a7=48vD5Gk>lQbC=R}z)FnSJR&pO`tCz(w?(w;dhjGzwMlLiHfluGUr;7< z&J=7cM>S$>+>wrh)@AI8fx5gyTB5A*-7|hMTE*nc8C`7~vzOS>PBB+q~))( ze^6BHPOjy~WHOA=1ptY1!dW4?jf&uoXw3mE@6D_-HLTU}W@8BgU$mB%br}__AvowY zTKUc*YrD0PT$1FR22f6pIRhr4!lFyX6qUJ#Y0ye#X)lpkw9du=onVikA(sqL;c~yA z0(vY&Maw~On0RV#BM3$`OqB`>d>zolZ@%L6kjpiFT(lxr$jPvVJT4^2S?yA%B{(L* z`>;TjuG}zJOLRp}#3zfVOIwqmheye)Qem_L;W09}QS%r@>%;m8j~YGV)(osncGp9P z!}CGWqE!Ty%Ix;l z*9Z`yma^&Ls}Tri+ulEKC={;cac&~Z8iLiU7br~@5WXMUonIolONCH@CkP^; zK0B}XE2!Gi(__A48L+~LT;Wo03#+cD1GKl(r3V{YxXI%10MmaF+NNd@;oQ6(3DZ=u zHi7^J4jLp(8Pu|mfn&7>I-d?Z2J#`0w%mnp69v+FMJxb zu2eAK0Agv6Bit!8w)H%QQb?PiD8ju!+=zLG0cCzMrs6K)ZhXFTtlGH%5!BL?YFP)o zHIP?Y4g~m}|J^pm4b(9WXe_)!`dh*cJWAs&#E9vS>5%T>h<42;xlZD;LjBQJD%#wM z4M~m(L$hdTCA4%NuZ56!rEWzkApsh?`@TkNEf{0Y=@d z;{-kQcm<;n1QIPfZK0tQT=THD#!|$HrK2GRi)sQqKpTO%%@w=!IBFBU)^&X1f=mgF zO(gKd76GyJ>mML+S~Iu|h2mL>A{b!ifj5R0S}}k`d>JK#g>45W0CVa8BC}E`(9N>8 zU16mF?KV>|R7SW}q!Rl1p9z1{Sb>q2))Z>iptzn7)<*{56QBj5nAjT2PZ2A2(6RnO z4}7X56jK@=>+lx!;(I+&;1K1RM1WKHKe#HSQr-zB5hV-VWi0`t{|T!|0v6V+M!{|} z8x9xHCa}{aZv*R;0yC3%l%u%D;%N0MP*aLF{;Ctfd&Fj2La}2$LI$Pz$WJAQ!a4YZ z93rnn_R1vbXkRH+!iru3HaL*vJkdfRfdC^Ujl(#gLj*x*IMAi@sX_&3 zD+h_rWYH3v1-SdhfSRQIwNT9e@yTUxYj~dr-f5F$wQ>TUZniK3j8#hCl-)p?Cn88j zX{#2}Gt>->(M1=%adp$lNtlFszzCd;r8q)1JVpbR)h^OB4kenfBta(fdWw~kx-i)! zutgb3A{UG#9uaV*OPpv40vX+@ZSn%DI51_2zFf^7YJ8&^iq$?Go8h&2rwR zpy8OpdMW`W8lkg+MDVk4nr-8|I_UX2t+A}^IFe63kT}G@))Nvc>|I!|8S$xt{(Q_9 z4+{qgFjyIX$XV^{QIqg9ONt0~+J00DtXK@AKsrY*Bbm~n^q2w@p4(y;93kdl=W)|z z<`7>X7&N{FaN256n+f&hf8G;NHlo!Ib%jX**;2VX%rn|c&I@Mopd+J9CML=9x8%ZY zdJHIVDKm}}w1jq=IWLyGf8Icy7YLfDLP#6?%Awwv1tBLDfZXELE{$V>rc%gxG})BG z8hDt{N5HWvs*ejMUWa6H@>`CtNkA~YF2-0etPkT>E365ercriT6iU_^urb9=X0xw0 zaz43e(IielS zFRp4asHJcabXbo7L}_k@)iG&Wk$U*L^dF$@ADYUn(Fl1h+vo!EBFMF3?9imZctF<` zp<%cx7@_-N1d7p2QP!di6D+A{vX4MR|Fd-%4MRa%TIeMlB(kb{Ei71iSev3RtCGFuct+!I$X}BKC)wDR##tSXT1yIKpgh5^q)rs( z0kNh9JK?p2EjXN60f zPo5D=6t6PF$$)BZ_X`@adTh}=MVkiN^%o8wU_FM|Rzal(aZoZrdVQ{1w(1P5)v zU;Q)@2-TT9w z5zd+LoC?f+imdGLO7@{L_pVt-r{sru;iB}gVf4K(C(QY(0D>74391wMW<+hSWfDz< zz(;6}3Z|G$#qhQ0Onv}hG<<}lvLP?hFjXjN!(yP9j?>Q&m_v z#9jMX0TM8V9#j-Sr-MW2ql{x!)1T^4(ZiY4WD@6HnoihLW5rg%7W`rV--$tJ$yoX{ z465}f9EazYS0Ri&?EjmBhmtcipa|ungAUMzs1q5v^?nj4*!}|32LFjHjjZ1)q4__- zjDQP9e&bXqeU=R!KBm!XJR_rXo%?iJ@(xfa@$@l(odF#hDnSu6kzgpOy2U{Osq`HF z*F3@aGuU2af@Sy+hlpRTfMi8e6-&nMw0UyYAU(tO8N^6vZ80rS-X6O>uk;|kjz-u$LW-73>23l*)k!;4QyhOSGH(Jh!}x%4(g;Zc^_}fjiSEXa!SQGo--@Q)yqy+ z0cT+kDl%o*V)Z&8^amdYcOREWj3nO`Y)a%w~-O8wxbS?$MLT|I0C38_agWM+;4{aZS5cYPkq2O$7qZ zVL)tT=@&$Vpo7lYMoK@APnvYcSA*$xp0OUJ%_dzqp+X5{q~?kZ0JhX0+fWl_GVQzs z84c+I8mEmYoW{tO!`HxS;Xl-?j!XUz=TbwtauGmEO*#_8FX!KA&Z~4WIS{(W^aFV8 z@M2Awv21Xm(QP^`x3zY(XHFD6--ryg@u5L$i4B^LUzhSY#Sd4&tpk0QCv*gXTUuj& zN^4EpjIfyfZmlUa)h?1{g($LV8WyTi%7`&zD5IC`6MUNq(W$=$ zIHRpeWn6|r2?nYjI23#=7@#051r9}IcDO8MiqwzW(hi)IssyLYj`yt%S%zh2k{J~M zD+5w?jQkWqErB}*llA&b+7x)Qtf`EbHtJgGME5qK$gE{TZm-SAmHv) zp97r?K2H(~jIL!Q;hY{f!l^*#1|<9bm^qTcZcx5!4wnEH+}1^irk4&_;s^pDNWNaT zhv6G#e4-sC=D;Wp#ux?jl9mXdHw2kp&7og1zbNf|hdw^@9r$QaE5xHR%?c(-(ds7N z^~g>BT+nKHS`~$J{xtqt{K$pOal;l4E?@_cnbI}GTR%X)VC+25Z6<8haHJB87&h8k zz6)`@zU=rMx9^*jfkylY^D^VfHJB*BKS99M=RjKC6%MA%yP-WgcUsh}zzBHCC4tkq z_xb;x-1>umz!mFG{qaZTvA4bVXr1&-XgO{olgjRU;d5ns$^(MNV;_G+9((6|T{qzh zC%OIke?)Ho!KVtwU3=&g^4QP*QmM;jzvn;rEV=c}rbcfHFoWMskHh7M?kV7op0 zIkG+D852*Z_q|v2qaOxvwS0_>xQhM&#KK=Pu=!W_Q!BPi zX7dj_*5rx7y^@0VixCW}{_!^PtFd)kzkJIxR&HM^H(XU5!}g>A*<1K?o~?8gZ!{xx zpzVtaP5={n6wRdSO*(D`@?ZB^F&FTN+t#1*ov%#5!sDUW{)9gI!|%+f*$tZT;C$To zRbL>V^4DH9(K-G0@18;EJwE%+$NBTW^#k7`tK+fH`_Cnow{bk>`~J&i+mC(Cx67UX z^Is)cPa5~Awf)E&JJ1`(8~c$PUN`zar^6EE&AXCGokN&o!ou<+g+}9 z^Js*T{f@DxKV9y5&9|OuJUEfK^Eba+PVaoX#B&|{eZ$*Ubsnt1c(x!D2)G|x?HEbq zeB-mbYySF91d8x~1G*KEC?kk@KWGhLl*JLgrI21IaKdRmhJA1>@h2yWsH7mc+rV46 zCKY@Gtxsx$3C)S1*!+MG$#sTR~@&$@C(NHQhrl4 zn;6P%=HYWj_NKQi>D+$B%g-6ulSORGY0ARR|G)LJS1!TIKJp@9)PTNcWY|ihHwfH=~pO=BRUi9K6A5VPSYbuCK z?)M@g59*Tn-#8}?mpqtDAU7DO1tmP!)xW&8yq1mX}?5-1oJAPHuh1AIj;?oi&mC@4j)*Jfb^9y7a?lgxPZQ8@f8#eV`<>qL zHn9&65Dbv>K!Df;NmTjhtori3=t9e|2m^arKh0G&;lYvi%vX z?mvT8e63Ja1h1rEXx3LWo7&$D5%2rUui~;x(mQMP8J~K2DF{aZeBOfL#;Bd-`QmlU z!8mSx(euhI+E|9E$QVlQoNHC5UwPk5=nPi3U;XMrPRNXIz4*mPvArMmkq^tAzxN|) zrs0>ktY@GSiM68UM`x@Wx)Q>2oL(+SESH)YFcPFqxb(A_EYwkXj;4D_v9Yp@FwEi! zET~f4^wE61Ow^gQ(rE$+j5blPIbN3x8BwA)A#mY?&gY710Q01TQeZp;y};(_1Q#W> zoE!makv165(Zyq58b0_JzkEd*HiouoN`o0BrEu90q3HKK&10 zyBv(;)}MM|(uNhGK-8RgzVrGwtZBXIMF~s>z;XNKuUNLTjNR(J~v1 z9#z8wK*O-D0A!UJICAt13WKo$NiV5Da>kh``d^t&dSot3nTx3dXdxVPBc7yoz6{p7 z8F74PG^>5J<7E_z z_-D-yZgSjvUK;M%6zcz;Klf!fTMEMD57UGNR0|-NmV@^2BQx3k)`#alThPv?G2!d3 zqr2w}>+YK`72sdtZAahRFFh|6pZ<)Qmore^dBfiY+pbbf$Q8c?ok2K!F7B6#R}e|G z5i%5Q;MF9TfVuGhtVtICK2F}Cl`}^mr|pRV|1;#Fw54FpGV@!d5g|a`INH&?00x(6 z_{5e}sufmK?DKfI{0LYLzBBI)FiKSyV}^iOzgda96NaNW%`ILEApoGLI7B@JM!CX| z+wtVT{xwIob@Y46{pY3Pt8UzP@~oRQulc{xu@~UanHJAm&g@kQ7Hnh7b==i@Lgfav zxESKRTX_F}{SEnjzjfl?uf2XL7(>Qij5)oYxu3rE$NuP&#GRk`$>sU|{;FI>SQ|6P zVqkpYN8WJk9QI>-_Os>I7kuHc)u%mOZoTxS%Q5f1@kc~5yjo>+Axg_f=&gl$`;t=P zV1Yg`-vMe|RT*4Tne1;*S(CV&u?26#Pg z(6QgE_26F`^{NM6^@2}sDag|=*QQNP{Wm@C|N3)OfAakcVmCV~wqCe)6dTPlDt{78 z-a3|sUw(W(3hhsR;AR~m(BSevY&Sf1J1+(Gyd><$-S_^g-1(VzE=ljp!q~Z;;#mSk z1 zN~-*za~8%A>vSGlvSIPI3lUrsFY1GNLlocz9FL~aw`+iruefT3{zws}pYhzjXoNlIZ6&gw{-Ok4ouYdi;+Z=9v z-K#I&#&GAzu4({EoDe9}=DDHuW#6(k3w~$T`uJ%H7qQv@{kxJUD#@RzArLmn#nVNj zh(%VCn2*3(u3iq~ovg64X}WGZ+T*?7`IXzlEBpt6k$Q7QhEK8E1%2Y|=uyovJd zCMijcM_B+yB#6>i9S^$p84(8>CHgBM{P?0LRB4IsWU%yr{DRgJpQ9UHFrH{Rr{?DtK*3ud#hX;&pbnymXRNE z+WFac{Z_}__x$R?=beA_i_7cVb7~pcgZ=6lDpGmkd%t&i{SsK6-ty)%aDM3c%rz#F zT<-b+DxA^;2GK1-alsF?Y6m0Awnp>13w^Xxr6dO&x7ScJ!`$1$EfL)Yn4aa_MY5`p zNKA$fdfANTngwO(APO1j4~)`;j$|O#Ut?v4s9j37h8t<@$F`Iev!o;h8up@sTj1II zP^yd9Xp*nbULO77pOYuv{QSLkeX#@ZsuvqQ_IG|l>K|U&Cgze#SDs<* zJA=3W*nB&KeQ0D>dzXD_xH@jXCk{D$jh8+~f7U*onT1|SfG+`w(vAL%VAR20l zEFgH**e-IfGg*N4bQn=zw@~@mfAe?cCddExpS{j5QB(LQZc@DNh_alBT?rtcc>UYt z&OiP2>HMuf^6$ufFMA0^tV_IkMX`YXLfg`q!3n!e`Mkt?^tIn7*Bv{kJ^n*Kc6~el zx8^q-RF+`1A4hiOEqB0L?iN1d>F4^_)5qsP?n&vB^vC=>@jb6w7T_m7-tZ%SlW0(A z3!+}j$!W73%fLU;FM{d#_3*p^q0zuU3S4~d&6pb#nZBAeR0}8c{7Hcx1W1E_Q#1!K z$do{qYQLpoKqf z<^3umw3MwH0WU(YgpPB+yTA3j^6=k!>s77J*Z()U``aH?xfv2&36jOrYN}V{^kSCv zq*s6Cc{lECdsk0e_*AiPMYPsNafk>Ct55AQK41lMO5ro0h!=O4UZ0UfANpvw$teOgsSvYJW%vQ=USXNS0 zP>O`?2JmtadgOojsbk5vI>u7)trFSOs*MFx{vW?zciq9m7KD-uP4_5&&agi5hPO@E zjspC7X(-pBidHbVnMyKHT#3ekVwIR zz%NBg=e;yE(>DGpa2i)lt&O`k`#)Y+xOY-68M>CkhRtDd&iibBJy1o21|LL}MgoKt zlb*@JMF|)-07bC^kJ6-MdlZgoMZ=s0%pU8u2JD%Sw^@QeJ<>pQ>-0_BWT*16Z(T19 zKmKk1OAT?scQZPwUNMP_LFIZ-4Qh{m|67&?_>yxoCVvpZ(of zkNwZ{l5bz0J@G?7F3V-f@@PtSBfn}n7)*rz_j=Z9S-3st*|I(T=`{`;W=vv%r4v4u zqZjVCisSZ6zpCCBmYJ+a)Jjq$*9Pf!4rH3QC&0R0Sq%oCrN|iazaJ;dVND{222^Vq zE2!C$yWk^uMSjEoaeiQ21i?&dDj%w`itJXZ0h-EE83~RfDwK&F>=M9Wc2%2A`G*a( z6pX{44v*1y{7`AViC`aS>0d4>Z_mRsk0|ra5($c=d-45|AAToYf9y@~lE>fuep)_X zebkK^Hvvk`f39t3J6L_pow%@+!`4r^3?}bb`-?Bd| z_@d)^!7GmkAC&E7uRy*p1k)G^LqqM%jjQgHxMIlNf`EpD>iem#=fAqu3au;T|ClQoZiFV_2csRJAOriq!#bl5O8#sYpB0>FpR=sfPrlg;?>5<{PWD=y!+n@ifuJ*`nNctv=#_DZ zUEazB@)n^OdeAxCM={M1D22q{7u=JDdn8gdwww}^q^YQ7`c|QFkoa@8HBLtr_BE4IRwG$Ph=I3 z|Kj_Ptm=vLf2WT>ny8{TpxH_T*B^Sbwvl`8vOn@S)(_|I_hwxj1~ORAxUXSNui0ma zn|}5=-{a|i^0Nt1G`x9~XvPnb1svewQ1I4?g#G<@ z+d}axD@~hFN-u+Fu3rV90m2KU&+6S3Q#q|TwD8ce=^F*OQ#Vc*N=wGJVGZYrF!XA zGN&_GZO{Fq$IJZo2b}ktL&xXO7Jb$qE--7y?fnf76gXpif$aSJ|NU9P7rkgnq zfeX(XK1a6C_IIn19mAoJc9>v_!!|DwL@66UIvTE_O_uck$QIJ`L0Ftxs4q@auBvqd zcSSH@=(cq83-r@Ki$=vVJPhgO-n03}U0g2CZgAY~&@tdO?*0Zyv{HF(<3 zYzMX)XCxH*4aARrem@rE?c@1v%t@>M&=R-xVaCg`1SNl!g=Y^YQSiTvEohjlWihn{ z3-?B^@ZnU;opBtDI(lK%Vu`o?|J3Rm)X_nAOGXyHiy0Y?XP?F%-1)4 zvpn%vzG;6R(S+|nfCJe|E zd<9UO3BXeLnFK!L!@&rPV0^kTW- zc{^v$?cSoBc*Qh^6R7PGkp#+0%dgCZ6j`te3q+;@djuMl`@Zw9 zFZ-R|@eVnC_`|tWd*XE$o;CclUv+?9YNN1QESv{|Mi!|%hzR(j6w4Gio8h`!=3jm1)A6i;!y>v>jtmMn_~u*Ah1TOzI0laxDhZ7TsX+ z(z~yIug5Kawy^7Am-p6-UbtKe?z?~c8ytp@j{od^?>qnZEAs&RE0tgNO6kh0uy1e; zycuItWCm0JX0yHuST(F^0V~UsmU>SA2dCqbBKSXDYc)3SpY9*yBH|X&aa%)VG3o@5 z|Kp>vS@b)q3c<3_+S%8iqxr(RbIt43r3@NyUzBU2^m#gl8zZ)i4-8rhOOvOOV%jWm zn=9B%#6Ophi0Kd~%!`aCJ7EwO(W|Ltku!9DjfA^LHDQRB zpaRV?LI*l8hYSD_dFk|G7lO0Q+J4T*qBUiA&@F}%@dEg+^0+Fk3*vP+jX-}in*|}6 zS8Z3jdV;)&T)!LVeWY&I6b}&lj^VxM0{r&OPhF2AlEqqb?u&d`0uUy&7gEB!`#~nvB#tmUCu@_8ohKB8wa#6_B>7 z5Ez}*$qY?ea>W#@9}|J9v039hZOII^adc#M!DA*W0iM*x=yH@sk0-u0WJifgX zVb&^p$RVxqumCGkV4#}x&XPZpidju&EDG8RbdQwIPZx3{^H<}Q8ANw0l_2jyD;(nj zrRtIfC|8VYnFY*)&W8#HRf}EV!P3VcmPfwljaT$7m0t%J+2O{AUJtgTS}q0H${g?PZ)#ZF=Ah4h z&ZuXJQUN@55$*?pUZs|tSnt8iWccOg!Q2V$C%53u(f|XH641S01U!Xc7&BStR3WN5 zxPz^yGHP}$9jdgO$%6oaD7qsx09|K5!b`30@vzKF)JvZR3>is*24^!MAh%XD>aR(q zU`{WZW05WT5&#*?3{Hq^Z*Ik^+At_X@0Gz^ld{OVKgSw?60c52c>o z`_F{xlxFqA4JS*d-k+)4FW&iu^@GdDV>(icmU~|LvSqtHv&!rW4>a>LSe@STre**A z7oo*(Rt^2fN+$hFLk?rV1Q|1SLq;YN-)n~-0lVfKeK*E&@U(1HrU;_u*sA2qVI2qy z>DI+j(orp_4SJiLBB85RxEqzz%n6Ewu^GUUGj2;G3oR$cfGAergv&z%V9dxO2A~vm zEo7o5Dj5XSmMFC~Tk^T1thaV*$nis0k9_+N+UnuxYA9*cr;lB3SGT|nBRO4o3xhoLsQCP&HwZ83 zEdrqnbQ#4n?Cv*u2u%!n-g2qRw8++K>HKht+Ki zd)9R44e(?^1K%tIoxj|9m z9Iu~P0DaN~1I3y~;&8Tw@pdYkLV+LJ8iIyYA83>8qYnfK9s+o{-jiqbwYy@C%t%hG z@#OiC-3)$3%iSJ#wW3cH@!~lxX?pbQVeI&xPzC-|SK9RMdTKhiOi#LwnqH_|vw@6& zF$d9XdY7rqj*t`LdQ_yj8oTTaZ7%IrX#aP7*h*X`RyLOpbOAqWo#5WL5Iu!!F`Z*7 z_2H=mnMc&DVqy=l2?UXbvjURQZO@_EGs0ZoU4$3HwDcpwoY1v^Jr}MAU zXjjoaX<6|eT{j-hZ&NT6az<26`KLsR8pJE5E9*TH9w?}w&$KhCG|jfa?EZb*LI{oP z3&Lf`Q2(nc7(fEd8l<{~ZH|OG&8`-I5OI8f)YE{eG?9Az2-G^>gKe`<9bs*psyVM0 z8ZyX-9?WXlTLn&S)0o)4a6Zrowx`db56AX8pZ&D;0J=?4eUz9nHTbbt6rctw#>*n> zUp5`INN$@9&7j@ugiS^112(m_*bS3ft~DZ<5y7d<^i{|gpzc8YD@;Z>BX4A&7rQ-A z_V4{n(hqtKGp!1KR5x%);d=!mV4K2mo$tq(``E}US+eV<@dCfzl}*nW^^evk!;C;f z(LV4gY{pcYID&Y@-gMUYqVQk>^su z(B1LIT#HDM!9t;~DN@e30EWOM>xJQd_MK7yiEzC+NHFfyF8s%Gv+72+We_l^iLfM>^BEvKqudAi;^7fb3eaL8meIh;t@NBuzPH|J zwjBhKjy5#0sxWX3Q1VAju-VVtQ7>rBiDZ;Y=7@deoG{P9H~jLQtW#(-8kE(828Y*M*4O+Jj2PQ%SmZnp zdjte240%Us0PJx7CqpA4ECXJtF8K)x*^PIt&^n5A>H1`ZMx|PQQF+W0dS+$=L=nW$ zre}i~DH*&v1`6tEMb~T^C({AzWdI1dk)fboTn6tgSrP!Zgap)MQU&Xn?_Jw^nB`W%pwX_Kb`Y?joQ=WkO!CuTGqhJ3%rj zS+7CkQX}lFk9kbQKG%w+T~vwF+)@vIR%Oy0DHV8?npC7eJActrv}l^Rv^p5vV0J8x zK~Y8oYXdTD<(i=*HO~cPiHz@Pve<4n=##;1q0&x$wB0I` ziwrBk5vF#Sv8D#okkRhUnwiG@O3goH4RK3>t+;a@%9de%A`@y|697qeSc+>26XP4S zvSL|MmoRh)TbZv(RhUcnlzpFsfQN!rlI3w~+#08tgEq)~oVERTF}M64T~nE%yQZiO zgO+rZkAWhW%a-~pH8NmMP1LP8w8lQt2Ez0P+W& z6$}~;K+#9dT0_^hSMyEg{>Vep5TS_d0g;%tV%$lZB^V3TSEi*CI%)$Bv}ug z{LiLLIu{30mc_Nv(OQ8{`UPfY4uY}sC^DIB*PdW@k2ny=R>W13MevvW>(>>)BZIXr z(gz-UG8!80) zXa?lBuKfL8t}tE($By)ZlEpMiEeoWU*dD>+(Iy`nULl@qE|Dg4jag~{@!iR=i5sBA zGR?r&$}zM><~AC9Z}qjIY~i>e3tdG>cNbhFy4XK$q2NSQUXV2|81-p$lVX*j&m{*K z9Q=WR+tn5}Uje=Yc>H6fUmG`$jydKX>KdnJzru@vLbU}FusBjuJDKB9I5U(#HyI28 zpm$VwfnUk!H31{%j$$$*{%YyLd>Rq2$Y?^yCm^LSC6Ep;8w{~Ubmdfw+&vt&M;j># zFVdNp6#|i-`y7+MX<5CMo-~*bhEmSq%w+YQcG;)hnypyh^T&Ma9=lJHcZrrKoJ>XgWBzFU`a zB9efvtj5n%wF{)6B+H->>NX_N`~Xf&Myu7RY^6Cr+F#u_nDz{IZQ$U+-%<0m@MU5y z`}CNBakl$E>1dJ@h+tsaT=&Q6t$U8s>ZJrD9r$~P$Cr~Cz;68+Hl^UeG94JnQL!XM zDA?#kURDiC{y%hT3CD*>60J#3I(}y@&=Vt%x7;Q`v(OdO5m|gsdrf{K(;LnN1_PN- zmZPyy79#_wwktfQbvBH30*0;b{B89oIa5_T5wJ)nqY^2Ik*wmhn`ShDB!hdIl1@B~ z3?b5g=B-f%u!QUEG=`aoC6d^<$0P$}Pz(o#5i4CG@I?8PAPN1c^E{|33R6Be*cE~( z;Q?J=VAi7!3c(3FlpYneRWe(AGzvUcx-_y-L0y*)w&wrF;>sMTf)L;^X2oLM8tv-9 zh!fkk_unM5JS8P!x;xbiO#Dt{kJQz><90HxA{iwW1wvysAxd3ungF2gmrhUTfRztM z=Y)wwCNW3j7``Ry5m5kO6%1bmmuo&bMr=s15s|}uH4If2!8%s2r}5+lJ*WwgBbUA) z4y8>R>bH`+n8QhlL7Ht~cF?R3n#mkMdOq8W?(J#-y(C}MCc%%rBI$)KqGA_}Gw4mm6ol!F z5+!oglgSD$%$li~uv63GTFQDtc48dvM^PLLCq+x3&b=!t9UHQt0@{=1012+;$c|A? z)9In{2j5z9Mns}oftImN-jH7bz|9c9id{<;#5lP{h_;Z+f-p9dl|_)QvalRcyewH_ zE(Gc+f;^!ZQsB)?WRw1*jH)UaSFB~MX)2!Gt51#sPYOY?+etWQGS)c7rBN=`qUj<7 zLwRzP#Ie$!BwSYpnNh_5WQOH)J?>l%;NP+n0g!Oki`frmU(Jn%tS+3x+!RdE{Yy?a z9>u^Abc#OB+ob1lY(XmxLh2qMtTyDFWa=#tfi+F5E`Y4mx6n4x+QmcTw$eiJC4!?M zW<|YzOq{YmCoK#tPBTNwLG*)%AO$+E^z;8${w{Gze9;AX5ft zV9e6`XIsUQhHN!%$O?ESkxkGM^Y0BSn>(c=VbsL&GME?^my6d5cj!FB@R1GU2nQOX znLEBlAZZ8y`nSpyV$OP`B8sixzw6vrqLD4)P^BM(;N#kLEY6ygj~)6=Q%&ndX220p zFBV#;+gAKyv!6mQF07-ov8iL%parpMGIy0)z6O?A2&ENxhz?q*9KT+vu?a$ zJsxsu8cH30E$Wu8#Ul`4IC3t-K1d$`S`y0_;|7tPASYpP&0l1)ZU9}y6!I8U zn>5xbB%NVkmf2PCUWLXu?^<>{oq~WMFqD4Va88BHmLgL*x);@vBw{*^uj!Nt8Y(hn z+h9$ynWNnLMQ8l|W;qn`jeOV4fa^Y@G9#94K4>j`j&r zLEnZT+=Mit0Fq=N;88*luREPA6mQnNSPao!($Z`QTzyUyFbrp*ASD3^ z$*~ff=>fY5UO`%;NwdO`8Hswk30eXS6J$asEue&;T9+Y+PI5$31k)g%;HmY5|M5Qz z_cT7>2qZ#e@$Phav!bp|70V%$?ww=g5q&N}df13{?jjgQhPB2K6}0p+DPw*jpqR9P zSWka|v*lc{+(v*AfsgeeO%Lf)S&*^`_jR(5gMP(-jUY!mg#lurRDy=m`$m9l3U{>5 z0s!T7vJ@=3;olUz+ZsAKXw!IB=DI zS5x$JfY&aIU`eK$ZxvMb9W2v~(1P1YjWdgRo=CR#j>2M-O#KTvAyfqMY9K(Z&7}m* zuKP=K6!{snI=GVZ)qfGX`lMn5%)C!VNb@_G1eX`CH;5b&;WArEU~_&jF0_!g#k;ht zK>{%VoX&Y-CzaR(k0m9JVSg3lPpi zmsy^W;3sDslC=`f;DVoWe`Vv%)JcIihNPURgfAi55jJ~PLmx?0owG#e7cyvx+&etl znje)t30=SdgR6zUiV3o!b?aTsF&n4NxF;0Yl&TaS7^;V*pqx_$U!@8TY>C{Wp#Pem zs6m=YrJyX}rK9kN&sO+SdF&u)bZbGc%Qa$$e{>u@>YWZY?fNGQYRWt=-=P|+M?CiA**}O zN_m#cwh(>)v~>dQFlmCU8laJrLgJ(P(+64(8cXSv5`-o?$-Q3@#b}_d_7-vqoK&IPn97_wrbTBchX2f7hu8p1dy16HWe ziJzqmInX;~6ymnsK49qu)gVSK9Fkgoj4=^8$7##Lb-uQN7xeid;e=Rgmafbj0d=h9 zMhFrP8`k_+dF%iyA@oP7Yt~iC&v7@8Gb54OWwL4Pe4p8r!bb1<6xnMBk=zKVESrCD z5}2|cB$JWW-mOS!jHZ#;ComC=h5_{y7^q3j0~shB7y~f4<^qXL7du)l)jXYcqqlC~ z1Ofu94F9kDU}RthU~CZN!!E;JAcJ9BLlKIngSuDa!RsYKG$z`tztderyF$Gq<;+?F zWvYo5MRU+Kdy=U!E?G@uG#)dNo)+Xlua%-qD4HYAqxX{F8u92tC|eFQBr;iV*i7i82l6sc-& z4nJHYDx3|Db9kd$4e6T)G`rI=nMk@f|K$4!7f@l+_MFuIL%1)v( z)!u?dGXf(tFdW~Pq85=e>u#vsHpk2!DjXt&Dm#5H#~LLKb|F%UaCC;ikeFu-NTG$w znzSOMmPwAM_qEZ$+L+I}?JrsrSZN#SHbzWvj-C5uh+(=fM(f@kKBO_$%*ruFR2#_#>LB`t$NnZY{m9$qa`o0Z^yl zH4+ATbn&#O7rzA@(PJ|K(}V{;LDnGrbXps70hwa+#wsu@rGMV@4Ia$Fw;Kh_#47cd zaw!9Ts<*~Zeo@=`7_<}pd(;CkOg~)!q)EMPC34qs-oP=8pBk7Bg)zN97Kw2*W-_z= zI3+MX0*OtU7&4>ttu|w*IPQF=-V~OS0oWUYI@^uacU#6Kq3k*BJoMhPQVAUyG8jz^ zV527pz<~O@u=0t5L$UT@K}NPtF@7IV-KD}4k*m$^#TYnktv%ts85+q=4wFU;Qs>9A~;t^jbD9E zMhzTPYXIs@I?6!KV?}_C?}wF~04$wn=tciCG)ngIojO z{weflAYEKn+(dIle+B)2%Oj)M!W9IJhy7Ld}LF!p)sRz9{Vfn6Bc=M^R|7>HXLOSE3O` zvE8_|ew;Y6f{Z$Qzwypt=|y2g?}(`3*yLm_HLQQbn6RO8)3}@WDz9&B<#JNd@xwdD z?Gx$yrHbhYZ4sbRMg?IJfJu>{byt;wLW2#BNvr}=sudYb_%Sz;a+<_0rO&XoCI3_b z7z6<4Z8jt{naR0(8w}{RSjoy#>6BC8TgJs6@W_f z1q8sc2&3>BRGT{&_z3WkOR1R4iR&cPby#B{n&rpwcsPJSHTBFbm~yw$hKw0pw0;1% zvd$V&#a}iOGKfszgG>B*xd~2MC@u+NMh#=-(V#+0p$Kr84o3U^?s!lY9k8N?!Phr% z9_OWm4#iSvmPHakKWwH%{CyGUD(}?>YH@fL#M&S-MjNwK1kmb7mAUxLcB?Kr&k8 zE@9qJ1M`^N8uqbj08uvqkLIfo8O$;nJ$@_~&f!$q@!Wp1RFM{qz_`RU*SfGTr=v)^ zY4Es>urh(aDO#o&3nP_<3?>X<6PT{C&;vDOwbW5BHp@Wx^0qu_1Wy04k{#qyXx*1tUg+_)<{DpQ|<^)d8%r7K%DeThE9J{7V;# zN~gnm3{7T~mj=Lx%P7)8DtR-8n9>LQ%YSP33@)LRFwD@+O7ppk?wn2z-9W1V8^%=* zDHs&;J5d<|YWlCACqvgZIO`TOCI;NlX(~3&Ah`*EL+a7SfQVWBE@7}RIh3Mxb#$;o zRAI20;+Y9K5M!Sr18uTLSUXq&y(gtyUqhzgv?3!P&mt8uNLnrI+&HM9wA}Vc6KoMw}GN39(Ox7b<-FKGc#(m;DLe5k3}cM*}; z0O@>%oB`HR_ti;v-GA`VN=6`hZP{0qq7Vtz8IDO-RGzL{rs2j5@oVz69!O;=ocy>U zj+EFJ{=z#Kxr9W}aRaa-4;al`+{v%YGmM-=1^eGV8JOCG^TVWysw@(T%#zoW1`!i@ zqbpk9R&wA_GDy_ z_F6$ZZ1!59Ml^|vySHc9QUDBX{=AONDX-5Z3sj&M6y(_0DTQ&3B1DW?C?y$F6h5qe zlQ4~^Tf9gDhm@w>2n=@hs3C$z@@61Ce5yJEau)NSYm_qBM8Xq8h1ED}#cKicEPwqg zO<;5`sjOomLym3ma>7HVaMb4A3xKl4_;}61&02pOFJ_!&$Y7{Aq@|q>d5onok!2Po zTt8C;9>}}^??e_hPpg3dYDheIzo^yBV5%nncW1RF?=oen!qzPTav841+$n+_M$gb= z9GOwmnsgjnDZ@yL!b(l;(GuUFmx8;ifB_iA=3q93C+i+UFUT=2h25Wd=W1^+H9NLPRip zHo2zz)LPCZV2`CrQU}?dX)0b&#Nkj_>x)c9(1@!U)H;U|7}9eBX=DZ>k=XP=z(o^8 zo_jDsl)%Uew0m~IM z>fyS543dsZz?YMYKd)`beLd@#`h^IjnASGB1->GLJ<%-62U_35$7?xIQg1j3QZbmGj4*CTX-$1^=OkSqN$6 z7pO}li$)P};{ZzN?go^TU~O`}1;$My9#v4A-8aLH2NCCQD~k~Lfjukjx}94BLZQiA zzawXF47dr(T=K!48>9=5rTBUBOHGx8z53~N4M~rNS>hOhj)vzMpulkeN_#sgZF%i! zr>;FMT^y-nE2bh?80ZLmMW!sHkvBYf%7_h1q;OL(c8LsCn&G+pt}7q_YCA{Q{%OLR?BO;qgYZT*GImEz~t-ROUY_e>;vGe%I zXqbmB$B$MBm5xP7^(LirOCPW>S_(%P@uiIZc<*jd3)Kd%G|Sm1mSnX|WsY!XjH2>1 zlR^=a>L&>FViPc@c~nUT49y1@ek4huCj@Mboz}qapl1Ne#h5hzXK#R@lDm6il= z^uomSyCA8+Is{Gd|6EytXkpz6iZ#Q>QSZZQ3Y`4bviLd(BI5>-V+)Td9cCYawgDjO z*wx%i0?m7WtexPH$%j?6EHT;|K6}X0c`z%3#1OuNmDwyGB)(EH%G)_=SOIzIBf!Io zv3TQNK1Q{_@gUY2Y!8|B;*yh&4z2`L?fe2H!m#4TQVvz^uJ=UhI6b%cUXhS@cx zJeor_Q!@@K0dmMt(yL*~Y$50mKaY7fGA_)Vk_H$g)}bcZfwdS|Nr}}n-^Qty{0-hz zI)>tWS(DGkxjNx`L|hKA4%v%|PzwO07y(g`6=^tNM)Tq?XY%_dgMrus)~1Ujb9COo zAE0^ofL7atVFP_uOiKY4CYUKB%xt0h_;=ejSx>KbQH6k0cMmJ-M$6f&V>!R-ygb4~ z=h#uto4A}~Axs>{5ANx(aWfkwoXO~Na+#0$Fq8;kiaFirVmwU?Qg)&!v! zHp#h~W(2xbL@fu6L0b7I`;gYOT}&#Si~0}|yky1TRum3fR|ZkfXJa{)x=H<_(dev_ zhyt~t!B1`|riKDHX`X8s-1R0(~RflA>CXWm<8RkG5WXEU2pn_6xNb#@dirT|f` z^Q@tm`Ot-(nn3VM-C(5Rh*XoKt_@8r(K0fTTz+IU_b@T@Wr9O0@m0;^JwGfPM@iBC zlT-o*pE59-PrU5o#CsAne_tYyjp}aL&9z`1K_N*=xoQH3o@_k-J+5%(suDragzzVe zyRr01iGVq1A||V_%@%(&(k`>|9O4`V=cqRkne--R@cI%HD>&6s3t->p)96wS_n?9?799{-e0b5$uilqq(1_a!AbOj z!`GdQbMr%3M_pp6S5%D<~5>G)bwGuBwvkU z5DwFE1Xw@>iNVZ(e^86o8%n!8Dj=Hwi_;N+S@Ryal6!9QfHK$7(>TCFH6b#b6`&4O4trh(%V z$;tr5IQr4}ma$_RCYLL_mju%nkJ-g* zR_nYfr`N_Hm9-@ULjKvK3yh&*Vas0>#%NIV{9$I@WQxK9pkpFE(J?`r(fYU5z+lbS zSt?ol^6@rG%(X*v2L83Awm1vX3ESGL4>=whgo;>OHV3a#4-qFB0E#)g!3_glF+yOI zblhejh)BxG1Bel5?%z+`pioD|3&S*I2&5HEGwVJ<;254Is!Ucg%V39=Jc~92JlUf8 znhqND=CQ|=wYh<22C#q|OW6uzm)S+2K_<)QtVB#T7j0PFO20nI<-^cw6_zNRuglwdUsu5$993{`3U+qtK^mU_3E<;)x zo;-+*ti)om(k4zg>JmQ#hfY%i)H@z8oH*yGEnkvzK!M@~ zvIq*>Ksp_{6~a~Oo%Ai*z_L1nO#mScqC7=`0NuSzE_kHdgPQ=vAx$`PNwX(AP4qUK z02fA-6#}WE+H24na5f0PX5Js=i|N7a61FgKU~piWV}Pf6wSmznv^hd9DR?Y{cgY@? zsutgMeIA5t6s^<3~E#SV6Jkz-17<8q+>i%c=G;3#Umqr-Ci zZlvhcVmQ;n5tP?woISv}xdRs9S9=BU^FgNtZw-%JCvZhcA5b49Z;L;tR=dPc7se&9 zPaIUCfQ$ge6Ic|je8h@-#f)FTVqv)4oFN`*Y~$|!#VR7#5Vj6gAx+1J#2srjSuh&0 z?*CFri&IwM&!liE0C#%dWG%6jCm~_i&}JpJN#oRHIx18j>N`->R`@2ns<$8;rPu&K z&Mplk_6btaUM)yj-54B$q+H02t($J9Vc~QR5{O7DlXVOuCM*@jkYrBE5vC~itmRFr=R<{Zn zupwZ;SV~I`9a|3RmloeMFpJ6cM_EMqI+6?Cu-chRNjNrv zpjv(&Duk6TfKaUD(f|{Et&pCKs5$fsulx%eX-Wb7&FV2On)MN&A%Bewu3rq3r6P4- z21-UD#WXn9?Ll&y&O&;*#Neqyp`wB)5wMV3Nd%rN5f99~)CC^sE;0ka@p)8WTViWs zQ7?$>G3VNiIvgL{Q8tilqHq9gDs6dr%8z|~0b3N1HL|yAn|J#N?ZhcMl;)Dva6nX| z74MVHF2D|JVs#PH=>&1b5d%KKv*Enf-AiavX4M$&JXYH|fK^bmCK@Le)Ia0tQCL?R z6Px?6r9oY~rsuz;f01d~Y-5)YbX}1Ufkv4Fqk(p&Encu#VV4yviOM19lr1cd2;EfJ z6b$YFs@80nJQv=80GDh1EdJA6200BVK5f|B22asl=|)xwC^=)>>0AYxy6fbhQMcBTax4o)86kCCV5W z1f|4ik`9e{MtZRZ&}Oj(jx2fAKa9a^hHj<^LRz6jMF?v{>FKi%{S-{&WwcuSK!%i|YSA)DIkd7cMb_y{a)m}V zYgh!yOqoY|40&-5P%%hx=rOMO{jv}!F+<_nk-+STR3McW=d6Is19LL2;0rx4 zko-yNoI;Px%bUC(&ZzcAgINX{&`B<-qJC>?EeD(FVmIq|Du(Nh#}eXvaRe%ff<-PGr??Y99|c|-!V@` zcE;Rb5@4;IQzVs=ZM{)!`(0HAhHG73rofC9R=#e^n@w1)7;j>gvb*)}r)Y_w&O@&%eSTnJ<<<}uV1hQj$)!+& zsR%F~R1lqxg^?p42YgNaM6Q&oPWUb3h?+#t`YP?q`A*YLB|%u?C<9Rkz>dZZ9)%`N zp+nM}3f=V4P;z4>YJ%r5E*x!89wu$l#-)L(;6Gm$pz9c%7C`gtWB9|BP(KBebZ?CL z;1nI{;CHDY(&&`2q6>qz>Z1~?9XM*cl;)tc<^bJ*X0U5HNaD1X9xZQFwMF7wH=dUG z3<%x1G6>)t*Giz#SNdD;HFFvbzmg8XOIR(W#gg!AR{)`TpQMZ;kfr#;&nES>sN%gdO-c1ReNa4{DJZ6~5oD#}LUF%; z-Y7nXKh+RP5W#x<%>2=srK|yB30KP?xNN8}%S@{n5FRrx8U4i!BpYko1nR&bvPujn z!Yc4V(Af;2zDJ8ha4D-SJt}Ju20m^_sYKF>8Z}Egz=gI3B8$w!xU<_M%4e-#G>@yP z8Crt-08J0%?zoQiCKE&gjRYGs?Cy~V*~Trw zfrU$D7DGmyN757Upuj^TB?7?9=cO`bAjzVK9U6MOyAA4!I4nNhhPF6M#zFOoAh@_M z$F%)WnCCs{;0^S;;)lZFMzyfbp4-MYmj9bZ7S-nFm@z@D@m$n}e3_n&S{CZ6j97qX zmJp&i4*mVYp3bLZMYOIUVXz5+A__&JT)Oqh8uSE~0?B8yN`cST29uf_v_6$m_i_rv z=e-k)Pp%I#X-Di~TE_9m!HuCnQzT8gU@#J4AgHusO3{t&5SLvBV`?pFM$Bx=!*#K; z(~r4GZWl6vZncLY6;ujk@w$|d0%m%p3TNmd%K%iM4;NG!RMH1noj8t4=S?T1OYqIm z+91$|%cOgobx#hKjuZ7>VmHQ!JaHrCaK=+jCe2tp79ePe&HSO1yP82QnuZR>?Z5-7 z29y8?qXs{bY&3_`KzIU}Bilf{(ztz{$VW6gK5GOAOpqPa;n_l$KI4Gv+GY`3juSTA zut5cGK`>IHH_%j9R<2YcsUm&T__)&Y4t;sAXamZ9gOfggmC2OZ1IgpqcYZb+&w4Z5 zc1%Da-etBvBMQ+rE?Rj{7)-t7HEkpU>cTbKq3MzWj*W*UlPfVxe#^04+v&4NC|I|S z<>NKW1a@3X5Ca-jK`%%d*`3AG_2dZ*^_S91`M-cp+55@=2Ys|!RAc+V5%B*90AK1) TW>ULvbwxcPn0;V#O&AEzlO%6nBDC++9K`R@^<@^z*&{ z!~NxQ4td`L%kIqV?CkD5&+zH3h9WiwIR*d#z*bh0(*^*L5U)r8bX3IS(r@-2@u0O* z(pComJ}?6Sp%DPUzaNF}0RY}y0Ki``03ebD0FbzUY1I-#`~uZdRZ$M{M10-JwuK-b zXkN4gIKl^&``l=Z5G`uBrOiGi{r&z-JS4YM^u$FFgP;t-G&0GnS5D8nYg-O)4ZO zJm3dFG}5{FT-9eQ31R@Wqh$Di2)rIo8^+lel>k?0V2KCkDRQyqqi0CW6qsVu$!{Q)E9$Y(v^hp;Q?2U$UgoclYR=(!JolD}M7YIr|@78&vY zgh~@hCb(f03hZG;P?2s2SSeWWR0uNSj#moWcBb(&T>YPfDpf_gJyr0)s5Rvr;yu(1 zh8jSIWk!ZQwmp^mY1l;IKHv3QTjtPnakpT3WaLd0BA^sHohdU({JxzOu053x4TP*2 zWfAib(3qlttnng=kO65Eh4_Ds9QdSC36Tl|oJA$UuOU+q1qd4o$}ykB+vQz}OVJP! z4yX1UJ&JdK*;FvPp2j38{gF0fKLHR%u7)^N`Ju6DK`_iPoRO%cL>O(NdAx)?eOiqj zE0sAYunhE(0dx`Wk;m9+G6pd|yh3cn=?l$QFUN0WmA5t!jxZ)gQ|7$3(Ml+i! zhvvXofV*hjOeBO82-*WSe#9jNN;M<>XFHP5wvU`{;vy*zp?U?|`%W3)Nbm+IAO73p zu)FrsaR0q&DLkyHt32z7hH2F8zg|}-anLgWfA6st;20?&7jUh5E_e_aFf4*^Ig$@jrd!HwUe;*Gx_IF^!jI!fE z3dNJjlAkeg9`h3@pav6`mBSnhE5d$2yQi0<>)BHicl{-_(qd&~HjVx>u5C)*eH~Td zgBPwn_N^lf%RQpLNvhw5*J)mHJnhY(#N}i@Kii*bHcxY37RkH&kTAxTj6zZ>bY8iC zUgfFl^f3%;D!Y+NzezoRM&sk!Vh3zY;2{}Tb%|_=;j0aI_mJU|>*bF#+)RRhZZN8q z(>Q_$(6EV2S3u49oPo2B75wso6f&`A|9WIxuT7N2Ss8Ff^v`1*{>wr)?ayC_hBUT^(b`1W2;UtD@PCr) zmS_4m(T23eoD|OTz-%qfDhFUud3bbKM?pu_TG0q-%=YNAC2WR4DyT6e>a^#7ohM^v zVzVUxE*HHlGw3rwBVlt<{7mbxQMAlz!{E!Vr}<|wC$aMj$*0!EU_X3BOp3rGj;7p0 z(l4>A0=aTgqWQ3m(9~EjNA9E10}PS>7c+)6td0aU_2)t~@W~vkzPV~^!)#B9dokpa zhFbCOqG>)f6O#7xNneeBpAKADF(dXyCeHddyPJ1s^@Cz`N(@NCta#1R4%<*>mz%u>*Tm0GhFld+lXy z!^=)@O+vMX!F{J3pQbvNuI~C=uoL0>yg4uG()YDC63gExIy6DPeoKu4)0rOq?O6 zslo4F8+}Rw5sqy;_CJLBWRVd&E&ps*cWgy-w>7F=WX~rOt1=%sYcu<4kIxG%GW(%e z?@&P}_qXmU20D~XM|Q>N;H=)6LN~OeCXzD@Ri99oR7Dz?wy0i^2UphzI^nBw&&~T< zSK|QfYuyW)`%uG(z{&?V?O4sR^+`~CaN8zDt?$yd!|AL28~mNJ7XPRyyq!uk33yi| z9#I^|dwuI7irU=aDh`$j8$C6n*V{N-NG2yIbRSD0e8Dg4N$skyICf4*yL4BixIJQjAwVV-TkxLwBWBj3DsP>u9;K)jI6t19|lN!eDsO7WzA zVQv3pGUdZnD+EpQ$@}5keE7}2>=TIujLhdfbIH@0b#VauE2S9#3Cn#02pGy%jJc=t zmwzIJUfruO)R}cZ=m;c$)CABBZ6Z7Br_`GHXe9lS6hF&g$0LSZrumD+`DE|s6!{&# z-8?J3&{3wc1()&yoI;#Wi0>_&=^t!+1V$vqxb3T!EoVHvJVmIrHAGmK;SWllyW&-- z^=$iO*h|qQW=`Nj)_p7pl^^BLUVGeIAsc@)8}6JXLRDRd)ra{ut0fpE2?Kx*8C<(! zN_RC7pd>o-`scoEp@PYgSz8!xScR^e+Vg-W|e-kf{EKdKy;xqsOte}uS8ynkRJ zs&dFBf~psqhE>6GBXCrffaix??q2BQJp3{QJEbT-#Zh=!KJU7I+ei*pH9Y}F1h3z| zf=^-wWipKEYl(+vqvAmvkS9= z(wzcFgTc7E_f_L{$#WaNCz5fGp~B2>+VF_;92fvJlL*x@UvDh__*;(eePug`@l|y@ zkiSU4qFOm%;DHUyaD6_{71Bl`c?CJwXI=97{mypP>|=hzhwB{j&Ms^9yfUI|xh+X^ z|MJV9C@9~7v)v3(T6gq|o8)KCw39JCoa(ft+&|rozJg-c0rwE8KHPPEfY)R{(m5U+pfLR8kV)Y z-`g0|*;It44^?1S;ISv@gEM%AM^DVAKewA{Pn#8`FAyjA`DI`^c$I<-S(|74(l>p; zH1ol|5~miEOZs%*&;hnurdxEQ47g9-<`p@+SV@}J3AR%fGyCzbJXecmu^j|;#?y}9 z_+uIdoI?3wa|P)d2Q6*e`e?MrNSnj2!g7vgq$KS*A()Gplmgqzr~ZYX67`(OB?E4J z?*ysgicg1Y8$>f8&gAAx*(^o);RIZ|$=P^t<8X07&xvn7%{H!|xev9^c!fRGMy4#f zCT%E_`WWaRs909NCaN1Au+Q!GP&)z6_ z^ha|=w?DZaG#Z3_bX+JH!kArNWOkWX$gnfwpP03&>#^~#8XFrBq<ma=rcZ4XZ4@R4fTe;SAD1AeXS$kQN|`b z1DD*=p)k9u(jMqbX zK5t;?+kTy2K39DqZrx8%)NohvmHf^rvYOZ#Wj>YQt`*99U|#MwFyDNHaWi!rO|o8e zBg<2zo}L43-lTMI*As+!WFLipwBA;>8Ke7i9}xVPUrQ1p{)!ZO-QI%aon7sS>2P`J zbV4mt`1WT5qzb4*g;6{HBF1uMJ>5ub{npy0-i?QFbjxm!;b$VK&BiDE zAti}6vF#6^`gohQ4B6OC$JQ|^esjDf85q4z`SXxSN`~?_s$5(22KBtTdU;1@yl!?) zrmnf9z}Sn6d}d#=RXH}+ju#$CUVYcDqm5}?Lu7sEKUZKjMDL;y*A305ko<*#chN#V zGx`b{Z?v?=>MCXDD!=2rdKj)XwFv;Z^Sgtl=L*f>eGKV;^N#U2W-UHm1*_oM#pO3;JZSAZLI$S(X{HT`|j z`FqUYHW`!Zi| z-%d_f26u|G$1Zf7U1=%p`NxPVqGv9t280;-wr?5>1l<_3iKlZ!b8wE7tCjrvpkgyJ zv>4G$b%z5(orXMPOwTt9Gp90V9`<{a6AMiESrj2GE(>nv*@@!iQNl7ea31h-8zFifr<#wEwQv z5SigR^O(l9kpIln6=`4yie_2k<&21Q*eNEYcacIVOE6x$w`PG9Ml>W-dFcylmF=*+ zJ1eW*=|;?C^uhCuNwDCXG&{OrBg7bzt50rTyPBq%F7UjDj`ZWlPGOUB`(pMl()z`cz!iU;#pJzXv4)(jN~-8`)v$b zr)06Bs_2>BAx~AD6#`RbQY?x8EuOOdS2t!!~d)90n8M|)%>O@?BCOfwc^g|UM!;|=Rf z!|<)f^c#Bv-~rbNen(-E#+n+oM-*P(XS}MXs3Q#f7uxAB<=jwRi6oE%K^NY=!IQ$% z)X1Bxas~_$yRb0LqW2vc71p{gA6^-;8D@Td@cRTy)Gam`aj)o3Vt*5{J1USPETa$b zhP}L{SbR2tjJX%;`Ve!|O(oCvy*%mItv2N6QjZ5joUZCB$@}XsR+2c=SyhbALHVl& zMc#7G#9o`WM{q`*I@cG2mfsgpv=iS7OcHG6#$N-`tZ`IDUVM>_PicIG^V;M2#im2x zq3^Ro_IvXF2o;jrcl{hF^JIR zAK`k1{ExXNSN98muScw^#p028Z*V6T!BUg!$Huy8D)zeqK~VBh{XZX}(lD;yuePqb zAJ#8gcRteG(Zt>VHJz0VM4#vz48C!zRr4>>QmcG5{M+_4&Se9sm3T465a$x3RVgyC zcAw&`U!J&UdjSVYyMse>U{%E*h+XN?`-%%75w*zjD6~Vt)}F5*EW_`#{-4keVa2?fS+@_w!qp84tZm2XOs<`z})SFu!L};ES$FjODvxfL(n;! zG2eq|(+N1b388@BrC^p*rDgAAt3^BM-fX>!41ZqVou-bhqBvU>T7>^(*&YUd+;~`C zs7>K*z;HnKAaduwriu{_byC&=uq&(Hmlt47j}1=!jpoXX$+V)jJ2@9yQ zdWr2~M;VypQ|0Toz^m0V0EzPzTveYP6@4ayB#V|Y<5AnugnJf1r0OEkWj`4KvA_O7DFxwl8fb$cvD5C4?w-<-BqJaxk5+ zC(s7Mjbcej3ZO!{wrsTW3BRVLVOk*l{I05b@8BB7-kJHpwBdFT?697M)91p$;Yb6Y z&HNCm_gRq66?r3~1;2R!0<4$$9?+P?8*%!0_glr3IUP%aQz%kcX4xE^Icdg&BRrzf zTEU~1$G>rt6Y{e_9}AJ$ApVLb`K(t~V?s@K;#Kt%=i$RCRm=%+Ls`^f=r5q$zWlQ} zx6!Wz}apOo|a0B`-@Rtj`HSeL(F!A`k>FupY5BF3Img>r(ARk;Dk^FbZv5x+5O_Xh6k7lb2d>Y;)gEney@+XTDa~b9g3QM8CzdU#C(<$a`s&8J0!+W-+2ujx@3Wj`Eh_*b#oNza0^L_^aHFv=G4bMEa=WeqQ9JMl@4 z8^qZaRF$bB^_AUSkOjLxR(1VLD%QE2u4ZwylzVBWr4v~@_nEpi>+A`@nEOQfTWDnb z*xm<70>gLs#E3H=z+3y@W!@ch5%Oa?oGN|DToF3qH15bk$cLHjGe-Ued!^WAqd7Ewy-BZ2-vL$- z=Dtu=ASuHeY=F6;b!5Fnc1Etk^XeWYl_W=4Yo&f4nlmE;?}fU8(QM68qnW<;ec`M; zn|8DvC+>59E3@~D$*)&HD(dOfl_`{98z9s&IhOCur15l z(0zDKs`v$@fqwt`q<8t_63c-SPDxWa&*QM*v(j0l=5vwR-PVO~NtfL}?H0D7Dln10 zI7laMAm+d9@*eZ}7G4iZ9^;f7z_0yk(RLA2;x(T&sY});gU&lejL?6d#9mvt9$Q$R zqajb1y+%>BvFDD}m4xlJUj9{QR8U{~PQ^X)mA&uYK~r0}79JOWo>5RradH3)VRYb{ zNlAKY?!!`>t6sz|RzvpiGy1s>{;<|n52JX*L_h^QFH^Rq4E8OVURKFTuBnkUouE0EB_|~oM&lwqC`&^vy0h17D^MY%6e0fr3}Dw|ez1=D^K$0xafpvW zk-Zv6nZBq#!#kH|S$EM}=4s>Sbg4mS8aH$c4W81zYKnpM;hSUG!39^m0nm=6T+xRRo*^Kbmm_)kLy*_EfZ$@nzxhn^K z|Bi^oj-`@MnhLYXvH~p7Cs^<|kW6$kA|sJfIqh#|wEmba*lxXUaMnhN$PbOSijD9N zWdauf8>sEbp6n1}!=8G%F8fDB=yM8M4K_+HzokN=2El=Ky)R2pdU<|Wr@vTHU%`B@ z{_Kell=ABix=iY#7aXaqB%*qG++WGe4{r)TMm|QaM*Wc0>FxH<6I^vZUKYvA+9Qz` zH56~y;+{5-F}ztdC#L>&UU>^$F(*oZGac`bg`HZ;Q(&cS} zL%l_lFq5zq7uU>Y{Q7VqPFcf0#oOna!2?VVy?OYP!lTNcJ{ElK5ly(6ePl6r2ec1 z{DSOL!YGLYrXrA_-)}Aqd*h88viI)Ufbmvb)*}GhpsyzI(Q~+#ZLVFlg|}3?sK95|t2c6Qe;J$Jd32lzjbHwFA!lRuPM|G3@!pV&YQGXF?fS>l}BDI{o+u zSf8sK#WSk;9dy?U8RpP8CSa=71s4sOPPd~PNf7`DhP$D;4s=dI@D1trvX&cIG=AX` z=lhscT}Pub$48@-gnlgKe+n?Zc#PJ&*EMs(*|kbgn9{ilSif4fKg}=7LPGzasQwvx z721si&8QCoeZHWL7tW}yD0&J;^v@A_-` z{2H%YlGyQQMGAFa5<4y9RDLCR{E9UrY$3F8Gv4a@&J!7z(ajW%-~CyxiLeyf*@&9b*vC zA~q!;5oGt}E)bN|akNfTK5;GmMt6z`b7J`UaU^8&YzDMw{cbMyoMU3(Z~t&l=lV5O z)(J|8pe^C#r>`Kgg2f)ei2f4s8_qK1<&k@=_@#B=Blc+$Y|Um$%#8TzXXTHP;R>7M zQSpRWgLq%h>VPjz9Y@iYFJU~f_@Sqjl#)TjHoC9&DQg5XbOaX2svEu7-Pw1D!F2_= zN+b72hU+vv-`y=9#QfJtvOM~PwZk_YU|Ex{r$3YeuuINW22at}um8UKbAg0FNW|DF z7Al7|aIky?-&HpTy>^e@6gbS4G61s2$aUcnm#L!OV}s*o_h@LbuTB6yFA_*jNnMq(945u)ma1-wMaH64ln|(yX(2iHU(b})ubpKhk)BT=8peOa97b=r?y>@un z>KruwS#>(!;khF7gZNXaSNGr%LtkStj>oxF{$C^5WfFzD$>8#RPQ=$2?+fGQJ;(BfECpK^y-aY+Kj{o;~3RK zcf$O^4ih|3_^4s!$Ag$M0G!HQ_vj^X#NA?Pv$JcOede9Ya6UgMTnySnYK62Vmva#3 z1v(=APGegsS7Y|5vCBg|$QNjl^75uE^Uu zQ?$QXKE3OBjsW$or~(UJH0DqbclGaY%GTi*g_Y;u=T7;UV&}Uabg|={cWtuCyuc~7DTu~*wd+cBTWWJ!>L?HvwsHT?r~t4vSS{-qvT|@312btyA02Zc?RsYq`4nZ2G%Ob+Zfr}?0>o5&p`^s zV(rb75aIGfhFV7j{+)RBBs_(JxJ~1m;;v#6W zDhd1cuZcVY!CHz?_4hPX=j%&{(K}Av z52)tZfpfGr0h(230wrN}`<~Q2SPTPD!k8TQwc_H@1gtsiglSh&@^G0_`)zc!9iW=T zXzDhS7`CS5-o9i(-XABD(JS-IJAzsD<+XEtZ79UQas4N|>t8{AOUIbH!msz8*?Hc0 z2aN9HwsP+i_>f-il%fNO%g}-!;?x^NU;1m)jZqU|pmCXgW$Yq%|t1Ty}O(wY?hLkN{V^#SL; zmE1#?zY-g(7D<1xanneXxcMaf1}Rj&+~XZX1!cLe!w1&iANp>TR$m};B~omAGoWKY zZPsh!`sI#Oz7X7A6_j^43^>5((5)EHEDP`#K3{Vdn~zO9M{6ppp3=j(uWUp|UWtlq zGl>h0@Z(a%t5TguTAYjh!IXTPT3>mB2cft`KNoVRxCv5Fe?7{l6$9Y| zI0(9~%Q$Tbvfmq|PmO8ahuT=lZ-dqP@_Ked-G z1atpIT+PfT)yczITlDkAB+XuC2K-hGYh4Bz5EnUw{f^B@`j;)t5$xpjX@eiyP{`Ot zy_^tYI9a^w)qo1ejz&Vv zJo{`(-qrDaU4I~iYQd6EfkW4_K5yso9hZcp_}~`?$No>FaEUpGrBugp!RP* zdw|_8>$yj5?S4B4v?#XrP()Bp{lW8 z0_VLhTVO9C*|eYNApk;=E)!|m#{sy3J8{Ag%Ee^zU{^r3L&rLnv)sP}uBLWZQ0K-X zag*xno!oiTxzG!!LmxgYW>e01x!>WCw=fF)Haj}qA1jma#4N4%5i^NXLO6$@gzEwN zpfn?j)*YRalzU#u8WpmWmpNzqu-Lne|8LMwUF$WS2h~$cA-BeEMid*dBck1$NM?*) z{0@m-D#OP$8ey zH-9PXkkM9cXYO(bgg!I*MWk(qp!)Z{MdOE#AuAb=y8^G|COmg&oL6?=V2VBm{VBO)dD@er}8gEh>~Zi}2Oa;F~&%fSPyIXi*yv z^E6+xj(TwoGy)={r%#`R+}GX71JmZw@gNMoEhPcpeHwqPJ9nN1N#bKa)8hf5kLjrb zR7Rjq)Mm0fNA3Ofgo3NA^g^m9=8av|jMtw4;NaZ(+oqR=Os3IF9Zye)d*X{p);~Ip z6L0wxk9c;xNLuUbYmiZm`*ZKR16**FDCNK4eR*}^40|nkVTD=p*}~5lA26!bc!d^n z&X0;3&8jlu|Az5J#MdP=q)N1EkQs7&R(*!#+|eMF!^reC{7+eWQe&`17XHwS5~d(F z=gh)UcrZ*0OaTE2eYPP#tmHELrB^e@su0)CG0YM5KvG;UYPI~Tj5Y!J2#p#|61Z*~ zh!@z2v6VjRP4cqq2})D8W%yO_X)r(j!VLiPBn!=2BcMXenbQh$xPHv6HI+3zK3ve)bmtz{FqsSqTfi0N6aWl**5br#mN zN+fs_`G?@7Se{T!gKgbw)%`7mVo^EgLUP*c!nvb#j>5?9?!xVZ%NN49x5xm`G?%CD z{NUF#LV~MCX~*7w=W4Va_uN=qrULjO59MWBTXi8*PVIfu?{_O1^$tv&0{I;()+@T5loLWS8kr6F9x-(T&{ln}B)TJJ zT90O82n!ep0-QT->g$Z&>s$Wb-FR;>dd8`nI&#Zh7QTUeRH!NRf-=2fvY;D#{fTy(^t0n=ZA)NZWArz>v_g5UX_nfC%Dn*{u^Bl`3HP; z=`p|LdY@+iq}Q))5#HEw&;GOplTrBB7Vah52=(xZkCXb+u#3gVQ!N831%d^qcx z!0F;3I{w))&twu>1yc`CC{%+JW!c2o6i#=nW#JrzkA1Lxh{oVd<3>y|Ps3aj?+Tr5@XUe*T45~WH2zY2j#K}K+ zWUrzxW5efgpA%c}=ar1!U>c#@Wq;Woq(*@!$|RMQh1D7hlx4`9{TdlRruMzQeoH~MMa7MD z8tw<@9O*w6woQ4<>ZkoGE>?G|=gPt7!C^-NtOk z#!Nr%jjup!ncm^&*NPH8UB-7i$6?LqYmhFCcx{85kMGbU{@p zZj7&Y|E;_e5L+s%xf;!%{NN`A4hT%Gqk}1DHSdO_Ebv5PRKs5UeSY)F5oeNhHHvFF zG&KiW@bB_Bo%|dO&MfR8K;tn$mGGNLQkb^$8=wa?t5vJW*NcmIiJkm4nPJ~%k4KQC zzSLeVV9e9k@K*L$(!0#9XzUymbi}(EuLSSgN{~OJIQ(^S0gp4#@E+>2t=D4KKBe7x z5G_HRjM5z6AseIQk!z^l;2;HPuLU0wQ|cBI4%c}O^X*I{=EV-d-`j;XN!)GB8HkQ3 z?Uq++?H{wHUoBm>c;%l>6THqe1e(d`Ot?ud)6~e7ZIYBP=4B6;*x!=SfcT`X2JAwE zM_s|u{W!nSv^>r`+&Z1?8eAg~&ml27# ztbBTa9}dQLyl&=hh1Rg^FBTWw%J;W zTg5{+U^Jc`zHFiQy2U2%TL$&#L)1d?CRJNr(fg%ljktEr%wRk z5#Cx3+2ME|>8LLtqE8sff(1WPyf49=z0S0ATU|KKKnF~}7LSrb99ojpk?XudE1D{} zrIlv&8G9(Iz1nY5hs0;C(}fY+pH;#V9{T?4k9WRZ67z1HrmWo)d|{|u7$PnnN;_KJ z8@9G>!#jZfyR*RCpSDKtwtYKpo?{C;Pumf)%yUGf{isy=Thv6eR@m2GR4Dwg4aJzm zh)XX>uQi~nVoX5g0C|U9%sZ};wFIPcS`j_}=1*UmVv-0V>uNnTktJ)7C?iK z1cbE1XS!~k>Vo<7^>i_Egzmg7jxec(^*8(`3%^vDnViwGtvQ+Q8k?XjWFHpwG!S=mxR>}KbGnpLjmO}n~1odbuwMob5x`omd zh~*zK;AH-a@040@`T4DEj#^Qy#UjZk%Q@-duhEwAd@0Er1(jG23HU~^vW+*tBq0M} z)8F_M2o+sF%lQ@e=STkid!p6Xdq4M5*K*Zo@8j>SZ^AzO%5r|}4$5LGTz}>Pw^+y@ zcyrFEoGmM8$L~a|<{Fcjp()@aj(5s}k84$5mvO?z+fUXF;wP>*qec$D7cVn$Ns&JZ zs~FFO;CVu?rBAh9X$Ha8GY4Dnsw;MkoT{pwZuWp42;dx@JX zkK@n9D+pB`nr9)$NZpvNRkM-6py__B2<~QVP7@I77I@AXz)|rwg{+D2vRp||4#7;E z;ZAIGS0pLZGRH8JCZBe5t4z(AqM{0wL-c(rmDgB;1;mF(@-#q18En@o~|Qo1v}`WW%)j+ zKH!=x`GvK|8J-y*d^0<@prd_4Ok+Th<0QrF^Jfd;8fh{kIA(-}Lej>hu2YkQcI_?$ z)G9_cD-|X^`HG33zqZHd3&v(7w;L!_raw-(1CFEJyFNZ^uJCuWsrI}f)(1c<;!n)) z!*^FXw2nCu!_9-r|Jt$e4nD)v7DFBr09{4B7x2qQZEt+N?@xt*T05js-6`Wxj zRbva9+)oBWw=993{PNQ^@*&r0J4x`BkE5~eZ^s63JijcAF$v+cEy9mHf0Z)Y^%IM{{?_T;-kmGIm% zRehxe;Ga}J#n;vw{20>Zf;LG?T{}XiXA0`e*oo z#cAe874C%A!Kfo(7hmyfqeD>NZ;wxKm1;s&(b`S1lDmKUJe+i{9PKViT%WF*o(>Q} z<;bUZIUs0GED-EPH_yr;At!D#)>YCCNd>LACW+BJe+q!%airIb3&~9OdR;y>k=zgJ z>O#IlPLNd$P)_nR3!K|e9rv*)(C7Q<&_p}Dnk;*5>XsAz=*u???MdI4LX35UfzWx2 z$+8~uM_6_G*5lv_-}6p>U&!OQ-$`%fKPT1sw0yrA`MWHpF3hAu;w-Gvv3-TsZ64+tj19fB4^mrfx%ANnsnHqg_1P8HC~A=*b9vc-TbY7M?qi z;j$oAkch0utyBNat-K-x6N?08Y@T6@w|; zE1U&zf?+N-RCz}~a1f9yA|%m?u}=8W^TU5c@x}yYDgJC^xUr&?nl_NX9P^b5otp3Zbg$K<9#f?OwO zR~+LIsWA+}%w^LR=03I|T%-B{kIaYv%*w!^8>K*G&E3D1jbCRwmY$sLQZ{yeb+OF|L@FMbf2RX1)5-oV3W#;L@Y7< z1T88Q2gPjpNZjV-x3V`LAsGCAh@txnHQ2V>Xl_|X7k*x+co37y#B0i9(?via2-uN0 z@t389!oFl``JKAv_q|T>=4aw^<$)BB1bFl-G z2vi19|C03(ICUUWHYF*?_O}k#U(y}mHJS#p+IGjL{Reh8BT@!Es|&|hTRs-~z{(Ej z79u&k?%?rK>=m!RhvHO zuV+(8KDV~nG2Y8>(a4}@BKR0tsm1&&WBOZ?0B1yMATW;aF$9$~#i8^qA>qgaqC>J+ z1V&7k8X2fs^zK1{YnSmWFp)kF(3v-X%L`Czzft#9{DJ6dLK;D`sAg5BxcP#DI6QMd zFkV~X(BgnV1N`{C4|EZyrU)C`8aaL6c&WsH>JQ`ljc3~gCV{Z+djU#SzpWg zFRa`lGMij+%%Z1ET*zMlM<7X@LupDP5!M5>M6>`5=GH^fbHqf9&>~uqq(MpDF&44! z(d?EpcFFff*$BV-ua^pvZ%@iqQF8ov`qz-|UqkevFt$=q>GC*vWSniCS-@bf89qM( zJKp4pL#T&>)Eb%&Q-@;nY>`=~tN8p*4S6*9VYB(0swTw2>-k?Z1kf~!BIAWL!fg`v z;@4Uh|Cp^uDe0R;V2R{;cC=#XPQbdCZ#+7p6!79D!l?4!)6rkaMuW4bg>W21TFMz)KR~x z7CCsQiZdw(QC4=!@sH3D^XuBAfN}<;>s%hA(Q6Dt1?Pfs-R0aHe+;pZ8UY5v*~+3GJ9;uL2v$D zkHw1JLBh|U=7A4gj^o!8h_YKxJpn`|XHVS}209y*V3K*X2~-0x!)~X%SPQSpKCh-Q zPdRvoH<&MYJ})2&%{FtI1P2jmG)u;S$X{c~-7KM0QHtHqF&$$&FO4Kr%*w)YPM*s$ z6`l}9SN5M+5u6z@MIz6I8xZL*9dv!u)E(an&YiA^z`QK{v9^!m9F_QNAa)Ccv1 zPrjk}^Ah6^%vG&Po2Z+*VCK8YE4Sw53z)3AnC(IP80nL?1x?-+{FgU&py1_sB@UyTm%L}WbJhivF2=2&j4u?Ij!*Rnkfd5I@{!c1J+AV%`QtB|7^aVO5hyH({m|a8 zJmM|Np1fDG0*Z*Vs`QAKw~N-%;)&WIhJWeXsXxk2xRHo`8c}*@$QMzJ0{mQH*-o&> zoaZeiqRUb6+HTH#ff}SH4&C_M(_z?NSQd7Ga+Y3bfR0E=h3#^b~9<`5J z!<>N3A?wWL%w?9;j$KDWnsa1@*iUyE5Osac_R-yxvkCk3>L`^A38-#mUP^xNod|94!;ES~Q~B6ARdITk&J zj!v!&#fpbp$=H?K2$*^-^qF^DZe)b;uP9QP;Y}?@Mhv_5(RHcZ1j=n{?!MGAW;%TNdoO-8= z)46jSr}+yDpB;s`Jt_Ejgs5Plc~HP->2|W@xgAxl{due=_C|6P6X6Y~qc8T5sw^GN z!>S5i%V_>_i0&4b13+LzHcLQf!2Czve>B`LjO))_njG-}sA+OPQIAa_8K-AKE*}*H z$&hu%t_*Dm<5ln#uenf8I{68QZcQ3nPWH%6`%yJ1wV7c#ROM6;sx3{pUq88ypliN<6pDWkIc!O2ekb4O{+$k89TB%9Hh&^_ zmi_wXWeCazX;D+ftX8ZutXuPOu2fH8zmmviFstqZE`rXj=RqA|#2*3z+=>g|weW@4aK#z|6G$ojqCkI)j?od*ab=zPLfRb$lOKKg6rjb;no zlyK^e;&K9z!cc~lXMpddXrwBF`*=nbwqz&8{;FJ{pL=YNdHVbQ*#C~$01(H2VZbd? zS=b5PRc8hwCu^LvU6mAIa?xnI8q{XUcfGlkwQAzdBb_`~s2-_r(MT^qL5=3(R=)f= zRdc(V-=X{S+hjPc61)7!e9(`NFOd;^M{Geb4a$8=6DUbr_jK~}g;1QsH?D&nHvqUZ zvGntsMyA5OHY#+E1{P2_Q<-mZ89tJF;!7{`a+Q9w;$kdYMk0+BsrgKFTzX4%9iC}n zeI^&~RaK0)4{A%9S|{+7Epv(6+KH#_B}cc3y*Bfwpl!wHKPP?@P6+fm{Lb!N+-U>J zn4f_S$|FtVC(Nn{X0j)Pq{$q-^+CV;^D#fbuN1=ZhuG2x_q(O97*xQ{c<%;k@P`ekg9nK^=myUK9VOIYUzaBY9- z0D8c4k##t@>P!v4H9sNs<&6p_DM+J94)4O)r>-Mz1}-83|%fF+NLk5;Su`8nYKHG9E%&aeiHE%S%fj-(57U#*|1NByicQWw^Cj43md+W z{m#sRS*X|<)ULCc;1*}}2E^&mVfMoGTmr0vurex9w$|>Rv#+obnxNd zcuWjI{NI7*-#ZuRP@Vg2-{6oJX^6no^-4+AeLzLXMTqwQly}x&QGMYa9tMW)?gjx# zNm07HQ(9VqL6NQj1q2D{?#@BFhxh{0DcvC5-S>F!pK;fkAJ3Yz&sk^B-t)fC=Q*`K zp6piand#z&K}*{LHt?@k-JDKsX3F84E!u)2jm03TDJH`yZc2<~<<})KAwe!6Q9c#d zCc(VLrMcg*N?dhtuq;vvL`7#(W}nw1_EUT%GA;=18!ls1(#?ft-wnRz&=p_kH`N3y@Mkmcsf4I zTTQd%?LI%8N*EY<3k-^w|DH~;xuExkw8{H*`AMq~s4OY-#%mvXSdiF~c#^;;#?S@? zDNx=nT~bzetxwErAUK`4hz?{g49kDj(dyOfn9k#g<6;j3_5Q(+XO-F5aX&=~DohA? zShiSAAxAvAM?5{^B%-=BrP!Cw$3FsjO$e}rK%T6>RO!Px6Yw3Ce_)ItHEo&{Gnx<> zL4JkHHEgl;mVIjg1He?b$&1?M-P|Kp$ai9=2gVoN1gPQEWqqDv_7G1jI7Y4V7;-AG zLO?#uzaBReGG_R~EyU!E8fAHm^ccML%S4|x^(OO_Ph9GKeKcT87?%~p!h3o$*NHPOy)PYNw`H(Fs?k_S@17`TQZ_eKIP$`SC9%{J* z!nck$qE-z0n(YKS1m1X9*D6j04Msu?%AYWiJ(kAZJp5h_WjPjLP${s zM}{7)3h4`ZA^=UhgWm-DAuxzBf+Aqq>$)xZZEI7uvH>41`~466R~skMwIUUXu}5{> zB(jP|A40W>RIWyVfaB( zTzFSG%QVAmtarf0&q7Q_u;JIjwq1u5!&Gi#X=8RMmlYX2iSrHo=;?k0T;B5BJ|}(v z-9pzAG@DnZJ!JmESP8-X8IExX{O9U}o!9swEd9e#x4rHT0@wuGt?4dV6f_G;yz>$x zBcqCq1ZqYymzC{2JQU=N?DP|tL|E{R=Xc!rfQU`6L#+kHr(*=sak8kRzY6*Nr*=~vpk9!y@4l6_Hcy) zQ8MBOqdKw=espjqV!o15!qJY%W|>VT)uzDG<4>x!-0wHb*Udn0Ee;?7w|6rIz+<)( zIMjiovzL@VZZ)2{C!5X_aygqZ9S~5;U6dVsxDtFBPFnK^u58sbOb8__=13oH4JWCA zU>WpIsV5$8(^_B*BsLi@$t55ssyEu>&d44v9pC&+#xhI(%2lYG;1S#mQ!lvhHaeqL;Sg6;QV z#}j#N8#q;91>wF_nc^j+*?4-B(G_}Xzj9*`e1|B54J!gnGO@SGU;F9XRXg!h;SCy_ z0^ja8=7hkGDz#*ob*dSywg}4r*#K$gO#-pMtmixDsO{nPhdzn3J|ZJ6p_SA2nSTS( zywP0dTfwJhlqvC;hBlKjV-o>Gi9chyv@3n5eC}COj ze)9r9IHVh~k?e#(>U2$+tVc_Y{8VcnKiry{AaOlXOzpwaCaD8T`up1^cmokQZn=tK z@#b&L5XRah3$1-K-$edgu_n93&7YZ`*95k}UeTxsOpYuFBhYpjBdJ&p@Y(LdK?vqg znLn=QLA7g>w@b!s?la^)abEdbb!+^cjpO z`n$-hKo4}9-|2Wtr3Blujgl86+u6~+S3E6>KK(qxTaH8W+7qjh$z`2sfz!$2vPF~4 zmdR%NY(lKY#q&y*ObDgbz(dnyr&%BTzIZ#k8r3{afzR^c;UQjqR4W9+&x7{*3Lx%P z0cK6~NN|y28L~Ttgk`G&l$q&G+RsQ^97+|BFJuxoS+n^q_mxC6Qs!J*2j zf(zaKc7aTWZ+ivpde?c9Jjn_IYL?Pc^BHzjSm?JsIyD>Qo z*q5mBjEG+2w(Sn}1w2;}O*<+emlaR%aSu+Y+ceX!h+skrW(Xv%~KCL?Vhe^}7R zg_IeYQBkF_g}q+;Ca+G>SuriWN54emEa*mACI2y}i=js;g+Cs9s^+erXYqXAkPD6u zfC{7JtcVwo?g5b>UQ>T5)6xRdU}?-w&Q9iwaz9WwSxxh0$EOiE$#IIIVtNYg9ktQc zUP5Ct3t|JcsU((`_+9)P&D;|LYo7qNtFQABK^xJAcq)Ap_1G}_G*?`{zP)@=D)NH# zr#ge-mq*i zCy66a9#8C^ETHYC2{oK>{jL)`f{Ax^aT&dIzn66>6L3b=d_65el?NV0m?(o=nKgW3 z9poVI5w8m#A$L;uFuySWA%diIjt`XVRK#??$EL2doM1jMuSVOGjR(a^(bGK{tD}uq zmo4=^{zM*vwC4~(gNQVVVIwDPbtlLvQ01a)#cZ5}4qRF0`2F&bZt`<;TXM}77j1T~ zkA7o!DBSPvgATYPd)m%Qfc?(czQ# z|Ju%O@wH`(zyEAt^Rn@!+WfFf+2f{pH^R+%Xo_kOGxD9oO3WdtvrSUsZ}BiiH?Jm| zRR9daD(ZK>_;|fiwbA#Sh(l%8l{)fn$M{!b^`4ht#COj9y*+(1)5u!62{lB9@_%2o z85pL}+(d1D_Wgz<>KtWj4U&oTEtg$SUJo(!Aax^smx)!kwvt?L9kePobBStp%hN6q z9Xun{9ms!1Ircwa-=i71r4Fg7gI4M?R*J5G;;lvVl)q~!38pI{yb9XD}A)W92 zCCQA`KeO`*ZNe@N@>Zl8xUB8@a3d}^Amb`&J;C3@3_9aS-gKA+#A;EpcZeT;l~^cTFpZ&|W02MehHNj)N0 zWX}jo99xVr3>?q4)FRFzOd@zc7$bkis`WvL zV)qQyk~m)3+2D@oiIk}u(p+l$nL;O>Doy+ZS)f${Rp2n-)_+StG<0tgBRmFDLv=ut zUU!2NW10g@qDa(|2jEQngU`Dg@wE7JhNIyukqzy4_bS6R*StOGh}_dcH`hDZ%HtWz z6@}6UD3PO7I6Im2bcP;fq_QhGe+~nASjAu(BTzhd|>d-6lkU(l!eV zPG;sQZ?HNQshXiPWwuE`HEtL1B3NszL*{JD!Jd&{8?Gy`st ziUt}xFH$4_o;-V6uk<8EW5@F>w7v=o^s-*=EnU04eb{c;#c^pI&U${R-%Gh0FH;FW z{^dpR*LDJb)iGN`n@qFQT0fl^>EO4IuNo9rB+@OmHg*-oA%B(AK8%=i3Izv>ya-?9 zbu8q9FXeM$X2+a$4Jc1cB`kTX)0GKYW;iab$M=stF;8s9Urp5@eYmrl`7_kFxz`v^ zG*0n7f># zEU)PKM_`LF1#FVioM=F1RMy*ssU_);L|aTFjo|m(OMe`zsMvZM@gEbIgsY$ljEM7B zME^qkNI!SePVj+vka4mC6Y)F!Bg7~1S;s$y|^1AFbl zL=p}zmd`DgiK+R$xva@hV`mYmRMFzODS!m`#$=qr#hi~0d7*$~kB0h98>)%fkW@)w znMcTGECtHvgHfkz;DL;pj3~x1vHNvEl1CSu1rJHB2{h(N28wk=pHx}n8N8LIFa9(r zJ6FXnrTDXB-PP~?Ic}1|JX5cwd|pBb^_X>Ac2eY=a@Mqn9ytEjx?AVb7lxp&$sV0L zIq==d2`$UtvM955VvIyt{MtATBv+8(xpmu~>2Hx5Ev76!QTv@8uqj2l)0m(Mek?L; zx36#iL+ltU51!9@iB0wcq{-&j@yXFK`*HLG2fe*tu3&9e5ySIukYq(jM;r00M~eQB zwm(3ssOTc^9Z~2%M1tI6!r3n=ydh$<6$Q0e=L5-@53D>-g#6g)Qq(V|@psVNRpvuQ zOe&yzcK+*?)c_R$bpX1Dg)i~n#|yBLOHwm$fS}6IgH%0>tNa6WEoK7EUJFFQ=hvfH~2`hrFFbe{TF=F9iINl4YZZq$lsvGemJPiF|) zW@;(CFxVNvw6NG;qHP&sWtEr@Pj-*#lFf`amXtX z%rD6Mpft%s0<}ztY%M2Fuq}FC$9v`l2O1IEee{$EoLOWoyk(p&uFCiiLTPD=DyTED z1Hbhb;yPTdzQKzVR{4N9qZ9zZIiL9J(4uC=3nsszN@8Dr{A17?4l}}k4O*kn8n_cf z6To?2(bVq0YCG|&*ge)FU59~FUq?qGC5I|KxRg)@=)nO$x9A_^+LmratiINsF|{Jr zZD}$~w0X6pyRG`K_)?g%;}Ey{U3$WB?1n@mHH~ge22S79pKU*pP4n5iw(|X0Ljv=H zNEDlL97UeiLffIVeAPw9D6J=}y9-|2_GWCH^+I5%RNL%VlB`l%J)_3Q~i$4(em|5Ja5Q$@I!Qd&tV zZRpFI^uaoxM!_H^7F;F0h&2Dbji^?}K5NZdi;m9P)-)6f>2Z4f)}`Zim*-1hVuI&; zhZRT9pIcP03WR9>Rz6r}*Eh{XmAc3rJz~68-%k_T<0%2S0eGN>e?@LozoYi`_del? zZC&&CJ|A;cg$4d!Jg@bO?n^Z#nMhkLq3};#R}K~u>!jMTtC0v+?F%|-!_E2kU}Ywx zG@ueqB_+&$$OESXlp#j2_bZ*VvMiD4UkBNmE!KYBMs)ZKNVx5MRH&FU)VAGX?NJL` zh%w72MlWYgP*sCT0*(`WP|@uZMyJ;h#+0#WScgq5nFtFXvw)U%qMGnPP>^}^^%p+I zlee-A+0Z%Pqf5TA4+12V8hkJViOspaDX&92~Ziat_hoXnV9R z03_DFPBx*IU3aq4D{S(=j+X1l@f!&ZS2WzDVe^N}y!nP>=7RF&Wn7zSPO7wGo|glk z$`0Sbj*;4DuJp6fO6rs?978)r7-S5me(>djX0W@n{a23ztB@a8b$YiUf+_O015wJ| z5`Lo}4#r*Lyy+qls}$kXK&rI$0j=XOXxNyI_F*U~B(OW5p}p`F9f}Nx_=u$rp^xO= z;#rQz6}dZ>b3~HcZkMeIH|!ip zs4xtfb&6Yb7XyS1?; z#OSxV&die%PLpsw;rJgcG;@se+(G-tJhfs1nfb(>lK za$adZs`b^a@c}aKggP-XaxrxuN7zIce-Dk|Q0mIvQpd!sePlV)erzq_EVvzV(hxR+V#q_O#Aaw z)!x&6fc-cs#FYo9=7=flc2Ko=((^mJFp}_mJAp3|G~*O-n^q)%t7|mTkr0`s%(5IL zfH+K!nn3*PYZU69iz2%$aLDp~V#^C4YO@`5a2pVTpUFcNPI>dz`Z4A?BcBJW9orXY z79+izLpxUkaQMbEr(=9U*B@N`aqGXzy{Z7CLp8H@(;J_fxIcb&#DzXTnww4u$ICr- z13s?z9Rd1suCI6oiBxi`|GSE;;0o!W`HTZMhNGB7I)%uf$Fa`fYWNp|99RFz@meg4 zhH1Mkb6{@=L(e(Wc%9qtGwF=n(s1MmEs}MXFNw+?b|t>>z4f&1xsuZPQTP){J^1)v zo*tYStB)az4nQmM)H^5@U=Q%VqFnzKxP{rB@wmp%m?PBaYYR^AF#nK4#~szmL9u(* zyU6e|S+6%IOBJ%6IN2nGV!e9hoTM0E@iW6u=}QD|&BoqKFYt?ShEH|{vr)aA*7Epc zR9p@imCc&7iBR4H9FPM|n_a4WaL@#cU?)8k|O447@{`gEp;mF?B1xzuGzS8RXdU*Xz8U#Z~~ z7sg}MQkq!Ge;Euzl{R$Cy!&-bf5mXplgZcE>65uNpiQYr=YKZFj*yX`X|97$b7wf^ZA6$epbwb3=$c?zIbGENz3W!?1 zc=s96N+*wu8Os`?jRdP>;4&S`93UP4%t*uu&$&NpYY|@v^<@F_{>j2;sw1ybySDk? z;?A-6D0QuplE_9dI%Q|%-26mh~*&^B^ zYvXS?#89p*$O2$ekX3kv5F}ki$Gk|pBL?8ZT7WOf>v{GJSSxl3sFIvb{!jc^EBQ_CDKaf^d zejbg<7|=WrV;o#X=9n7g2NR>aQO+n%{&=Z6Z)jhScY6ysH8|0aeI}z*i5rtZbWay# zBS>fyeWgf52nq{+crP4f2V_^BBZ;0ftTWw{ia_Vhb~_ef0HPbXtHf6EUW@nt@C5Ky zZXTQI>!cDRoj=sl;#lI?zEponmC^!9BxgR-eL%N7!jGT*lF!hs)#-2XVh1C|FFQ`3 z&;Bj9KoxS}&fQnYF-${j5v{zsmZXuSQ4ZLyzqG12)i#D9et@MJzJ42B71&=v>17!~ zE|Tm6oC^ofOP}gr@^JLMjEp+9tuuQ%Sn#)B=6?PV0pJ7Vs-U9k7m~GdWw@hP)n=rwRagA!}p-rxX-)}Kz0uiN-}e>#@3fa6-`)>xHDGbwH&7`U2kb z$9pU?zYV2QemS?+8jAeq)%Ssd%7?~4z!G7LdxeDnn}D`6C?E3>d}9nf%c}ECyTv_- zmVmvjyqZU%R!v}*ak@K@k4;sNGU3vjLYiT9$`=@`v%Yn)%vHG?dSRoT}bUaM`v zKK4Ccjfbj~!a&8I{(m9 zQ1pyxdKO#hyToXu7l8!%d0iS7m5_EKPd=z1Jdur_xQqI;RW*X>k z3x{YB69uKYv2KK`pxyndot&GVv?n2+-|Yt@r+odANFkx-3qb23Ge9sKUW>VdDvF~g zW#jnm=Q{&^6Eg-AqfGI+6%@*PM*0bW_zWIDJDRKIX2#9-pR{E#VV?Oem zlXwZc3(oStsXfWdW*9SDrR>(Xz=CJi4z3bTIKr3{@j{?mYBqlpE7UqhV&qS7kyE7> zxun%=RbUxFA5HJv$SzF4F`6UL;+EOsIH*8)^!wuN7+XMcBOrQ0%wJ#UDWz^pVEQ7T zMk8q1qABqLd*OT8sE1pkYmDQ<7;CTZaz6j*co?kuq8mPLmS9#CyCAg^)r8baV5l~L zvr|0{sRS9_mquiu$#`OBp5`(O-Vq_-K+%zK7R{IFR3rtD#LH=Q+kgGb2GH<0m-~0m zsr|lud$?P9JV&)+KE%q59He$v#%+zN?Hm)#4-W#w1mE7A>f!?cq48n!V|Tv%Gd;lU zE*r0VVDFZf|5UC4mN~RHSv^i{Uk6v?vK~sE#oW0Tgn>x0?uQS`zIAKfLy?HO>?=pu zR=#BRg7XXP!pbN{Bl@qqnAy&6l~V_^K0W|SiMLw2{dgW%x~z`xhtKSmPkxc_1thLV z5p~&It=iEYp(ZYrcNwFVqg62J5iUwolFZuIfOjB8)>2_VI^jEBju?kAt6xtoCo}^j zpya!3C7I8s*KNBb)wRc7VJ&Kah7!=~>n*t-7}q;3j>;BPYTKYz2ECE;V|@p!%M=iV zQr*ZGZ3TZoh-I6^SVp*+)@!4z6XHaKDDB^3Sy11S!zbnSI%jc#28p2HD%f_Wdp#vp`eIkKF+_0c89I{}7`EOy|+2OgxnueZ*8Dk|gctjzV zDFASc5Qe)4;W4NqZv@#=(m>01J5<+u3A;EwPig{;m1Lf8Io@>Ox?x>S&+Y@7saN?d z`CmI}H@G!lREVMV{MS~T%!U4WsTOmNrE#2N#Rpg9y$FPw&>MW7Jj7tJ+TPG^^|3zM zCkN;Y^ssSBi1 z{+8V!Te%D;-|OfCeuuvrG5@aEKFiDU^#t<;3ZSOPxnZ|105%W88r0dqS^sZeU;8W%^2mQ%H1!bhSSI?al|OG8its@TS9V z;I!l6e^WyLxweIpX=B7!WCkFmlL7*{&IhKE_Jo84qGC2>L6rrYniwjz*F+ENEoKD# zrUr(`8v-iNsM7(pfAC4#Tu*oGX2%4HKkYey$A zyW}S*%#+@PJM(FP-r542Ty>k{1xyCPZSlg2heM-%n@fTk!@mY7aNz%i+3L9$f<-ju z@wdoNxGXTNY)S=oE|YQcH#-v?-dRg=7#Sb#sQllSDrs3%DK1+M(-viaOrAZEuyy@RKh4I@524RgPMPqEF6+ zroSp69cTnTVu2uwsX`zQso4okt1nFLvQ=6!BW8YZ-KXZGbW8&4qYMz5YO|g{R8{DA zi<;Ot4%irE>U6;k`ylew>!>^HF@j@^eP;kldDh^Qu8e&hLwQ#aUykyJ{Lf1#gGDo| z#&q|~&LSKTz0fOMr%YoHZL|<6g+K+I=-AR*;AJ57Zc%TkSO)jvZBC!Ee7%N_N0D4{ zLgA7khfE0J`oqZvciQ3~GkbcPa@uHxp@4T(kTflRfWQSw=qDx~7gDp9v3{|x3w_p= zeFAHyFKNB;KBl%KlIlAf3xN&NDhdrt+OsK9qHGkBFjiiM&$zzSwN$5H@)VSBi_h;g zYhDSM{f%5V?|5<=-_Lr#{t4R>b~}^hr5Nz0H7<#>DdjR_aJs}%J_A>Hr|TlNn%K~} zwN+3Mj$KV%SBPPeQhv34ugHXMnqLxxS#l-$pF5(9H{@E?;Mp#3ehS=0wT8$ z1d@b&3MjyG;HfbUeysL{ zxl{5386Uz9`UiC^$LZKy8r2FeISYDX(Uh^W>giD)X?kbClh>0b{NZhSdjG)%~vP- z>F!$h!}d27|Cw*bh7PtkSyyEQ+HFsOH>BHAsw4gq8SPutqQ~(d+Vk__lFCOD0}90H zvxnV5^`ti2%br{+GcXcX59%zer)-@id!2**Bv;HjL+ZYpi(gwl3gG_x=5ws6*hNLbb@}!$u_r2cll}Cy8Bev&>VPh1Bzm&+X?K zN?Fa7nS-E$cV+_dEJjQN^M^I@qanDP#J>enCMjO06lh%7_}@ z`)rPodW9GF8t<)^9_N>qr8@gx&k-&UoZ?Rzk8@_~cTPJUEd@_SET(DZ%hwyT4R0+@ z1$j#U9H(bG7K*m*xD~w_&j@l9jbnf1GjP%iAHkl!X zO9$g(em9s?N&(`gC`z!guW56nDE%=SREplKhu08JWny{9@P6@e)YVSBL0D-vc0($Z zy2DVL1CS4P+|?`U$dojTsC=T@JjB1x{kYWHu=NK;O&U9{V(E?)wh>R*9{T(3_*CA1 zwgScsxzAgptt(znV*LalrP00a>i|)t_UAZr;gn%|#(nOOgd6fA4O9*T+rRmvcBJbY z2E&6E+i6+8!{3asB>#5j$jOjK_h#0CZ!{ik0|i%bAyzpR_015>S0u>1P3PY8or6pwPt3zIW0R`x|Hr7I=Vk$})FK6TE)vPa^k zw5_wP4qgdI&HXi-0*G0y2N~}zKF^O~!`~?*+WeCXLq{KlhV<1&bd`8YcL>Irc5ULE zmJtH)q$J&7B^=3)J}Vn~yFYF4JCK`5sN?k_rmTMiiZb%gyPy&7u~JA0k!TSa+3^lc ztVT1IFy(3R(w{?cTEU)NoBQ-;BsP2RUFK+!9fC8&;hAvkTV`l_SSSYVKv*1NFG>6= zYFH_&z7p?$hb4BsSR**}v}FER8I`|6v1Q!g(949ZC(PKKVxvsY|3=C!%-xv2EX-bk zj>Ep?_T3~XNu5M?chd!DtwEwi?eE|aHQs68&8a;-RZs}^3LQ4Gypg`b0kWC$?=-fy z)izx#FS`))EbD~X(z$?NVz16c2(ZQ@ZAu*lb|?Q_z6a4eF!nNm$~Uo9y0x5b8%9|7 z!X49t$*T3#>A4@fZpH_-FV_d&F_L+0#n*nijzU}5J}&pw>BTR#WfdLv#-_6PW=&(& zPa*`Jzs$w)oK+M-OUGR&*ZO?f%+1;; zoiE=BYOFA_3(~UUnUw`uK&f-pp$eE$7&%i_1Tuu&7wE-EicY%EnkDYB*0t9l5fI(> zlornfioJL^m}h;SQ~&Jil<`YvMJ6U%l2+Z5BkW7@ofP(!nuc)I^QOUuT9r48#9go5 z;p2)mHi&t*X-;bxdi`6)Rwy?|_vBr~D&ubso62X<=1TFIrVb8m$2Ak3VavqJ$IlZk za>8Gc0-2W<=X;+Wl=A}8S9xvvpRMsDQqrsTGUpx}$dN%x&Flx{IWF|_A7>6FR2&|n zrKrF93WUYQZ2z8p=z6hScO6T9*-8OYoEWx~`~^-&iuw`#jebP-6Q$M9{;hCofzjDU zqXt~yi{^vR&eEJPHjv=5a1b@47r7_%s_KjPb-B&SoA4;_sj9tn$5N#Z616a3OowuB zux_Uis0C~0L)tyt=ui=5j1@@#mgwHo_EpDH^CK9zRtFc3eY|Gsv zty9k~$El05Ldub;rGtRag5E3b-If9W#&?up&|XF?1-v3iCbPi$Mk2HGXY6Jl-z$yB ztGw&10AByB;~|fp;M04Qo2mSjSa+O%WA@o&+w#E!hkk0!#}h%m)wSl7G5JXKc%|JO z|8JC{hyEzlehPC@jahKibgVOx6OEt%G-{{*NhNONN1y8zr(3f}4OCEU?LtCt0K^c5 z7MV8Z;!Y!a|CWcv%M!m^N^UFF-<0IvsnmM!iKK;;rVxR%K-8Z62J2)y!~}gO8tX|w zN?`K!mS#s~>c4Y>o6h%a5s?0Kd<~=`7_h8_DZq%#=bw)fl(K5Bg#LXMq_^e~;{wK_ zoF{?jg)XAp^OnRe%w%BbQYowIN*p-iE?{nam~JKPjAg+4=`%_Ma}nWR*hWkrp}G{e z&}81$z4(P0(Sw^Q`M>)H$Gmk3Lq-V=Bx2TJ<&>%X*`(#U7DNxXA)Xfu9*~eQZZw zl)IJg*cDMuj}IR|?n!=BUFl3`0yQK3d-ze6e&t^$ganXyhEJSiQ1mhmwV8 z1Z+hdQ~5okb$qY#J@pg1X}|Xt{$$U;qXY*k&cqIf z%YjhQhj^OXM1B$Ew_q>Ox~A>*X~As+_vo-3zi<+tFxklYhur_2;3d6i2z*bK@!uACn ztB4ZOpjv<}uW%C5n3;0iCVC*VX$t{7otJJCwMPQ{hi&j)o#pMgs_?dfdAra~M%qYK z+adBB?}sRmz3{(#@gaUQMtf+Rt>-7bP`_d5Vt>Dy1wKx dict[str, "Any"]: ) -class MiniMaxLLMParameters(OpenAICompatibleLLMParameters): - """OpenAI-compatible adapter for MiniMax models.""" +class MiniMaxLLMParameters(BaseChatCompletionParameters): + """Adapter for MiniMax's OpenAI-compatible API.""" - # Required str so a directly-constructed instance stays valid. + api_key: str api_base: str = _MINIMAX_API_BASE + temperature: float | None = 1 + thinking: dict[str, str] | None = None @staticmethod def validate(adapter_metadata: dict[str, "Any"]) -> dict[str, "Any"]: - return _validate_branded_openai_compatible(adapter_metadata, _MINIMAX_API_BASE) + adapter_metadata = dict(adapter_metadata) + api_base = adapter_metadata.get("api_base") + if not (isinstance(api_base, str) and api_base.strip()): + adapter_metadata["api_base"] = _MINIMAX_API_BASE + + adapter_metadata["model"] = MiniMaxLLMParameters.validate_model(adapter_metadata) + model_id = adapter_metadata["model"][len(_MINIMAX_PROVIDER_PREFIX) :] + + if "enable_thinking" in adapter_metadata: + enable_thinking = adapter_metadata.pop("enable_thinking") + if not isinstance(enable_thinking, bool): + raise ValueError("enable_thinking must be a boolean.") + adapter_metadata["thinking"] = { + "type": "adaptive" if enable_thinking else "disabled" + } + + thinking = adapter_metadata.get("thinking") + if thinking is not None: + if not isinstance(thinking, dict) or thinking.get("type") not in { + "adaptive", + "disabled", + }: + raise ValueError("thinking.type must be adaptive or disabled.") + if ( + model_id.lower().startswith("minimax-m2") + and thinking["type"] == "disabled" + ): + raise ValueError(f"{model_id} does not support disabling thinking.") + + return MiniMaxLLMParameters(**adapter_metadata).model_dump() + + @staticmethod + def validate_model(adapter_metadata: dict[str, "Any"]) -> str: + model = str(adapter_metadata.get("model", "")).strip() + if not model: + raise ValueError("model is required for the MiniMax adapter.") + if model.startswith(_MINIMAX_PROVIDER_PREFIX): + return model + return f"{_MINIMAX_PROVIDER_PREFIX}{model}" class OpenRouterLLMParameters(BaseChatCompletionParameters): diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json index b7769ca42e..2979df8f9b 100644 --- a/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json +++ b/unstract/sdk1/src/unstract/sdk1/adapters/llm1/static/minimax.json @@ -23,14 +23,18 @@ "type": "string", "title": "Model", "default": "MiniMax-M3", - "description": "The MiniMax model name. Example: MiniMax-M3" + "examples": [ + "MiniMax-M3", + "MiniMax-M2.7" + ], + "description": "MiniMax-M3 supports a 1,000,000-token context window and multimodal input. MiniMax-M2.7 supports a 204,800-token context window and text input." }, "api_base": { "type": "string", "format": "url", "title": "API Base", "default": "https://api.minimax.io/v1", - "description": "MiniMax OpenAI-compatible endpoint. Pre-filled with the default; change only if MiniMax moves the base URL or you use a regional endpoint." + "description": "MiniMax OpenAI-compatible endpoint. The default is for global accounts; use https://api.minimaxi.com/v1 for China accounts." }, "max_tokens": { "type": "number", @@ -56,58 +60,11 @@ "default": 900, "description": "Timeout in seconds." }, - "enable_reasoning": { + "enable_thinking": { "type": "boolean", - "title": "Enable Reasoning", - "default": false, - "description": "Toggle on for reasoning models to route reasoning_effort via the OpenAI-compatible request body." + "title": "Enable Thinking", + "default": true, + "description": "Enable adaptive thinking for MiniMax-M3. MiniMax-M2.7 always keeps thinking enabled." } - }, - "allOf": [ - { - "if": { - "properties": { - "enable_reasoning": { - "const": true - } - }, - "required": [ - "enable_reasoning" - ] - }, - "then": { - "properties": { - "reasoning_effort": { - "type": "string", - "enum": [ - "low", - "medium", - "high" - ], - "default": "medium", - "title": "Reasoning Effort", - "description": "Sets the reasoning strength when Enable Reasoning is on." - } - }, - "required": [ - "reasoning_effort" - ] - } - }, - { - "if": { - "properties": { - "enable_reasoning": { - "const": false - } - }, - "required": [ - "enable_reasoning" - ] - }, - "then": { - "properties": {} - } - } - ] + } } diff --git a/unstract/sdk1/tests/test_branded_openai_adapters.py b/unstract/sdk1/tests/test_branded_openai_adapters.py index b025bfc209..1426e78501 100644 --- a/unstract/sdk1/tests/test_branded_openai_adapters.py +++ b/unstract/sdk1/tests/test_branded_openai_adapters.py @@ -1,6 +1,7 @@ import json import pytest + from unstract.sdk1.adapters.base1 import ( MiniMaxLLMParameters, NvidiaBuildEmbeddingParameters, @@ -44,11 +45,53 @@ def test_nvidia_llm_prefixes_model_via_custom_openai() -> None: assert validated["api_base"] == _NVIDIA_BUILD_API_BASE -def test_minimax_llm_prefixes_model_via_custom_openai() -> None: - validated = MiniMaxLLMParameters.validate({"model": "MiniMax-M3", "api_key": "k"}) +@pytest.mark.parametrize("model", ["MiniMax-M3", "MiniMax-M2.7"]) +def test_minimax_llm_routes_via_native_provider(model: str) -> None: + from litellm import get_llm_provider + + validated = MiniMaxLLMParameters.validate({"model": model, "api_key": "k"}) - assert validated["model"] == "custom_openai/MiniMax-M3" + assert validated["model"] == f"minimax/{model}" assert validated["api_base"] == _MINIMAX_API_BASE + assert get_llm_provider(validated["model"])[1] == "minimax" + + +def test_minimax_model_prefix_is_idempotent() -> None: + once = MiniMaxLLMParameters.validate({"model": "MiniMax-M3", "api_key": "k"}) + twice = MiniMaxLLMParameters.validate(dict(once)) + + assert twice["model"] == once["model"] == "minimax/MiniMax-M3" + + +def test_minimax_native_routing_resolves_usage_cost() -> None: + from litellm import cost_per_token + + prompt_cost, completion_cost = cost_per_token( + "minimax/MiniMax-M3", prompt_tokens=1, completion_tokens=1 + ) + + assert prompt_cost > 0 + assert completion_cost > 0 + + +def test_minimax_maps_thinking_toggle_to_native_parameter() -> None: + enabled = MiniMaxLLMParameters.validate( + {"model": "MiniMax-M3", "api_key": "k", "enable_thinking": True} + ) + disabled = MiniMaxLLMParameters.validate( + {"model": "MiniMax-M3", "api_key": "k", "enable_thinking": False} + ) + + assert enabled["thinking"] == {"type": "adaptive"} + assert disabled["thinking"] == {"type": "disabled"} + assert "enable_thinking" not in enabled + + +def test_minimax_m2_rejects_disabling_thinking() -> None: + with pytest.raises(ValueError, match="does not support disabling thinking"): + MiniMaxLLMParameters.validate( + {"model": "MiniMax-M2.7", "api_key": "k", "enable_thinking": False} + ) def test_openrouter_llm_routes_via_native_openrouter_provider() -> None: @@ -159,6 +202,20 @@ def test_branded_llm_schema_exposes_api_base_with_default( assert "model" in schema["required"] +def test_minimax_schema_covers_models_thinking_and_regions() -> None: + schema = json.loads(MiniMaxLLMAdapter.get_json_schema()) + + assert schema["properties"]["model"]["examples"] == [ + "MiniMax-M3", + "MiniMax-M2.7", + ] + assert schema["properties"]["enable_thinking"]["default"] is True + assert ( + "https://api.minimaxi.com/v1" in schema["properties"]["api_base"]["description"] + ) + assert "reasoning_effort" not in json.dumps(schema) + + # --- Branded / generic embedding adapters --------------------------------- From 813de35ecc297a60fe43aa338616072022eef213 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 07:17:42 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1 - unstract/sdk1/tests/test_branded_openai_adapters.py | 1 - 2 files changed, 2 deletions(-) diff --git a/unstract/sdk1/src/unstract/sdk1/adapters/base1.py b/unstract/sdk1/src/unstract/sdk1/adapters/base1.py index 30724343f6..6cb4d25a10 100644 --- a/unstract/sdk1/src/unstract/sdk1/adapters/base1.py +++ b/unstract/sdk1/src/unstract/sdk1/adapters/base1.py @@ -12,7 +12,6 @@ from typing import Any from pydantic import BaseModel, Field, model_validator - from unstract.sdk1.adapters.constants import Common from unstract.sdk1.adapters.enums import AdapterTypes diff --git a/unstract/sdk1/tests/test_branded_openai_adapters.py b/unstract/sdk1/tests/test_branded_openai_adapters.py index 1426e78501..328ecdf1c6 100644 --- a/unstract/sdk1/tests/test_branded_openai_adapters.py +++ b/unstract/sdk1/tests/test_branded_openai_adapters.py @@ -1,7 +1,6 @@ import json import pytest - from unstract.sdk1.adapters.base1 import ( MiniMaxLLMParameters, NvidiaBuildEmbeddingParameters,