Desktop Functions: Smart Device Functions:
|
Search Results for "2" in [All]coredll1: Alphablend extern public static Int32 AlphaBlend(IntPtr hdcDest, Int32 xDest, Int32 yDest, Int32 cxDest, Int32 cyDest, IntPtr hdcSrc, Int32 xSrc, Int32 ySrc, Int32 cxSrc, Int32 cySrc, BlendFunction blendFunction); Public Declare Function AlphaBlend Lib "coredll" (ByVal hdcDest As IntPtr, ByVal xDest As Int32, ByVal yDest As Int32, ByVal cxDest As Int32, ByVal cyDest As Int32, ByVal hdcSrc As IntPtr, ByVal xSrc As Int32, ByVal ySrc As Int32, ByVal cxSrc As Int32, ByVal cySrc As Int32, ByVal blendFunction As BlendFunction) As Integer Taken from openNetCF in OpenNETCF.Win32.Notify Taken from openNetCF in OpenNETCF.Win32.Notify
Declare Function CeGetUserNotificationHandles Lib "coredll" (ByVal rghNotifications As IntPtr(), ByVal chandles As UInt32, ByRef pcHandlesNeeded As UInt32) As Boolean Taken from openNetCF in OpenNETCF.Win32.Notify Taken from openNetCF in OpenNETCF.Win32.Notify Taken from openNetCF in OpenNETCF.Win32.Notify
Taken from openNetCF in OpenNETCF.Win32.Notify NOTIFICATION_EVENT_RS232_DETECTED is also raised when connecting the device to USB. Taken from openNetCF in OpenNETCF.Win32.Notify
notificationTrigger.Type = 2;
notificationTrigger.Size = (UInt32)Marshal.SizeOf( notificationTrigger ); // This line needs the compile switch /unsafe Taken from openNetCF in OpenNETCF.Win32.Notify
notificationTrigger.Type = 2;
notificationTrigger.Size = (UInt32)Marshal.SizeOf( notificationTrigger ); // This line needs the compile switch /unsafe
public UInt32 Size = 0;
public UInt32 Type = 0;
public UInt32 Event = 0;
public UInt32 ActionFlags;
public UInt32 MaxSound;
public UInt32 Reserved;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
DMDO_180 = 2
DMDO_270 = 4
DM_DISPLAYQUERYORIENTATION = 16777216
DMORIENT_LANDSCAPE = 2
CDS_VIDEOPARAMETERS = &H20
DISP_CHANGE_BADMODE = -2
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
// modes are as follows: 0 = 0, 1 = 90, 2 = 180, 4 = 270 degrees
DEVMODE DevM2 = new DEVMODE();
DevM2.dmFields = 0x01000000; // query supported rotation modes
ChangeDisplaySettingsEx(null, ref DevM2, IntPtr.Zero, 2, IntPtr.Zero); // 2 = test
MessageBox.Show("Supported: " + DevM2.dmDisplayOrientation.ToString());
ChangeDisplaySettingsEx(null, ref devmode, IntPtr.Zero, 2, IntPtr.Zero); // 2 = test
Buffer.BlockCopy(BitConverter.GetBytes(val), 0, m_data, offset, 2)
Public Function GetInt32(ByVal offset As Integer) As Int32
Return BitConverter.ToInt32(m_data, offset)
Public Sub SetInt32(ByVal offset As Integer, ByVal val As Int32)
Public Function GetUInt32(ByVal offset As Integer) As UInt32
Return BitConverter.ToUInt32(m_data, offset)
Public Sub SetUInt32(ByVal offset As Integer, ByVal val As UInt32)
Buffer.BlockCopy(BitConverter.GetBytes(val), 0, m_data, offset, 2)
Buffer.BlockCopy(BitConverter.GetBytes(val), 0, m_data, offset, 2)
If t.BaseType.ToString = "Int32" Then
Return GetInt32(offset)
ElseIf t.BaseType.ToString = "UInt32" Then
Return GetUInt32(offset)
If t.BaseType.ToString = "Int32" Then
SetInt32(offset, CInt(Val))
ElseIf t.BaseType.ToString = "UInt32" Then
SetUInt32(offset, DirectCast(Val, UInt32))
MyBase.New(192)
'Return DirectCast(GetUInt32(72), DM_Fields)
SetUInt32(72, CInt(value))
Return GetInt16(82)
SetInt16(82, value)
Return GetInt16(92)
SetInt16(92, value)
Return GetStringUni(102, 64)
SetStringUni(value, 102, 64)
Return GetUInt32(168)
SetUInt32(168, value)
Return GetUInt32(172)
SetUInt32(172, value)
Return GetUInt32(176)
SetUInt32(176, value)
Return GetUInt32(180)
SetUInt32(180, value)
Return GetUInt32(184)
SetUInt32(184, value)
'Return DirectCast(GetUInt32(188), DMD)
SetUInt32(188, CInt(value))
ElseIf degree = 270 Then
devMode.dmDisplayOrientation = DMD.DMDO_270 CompactFramework 2 has a setting for ScreenOrientation http://msdn.microsoft.com/en-us/library/microsoft.windowsce.forms.systemsettings.screenorientation%28v=vs.90%29.aspx 14: CheckPassword 15: CopyFileEx
ref Int32 pbCancel, 16: CreateEvent
RESET = 2
'''An abandoned mutex indicates a serious programming error. When a thread exits without releasing the mutex, the data structures protected by the mutex might not be in a consistent state. Prior to version 2.0 of the .NET Framework, such problems were hard to discover because no exception was thrown if a wait completed as the result of an abandoned mutex. For more information, see the Mutex class.
Public Const WaitTimeout As Integer = &H102I
''' Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval.
''' Waits for all the elements in the specified array to receive a signal, using an Int32 value to specify the time interval. 17: CreateFile
static extern IntPtr CreateFile(String lpFileName, UInt32 dwDesiredAccess, UInt32 dwShareMode, IntPtr lpSecurityAttributes, UInt32 dwCreationDisposition, UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile); 18: CreateMutex
// use Marshal.GetLastWin32Error() to retrieve the error. It should be used in conjunction with Marshal.GetLastWin32Error() to check the application already existed in the process list.
return Marshal.GetLastWin32Error() == ERROR_ALREADY_EXISTS; 19: CreateProcess
Declare Function CreateProcess Lib "coredll.dll" (ByVal imageName As String, ByVal cmdLine As String, ByVal lpProcessAttributes As IntPtr, ByVal lpThreadAttributes As IntPtr, ByVal boolInheritHandles As Int32, ByVal dwCreationFlags As Int32, ByVal lpEnvironment As IntPtr, ByVal lpszCurrentDir As IntPtr, ByVal si As Byte(), ByVal pi As IntPtr) As Integer
public Int32 ProcessId;
public Int32 ThreadId;
public short cbReserved2;
public IntPtr lpReserved2;
"C:\\WINDOWS\\SYSTEM32\\Calc.exe", 20: CreateSolidBrush
[DllImport("gdi32.dll", EntryPoint="CreateSolidBrush", SetLastError=true)]
Declare Function CreateSolidBrush Lib "gdi32.dll" (TODO) As TODO Taken from openNetCF in OpenNETCF.Win32.Core
D2 = 2, // Standby: partially powered with automatic wake 22: DisableGestures
public const UInt64 TGF_GID_BEGIN = 0x0000000000000002;
public const UInt64 TGF_GID_ROTATE = 0x0000000000000200;
public const UInt64 TGF_GID_HOLD = 0x0000000000002000; 23: EnableGestures
public const UInt64 TGF_GID_BEGIN = 0x0000000000000002;
public const UInt64 TGF_GID_ROTATE = 0x0000000000000200;
public const UInt64 TGF_GID_HOLD = 0x0000000000002000; 24: EnableMenuItem
AppendMenu(hMenu, MF_STRING, 1002, "Disabled Item");
EnableMenuItem(hMenu, 1002, MF_BYCOMMAND | MF_GRAYED); 25: EventModify
EVENT_RESET = 2,
RESET = 2, 26: ExtEscape
uint size = 12; http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppc2k/html/ppc_layoff.asp 27: ExtEscape
ByVal nEscape As Int32, _
ByVal cbInput As Int32, _
ByVal cbOutput As Int32, _
ByVal lpszOutData As IntPtr) As Int32 Microsoft® Windows® Powered Pocket PC 2000 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppc2k/html/ppc_layoff.asp
uint size = 12; 28: FindWindowW
public const int SWP_DEFERERASE = 0x2000;
public const int SWP_DRAWFRAME = 0x0020;
public const int SWP_FRAMECHANGED = 0x0020;
public const int SWP_NOMOVE = 0x0002;
public const int SWP_NOOWNERZORDER = 0x0200;
public const int SWP_NOREPOSITION = 0x0200;
public const int HWND_NOTOPMOST = -2;
Public Const SWP_NOMOVE As Integer = &H2
Public Const SWP_DRAWFRAME As Integer = &H20
Public Const SWP_FRAMECHANGED As Integer = &H20
Public Const SWP_NOOWNERZORDER As Integer = &H200
Public Const SWP_NOREPOSITION As Integer = &H200
Public Const SWP_DEFERERASE As Integer = &H2000 Taken from openNetCF in OpenNETCF.Win32.Core
[DllImport("user32.dll", SetLastError=true)]
<DllImport("user32.dll", SetLastError:=True)> _
SetWindowPos(handle, 0, 0, 0, 240, 26, SWP_SHOWWINDOW); 29: FormatMessageW See http://msdn2.microsoft.com/en-us/library/ms679351.aspx for details on the FormatMessage native method.
public static string FormatWin32Message(int win32ErrorCode)
System.Text.StringBuilder sbMsg = new System.Text.StringBuilder(1024);
if (FormatMessage(FormatMessageFlags.FORMAT_MESSAGE_FROM_SYSTEM, IntPtr.Zero, win32ErrorCode, 0, sbMsg, sbMsg.Capacity, null) != 0)
return "Unrecognized Win32 error code"; 31: GetCapture private const int RequiredWidth = 200;
(Screen.PrimaryScreen.Bounds.Width-RequiredWidth)/2, 32: GetClassName
[DllImport("user32.dll")]
StringBuilder strClassName = new StringBuilder(256); 33: GetDC Taken from openNetCF in OpenNETCF.Win32.Core
GetDeviceUniqueID attempts to address these issues and to reduce applications dependency on the precious device id. Firstly GetDeviceUniqueID can be called from the trusted or untrusted code group, but the code returned is not the same as a call to KernelIoControl, its a 20 byte code not a 16 byte code. GetDeviceUniqueID takes an additional parameters of an application defined char array, and uses a one way hash to combine the real device id and the char array parameter to generate the new 20 byte code. This means that an application will always get the same 20 byte code if it calls GetDeviceUniqueID on the same device, with the same char array. It also means there is no practical way of asserting the true device id from the 20 byte key an application uses.
byte[] DeviceOutput = new byte[20];
uint SizeOut = 20; Original Blog Entry: http://blogs.msdn.com/marcpe/archive/2006/01/09/510995.aspx
Lib "kernel32" _
throw new System.ComponentModel.Win32Exception(); http://netcf2.blogspot.com/2006/01/msmq-message-queueing-in-compact.html
Int32 INFINITE;
byte [] si = new byte[128]; 38: GetKeyState This function is very similar to the user32 function of the same name 39: GetLastError
static extern Int32 GetLastError();
Declare Function GetLastError Lib "coredll.dll" () As Int32 It is recommended that you do not call the Win32 GetLastError method directly. Because of the way P/Invoke works, the error message may get reset between Win32 calls in your code. Instead, call the Marshal.GetLastWin32Error method, which can be combined with the ever useful Marshal.ThrowExceptionForHR method. See below for an example.
Int32 lastError = GetLastError();
int lastError = Marshal.GetLastWin32Error();
Marshal.ThrowExceptionForHR(Marshal.GetLastWin32Error());
Dim lastError As Int32
lastError = Marshal.GetLastWin32Error()
Marshal.ThrowExceptionForHR(Marshal.GetLastWin32Error()) Marshal.GetLastWin32Error();
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern bool GetModuleHandleEx(UInt32 dwFlags, string lpModuleName, out IntPtr phModule);
Declare Function GetModuleFileNameEx Lib "coredll.dll" (ByVal hProcess As IntPtr, ByVal hModule As IntPtr, ByVal lpFileName As System.Text.StringBuilder, ByVal nSize As Int32) As Int32
<DllImport("Kernel32.dll", CharSet:=CharSet.Unicode, SetLastError:=True)>
Friend Shared Function GetModuleHandleEx(ByVal dwFlags As UInt32, ByVal lpModuleName As String, ByRef phModule As IntPtr) As Boolean
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern bool GetModuleHandleEx(UInt32 dwFlags, string lpModuleName, out IntPtr phModule);
Declare Function GetModuleFileNameEx Lib "coredll.dll" (ByVal hProcess As IntPtr, ByVal hModule As IntPtr, ByVal lpFileName As System.Text.StringBuilder, ByVal nSize As Int32) As Int32 42: GetModuleHandle
Declare Function GetModuleHandleW Lib "user32.dll" (TODO) As TODO Taken from openNetCF in OpenNETCF.Win32.Core 43: GetObject Taken from openNetCF in OpenNETCF.Win32.Core 44: GetProcAddressW Taken from openNetCF in OpenNETCF.Win32.Core 45: GetSystemInfo
[DllImport("kernel32", SetLastError = true)]
PROCESSOR_ARCHITECTURE_ALPHA = 2
/// http://msdn.microsoft.com/en-us/library/ms942639.aspx
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
/// http://msdn.microsoft.com/en-us/library/aa450921.aspx
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
[MarshalAs(UnmanagedType.U2)]
PROCESSOR_ARCHITECTURE_ALPHA = 2,
[DllImport("kernel32", EntryPoint = "GetSystemInfo", SetLastError = true)]
[DllImport("kernel32", EntryPoint = "GetSystemInfo", SetLastError = true)]
(ByRef lpdwStorePages As UInt32, _
ByRef ldpwRamPages As UInt32, _
ByRef ldpwPageSize As UInt32) As Integer
ref UInt32 lpdwStorePages,
ref UInt32 lpdwRamPages,
ref UInt32 lpdwPageSize
public static extern int GetSystemPowerStatusEx2(SYSTEM_POWER_STATUS_EX2 pSystemPowerStatusEx2, [MarshalAs(UnmanagedType.U4), In] int dwLen, [MarshalAs(UnmanagedType.Bool), In] bool fUpdate);
Declare Function GetSystemPowerStatusEx2 Lib "Coredll.dll" (TODO) As TODO
SYSTEM_POWER_STATUS_EX2 SystemPowerStatusEx2 = new SYSTEM_POWER_STATUS_EX2();
if (GetSystemPowerStatusEx2(SystemPowerStatusEx2, Marshal.SizeOf(SystemPowerStatusEx2), true) > 0) {
public static extern int GetSystemPowerStatusEx2(ref SYSTEM_POWER_STATUS_EX2 pSystemPowerStatusEx2, [MarshalAs(UnmanagedType.U4), In] int dwLen, [MarshalAs(UnmanagedType.Bool), In] bool fUpdate);
Declare Function GetSystemPowerStatusEx2 Lib "Coredll.dll" (TODO) As TODO
SYSTEM_POWER_STATUS_EX2 SystemPowerStatusEx2 = new SYSTEM_POWER_STATUS_EX2();
if (GetSystemPowerStatusEx2(ref SystemPowerStatusEx2, Marshal.SizeOf(SystemPowerStatusEx2), true) > 0) { 50: GetTextColor Taken from openNetCF in OpenNETCF.Win32.Core 51: GetWindowDC Taken from openNetCF in OpenNETCF.Win32.Core 52: GetWindowLong
[DllImport("user32.dll", SetLastError=true)]
static extern System.UInt32 GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll", SetLastError = true)]
<DllImport("user32.dll")> _
Private Shared Function GetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer) As System.UInt32
<DllImport("coredll.dll")> Private Shared Function GlobalMemoryStatus(ByRef ms As MEMORYSTATUS) As Int32
Public dwLength As Int32
Public dwMemoryLoad As Int32
Public dwTotalPhys As Int32
Public dwAvailPhys As Int32
Public dwTotalPageFile As Int32
Public dwAvailPageFile As Int32
Public dwTotalVirtual As Int32
Public dwAvailVirtual As Int32 Taken from openNetCF in OpenNETCF.Win32.Core 55: IsBadCodePtr Taken from openNetCF in OpenNETCF.Win32.Core îÕ)YxÀd·¯tZ«In. °rÕºñ¨¹èvÏ¥Üxfã ïØôSuaú?Õ^Y[ë ¸ÔTÙ<à?ü1Ó6xáë¬k{m¦q6¦ÕX9äÝ<CZgbuÐö cB`SÔ¦5P¯Øú$È"ðdAAädhO;8Ƕ}[´¾Ç2XgZuí4ã¯&ã}1§~e8-ýÿ,DÄu´2³÷É;ÓÍ7¼° ãnÙ²&_ ßðGòFWïrPÆñ½Ïê¹zFDýd`jYØâó@£ºtV¼§ íÂ$*± ÈÿvAü2U-ËÈÓZ)#OÚ ´Ù³»ô¢Ï§õCjù0OÞjÈ4<¤8ÖCv@<^I ,lxñ¶ºòqây°ãó÷ýbß"ZV%!y¶Ð;y^¸1 À)ÙLXÊ73xþ{gá bþ¬Ï*kE¹È¯@XöORìÔ Öz}ùHá-uDCÚq¸ª}Î.Ìá'G¯É·>µJå£é 5² ÁgÆÁ¦·4h5©y¾¿£ÎciØ6¢¢¼ërVP®ìtÛzüöÔºD)!5ïW)5Õ¡éèè@u·RªÃ|a+QC ÊâäH>Gãx (¹e£É%°ßÿóp¾kV®{ó÷jÁ,ûÊJûM«ØªôÝòùã¢Ø´Ð|ýTëÂ,e¡îbeö"y¬Ò)ü4ÅbäOÔcDã|BÞ ®ðzLL.feÄJ8)D}áÿ?«lyK¥ÅÂ{ZnЯA]%JxaÚöð§t{µ£¢:0juü*¹¡çFÒ.%âù³ùD|Ú|ªÕøþ©Ã%3îÅf¾ÿy]áRÑñ¼²W0ZDÁÖâ̧SkÃUíÔ˵Y»äõQÖÌË îKbÆÌÑîÏ(Ê6ø¡¯äUY~Ñ6=ÚiiÔûÈ[\3úè!â<ÄFã0f à3ïDç0êiĹÝRêü7²ôz:®:2ÈÌ'x`á>Ê·&ÄæÊ²£Üµõ¯]vf{ÕÝÃ{RÒ8³ýxû«â°h7È@sò¹2W4zÉ À¼=ó+èI±Ðl-r³lÈú«uh µ®Æ²÷,àòf>/w\ÇeBßCh$I6í`â "cÉ¢Fað¨ âkHçVqg±#;u),×ôý"ÕIÎêþ?õª'àÀãs4Iw pPÀ=#ÚþÈÃ=ßÑûÖpÃÂô¥·0¯à·ïú»TwÝ¿Þ SÓ6«s#«É.Å)öÈF%Âgáµd¦W,¦[ß[3ʶùùiì¸JÞ*^Z5G9X+ïx4¡%úp9/iáaø[-µ¯½yË8Ø:íð¶;á}*¹Æ± £A6öÕ$j¶SvÈFe¨¢É[õßA];ÅïݧôXåCf<@XÙ¿ZÄñKíÞ* ï¤ý"Ô¢¡¢É~²ø8=3ÓÏ=r÷SÄP¦¢Iù.§äï8]=æÝå³j4òÉËj½àíU$¥ÿÓ>!J5[o< ZñJÎyÈFúòíæ£¿äÀÒ<#wHkuçQZÞSVʨ}³r9d[~ÙŸt-l J²@\âW(ÚfÈz¶ÕDúîLa5ÏøH'Ðr¼Mg»0t:p-y]P¢á i4Ò2ÚIÁ/®qG 2ÔtÁ[ìZÞH ÃCÙ<\Èxï妻YUÔÖB»Cl® Ê`R·Bý¥U`·Ù6T"ÓWc²Ù0<àÐþ¼9ëJR£qS3åÕz£úI~*úBalÍÑôÍ9{úí9+°ÔuúÃðAµF9Ï{ɸJ$Âuq4À`Q> mµôÐîïa²×ôëÂhçü¸¿h4¦o¿¢.bµ!Y:&!ãâtöï¨ÁÍù"IU0ÏÝÐíSs÷ê«ùsrÅ¿9ëɼ#§¼ÉgrÃ"§hÀz5 Ãv0H2We§ÑpêS\øÀk;?kHt06Ѷ'P%2Vmé:2èSi3äâÞë®nÿ°o»/j®¢6'ècÙ#ÆßÍñb2ßµyá¡aÔ´®êÚh= =¢{Y60: 6SYB!/¹:ÛNvéR'G1±Pû1¥ä»µ`¤j%VvÝ~0(ÎÃÑÂ9=ñ:{au<±M®nó%?>íÂhâ¬hGBÝIs%£O¶)Vÿ2ÍÙÕ3IU¯IÀj7XEô2?êØ-óc ÅOKç¢L¸xÅ[[KsBNz¾©iAgÑ6KOªkؾuù]²g'«¼RV;¹¦àGp5:KfÄê¾ï&$Éý ?àSKL|À4(µÂÍ5Z|UèbàòÁà ¦OwÅX&¥UtµuR«Âeúñ2ÅVK ¥¬©##À+ZØ0C*°i½ëFW\`Ó[Q¡¯zEêʸãEr¾R2êÕ×Ú䢺&÷Påª%÷üVÊßÄëòoAxãCéIJÄJ³CMº·[¡®æØî¾9;9dÞqR `ÅÏÌàGa¤\UºÝRÊȧïͶÉoÓº2`ä EeV!½ÿHÄéE´½¸¤ÁT«:<aEPÒtàL_5DH[çW·+m¢«XM2¼c^ Ì+vÖÑõVº×(ZêS ª e¶ÿHÔ·4rj|?¹HȺ1Ã2DyÐC×ø¨Ø¨ì ¦móp3`Í Yo©Mîô¾¹Â(Q^®9,üxF^)ú$ØÑ_Lï?Óf°üTø'ûò´ýôÀaºÍ19±ït¹Ã;ê¨Åô N ä¹»ÚU\cx0YØ:äç2bÒÂBuã+\=Ø^pÊýØL©Ü0ë&Å*o®¶{ô$+Ih ®>©L¯wY-å¸MÇù)àéè[¿Ì¨XµÎêùk¼i˶ ¸óýfvi/ßY°å×Dvù(iGÚæãÎ$O ¤í&ù6ýçG6ªµ¾ #7o¯Á¸Kùmñ´n\ÿaSWnÜ8dâÂ7v,0Pþ£¸MQësã¬%)6»31¯¸æFV_èÓèA¾ïѸ´^uO<d³Z@XûÊùK*xò´1ʧï¢Ñúléúaù¶¡Ïûw8 |P`mê²w¡å34q%·[`Ôx2³kçÐÛ9n|bß Ø`³côÙbkn¤ñ l}_E©WÈ Rjazn^]ö\¬j<q'ʲåÒGZ|É*Q©Þ!»â|HÛ-iؼâNÛv6õñ:Öfr)¢-¸}Ú µo<¾ØHO²ï:9¿v¸¬»;é1¾YÇìócZ$ï}¹iý¼%j稨48ºaðåìÉñ]]ØÛë}®Äüر«AÕvi'õQÛCöâAI?rÚLN²Å{¢Å-ÝîÉ¢Á0YÃ9ÿ¿Em ö°©lbмh ·L¶1D"{ÔS'D29 )5{ÆQÓ*Bá9?ô.yUÓºJÏÑT}(̯¼ºÇSpº&Aã.a,;»÷ISùêVÚuæ.cRÉyp|óm' úUR)xáüw;e¯m¤;.'¾?nØqïF(c]tûÔ3ïÄdUÈ ßsí¯{¥_áÊ{üçJ±X½b«l{8äwBõL1¬ÏkPÖªééGQ"âüákKý,p,p°¦³GÓÔT+}º]« DoUïÒ&Ð7Lðá»ÏkÚ{W¡< Uºz"´Ç¬&ú4_ÚUa³ [{F ðCOTªòâÊv @!äÓ ®'«w {oÈt0Öjcens»vÈwÞY¤L±iõG>ݲ¹< ¼éû°ÿáãeçÜÿ@lX¢\¥pnÀâ{jÒ\ÜÎiÓg>ï>ÄHÝÛæ¯é-µãâÖ8¿ìQmüd{CÂD"GÇÕ¼¥ÜéȽͬ¦B åüs¾/E"`¿HvñöÆÛZF¤ ¢þ Îü9ôüìß"õ1ȹÞi>@¸bÀ¿Ô¯e;2Ò)ܰ>É-TF\µ²ÅΪ¨ä.ÙcOèÂmhþjP`Å´¼¯->[iMLÓ¾TÁÈÎ!#Ò6àÔ¦¯zØY; Z§t¬<É./ýö§{VEMnL7²bYIµÈE]öÅ^äñ:sÚù|ÉbGÈêÑK.HuqhÄׯð_®1³·¢9B¾¥lÈ}{ X÷òVNâðpäõ6_ ;²ª§Ýè¦ú³p³5TkåO¿]¾QÕYg%9'DgÍ;x¤.Ê[gC§Pxp?yü¿{Þqª$x#}êûE3/&E~õzK84ÔîJBÑ"Bq\ Û`I<ÿkA][74=v/4àt×ÕÈwè¹Wè@ÙûÇv±ùÜ?$oÐÍ£ô Ëʵ'ü«Ú¬âûÛê¡S©:ÉûªD²ràbø5£hÌ{OÚ,cñ/ð,¢e1iÀ 4Ó%[;s£%§£<0è[,踹Ïñ¢d%2½Ú#äòÙÖl{êQIÚþ§yæ_Ç]èËeã6ÒÒÛ1ºÙ/Ìk@ÕKü#¨¥! #@ùpïWBÏí¤HåBüºÊ)ï\¾Ò³±+µE7Þ6CñHyr#=»µêvÝyñä6«dm Y? ÄbÆ$¾f³ö¶ÍÚGj'Ñ52ïeK`\ëYýÖ,Òì-à ìÂÄóÉóvX*rÀ|uàÆôØ7Ñëuvc®¥ZH̳¸qôB4ä>ø} ¶@WÉñD2ÎÄ FüôgvÕðàý¿&O±fd ɰÐdÓ4Ï(z{ü¸ÒÃusÉÇTÓ~¡uN^nÊñ¯UÞ ^ ø<(Y¬C4aCÉ%h¹ÌQªfM"mÝ& ÞÓÇØÆcBµ}*©×Êç|´¢"¨#RÉlçl#\(V7V³¥bÙ8SÅ{)2å·àh®èÔÚædqG{rA6³ì«´¬ÒQ-ÒWÿ/fO=±{À\HSvû#qãh\]§Zrø°Â¯\Hý#Csy?ÐÏÉ¡I_ÞÒZ=Çlw²þ%äpøKîfó5Õ{Î'j4}HËl)E#E`ã2¤¹bã.O<£õ¼iúQ±qm´¾þC¦ ¶`r,á® W`é¨5y¡;ßC!EQlC+í¸es/É·½¸ëêwê' \@(-5t·¼6)±ÕÆìÃb¤=FðQÖçEÅ3AÑìÜÀ£ÒçK2çÒ#Ëø±Á}FÑ©ý_ .-Þ«Lå^U1³é±×bím«Vk,ÈüÀ3?@$DVM~N·ªc]è44j:Rçg9$P>L·²ÛM¦Zóà> |