From 4ec5437276d85a17f0c59757d8bb84d4734ba420 Mon Sep 17 00:00:00 2001 From: ljc545w Date: Sun, 3 Jul 2022 14:05:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CWeChatRobot/SelfInfo.cpp | 14 ++++++ CWeChatRobot/SelfInfo.h | 3 +- CWeChatRobot/WeChatRobot.cpp | 10 ++++- CWeChatRobot/WeChatRobot.h | 1 + CWeChatRobot/WeChatRobotCOM.idl | 1 + CWeChatRobot/WeChatRobotCOM_i.h | 10 +++++ CWeChatRobot/WeChatRobotCOM_p.c | 76 +++++++++++++++++++++++--------- CWeChatRobot/pch.cpp | 3 ++ CWeChatRobot/robotdata.h | 2 + DWeChatRobot/SelfInfo.cpp | 30 ++++++++++++- DWeChatRobot/SelfInfo.h | 3 ++ Python/wxRobot.py | 12 +++++ Release/CWeChatRobot.exe | Bin 117248 -> 117760 bytes Release/DWeChatRobot.dll | Bin 70144 -> 71168 bytes Release/socket/SWeChatRobot.dll | Bin 48640 -> 48640 bytes 15 files changed, 141 insertions(+), 24 deletions(-) diff --git a/CWeChatRobot/SelfInfo.cpp b/CWeChatRobot/SelfInfo.cpp index 0e62683..5e86090 100644 --- a/CWeChatRobot/SelfInfo.cpp +++ b/CWeChatRobot/SelfInfo.cpp @@ -47,4 +47,18 @@ std::wstring GetSelfInfo() { DeleteSelfInfoCache(); return SelfInfoString; +} + +BOOL isWxLogin() { + if (!hProcess) + return false; + DWORD isWxLoginAddr = GetWeChatRobotBase() + isWxLoginOffset; + DWORD dwId, dwRet = 0; + HANDLE hThread = ::CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)isWxLoginAddr, NULL, 0, &dwId); + if (hThread) { + WaitForSingleObject(hThread, INFINITE); + GetExitCodeThread(hThread, &dwRet); + CloseHandle(hThread); + } + return dwRet == 1; } \ No newline at end of file diff --git a/CWeChatRobot/SelfInfo.h b/CWeChatRobot/SelfInfo.h index 01c9d1c..b29b86e 100644 --- a/CWeChatRobot/SelfInfo.h +++ b/CWeChatRobot/SelfInfo.h @@ -2,4 +2,5 @@ #include #include using namespace std; -std::wstring GetSelfInfo(); \ No newline at end of file +std::wstring GetSelfInfo(); +BOOL isWxLogin(); \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobot.cpp b/CWeChatRobot/WeChatRobot.cpp index 98e7559..b4f4f6c 100644 --- a/CWeChatRobot/WeChatRobot.cpp +++ b/CWeChatRobot/WeChatRobot.cpp @@ -341,9 +341,17 @@ STDMETHODIMP CWeChatRobot::CSendAppMsg(BSTR wxid,BSTR appid,int* __result) { /* * 参数1:要删除的人wxid -* 参数3:预返回的值,调用时无需提供 +* 参数2:预返回的值,调用时无需提供 */ STDMETHODIMP CWeChatRobot::CDeleteUser(BSTR wxid, int* __result) { *__result = DeleteUser(wxid); return S_OK; +} + +/* +* 参数1:预返回的值,调用时无需提供 +*/ +STDMETHODIMP CWeChatRobot::CIsWxLogin(int* __result) { + *__result = isWxLogin(); + return S_OK; } \ No newline at end of file diff --git a/CWeChatRobot/WeChatRobot.h b/CWeChatRobot/WeChatRobot.h index d73ca52..c1841f8 100644 --- a/CWeChatRobot/WeChatRobot.h +++ b/CWeChatRobot/WeChatRobot.h @@ -85,6 +85,7 @@ public: STDMETHODIMP CChangeWeChatVer(BSTR verStr, int* __result); STDMETHODIMP CSendAppMsg(BSTR wxid, BSTR appid, int* __result); STDMETHODIMP CDeleteUser(BSTR wxid, int* __result); + STDMETHODIMP CIsWxLogin(int* __result); }; OBJECT_ENTRY_AUTO(__uuidof(WeChatRobot), CWeChatRobot) diff --git a/CWeChatRobot/WeChatRobotCOM.idl b/CWeChatRobot/WeChatRobotCOM.idl index da9bdca..76cfb9c 100644 --- a/CWeChatRobot/WeChatRobotCOM.idl +++ b/CWeChatRobot/WeChatRobotCOM.idl @@ -50,6 +50,7 @@ interface IWeChatRobot : IDispatch [id(35), helpstring("修改微信版本号")] HRESULT CChangeWeChatVer([in] BSTR verStr, [out, retval] int* __result); [id(36), helpstring("发送小程序")] HRESULT CSendAppMsg([in] BSTR wxid, [in] BSTR appid, [out, retval] int* __result); [id(37), helpstring("删除好友")] HRESULT CDeleteUser([in] BSTR wxid, [out, retval] int* __result); + [id(38), helpstring("获取登录状态")] HRESULT CIsWxLogin([out, retval] int* __result); }; [ object, diff --git a/CWeChatRobot/WeChatRobotCOM_i.h b/CWeChatRobot/WeChatRobotCOM_i.h index cc9a06a..0bd5e73 100644 --- a/CWeChatRobot/WeChatRobotCOM_i.h +++ b/CWeChatRobot/WeChatRobotCOM_i.h @@ -257,6 +257,9 @@ EXTERN_C const IID IID_IWeChatRobot; /* [in] */ BSTR wxid, /* [retval][out] */ int *__result) = 0; + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CIsWxLogin( + /* [retval][out] */ int *__result) = 0; + }; @@ -492,6 +495,10 @@ EXTERN_C const IID IID_IWeChatRobot; /* [in] */ BSTR wxid, /* [retval][out] */ int *__result); + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CIsWxLogin )( + IWeChatRobot * This, + /* [retval][out] */ int *__result); + END_INTERFACE } IWeChatRobotVtbl; @@ -630,6 +637,9 @@ EXTERN_C const IID IID_IWeChatRobot; #define IWeChatRobot_CDeleteUser(This,wxid,__result) \ ( (This)->lpVtbl -> CDeleteUser(This,wxid,__result) ) +#define IWeChatRobot_CIsWxLogin(This,__result) \ + ( (This)->lpVtbl -> CIsWxLogin(This,__result) ) + #endif /* COBJMACROS */ diff --git a/CWeChatRobot/WeChatRobotCOM_p.c b/CWeChatRobot/WeChatRobotCOM_p.c index 2bb7976..5994dad 100644 --- a/CWeChatRobot/WeChatRobotCOM_p.c +++ b/CWeChatRobot/WeChatRobotCOM_p.c @@ -49,7 +49,7 @@ #include "WeChatRobotCOM_i.h" #define TYPE_FORMAT_STRING_SIZE 1239 -#define PROC_FORMAT_STRING_SIZE 1513 +#define PROC_FORMAT_STRING_SIZE 1549 #define EXPR_FORMAT_STRING_SIZE 1 #define TRANSMIT_AS_TABLE_SIZE 0 #define WIRE_MARSHAL_TABLE_SIZE 2 @@ -1409,41 +1409,72 @@ static const WeChatRobotCOM_MIDL_PROC_FORMAT_STRING WeChatRobotCOM__MIDL_ProcFor /* 1468 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure CPostMessage */ + /* Procedure CIsWxLogin */ /* 1470 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1472 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1476 */ NdrFcShort( 0x7 ), /* 7 */ -/* 1478 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1476 */ NdrFcShort( 0x29 ), /* 41 */ +/* 1478 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1480 */ NdrFcShort( 0x0 ), /* 0 */ /* 1482 */ NdrFcShort( 0x24 ), /* 36 */ -/* 1484 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x3, /* 3 */ +/* 1484 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ /* 1486 */ 0x8, /* 8 */ - 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ + 0x41, /* Ext Flags: new corr desc, has range on conformance */ /* 1488 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1490 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1490 */ NdrFcShort( 0x0 ), /* 0 */ /* 1492 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter msg */ + /* Parameter __result */ -/* 1494 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 1494 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 1496 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1498 */ NdrFcShort( 0x4cc ), /* Type Offset=1228 */ +/* 1498 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ - /* Parameter __result */ + /* Return value */ -/* 1500 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1500 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 1502 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1504 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ + /* Procedure CPostMessage */ + +/* 1506 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1508 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1512 */ NdrFcShort( 0x7 ), /* 7 */ +/* 1514 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1516 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1518 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1520 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1522 */ 0x8, /* 8 */ + 0x45, /* Ext Flags: new corr desc, srv corr check, has range on conformance */ +/* 1524 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1526 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1528 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter msg */ + +/* 1530 */ NdrFcShort( 0x10b ), /* Flags: must size, must free, in, simple ref, */ +/* 1532 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1534 */ NdrFcShort( 0x4cc ), /* Type Offset=1228 */ + + /* Parameter __result */ + +/* 1536 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 1538 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1540 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + /* Return value */ -/* 1506 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1508 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1510 */ 0x8, /* FC_LONG */ +/* 1542 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1544 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1546 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ 0x0 @@ -2324,7 +2355,8 @@ static const unsigned short IWeChatRobot_FormatStringOffsetTable[] = 1302, 1338, 1380, - 1428 + 1428, + 1470 }; static const MIDL_STUBLESS_PROXY_INFO IWeChatRobot_ProxyInfo = @@ -2348,7 +2380,7 @@ static const MIDL_SERVER_INFO IWeChatRobot_ServerInfo = 0, 0, 0}; -CINTERFACE_PROXY_VTABLE(41) _IWeChatRobotProxyVtbl = +CINTERFACE_PROXY_VTABLE(42) _IWeChatRobotProxyVtbl = { &IWeChatRobot_ProxyInfo, &IID_IWeChatRobot, @@ -2392,7 +2424,8 @@ CINTERFACE_PROXY_VTABLE(41) _IWeChatRobotProxyVtbl = (void *) (INT_PTR) -1 /* IWeChatRobot::CUnHookImageMsg */ , (void *) (INT_PTR) -1 /* IWeChatRobot::CChangeWeChatVer */ , (void *) (INT_PTR) -1 /* IWeChatRobot::CSendAppMsg */ , - (void *) (INT_PTR) -1 /* IWeChatRobot::CDeleteUser */ + (void *) (INT_PTR) -1 /* IWeChatRobot::CDeleteUser */ , + (void *) (INT_PTR) -1 /* IWeChatRobot::CIsWxLogin */ }; @@ -2435,6 +2468,7 @@ static const PRPC_STUB_FUNCTION IWeChatRobot_table[] = NdrStubCall2, NdrStubCall2, NdrStubCall2, + NdrStubCall2, NdrStubCall2 }; @@ -2442,7 +2476,7 @@ CInterfaceStubVtbl _IWeChatRobotStubVtbl = { &IID_IWeChatRobot, &IWeChatRobot_ServerInfo, - 41, + 42, &IWeChatRobot_table[-3], CStdStubBuffer_DELEGATING_METHODS }; @@ -2458,7 +2492,7 @@ static const unsigned short IRobotEvent_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 1470 + 1506 }; static const MIDL_STUBLESS_PROXY_INFO IRobotEvent_ProxyInfo = diff --git a/CWeChatRobot/pch.cpp b/CWeChatRobot/pch.cpp index 4bdb867..ee1a0c3 100644 --- a/CWeChatRobot/pch.cpp +++ b/CWeChatRobot/pch.cpp @@ -21,6 +21,7 @@ DWORD DeleteUserInfoCacheOffset = 0x0; DWORD GetSelfInfoOffset = 0x0; DWORD DeleteSelfInfoCacheOffset = 0x0; DWORD SearchContactByNetRemoteOffset = 0x0; +DWORD isWxLoginOffset = 0; DWORD VerifyFriendApplyOffset = 0x0; @@ -144,6 +145,8 @@ BOOL GetProcOffset(wchar_t* workPath) { DeleteSelfInfoCacheOffset = DeleteSelfInfoCacheProcAddr - WeChatBase; DWORD SearchContactByNetRemoteAddr = (DWORD)GetProcAddress(hd, SearchContactByNetRemote); SearchContactByNetRemoteOffset = SearchContactByNetRemoteAddr - WeChatBase; + DWORD isWxLoginAddr = (DWORD)GetProcAddress(hd, isWxLoginRemote); + isWxLoginOffset = isWxLoginAddr - WeChatBase; DWORD CheckFriendStatusRemoteAddr = (DWORD)GetProcAddress(hd, CheckFriendStatusRemote); CheckFriendStatusRemoteOffset = CheckFriendStatusRemoteAddr - WeChatBase; diff --git a/CWeChatRobot/robotdata.h b/CWeChatRobot/robotdata.h index 81549df..57bf2bc 100644 --- a/CWeChatRobot/robotdata.h +++ b/CWeChatRobot/robotdata.h @@ -43,6 +43,7 @@ extern DWORD VerifyFriendApplyOffset; extern DWORD GetSelfInfoOffset; extern DWORD DeleteSelfInfoCacheOffset; extern wstring SelfInfoString; +extern DWORD isWxLoginOffset; extern DWORD CheckFriendStatusRemoteOffset; @@ -89,6 +90,7 @@ extern DWORD ChangeWeChatVerRemoteOffset; #define GetSelfInfoRemote "GetSelfInfoRemote" #define DeleteSelfInfoCacheRemote "DeleteSelfInfoCacheRemote" #define SearchContactByNetRemote "SearchContactByNetRemote" +#define isWxLoginRemote "isWxLogin" #define VerifyFriendApplyRemote "VerifyFriendApplyRemote" diff --git a/DWeChatRobot/SelfInfo.cpp b/DWeChatRobot/SelfInfo.cpp index 9c0015b..7a7b15c 100644 --- a/DWeChatRobot/SelfInfo.cpp +++ b/DWeChatRobot/SelfInfo.cpp @@ -1,6 +1,8 @@ #include "pch.h" #include +#define CheckLoginOffset 0x2366538 + /* * ⲿʱķ * messageselfinfo.c_str() @@ -40,6 +42,7 @@ wstring GetSelfInfo() { WeChatWinBase + 0x236607C, WeChatWinBase + 0x2366548, WeChatWinBase + 0x23660F4, + WeChatWinBase + 0x23661F8, *(DWORD*)(WeChatWinBase + 0x236622C), *(DWORD*)(WeChatWinBase + 0x23A111C), *(DWORD*)(WeChatWinBase + 0x23663D4), @@ -53,6 +56,7 @@ wstring GetSelfInfo() { L"\"wxId\"", L"\"wxNumber\"", L"\"wxNickName\"", + L"\"Sex\"", L"\"wxSignature\"", L"\"wxBigAvatar\"", L"\"wxSmallAvatar\"", @@ -88,10 +92,29 @@ wstring GetSelfInfo() { temp = (char*)SelfInfoAddr[i]; } } + else if (!SelfInfoKey[i].compare(L"\"Sex\"")) { + int sex = *(int*)SelfInfoAddr[i]; + switch (sex) { + case 1: { + selfinfo = selfinfo + L"\","; + break; + } + case 2: { + selfinfo = selfinfo + L"Ů\","; + break; + } + default: { + selfinfo = selfinfo + L"δ֪\","; + break; + } + } + continue; + } else { temp = (char*)SelfInfoAddr[i]; - if (temp == NULL || strlen(temp) == 0) + if (temp == NULL || strlen(temp) == 0) { temp = (char*)"null"; + } } wchar_t* wtemp = new wchar_t[strlen(temp) + 1]; ZeroMemory(wtemp, (strlen(temp) + 1) * 2); @@ -112,6 +135,11 @@ wstring GetSelfInfo() { return selfinfo; } +BOOL isWxLogin() { + DWORD CheckLoginAddr = GetWeChatWinBase() + CheckLoginOffset; + return *(BOOL*)CheckLoginAddr; +} + /* * ɾϢ * returnvoid diff --git a/DWeChatRobot/SelfInfo.h b/DWeChatRobot/SelfInfo.h index ce16613..acb4cc1 100644 --- a/DWeChatRobot/SelfInfo.h +++ b/DWeChatRobot/SelfInfo.h @@ -6,4 +6,7 @@ wstring GetSelfInfo(); #ifndef USE_SOCKET extern "C" __declspec(dllexport) DWORD GetSelfInfoRemote(); extern "C" __declspec(dllexport) VOID DeleteSelfInfoCacheRemote(); +extern "C" __declspec(dllexport) BOOL isWxLogin(); +#else +BOOL isWxLogin(); #endif \ No newline at end of file diff --git a/Python/wxRobot.py b/Python/wxRobot.py index 81cd8fb..8dc2a0b 100644 --- a/Python/wxRobot.py +++ b/Python/wxRobot.py @@ -134,6 +134,18 @@ class WeChatRobot(): """ status = self.robot.CStartRobotService() return status + + def IsWxLogin(self) -> int: + """ + 获取微信登录状态 + + Returns + ------- + bool + 微信登录状态. + + """ + return self.robot.CIsWxLogin() def SendText(self,receiver:str,msg:str) -> int: """ diff --git a/Release/CWeChatRobot.exe b/Release/CWeChatRobot.exe index 9530c11b80f42e8d8175c3e4a1e4a672bd3cd2eb..a0c193b56a2efa80ac2654e271071295ebf59b5e 100644 GIT binary patch delta 23497 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 CQ>wQB delta 23351 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

