From 5bc8553a3acd65b16bb8cfa5e2d879e935d55166 Mon Sep 17 00:00:00 2001 From: Kevin Reed Date: Tue, 2 Oct 2007 21:44:14 +0000 Subject: [PATCH] - Screen Saver (merge from 5.10): Add additional information about the work running when no graphics are available. Increased the size to the box displaying the message to accommodate larger image sizes. Add code to center images if less then the allowed max size of 450x166 - Screen Saver (merge from 5.10): If graphics are not available, then rotate through the currently running results (it will change every 10 seconds) for display so that all are presented - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, Mozilla based browsers are checking cookies in the domain (ex: worldcommunitygrid.org) for a project while IE cookies were only being checked for the full project dns (www.worldcommunitygrid.org). IE has been changed so that it will also check the domain. This mechanism is generic and can be used by any project or account manager. - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, the code to check for the Setup cookie within an IE browser would fail and cause the attach to project dialogue to close with no warning in the event that there is a cookie set for the project but there is not a Setup cookie. - WCG files: Updated image, icon and installer files for WCG svn path=/trunk/boinc/; revision=13755 --- checkin_notes | 29 ++++ client/win/res/wcg.ico | Bin 6318 -> 3262 bytes clientgui/browser.C | 15 +- clientgui/res/wcg.ico | Bin 6318 -> 3262 bytes clientscr/res/wcg.bmp | Bin 0 -> 135254 bytes clientscr/res/wcg.ico | Bin 6318 -> 3262 bytes clientscr/screensaver_win.cpp | 68 ++++++-- clientscr/screensaver_win.h | 2 + win_build/installerv2/WCG.ism | Bin 219648 -> 222476 bytes .../installerv2/redist/WCG/BOINCGUIApp.ico | Bin 0 -> 3262 bytes .../redist/WCG/DeletesUnitedDevice.isd | Bin 0 -> 177484 bytes .../account_www.worldcommunitygrid.org.xml | 5 + .../installerv2/redist/WCG/cc_config.xml | 7 + .../installerv2/redist/WCG/scripts/Setup.rul | 152 ++++++++++++++++++ .../redist/WCG/scripts/constants.rul | 17 ++ win_build/installerv2/redist/WCG/setup.ico | Bin 0 -> 3262 bytes 16 files changed, 281 insertions(+), 14 deletions(-) create mode 100644 clientscr/res/wcg.bmp create mode 100644 win_build/installerv2/redist/WCG/BOINCGUIApp.ico create mode 100644 win_build/installerv2/redist/WCG/DeletesUnitedDevice.isd create mode 100644 win_build/installerv2/redist/WCG/account_www.worldcommunitygrid.org.xml create mode 100644 win_build/installerv2/redist/WCG/cc_config.xml create mode 100644 win_build/installerv2/redist/WCG/scripts/Setup.rul create mode 100644 win_build/installerv2/redist/WCG/scripts/constants.rul create mode 100644 win_build/installerv2/redist/WCG/setup.ico diff --git a/checkin_notes b/checkin_notes index 01162f9ed7..402f7519fd 100755 --- a/checkin_notes +++ b/checkin_notes @@ -9017,3 +9017,32 @@ David 2 Oct 2007 gui_http.h lib/ util.C + +Kevin 2 Oct 2007 + - Screen Saver (merge from 5.10): Add additional information about the work + running when no graphics are available. Increased the size to the box + displaying the message to accommodate larger image sizes. Add code to + center images if less then the allowed max size of 450x166 + - Screen Saver (merge from 5.10): If graphics are not available, then rotate + through the currently running results (it will change every 10 seconds) + for display so that all are presented + - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, Mozilla + based browsers are checking cookies in the domain (ex: worldcommunitygrid.org) + for a project while IE cookies were only being checked for the full project + dns (www.worldcommunitygrid.org). IE has been changed so that it will also + check the domain. This mechanism is generic and can be used by any project or + account manager. + - Manager (merge from 5.10): During an auto-attach initiated by a project_init.xml file, + the code to check for the Setup cookie within an IE browser would fail and cause + the attach to project dialogue to close with no warning in the event that there + is a cookie set for the project but there is not a Setup cookie. + - WCG files: Updated image, icon and installer files for WCG + + clientgui/ + browser.C + clientscr/ + screensaver_win.cpp + screensaver_win.h + + + diff --git a/client/win/res/wcg.ico b/client/win/res/wcg.ico index 6aae4324931755da0442d93b8bc66b8f3537704d..b2683b6ad45fd394cfa6cf264dc6238214a09f2f 100644 GIT binary patch literal 3262 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 diff --git a/clientgui/browser.C b/clientgui/browser.C index 0cbdbdc641..737f1f9ae5 100644 --- a/clientgui/browser.C +++ b/clientgui/browser.C @@ -427,7 +427,7 @@ bool detect_setup_authenticator_firefox( // bool detect_setup_authenticator_ie(std::string& project_url, std::string& authenticator) { - bool bReturnValue = FALSE; + bool bReturnValue = false; char szCookieBuffer[2048]; char* pszCookieFragment = NULL; DWORD dwSize = sizeof(szCookieBuffer)/sizeof(char); @@ -435,10 +435,21 @@ bool detect_setup_authenticator_ie(std::string& project_url, std::string& authen std::string strCookieName; std::string strCookieValue; size_t uiDelimeterLocation; + std::string hostname; + + + // if we don't find the cookie at the exact project dns name, check one higher (i.e. www.worldcommunitygrid.org becomes + // worldcommunitygrid.org + parse_hostname(project_url, hostname); bReturnValue = InternetGetCookie(project_url.c_str(), NULL, szCookieBuffer, &dwSize) == TRUE; + if (!bReturnValue) bReturnValue = InternetGetCookie(hostname.c_str(), NULL, szCookieBuffer, &dwSize) == TRUE; if (bReturnValue) { + // reset this becuase at this point we just know that we found some cookies for the website. We don't + // know if we actually found the Setup cookie + // + bReturnValue = false; // Format of cookie buffer: // 'cookie1=value1; cookie2=value2; cookie3=value3; // @@ -460,7 +471,9 @@ bool detect_setup_authenticator_ie(std::string& project_url, std::string& authen if (!is_authenticator_valid(strCookieValue)) { authenticator = ""; } else { + // Now we found it! Yea - auto attach! authenticator = strCookieValue; + bReturnValue = true; } } diff --git a/clientgui/res/wcg.ico b/clientgui/res/wcg.ico index 6aae4324931755da0442d93b8bc66b8f3537704d..b2683b6ad45fd394cfa6cf264dc6238214a09f2f 100644 GIT binary patch literal 3262 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 diff --git a/clientscr/res/wcg.bmp b/clientscr/res/wcg.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f6707724f9b30f6e2a24d09d24794a628e0a1524 GIT binary patch literal 135254 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 literal 0 HcmV?d00001 diff --git a/clientscr/res/wcg.ico b/clientscr/res/wcg.ico index 6aae4324931755da0442d93b8bc66b8f3537704d..b2683b6ad45fd394cfa6cf264dc6238214a09f2f 100644 GIT binary patch literal 3262 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 diff --git a/clientscr/screensaver_win.cpp b/clientscr/screensaver_win.cpp index 8fc7658feb..ede88f7ba6 100755 --- a/clientscr/screensaver_win.cpp +++ b/clientscr/screensaver_win.cpp @@ -862,8 +862,12 @@ BOOL CScreensaver::SetError(BOOL bErrorMode, HRESULT hrError) { // Update the error message // VOID CScreensaver::UpdateErrorBoxText() { + RESULTS results; PROJECT* pProject; TCHAR szBuffer[256]; + bool bIsActive = false; + bool bIsExecuting = false; + bool bIsDownloaded = false; size_t iResultCount = 0; size_t iIndex = 0; @@ -872,18 +876,38 @@ VOID CScreensaver::UpdateErrorBoxText() { GetTextForError(m_hrError, m_szError, sizeof(m_szError) / sizeof(TCHAR)); if (SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING == m_hrError) { iResultCount = results.results.size(); + int iModIndex; for (iIndex = 0; iIndex < iResultCount; iIndex++) { + // cycle through the active results starting from the last one + iModIndex = (iIndex + m_iLastResultShown+1) % iResultCount; + bIsDownloaded = (RESULT_FILES_DOWNLOADED == results.results.at(iModIndex)->state); + bIsActive = (results.results.at(iModIndex)->active_task); + bIsExecuting = (CPU_SCHED_SCHEDULED == results.results.at(iModIndex)->scheduler_state); + if (!(bIsActive) || !(bIsDownloaded) || !(bIsExecuting)) continue; pProject = state.lookup_project(results.results.at(iIndex)->project_url); if (NULL != pProject) { - StringCbPrintf(szBuffer, sizeof(szBuffer) / sizeof(TCHAR), - _T("%s: %.2f%%\n"), - pProject->project_name.c_str(), - results.results.at(iIndex)->fraction_done * 100 - ); - - StringCbCat(m_szError, sizeof(m_szError) / sizeof(TCHAR), szBuffer); + RESULT* pResult = state.lookup_result(pProject, results.results.at(iModIndex)->name); + if ( pResult != NULL ) { + BOINCTRACE(_T("CScreensaver::UpdateErrorBoxText - Display result. iIndex=%d, iModIndex=%d, lastResult=%d\n"), iIndex, iModIndex, m_iLastResultShown); + StringCbPrintf(m_szError, sizeof(m_szError) / sizeof(TCHAR), + _T("\nRunning research for %s\nApplication: %s\nWorkunit: %s\n%.2f%% complete\n"), + pProject->project_name.c_str(), + pResult->app->user_friendly_name.c_str(), + pResult->wu_name.c_str(), + results.results.at(iModIndex)->fraction_done*100 + ); + if ( m_tLastResultChangeTime+10 < time(0) ) { + m_iLastResultShown = iModIndex; + m_tLastResultChangeTime = time(0); + } + break; + } else { + m_bResetCoreState = TRUE; + GetTextForError(IDS_ERR_GENERIC, m_szError, sizeof(m_szError) / sizeof(TCHAR)); + } } else { m_bResetCoreState = TRUE; + GetTextForError(IDS_ERR_GENERIC, m_szError, sizeof(m_szError) / sizeof(TCHAR)); } } m_szError[ sizeof(m_szError) -1 ] = '\0'; @@ -1001,6 +1025,10 @@ DWORD WINAPI CScreensaver::DataManagementProc() { SetError(TRUE, SCRAPPERR_BOINCSCREENSAVERLOADING); tThreadCreateTime = time(0); + // Set the starting point for iterating through the results + m_iLastResultShown = 0; + m_tLastResultChangeTime = 0; + while(1) { bScreenSaverStarting = (3 >= (time(0) - tThreadCreateTime)); @@ -1666,8 +1694,8 @@ VOID CScreensaver::UpdateErrorBox() { InvalidateRect(hwnd, NULL, FALSE); // Invalidate the hwnd so it gets drawn UpdateWindow(hwnd); } else { - pMonitorInfo->widthError = 500; - pMonitorInfo->heightError = 154; + pMonitorInfo->widthError = 454; + pMonitorInfo->heightError = 320; pMonitorInfo->xError = (rcBounds.right + rcBounds.left - pMonitorInfo->widthError) / 2.0f; pMonitorInfo->yError = (rcBounds.bottom + rcBounds.top - pMonitorInfo->heightError) / 2.0f; pMonitorInfo->xVelError = (rcBounds.right - rcBounds.left) / 10.0f; @@ -1768,6 +1796,8 @@ VOID CScreensaver::DoPaint(HWND hwnd, HDC hdc, LPPAINTSTRUCT lpps) { (INT)(pMonitorInfo->xError + pMonitorInfo->widthError), (INT)(pMonitorInfo->yError + pMonitorInfo->heightError) ); +// This fill rect is useful when testing +// FillRect(hdc, &rc, hbrushRed); rcOrginal = rc; @@ -1775,17 +1805,29 @@ VOID CScreensaver::DoPaint(HWND hwnd, HDC hdc, LPPAINTSTRUCT lpps) { // it. the bitmap is centered in the rectangle by adding 2 // to the left and top coordinates of the bitmap rectangle, // and subtracting 4 from the right and bottom coordinates. - DrawTransparentBitmap(hdc, hbmp, (rc.left + 2), (rc.top + 2), RGB(255, 0, 255)); - rc.left += 166; + BITMAP bm; + GetObject(hbmp, sizeof(BITMAP), (LPSTR)&bm); + + long left = rc.left + (pMonitorInfo->widthError - 4 - bm.bmWidth)/2; + long top = rc.top + 2; + DrawTransparentBitmap(hdc, hbmp, left, top, RGB(255, 0, 255)); // Draw text in the center of the frame SetBkColor(hdc, RGB(0,0,0)); // Black SetTextColor(hdc, RGB(255,255,255)); // Red - + + // Set font + HFONT hf; + hf = CreateFont(0, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial Narrow"); + + if(hf) + { + SelectObject(hdc, hf); + } rc2 = rc; iTextHeight = DrawText(hdc, szError, -1, &rc, DT_CENTER | DT_CALCRECT); rc = rc2; - rc2.top = (rc.bottom + rc.top - iTextHeight) / 2; + rc2.top+=bm.bmHeight+20; DrawText(hdc, szError, -1, &rc2, DT_CENTER); } diff --git a/clientscr/screensaver_win.h b/clientscr/screensaver_win.h index 9cb77b937b..bea548b1b4 100644 --- a/clientscr/screensaver_win.h +++ b/clientscr/screensaver_win.h @@ -183,6 +183,8 @@ protected: HANDLE m_hGraphicsApplication; BOOL m_bScreensaverStarted; BOOL m_bResetCoreState; + int m_iLastResultShown; + time_t m_tLastResultChangeTime; // diff --git a/win_build/installerv2/WCG.ism b/win_build/installerv2/WCG.ism index c4bfdd86eb95991ba64748a3fd28aac3a0124905..88e2df97c53df1f52f152fb172a951074020a00f 100644 GIT binary patch delta 29866 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 Rm8U-lUzFuItOM5V{{iy>2Yvtm delta 27302 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 R?V8t-wI3nTzj@uK{~x2suZjQw diff --git a/win_build/installerv2/redist/WCG/BOINCGUIApp.ico b/win_build/installerv2/redist/WCG/BOINCGUIApp.ico new file mode 100644 index 0000000000000000000000000000000000000000..b2683b6ad45fd394cfa6cf264dc6238214a09f2f GIT binary patch literal 3262 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 + http://www.worldcommunitygrid.org/ + + World Community Grid + diff --git a/win_build/installerv2/redist/WCG/cc_config.xml b/win_build/installerv2/redist/WCG/cc_config.xml new file mode 100644 index 0000000000..62a5c7bfeb --- /dev/null +++ b/win_build/installerv2/redist/WCG/cc_config.xml @@ -0,0 +1,7 @@ + + + + + 1 + + \ No newline at end of file diff --git a/win_build/installerv2/redist/WCG/scripts/Setup.rul b/win_build/installerv2/redist/WCG/scripts/Setup.rul new file mode 100644 index 0000000000..b454b7fe7f --- /dev/null +++ b/win_build/installerv2/redist/WCG/scripts/Setup.rul @@ -0,0 +1,152 @@ +// +// IIIIIII SSSSSS +// II SS InstallShield (R) +// II SSSSSS (c) 1996-2002, InstallShield Software Corporation +// II SS All rights reserved. +// IIIIIII SSSSSS +// +// +// This template script provides the code necessary to build an entry-point +// function to be called in an InstallScript custom action. +// Two major functions: +// CheckUnitedDevices: Check whether there is a previous World Community Agent ( United Devices) +// DeleteUnitedDevices: Delete United Devices +// +// +// File Name: Setup.rul +// +// Description: InstallShield script +// +//////////////////////////////////////////////////////////////////////////////// + + +// Include Ifx.h for built-in InstallScript function prototypes, for Windows +// Installer API function prototypes and constants, and to declare code for +// the OnBegin and OnEnd events. +#include "ifx.h" + +//including constants +#include "constants.rul" + +// Include header file for built-in functions +#include "isrt.h" +// Include header file for MSI API functions and constants +#include "iswi.h" + + + // The keyword export identifies the function as an entry-point function. + // The argument it accepts must be a handle to the Installer database. + export prototype DeleteUnitedDevices(HWND); + export prototype CheckUnitedDevices(HWND); + // To Do: Declare global variables, define constants, and prototype user- + // defined and DLL functions here. + + +// To Do: Create a custom action for this entry-point function: +// 1. Right-click on "Custom Actions" in the Sequences/Actions view. +// 2. Select "Custom Action Wizard" from the context menu. +// 3. Proceed through the wizard and give the custom action a unique name. +// 4. Select "Run InstallScript code" for the custom action type, and in +// the next panel select "DeleteUnitedDevices" (or the new name of the entry- +// point function) for the source. +// 5. Click Next, accepting the default selections until the wizard +// creates the custom action. +// +// Once you have made a custom action, you must execute it in your setup by +// inserting it into a sequence or making it the result of a dialog's +// control event. + +/////////////////////////////////////////////////////////////////////////////// +// +// Function: DeleteUnitedDevices +// +// Purpose: This function will be called by the script engine when +// Windows(TM) Installer executes your custom action (see the "To +// Do," above). +// This Script is used to delete United Devices +// +/////////////////////////////////////////////////////////////////////////////// +function DeleteUnitedDevices(hMSI) + // To Do: Declare local variables. + STRING svName; + NUMBER nvSize; + +begin + // MsiSetProperty(hMSI, "UDProcess", "NotDoneUD"); + RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); + + // Script that will be executed when DeleteUnitedDevices is called. + //////////////////////////////////////////////////////////////////////////////// + nvSize = 256; + +// if (RegDBKeyExist (WCG_UD_KEY) < 0) then +// MessageBox (NO_UD_MSG+"ininstallscriptsetup", SEVERE); +// else + + // LaunchApp(KILL_UD_PROCESS, KILL_UD_PROCESS_PARAM); + if (LaunchAppAndWait ("MsiExec.exe ", UD_UNINSTALL_PARAM,LAAW_OPTION_WAIT) < 0) then + MessageBox (UD_UNABLE_UNINSTALL_MSG, SEVERE); + else + MsiSetProperty(hMSI, "UDAVAILABLE", "No"); + endif; + +// endif; + + // MsiSetProperty(hMSI, "UDProcess", "DoneUD"); +// MsiGetProperty(hMSI, "UDProcess",svName, nvSize); +// MessageBox ("the value of the UDPRocess in checkud function is "+svName+" for testing", INFORMATION); + + +end; + + + +// To Do: Create a custom action for this entry-point function: +// 1. Right-click on "Custom Actions" in the Sequences/Actions view. +// 2. Select "Custom Action Wizard" from the context menu. +// 3. Proceed through the wizard and give the custom action a unique name. +// 4. Select "Run InstallScript code" for the custom action type, and in +// the next panel select "checkUnitedDevices" (or the new name of the entry- +// point function) for the source. +// 5. Click Next, accepting the default selections until the wizard +// creates the custom action. +// +// Once you have made a custom action, you must execute it in your setup by +// inserting it into a sequence or making it the result of a dialog's +// control event. + +/////////////////////////////////////////////////////////////////////////////// +// +// Function: CheckUnitedDevices +// +// Purpose: This function will be called by the script engine when +// Windows(TM) Installer executes your custom action (see the "To +// Do," above). +// This Script is used to check whether United Devices is present +// +////////////////////////////////////////////////////////////////////////////// +function CheckUnitedDevices(hMSI) + // To Do: Declare local variables. + STRING svName1; + NUMBER nvSize; + +begin + + RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); + nvSize = 256; + // Script that will be executed when CheckUnitedDevices is called. + //////////////////////////////////////////////////////////////////////////////// + MsiSetProperty(hMSI, "UDAVAILABLE", "dontknow"); + if (RegDBKeyExist (WCG_UD_KEY) < 0) then + // MessageBox (NO_UD_MSG, SEVERE); + MsiSetProperty(hMSI, "UDAVAILABLE", "No"); + else + MsiSetProperty(hMSI, "UDAVAILABLE", "Yes"); + endif; + MsiGetProperty(hMSI, "UDAVAILABLE",svName1, nvSize); + //MessageBox ("the value of the CheckedUD is "+svName1+" for testing", INFORMATION); + // MsiSetProperty(hMSI, "UDProcess", "DoneUD"); + // MsiGetProperty(hMSI, "UDProcess",svName1, nvSize); + // MessageBox ("the value of the UDPRocess in checkud function is "+svName1+" for testing", INFORMATION); +end; + \ No newline at end of file diff --git a/win_build/installerv2/redist/WCG/scripts/constants.rul b/win_build/installerv2/redist/WCG/scripts/constants.rul new file mode 100644 index 0000000000..6d9a3f9d70 --- /dev/null +++ b/win_build/installerv2/redist/WCG/scripts/constants.rul @@ -0,0 +1,17 @@ + + #define TITLE_TEXT "RegDBKeyExist" + #define NO_UD_MSG "cool UD Doesn't exist" + // #define UD_ASK_UNISTALL "There is Previous World Community Group Agent(United Devices) on your pc , it is highly recommended to delete it before installing the Latest BOINC Client, click on yes if you want to remove it" + #define UD_UNABLE_UNINSTALL_MSG "Unable to unistall UD" + + #define KILL_UD_PROCESS "taskkill" + #define KILL_UD_PROCESS_PARAM "/t /f /im UD.exe" + + #define WCG_UD_GID "{3CEA3FEC-1AF5-4818-89D5-406F627E7337}" + // The SUB KEY PATH OF UD SOFTWARE + #define WCG_UD_KEY_PATH "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + // The SUB KEY PATH INCLUDING THE GID OF UD SOFTWARE + #define WCG_UD_KEY WCG_UD_KEY_PATH+WCG_UD_GID + + //THE CMD LINE PARAM FOR UNINSTALLING UD + #define UD_UNINSTALL_PARAM "/quiet /X"+WCG_UD_GID \ No newline at end of file diff --git a/win_build/installerv2/redist/WCG/setup.ico b/win_build/installerv2/redist/WCG/setup.ico new file mode 100644 index 0000000000000000000000000000000000000000..b2683b6ad45fd394cfa6cf264dc6238214a09f2f GIT binary patch literal 3262 zcmcgvS##Ug6=vW2+{t4e`!o7~+UGnZY0|NiNt`xH+&B}B9Vbql%1dH3jwRRHDM}2@(WB>>$?Db3sX#C{HGy&h&}|FYd+JzVDoKp-AL+`1j_U5xl+;dHDNC z*d*2P@n#YbSq0O(%hMLuy4!vPqL1v(`Cif4-p=;TWz&o&WU zOc>Qs(uW(LjyrqcoIsF0SpPuiYy)u8Fg_V&0Zb%1R>ywyEJO9Ogj%8@t5?@b)~b?%znXEz8Q8mFw?NEucnGe$^?~LGrh}D z(ROn$uu1wka;{l;e3E@A^Kn9@l`qC_wsUvTb8u6o{rBoe*8#GiZXT@tWze{dQIOUF z?!_n&bC0lZX;Pb|;^ST#V1N*5(^@_Mgf2gU05wbiocSt=nhig*jS--YYPkbm+ zU-H$vTzQ$veo#$ZZ=bA$vL@+Q;W$l|z?3I#mQKkdtjZ}?t29hE%j-OsG^8>ZC-&sH zaCp0s`vFnHMCw*Q*9X*-dUDC&R_OGy!aXX*-ePjsim^{% zb_mKZ`)lti!Z8XW;`jk@RC(CvC{00349^x&d8-jeBEmqrgZ3^}SnV}893_L<&Qp)_ z(a)yrzX6J7enL9J7->q~z zS>Hxms%!PT&1ko|33eTPx=(M?rN?ykYnW~`g?j@1fXV#5mAO%feQXSWMib@OjYbBk zZpI{-0~J;WG#h51+r|%iG|#6tRZR8=9)A5<=uT>Uh)^hb{0F3`CW< zUMnT>A^tFx$5pDdA#ySBYXY-|&Nnl+CiH#0(iv<)=?Sxfu!FS++E(TGE~#Z~dah#` zdf>STk~S5vVgnZs5kr%^eYPlz$Tiv$$Ae#5IC6*i*m{!Kb} z3*fk4{i>W;!W!W_sQ{hC)6;drQ`MhY8tV6E8u&9^86iaK6qQ@x$~;$SH{!O&60W^b zpG_jymUJ+pSJTlYUyi{nncBW4G|}hd{NX=!xf0eFDPio`q{;$Shj>sVsuiWT;JWF;XjR2=mG!)pcsf_bgK-XHekisvrto%qVoyRQZ0pBnz!Ms&iSC z@`)(=sRkCkyZ#wDH(?aMW1w}i8$LiDnh)0t=?;9y(iBN>k!!FFZG;t}PI@G$`P?)x|TW~vbw~RfWSEC3#&$f^_QW40tE|1aeFd5Ed<{B