t6SpZ@6}D%)b= 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 Oes-8EeE9*1{(k`VJ!KOB diff --git a/Release/DWeChatRobot.dll b/Release/DWeChatRobot.dll index 1468140636d40f12665e7880adafa3304990f966..1776322ef305d9c1d15510caf6e07e3c607b3885 100644 GIT binary patch delta 12838 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 delta 12255 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
    gBPnW{>4NOe+mPF1J6uKGsxy~?I~ta`3$ zr|zuwPNNEV^%nI-^$qp6>cVhK_=fQM@NdHN?u9pnvk`6)5fMWp zMq%%#M-)bwu?G7i@*}rJeim61c`NcxWOHO!O`xW~My-j%8Bwa)sQF0qv1YI4n&unL zcbeZcuG)@Te{HIEg|<|?31`br?KfIiok-VJ=cDu21?&3jq&k&Os~f6|)s4|j(7mNg z(WU7!bPMuyIlAS#LfsnO2fEIBg?_gFbNvnddxrf69LRe9kihXwm3}F8k&Tg=W!GgL zXB;kI4n(}`hE2_^=IlT^-=Z4%C2nYO!|`Fq-a*O zD2z&za;>sdxlLK2tW=&w_l?T?N>16NWK?36r^-hq#W3Nj(W+z&ld8&9<*UkYV0Nj> zBKJpDM>a+_MLvlP(S&PaH5r;LO|GU;vsP24*{rG9INyWy$ZOFsT7`DF)~LPJ%mM#}-R;sJg9oOB_-PbkiT6AK) zk6x+|*N@gG>rMJ%eYyU){;a+Zt9eI%U*DvEqJN-b4}X;@+@s@BG0n6 zgYaw`UDkF8o^>T*mqr=cQo@!?J%gD!T1zmtRuWzI~@+peDv)~Mu z*563Ol%yAU%K&A%u?Koc>*A06?Qocuk?y*Te6oG3@Hd(+LhFZ}rmN6X-i5RQHF+mV zSIwd*Q|Y^u$g~AoI)+>0kBFi9lReNtMT@AixyU!$Q4;GYNibD{9`BE0M6>ASs7kbq zabJoaik_lRpxEIv=@-z(;ZtZWIyJnU-h^UDTo|$g^sV&L-8<1pA1S>arTA3RHRwy9 zW%Mbe^$no+qAcGeVI620^Bolqy0I43`A((B+OPV?yV3P1*nc9VN&e&MgXl&7NJzK& z@23BSlmSt6BgzYi@o9v*TsvR(m&0M3>Cb(YZaRn#225r~EkoZ0% z{XH@Uj&?r})T#4mdEg>>2d*5d>E=H7j%zjYoe30G(IT)k7Z0{2{bgw`8rLWQa~!`4 zYA&VL1mqDEBD#UA&h*f9lbSmckUVIa_F59ytvkzf8w#`eu8FWP%@r-anpW=1pvz;g za1Gd`v$!k#+8EN)@q@UPFY_6`AO`&q6i)xSIXGf)7m#Nfdr?$yR5n$Mv5=(xB#k7g zmZS+J%_M0qNef6?M$#&h?!f8Vz6Y?dMedEwgsZoI5Il>fS8oo92yFo-i!Ypj$I5-7 zX$xu|+vZ$*BlivOiQ+@X(p%7TA!$raJUS8*!ZZe`egiA03gy}-Z$$%0FnF=U`a7I9R zgv$iv?060!6X9|I4Iz5DfQks0=h8C)Dka=9mtFy&O2QQl=$YFrr2wl4Sq8|HG*}L3 z3*jmOIW1G=(%azD+X!eU(c9wE+X1MSa617x2Ur8Bo^Z8*oD-=7bl6PDg8)59$Mt}k z33u3~*a)bFa7}=Q61`?X9fWIf>9qs8O1SfY0*Ky4Ks|)(aOqtI)JwSQf14c+Z=!eu zNRRjMy5Dvw@_>Yd>%yf(uN#m*;d)$py?}xV*AHj}(W4v=2TM2sAm@xd0Lcg^1Vntx zY!Lx864Dot(--^!WfCqJkcc!G2FOIX2tWf)2xuAMq5%ns9t)_9a56y7rBec`B%BtI zv%OeAJKi(n87BaAHkb@(Cs9lVf#izk!LwN;0&>s@o*Dfeb2fV-Lw~8HDGYxI=)K zGjS&|X<|)3DXVqXtE2YevV&w<66<|Q?y$40(cet6O=M(=%@HKmLX4K!9!+xRorAfk zB)JY}#j9G9yY3v!jZ~7m?JVPsB-e%OS&O@^#XXkGMZ=Qa&Xg;s6uBoQYyMsMAnJTOo82DSY#xA&wyiyI_*hT&L(1!QIIw%bnfWTWs}~q)v*lsYWX^_lqWU1xY0fMU zbZf8n^{yVGzEn2K?B^_t)wCAg?i4^O0FCf;XEy_lJA2}9YVom*`{{fugCpbMNGydo z3^xI|1nA)~$M*v1Wt&X|gR^cGLdwzHT!Hkg)q)2E!y$D?<+l|gme3i*oq3M$}OrQ!?PC7>SBYo5;CR>5Bqr`sK zp{{p!bAFz2skaX?IzL>2c10!A5$JBz1mBmt!3k!WV(VO8+z&wE(IL!VQZy}EKe;ny zz@U~$=)aTU&X_9ka0)!gjcZ_7>whDcEwpB0@Q}2AY|Q!mo9I$>LFfzQuHdi3rYMOs z)j&U{M_@$fRqcC}JK4`~`bc6rJgE&4rJyK1&)-DVlP3-7$L3C^`Eqn}^7xV8`e8kM zZvUgV{3+BoS;m-UXzG-afzQdXhOeV2BFvT$k!j+gyZlHaKU0PlP5F&(Lg`a|824nf zbm}_qjc`#RE0k?b>*bH2Kc>#0uc3Ih%B#d3#)o$!{~Wr)hBKdyKz(cs^Mfy9#bcSd zVzgQugbKu7j2J_?d2Lt0lXr(+xHuGh*hoarCOvT1tPNYhd$~UAt`>OaQ%38_W&r%G z3@~q!prS>{jXdTHmk+CD2Ubk-wKRJtwp(pYkh5Gah7Hg;j5}w0g&w$TM13KBXr0{! zJFUYED%P}a*lmX~YG{WPuF%$oog`aB(ppIQO;d@XE1SJ5dtrJ@y+aeAd&^aaNQ$L0rSuLFyeQ{cpvUI{i5dCOML`TCf^takfzp zSd}3x%;H}4ke-Fu6vTB${h>Lx+{Y&Ht`2sGt$ejiY8Fq^oGZM~Ijc6{N>&S=0p}b9 znVfYinVAL8sneY^6B1hj@&i`DuMm5uzzm4JNlf#$;FFFcc6T)3y3QryzH&6+9vsA8 zS?NYc12#JMC7;lby*e0HqUr*eqfX#msf8y;){?9imm##CG@l1`>#mEq5?(iJ10D#h zp0oXQr{!#x>sXB}C^y4nAT~&DL8V?;ev4y`hiw;D=@fD&v6FD~Jvg(FOY%6T#`o+7 z>@UPA(oI(n;#=?C;V_nxoCsBI9p;@ zzNe8FfQhB%vlYFb-qTMTfi!aQnH9}FZtyb4PSh0=`O!M$6c`%($!2HzER@?3zyGwkP7KWz9I^@ieKx-oA{4mcT*-57ULfO zh$j)q)m!91Z_dSXwvuJ!zJg_a1415n1eez93{-zja}Mm?B{2;B2U@B~q07)m3Mrk8 z?kHYj0&b$&${WmtG^9|?ps%6|6@IJxK=o8q9vqi=MvjtXM~TrCR*zRD{EBNJ8zR~v zE#t8AN1Bzg@P+F)(_taJJ>bzW&2yd3hG-H@cgYDmI!fD!M zcW6JR>9_13>qjy}_asxI?J1OK!wgFFw*BkaXK8b$^Npp&nh;^+{FXrg;Sz<`)CeIE zqKvHUQ_u@F5I=lL{BUl1R}|q!Z>#|;PBm%4JFJ-zEL4^`zT&#ULh!m1ke@?J{$U1x zf;Btoq;!a|<_M!LGs54N8o}~`p?G%q@-UMd-35(u2@w$xP~0IJi#h`##c|m;%i&kH zn-XD{Z!Y%2ks8{D9U#E%J<;6f@Ge4{D?ZBQMEGldG?zI15};YA66`4U$jX2y>TRk5 zqeI2i{E0?>ZYZ+F2hNnaoz4$4^5^if>Wt35qz}E1B*<8!@2Af zMp%M&sdFVEnWpagvzJKFp3~_bovQDCB)l-4;{Ewd@7EcYG0rH740_*ZbM*$#$m8NQEkS2DvS5g zpqEpY();XJQUtWuJ})?g@YRmrf$q%M#tc%S)v0s5&SDyZ5XJ98H&Q1A_`z8PJ0;%a z@eyp-&t0VpP*_?zeGwI=>Eq9jhhZd{VB5gn8|o-omQUr=S$LO=oYlT|^|iZ)>P~cdpMZacE3>_f_^T39LFmZO=W1IDI zZHuHA7V<~Op$F-)gResed|Wru&Uy~Mq14Wbrmv$*vqmv3Qgm+FqO&8ycXr|CgY)TZh>BnEyTC|r z8-|%lFF==kR2X_Cdzn{*YZ?~BXNQcq+lg!aa{;XkMgDUZ)A4B4oJdv;FCTFIBE6Uj zU@)dLP@T8`?3%MJ@vzacBEeLH=Nx3eJcpqtw~lts%UR>3tHW{<(s4imH%u_?z*V{s zJ#QpaG1?w5&y!(R1lh;sl+s??;DyL}Vfzf#E!avQLi&YAnD(Dg?97mWx_pU|KLZno zk=YXKjHY^GrD-3b$&1WEEV;P~xL#8p9`Ca*Bkj9|CTEWoF}Iyog6}`rN^a=UqLhI4 zdtj^IE#JYF0**1TnsaX(M%fqSw$bJ;A$Qt38?J%b9BWPNu{`vy+zvaID-~EA-jy2w z!h4mY$lE(KmMYh>(M5w|HEo3t;8xUJxxEA)3g^pXiMw|T}sow+@HG`bt$ED zB*1&zMfm6xb;-J*Kc#b!^s;q!zikf9CH885^q&4Bv@l3%Wv$5qF3rPow#bu9?00Lm zrVFezm)2twghc&m`OZpvZ*8`&6kyMSUASnWq?rJF&@=D2583z%gzn`2#*6kdrd@;S zjrPR_6>fASy0bjguwy^$@1wPFs2r=r(cx$fKtArgi{0=K8x3qlOQdNFP^KD4;H4(M zXw1ZY#Dnk&9%E_&I*T843BED(5P0rAfcUYr32vaUDDu9F^gd&SG!l#i_*aOTlxGmO%zxK5bdg^ORL?7qD6Zp$_(9YuQ z@hf5Dm}EF2^tvM8-p?O9>rhiH6!E_HfRe8ndXD|q(o~vWYuBz?!_cMn6J_o+y#sx^ z`VifW3fGtdnQCwac<;UqUxJG#z}Y!A!wBaTf6t0~);vvD+T+b{yU~g0*1CoC-)LHe z8sb-3#V7C)T~it1o_w4Vok&KTD#s4V$oj;Hb4L57%0im?xf~68?celld+%#JW3Kvy zqTU9152Oj?BFJ5kevo0OC@Ksj8YC9P2(lEU1Y{#f4agCYR*=dw6txHB2*_oSyC75x zMU4b8VGO_9pof34z{x?PTc{A~?PiLq0(l7}4`d#Q5kw9Wf;R1&Y5wpuMSicr^G%SA zAnF0m7oOumff)pOA$+MCaLKHh9v)tPBY&R>em}<)p1dNw&%MB3rw_ z9=q9BnEm(<83yXZ`x)hX6l6DU4F)&xXAS=9Wc46n-_>zR4l(i3ke{thCIq6CneQdsnC#8dO;;aaIr za+%YnVGi63pCL}YOsC!);O4+^rj(MFOR?VL|DL8S!5sVt)dUm7^`0j>60Fk=95x7W zA$Uk|dxAln1W&__IThjU9GnN8e)o+{tN*&6a@3lKF((s>=?XWzVMe3i|*IXkLd-5db>bu8(v#f28?L^R4E-hSvINCu()tbnO!DO07-1Tic*LtNmX4n|6>cKsQ-8O*dQj zyl%B_lWwo>nC^n^rtX1mh<>zQtWVU>)xW4;tKX{MuRp23q`#x@(+@R-8)6JehD^gV zh62MH!v@2fhC0I$LyO_E;fCQCL%)GyVb@WVnaUAYi~l7)Bo36UmAoa{FX@(uq-yE6 z(g4{`*_aqMMjvxQ?ypE!6f0^Krxg8)F-oIywQ{?1zw(BXQW;bWR4=KJYKN*`)u6hd zx}#dB-k|8sKYqWMT6p|;wQ!1N|Sb(wm@5?J*HivE7!dPcDSay zs|(VP(QEao`j_<^^sV}D^g_ct!yAS+!%v1D1GH;|qXiyg**Z2xJXid_xKI3Y z8Yo{S|5$$7EFY(chYtD_gO%P&UuBrmpiEHaD$A4=$|{)ULFGrvqsr6Dd&)nR!77C+ zPL;2URL@qIsVmjLtNYZ!nkbE4GaVM}fcCo9p)J>K*S)V>p}(hh=mQO*hFrrkF#jII zhlVc<9e6;w&H)M7p)g%3YmQ@Qu+OnCva8wG*mu~y>|yo?RwP!4jp8b?w?r#Rmy}6% zNDfGTlKd?hBUMW0NEb`Z(rwcH(i76t(m$l$vS^t~HbXXFwpgZ%nIDrMQyp_4=36;0 zXB0xkcE$UOdc|>NuX2Y!|`b5n*7}Y^c~%GFc*( zte0Gq-I6uQdlfG#tJNQ?kE;Jr_p2vpqBXIaOiixlpr%}#tNTtDp_l0s^uO!-^#a2f z!vurYFwKx|$TGYDE>~`_7-|g%4A%^Oc-G|*RcHvju*g%{M0O6lfL+CIVt2CUee4Z( zsCbN6Cyow4#_@|eJ%S=c2o9~?7r-GS)XiJ%-EPo;LLF`sWFFR zPRINl^Jh$f{B`+uvwV+yzr0C)PJU5-MSfj=3k>(G{Gt3Wxj^Bi7@-JIgexX0#0s4v zNihRj+jPZbvxR}|M3w-mhM7sUhE8*WNZ<#46HGE_N1IaR4p#wn*O z)0ElD#mXY(O64`ByUIr;Q>j$5RN1OL)qAQBRpy(jPF0`ER~@b1q<&ZZjOHE9F-?!= zZ_QxshuWjsQ`$#bfo`a7q%KM)(><$OrYqJ}=r-s+)HUeZbwB9d*PqjO=)A7A_6mEQy~XnE zFKiF{h^55tVxf41*k2qXju1~0vtqe8N&HaUFJ>eoB*Bu25}Bk(vPM!R*#gEtAh{;F zE%`;#Ct;)_>1b)B^cC2?7U?GG9@xYk(!0`b=_4s48!D5@l4M5NJXx-c9Ca|DN?78J zVl?JNqhgu5K)q32uWnLzsIRJTsCjj_x(8fNr11x*lWCGQMsU12;Cd!afu>YbuBp^) P(A3z6H~mV(CEt=HK@f~@Bhd+AbI}Y+Zj6J%tPagY zW2rHB)!=FplaOdK#wSKZR?zrBB|f5?5MxY7Nkl^wv&6ZlsuA7Y-`&69&X3dm)mNvg zPMxYcRn?SsGNql&Is?-|y=fZfyfPrH-RehE>9f-@4iZr-1Jb|fIg;Y(i2b+Go02V zIkSv5ct2qBXwbc{m;b$*h59wu3(=9l?2(9*C6i|u){_a4( z`M=n+1>*{DevdM`r+EWl8vWdJ3B3c&3)sQ<7NZ`4w}W#IQ&Nw$-6qtdM}f)oDl{f2 ziFTq{K~v~FR2{UCK83=9SJAJbO~EnrOtddJmZs3@I}gy%E#(>Eg)Yk8@>ggfvsKvl*ypq7ljd4&LV|Z==slXwL92ToqwQ#dWC!#?NC8ky|ld6AfIqn7 zP&24?D=oC5z=6@y>$vEYK(39H)LM~xV4>jFFfg@c^)l`Re{SG~ zp_lm2u}i1&mjt<*v~*|}uH{?-BgCrFHv%cDCyieGiQ?(a(Wuy zy0TTqP}KIoCQ7ROo7>vSPYccFX9woy@sAo@{?Ku7CFSxtdU+Pp>niB6<+a6+63@Cf z;w=8S+Y<_J<%6fH{HX?)6u1sBu)!q*ga@O+6%L4c*NMp}fZ>FU1r+rz=HdYP5iWr! zVlJs$j|CJ<^ibLG+pcwGpnlTki^>cEVi;Bq4e&fc)RX!+8^s zQ?yV37)Z!gjEG_zAQ|D>0f~AYfWisa38*j8qkKMJ65;#-iF$#6Si*$@66cl_PzK>- zfW)~F?gVHfWE3DNsW28$KH=g3i4`UQvJ)-|P$sme6mz;2rvs`c+$=!iq?rfk0O9hx_3VIZ2v-P5oC`&O z8VTnBBpO%(sEKgP0R=m8PpqZaF=H(!wprJ-kW?ix%DS$Nq&D;*nwu#+oYpPGrPitr zlDAVVx2uz+s>!fe_ekHzntR2(12U4TA%X0hNE zElFJ$jcG|IsheV+kU>(dxSYGV&0XB?y5Nwe`yE@ju2ehP(K9ujyT9bO#BV(QVQyDD zY%L2HN@B`E8Ptz-LfYkXO3HgcNaZ(%!hCXFkd!}!OyxO#}o2S0?>c=Os7Sif6osTwUyV#x}8Vb zpd5Efl6K1P+r;zkt^QD}-y^qZ&q+t2@`CGu!^m&N<|l5&M!U oO{AB;JEd`<<$Y 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 V