MZ@ !L!This program cannot be run in DOS mode. $Z^0C0C0C>C0C>C0CC0CC0CՌC0C1Cn0CՉC0CC"0C>C 0C>C0C>C0C>C0CRich0CPEL0Fi["!  pБ ` e @Apr1 @ 8 h> Xu fTxf@0 .text `.data`VB@.idata$ 0  @@.rsrc8@  @@.relocXu v @Br rrrrrr@ rrrrrrr`s@zPzzz @` 0`  0 @ P ` p          0 @ P  ` `@".P/1105`5DOSee0,18L@b0f0~P P`!8;MPQTX0^adipu0y0|@~`P0 P@`P`pp``@`  "(.34P7;> @pA@DFMOQRTVW`cPorrr}0p`0p &,AEH@\ sx yPzz 00PЉ Ѝ PЏБ`@0@00`" #+,,,- --05Kcp0dd0eeef f0f@fד 4`ChildEBP RetAddr Caller, Callee ESP/REG Object Name eaxebxecxedxesiediebpChildFP RetAddr Caller, Callee SP/REG Object Name r0r1r2r3r4r5r6r7r8r9r10r11r12lrsp         ! I)"#))))"!a11))i92311999991q9y2rqqyyyyr qyy99yq     ) 9   ) y 9       - 3 33              #         !    "       4ƻ4`ESP%sCommand cancelled at the user's request. ...%02X | %04X    `    EAXECXEDXEBXEBPESIEDI     method size = %04X prolog size = %2u epilog size = %2u epilog count = %2u yesno epilog end = %s callee-saved regs = EDI ESI EBX EBP ebp frame = %s fully interruptible= %s double align = %s arguments size = %2u DWORDs stack frame size = %2u DWORDs untracked count = %2u var ptr tab count = %2u security check obj = yes exception handlers = yes localloc = yes edit & continue = yes profiler callbacks = yes varargs = yes EBP-ESP+ GuardStack cookie = [%s%u] Sync region = [%u,%u] epilog #%2u at %04X epilog at %04X argTabOffset = %x [E%cP-%02XH] [E%cP+%02XH] byrefpinned an untracked %s%s local ..BP-SP+ [E%s%02XH] a thisbyref %s%s pointer livedead reg %s becoming %s 'this' (iptr) pop %2d args (%d)ptrs push ptr %2d (%d) push non-ptr (%d) kill args %2d Unexpected special code %04X thisptr in EDI ESI EBX call [ EDI%cESI%cEBX%c] ptrArgs=[i%u%s ]] argMask=%02X (iargs=%02X) push push %d pop %d call %d [ EBP%c argOffs(%d) = %4X argMask=%02X iptrMask = %02X thisptr in %s %s %4d >>> %s:%d retjmpqword ptr [dword ptr [qword ptr ds:[dword ptr ds:[0xoffset ...EHHandler %d: %s HANDLER END EHHandler %d: %s CLAUSE END EHHandler %d: %s HANDLER BEGIN catch(%S) EHHandler %d: %s CLAUSE BEGINEHHandler %d: %s FILTER BEGIN %p %s (MethodDesc %s +%#x %S)%s)+%#x [%s:%d] (stub for %S)%s (MethodDesc %s %S) (JitHelp: %s)Current frame: , calling ====> Exception Code %x cxr@%p exr@%pMethod info block: Pointer table: ntdllPEBLdr Unable to read PEB_LDR_DATA address at %p PEB_LDR_DATAInMemoryOrderModuleList Unable to read InMemoryOrderModuleList address at %p LDR_DATA_TABLE_ENTRYInMemoryOrderLinksFullDllNameDllBaseSizeOfImage Unable to read FullDllName address at %p exception during reading PEB Statistics: String ValueTotalSizeCount%8s %12s %s Class NameMT%8s %8s %12s %s %8d %12I64u "%S" %s %8d %12I64u Free%9s UNKNOWN%S Total %d objects generation %d starts at 0x%p ephemeral segment allocation context: (0x%p, 0x%p) none Error requesting heap segment %p %p %p %p 0x%I32x(%I32d) sizeallocatedbeginsegment%8s %8s %8s %8s Large object heap starts at 0x%p Skipping allocation context: [%#p-%#p) bad object: %#p - bad MT %#p generation %d has %d finalizable objects (%p->%p) Finalizable but not rooted: Ready for finalization %d objects curr_object: %p > heap_segment_allocated (seg: %p) Last good object: %p curr_object: %p > end_youngest: %p Last good object: %s curr_object: %s ---------------- Error requesting gc heap details Error requesting GC Heap data Failed to get GCHeaps: integer overflow error Failed to get GCHeaps Error requesting details Traversing a gc heap failed Failed to retrieve segments for gc heap More than %d heap segments, there must be an error strike: Failed to store segment Object %p has no generation %p(%x:%x) Size: 0x%I32x (%I32lu) bytes total, 0x%I32x (%I32lu) bytes wasted. Unable to get JIT info Unable to get array of JIT Managers Error getting EEJitManager code heaps Unable to get code heap info LoaderCodeHeap: HostCodeHeap: %p Unknown Jit encountered, ignored Total size: IndcellHeap: LookupHeap: ResolveHeap: DispatchHeap: CacheEntryHeap: Unable to get information for %s. -------------------------------------- %s:LowFrequencyHeap: HighFrequencyHeap: StubHeap: Virtual Call Stub Heap: Unable to read module %p Module %s: Total size: vector too long{36PrM_. @clr<unknown>%s(Unhandled CorElementType: 0x%x)structclass%svoidboolcharsigned bytebyteshortunsigned shortintunsigned intlongunsigned longfloatdoubleobjectstringIntPtrUIntPtr<unknown>[,]&<>%dSystem.EnumSystem.ObjectSystem.ValueTypethisparam_%dlocal_%d GetFrameContext failed: %lx  P HEA0 0   p  P   @ 0 y s   ``  @  @\ #g6DK~LBOE>:Las/^z閏F :ĠI&(΄E~gi1:HogPrp:ݯDOV?,kO, OC'ĄMDʠN(g9SOS does not support the current target architecture. SOS failure! SOS failure9V'GOdhQ^nA$$---------------------------------------------------------------------------- The user dump currently examined is a minidump. Consequently, only a subset of sos.dll functionality will be available. If needed, attaching to the live process or debugging a full dump will allow access to sos.dll's full feature set. To create a full user dump use the command: .dump /ma ---------------------------------------------------------------------------- SOS: Failed to register callback events Failed to find runtime DLL (clr.dll), 0x%08x Extension commands need clr.dll in order to have something to do. Failed to load data access DLL, 0x%08x Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that matches your version of clr.dll is in the version directory or on the symbol path 3) or, if you are debugging a dump file, verify that the file mscordacwks___.dll is on your symbol path. 4) you are debugging on supported cross platform architecture as the dump file. For example, an ARM dump file must be debugged on an X86 or an ARM machine; an AMD64 dump file must be debugged on an AMD64 machine. You can also run the debugger command .cordll to control the debugger's load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload. If that succeeds, the SOS command should work on retry. If you are debugging a minidump, you need to make sure that your executable path is pointing to clr.dll as well. { =========== BEGINGC %d, (requested generation = %lu, collect_classes = %lu) ========== GC Root %p RELOCATED %p -> %p MT = %pT GCHeap::Promote: Promote GC Root *%p = %p MT = %pT GC_HEAP RELOCATING Objects in heap within range [%p %p) by -0x%x bytes RelocsPromotesGCCount%8s %8s %8s ----------------------------------- %8d %8d %8d Root %p promoted multiple times in gc %d Root %p relocated multiple times in gc %d No duplicate promote or relocate messages found in the log. !Root NotesPromoted?Value%8s %8s %8s %9s %20s --------------------------------------------------------- %8d %p %p %9s promote/reloc records in error Duplicate promote/relocsError: There is a promote record for root %p, but no relocation record ... !ObjSearch MessageObject%8s %8s %40s %8d %p Promotion for root %p (MT = %p) NEWVALUEPREVVALUERelocation %s for root %p !object Roots%p, differing reloc values for this object! Unable to find stress log via DAC Attempting to read Stress log SUCCESS: GCHist structures initialized No Stress log in the image, GCHist commands unavailable FAILURE: Stress log unreadable Completed successfully. <error>05`5User interrupt.weak shortweak longstrongpinnedref counteddependentasync pinnedsized refunknownFailed to walk dependent handles. GCRoot may miss paths. Error walking dependent handles. GCRoot may miss paths. Warning: These roots are from finalizable objects that are not yet ready for finalization. This is to handle the case where objects re-register themselves for finalization. These roots may be false positives. %p %S (dependent handle) -> %p %S%s unknown typeHandle (%s): %p -> %p: %d (0x%x) bytes (%S) Thread %x (%S): %S: %d (0x%x) bytes (%S) HandleTable: %p (%s handle) -> %p %S%s Thread %x: %p %p %S %p %S %S -> %p %S%s Finalizer Queue: %p Older Generation: Error requesting gc heap analyze data Failed to gather needed data, possibly due to memory contraints in the debuggee. To try again re-issue the !FindRoots -gen command. internal_root_array = %#p internal_root_array_index = %#p Failed to get GCHeaps: integer overflow Error requesting gc heap analyze data for heap %p Error requesting heap data. Error requesting heap data for heap %d. Failed to walk thread %x Failed to walk the HandleTable! Failed to request more handles.Failed to request number of entries.Failed to read GCDesc for MethodTable %p. Failed to enumerate GC handles. HRESULT=%x. Buffer overflow while enumerating handles. %s Error getting card table lowest address Error getting next card table Error reading card bits Failed to read card table entry. object %s: bad member %p at %p object %s contains free object %p at %p object %s:%s missing card_table entry for %p object %s: size %d too small Error requesting heap segment %p. Error during heap traverse tracing roots... Walking heap... &amp;&quot;"&apos;'&lt;&gt; t %d 0 %S n %d 1 %d %d ! 1 0x%p %d o 0x%p %d %d dependentHandle="1" 0x%p r 0x%p INVALID TYPE %d Failed to enumerate threads in the process. stack.handle Last good object: %p. Object %s has a bad GCDesc.Object %s: Failed to read members.object %s: bad member %p at %pobject %s contains free object %p at %pObject %s: %s missing card_table entry for %pObject %s: Bad member %p at %p. Object %s contains free object %p at %p.Object %s:%s missing card_table entry for %pObject %s: Size %d is too small.Object %s is too large. End of segment at %p.string too longinvalid string positionlist too longOEndVoidBooleanCharI1UI1I2UI2I4UI4I8UI8R4R8StringPtrByRefValueClassClassCopyCtorMDArrayGENArrayTypedByRefVALUEARRAYIURFNPTRObjectSZArrayGENERICArrayCMOD_REQDCMOD_OPTINTERNAL[DEFAULT][C][STDCALL][THISCALL][FASTCALL][VARARG][FIELD][LOCALSIG][PROPERTY][UNMANAGED].Unsupported token type Dynamic Module in Unknown Module mdToken: %08x (%ws)Unable to get IMetaDataImport for module %p ERROR IN SIGNATURE: Signature should be larger. ERROR IN SIGNATURE: Not all of signature blob was consumed. %d byte(s) remain ERROR!! Bad signature blob value! [hasThis] [explicit] ()NoName[InvalidReference]<ELEMENT_TYPE_SENTINEL> PINNED __Canon[explicit] [hasThis] MT dShSlSd pSd tSd xS|SSd Sd Sd d Sd d Sd d Sd d SSd d d d Sd d Sd d SSSMOTRTDFDMDPAIIMRCAPESGEVPRMORTSASARFLETMARnopbreakldarg.0ldarg.1ldarg.2ldarg.3ldloc.0ldloc.1ldloc.2ldloc.3stloc.0stloc.1stloc.2stloc.3ldarg.sldarga.sstarg.sldloc.sldloca.sstloc.sldnullldc.i4.m1ldc.i4.0ldc.i4.1ldc.i4.2ldc.i4.3ldc.i4.4ldc.i4.5ldc.i4.6ldc.i4.7ldc.i4.8ldc.i4.sldc.i4ldc.i8ldc.r4ldc.r8unusedduppopcallcallibr.sbrfalse.sbrtrue.sbeq.sbge.sbgt.sble.sblt.sbne.un.sbge.un.sbgt.un.sble.un.sblt.un.sbrbrfalsebrtruebeqbgebgtblebltbne.unbge.unbgt.unble.unblt.unswitchldind.i1ldind.u1ldind.i2ldind.u2ldind.i4ldind.u4ldind.i8ldind.ildind.r4ldind.r8ldind.refstind.refstind.i1stind.i2stind.i4stind.i8stind.r4stind.r8addsubmuldivdiv.unremrem.unandorxorshlshrshr.unnegnotconv.i1conv.i2conv.i4conv.i8conv.r4conv.r8conv.u4conv.u8callvirtcpobjldobjldstrnewobjcastclassisinstconv.r.ununboxthrowldfldldfldastfldldsfldldsfldastsfldstobjconv.ovf.i1.unconv.ovf.i2.unconv.ovf.i4.unconv.ovf.i8.unconv.ovf.u1.unconv.ovf.u2.unconv.ovf.u4.unconv.ovf.u8.unconv.ovf.i.unconv.ovf.u.unboxnewarrldlenldelemaldelem.i1ldelem.u1ldelem.i2ldelem.u2ldelem.i4ldelem.u4ldelem.i8ldelem.ildelem.r4ldelem.r8ldelem.refstelem.istelem.i1stelem.i2stelem.i4stelem.i8stelem.r4stelem.r8stelem.refldelemstelemunbox.anyconv.ovf.i1conv.ovf.u1conv.ovf.i2conv.ovf.u2conv.ovf.i4conv.ovf.u4conv.ovf.i8conv.ovf.u8refanyvalckfinitemkrefanyldtokenconv.u2conv.u1conv.iconv.ovf.iconv.ovf.uadd.ovfadd.ovf.unmul.ovfmul.ovf.unsub.ovfsub.ovf.unendfinallyleaveleave.sstind.iconv.uprefix7prefix6prefix5prefix4prefix3prefix2prefix1prefixrefarglistceqcgtcgt.uncltclt.unldftnldvirtftnldargldargastargldlocldlocastloclocallocendfilterunaligned.volatile.tail.initobjconstrained.cpblkinitblkrethrowsizeofrefanytypereadonly.illegalendmaccodelabel%S<unknown type def><unknown type ref><unknown field def>%S::%S<unknown method def><unknown member ref><Invalid record><unknown type spec><unknown type token>%S::%S error decoding IL ilAddr = %p Failed to read memory %*s.try %*s{ %*s} // end .try %*s.finally %*s{ %*s.catch %*s{ %*s} // end .finally %*s} // end .catch %*sIL_%04x: VAR OR ARG %d%d%fIL_%04x%ldTOKEN %x"%S"STRING %x(, )Error, unexpected opcode type m_handle%x "%S"%x (%p)m_value%x %S%x ""voidboolcharint8uint8int16uint16int32uint32int64uint64float32float64native uintnative intobjectstringtypedrefvaluetype class [ERROR! NIL TOKEN][][BAD: RANK == 0!]method METHOD<[> pinned*&/* UNKNOWN TYPE (0x%X)*/[*] [ERROR: INVALID TOKEN 0x%8.8X] [ERROR: Invalid TypeRef record 0x%8.8X] [ERROR: Invalid TypeDef record 0x%8.8X] $%s$%X%s..module [ERROR: Invalid token 0x%8.8X] [ERROR: INVALID TOKEN TYPE 0x%8.8X] token_0x%8.8XCould not read address %p.Object %p is misaligned.Failed to get header for object %p.Object %s has an invalid method table.Failed to request object data for %s.Could not request method table data for object %p (MethodTable: %p).<Unloaded Type>Attempt to move past the end of the iterator.Failed to get size of object.Failed to request GCDesc.Could not request segment data at %p.Failed to request segment data at %p.Failed to request GC heap data.Failed to get GCHeaps: Integer overflow.Failed to get GCHeaps.Failed to get GC heap details at %p.Failed to request GC details data.Failed to request SyncBlk at index %d.%s[]%s: "%s"<invalid object: '%s'>StressLog TaskSwitch Marker BAD TIMEHH:mm:ssLF_GCLF_GCINFOLF_STUBSLF_JITLF_LOADERLF_METADATALF_SYNCLF_EEMEMLF_GCALLOCLF_CORDBLF_CLASSLOADERLF_CORPROFLF_REMOTINGLF_DBGALLOCLF_EHLF_ENCLF_ASSERTLF_VERIFIERLF_THREADPOOLLF_GCROOTSLF_INTEROPLF_MARSHALERLF_IJWLF_ZAPLF_STARTUPLF_APPDOMAINLF_CODESHARINGLF_STORELF_SECURITYLF_LOCKSLF_BCLLF_ALWAYS`ALL``%4x %13.9f : %-20s (MethodDesc: %p) (BAD Method)UNKNOWN METHODDESC (%S)(MethodTable: %p) Low Bit(s) Set (BAD MethodTable) (%s) (Unknown VTable) (%s (Unknown function)(#Could not read address of string#)(#Could not read address of string#)----- No thread logs in the image: The stress log was probably not initialized correctly. ----- Writing to file: %s Stress log in module 0x%p Stress log address = 0x%p ReadVirtual failed with code hr = %x. Invalid stress log chunk: %pwSTRESS LOG: facilitiesToLog = 0x%x levelToLog = %d MaxLogSizePerThread = 0x%x (%d) MaxTotalLogSize = 0x%x (%d) CurrentTotalLogChunk = %d ThreadsWithLogs = %d Clock frequency = %5.3f GHz Start time %S Last message time %S Total elapsed time %5.3f sec THREAD TIMESTAMP FACILITY MESSAGE ID (sec from start) -------------------------------------------------------------------------------------- ----- Interrupted by user ----- Could not read address of format stringTask was switched from %x ------------ Last message from thread %x ----------- ---------------------------- %d total entries ------------------------------------ eAcm(m4m@mPmXmdmxmmrPrtrPrrrrhooooo p@@p`ptppppp p@pp qq0q" on the addr given in parenthesis. You can also look at the token table yourself, by running "!DumpArray %p". Invalid signature Out of memory !DumpSig Invalid parameters %s %s !DumpSigElem Missing EEClass address Invalid EEClass address EEClass has an invalid MethodTable address Class Name: %S mdToken: %p File: %S Parent Class: %s Module: %s Method Table: %s Vtable Slots: %x Total Method Slots: %x Class Attributes: %x Interface, Abstract, ComImport, Transparency: %s NumInstanceFields: %x NumStaticFields: %x NumThreadStaticFields: %x ContextStaticOffset: %x ContextStaticsSize: %x -MDMissing MethodTable address is not a MethodTable Free MethodTable EEClass:Module:Name:mdToken:File:BaseSize:ComponentSize:Slots in VTable:Number of IFaces in IFaceMap:MethodDesc Table NameJITMethodDescEntry Invalid object Free Object Size: %I32d(0x%I32x) bytes RCW: %s CCW: %s System.RuntimeTypeSystem.RuntimeType+RuntimeTypeCachem_runtimeTypeError when reading RuntimeType field Array: Rank %d, Number of elements %I32d, Type %s (Print Array)dwdbContent: Content: String: Object None ThinLock owner %x (%p), Recursive %x [%d]-start-length-details-nofieldsInvalid parameter %s Not an array, please use !DumpObj instead For multi-dimension array, length and start index are supported Start index out of range -nofields has no effect unless -details is specified Name: %S[,] Array: Rank %d, Number of elements %I32d, Type %s Element Methodtable: %s Integer overflow on array rank Failed to read lower bounds info from the array Failed to read bounds info from the array interrupted by user Failed to read element at %s null -refsGC Refs: offsetSystem.Security.SecurityException SP IP Function _xcode_HResult %s %s [%S @ %d] Not a valid exception object Exception object: %s Exception type: %S Exception type: _messageMessage: _innerExceptionInnerException: %S, Use !PrintException %p to see more. Use !PrintException %p to see more. _stackTraceStackTrace (generated): Unable to decipher generated stack trace _stackTraceStringStackTraceString: HResult: %lx m_debugStringSecurityException Message: -nested-lines-l-ccwIn order for the option -lines to enable display of source information the debugger must be configured to load the line number information from the symbol files. Use the ".lines; .reload" command to achieve this. No CCW pointer specified The current thread is unmanaged There is no current managed exception on this thread Invalid CCW pointer %s Invalid exception object %s There are nested exceptions on this thread. Run with -nested for details Error retrieving nested exception info %p Nested exception ------------------------------------------------------------- Usage: !DumpVC Not a managed object Missing RCW address Invalid RCW %s Error requesting RCW data Managed object: %s Creating thread: %p IUnknown pointer: %p COM Context: %p Managed ref count: %d IUnknown V-table pointer : %p (captured at RCW creation time) IsDCOMProxy IsUnique IsFreeThreaded IsJupiterObject IsContained IsAggregated SupportsIInspectable IsDisconnected Flags: %s%s%s%s%s%s%s%s IJupiterObject: %p COM interface pointers: Error requesting COM interface pointers ContextIP%8s %8s %8s Type %p %p %s %S Missing CCW address Invalid CCW %s Error requesting CCW data CCW: %p Managed object: %s Outer IUnknown: %p (NEUTERED)Ref count: %d%s IsExtendsCOMObject Flags: %s%s CLR Jupiter , Pegged byJupiter ref count: %d%s%s%s%s (STRONG) (WEAK)RefCounted Handle: %p%s Type%8s %8s Type IDispatch/IUnknown%p %s %S The garbage collector data structures are not in a valid state for traversal. It is either in the "plan phase," where objects are being moved around, or we are at the initialization or shutdown of the gc heap. Commands related to displaying, finding or traversing objects as well as gc heap segments may not work properly. !dumpheap and !verifyheap may incorrectly complain of heap consistency errors. -gc-loaderUnable to get AppDomain information Loader Heap: System DomainShared DomainUnable to get the array of all AppDomains. Domain %dJit code heap: Failed to request module list. Module Thunk heaps: Module Lookup Table heaps: Total LoaderHeap size: ======================================= Number of GC Heaps: %d Total Size: Failed to get GCHeaps: integer overflow ------------------------------ Heap %d (%p) Heap Size: GC Heap Size: printsortException occurred while trying to %s the GC stats. -xmlusage: HeapTraverse [-xml] filename Unable to open file Assuming a uncorrupted GC heap. If this is a crash dump consider -verify option XmlCLRProfilerWriting %s format to file %s Gathering types... Error initializing heap traversal Unable to write heap report file %s saved Error getting System.RuntimeType.m_handle offset Shared %8sSystem %s? %s %S DomainAddress%8s %8s %8s Type Name ------------------------------------------------------------------------------ -mt-type-stat-strings-thinlock-min-max-live-deadFailed to parse command line arguments.Cannot specify both -mt and -typeCannot specify both -live and -dead.wrong argumentIn a minidump without full memory, most gc heap structures will not be valid. If you need this functionality, get a full memory dump with ".dump /ma mydump.dmp" SyncBlock %d corrupted, points to invalid object %p Failed to get object header for object %p while inspecting syncblock at index %d. Object header for %p should have a SyncBlock index of %d. Size Free %s %s %8d%s %s %s %8d ThinLock owner %x (%p) Recursive %x Found %d objects. Fragmented blocks larger than 0.5 MB: Followed byAddr%8s %8s %16s %p %6.1fMB %p %S No heap corruption detected. Managed OOM occured after GC #%d (Requested to allocate %d bytes) %s, please contact PSS Reason: %s LOHSOHDetail: %s: %s (%d bytes) - on GC entry available commit space was %d MBGC Heap not initialized yet. Error requesting OOM data Heap %d: Error requesting OOM data ---------Heap %#-2d--------- object %#p does not have valid method table object %#p is a valid object %S %s %12d (0x%x) %S Usage: !ListNearObj Address %p does not lie in the managed heap Failed to find the segment of the managed heap where the object %p resides Before: Before: couldn't find any object between %#p and %#p Current:After: After: couldn't find any object between %#p and %#p Heap local consistency confirmed. Heap local consistency not confirmed. -inclUnrooted-iuGen2Gen1Gen0Heap%-8s %12s %12s %12s %12s Heap%-4d %12I32u %12I32u %12I32u %12I32u Free space: Percentage Heap%-4d %12I32u %12I32u %12I32u %12I32uSOH:%3d%% LOH:%3d%% Unrooted objects: Percentage Total %12I32u %12I32u %12I32u %12I32u -allError requesting SyncBlk data Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner , continuing...SyncBlock %d is invalid%s %5d %p %11d %9d orphaned XXX none %8d %s %S----------------------------- Total %d CCW %d RCW %d ComClassFactory %d Free %d RuntimeCallableWrappers (RCW) to be cleaned: THREADCONTEXTRCW%8s %8s %8s Apartment (FreeThreaded)(MTA)(STA)%8p %8p %8p %9s Free-Threaded Interfaces to be released: %d MTA Interfaces to be released: %d STA Interfaces to be released: %d An error occurred while traversing the cleanup list. -detail-allReadySyncBlocks to be cleaned by the finalizer thread: ComClassFactoryCCWSyncBlock%8s %8s %8s %8s %8p %8p %8p %8p SyncBlocks to be cleaned up: %d ---------------------------------- Heap %d Statistics for all finalizable objects that are no longer rooted: Statistics for all finalizable objects (including all objects ready for finalization): %s 0x%08x %S Usage: DumpModule [-mt] Fail to fill Module %p Name: %S Attributes: PEFile Reflection SupportsUpdateableMethodsAssembly: %s LoaderHeap: %p TypeDefToMethodTableMap: %p TypeRefToMethodTableMap: %p MethodDefToDescMap: %p FieldDefToDescMap: %p MemberRefToDescMap: %p FileReferencesMap: %p AssemblyReferencesMap: %p MetaData start address: %p (%d bytes) Types defined in this module TypeDef%8s %8s %s Types referenced in this module TypeRef%8s %8s %s Fail to fill AppDomain Shared Domain: %s System Domain: %s Domain %d:%s %s Unable to get system domain info. Unable to get shared domain info Unable to get array of AppDomains Failed to get appdomain %p, error %lx Invalid Assembly %s Fail to fill Assembly Parent Domain: %s Name: %S Name: Unknown MemoryTaskSyncThreadpoolIOCompletionAssemblyGCSecurityThreadCount:UnstartedThread:BackgroundThread:PendingThread:DeadThread: (Hosted Runtime:LockAptGC Alloc ContextGC ModeStateThreadOBJOSIDIDFiberExceptionFailed to request Thread at <<<< XXXX CooperativePreemptive%p:%pSTAMTANTAUkn(Finalizer) (GC) (Threadpool Worker) (Threadpool Completion Port) <Invalid Object> ( (nested exceptions)Failed to retrieve Tls Data index Failed to require current Thread ID Failed to require total thread number Special thread typeFailed to get thread ID for thread Failed to switch to thread Failed to get Teb for Thread Failed to get Tls expansion slots for thread Failed to get CLR Tls data for thread Failed to get thread type info not found for thread GC Timer Gate DbgHelper Shutdown SuspendEE Finalizer ADUnloadHelper ShutdownHelper IOCompletion ThreadpoolWorker Wait ProfilingAPIAttach ProfilingAPIDetach Failed to switch to original thread %s No thread states for '%s'.-specialSpecial thread information is not available in mini dumps. Not supported on mini dumps. Can't get Watson Buckets Watson Bucket parameters: b1: %S b2: %S b3: %S b4: %S b5: %S b6: %S b7: %S b8: %S b9: %S bp %pSetting breakpoint: %s [%S] !bpmd pending breakpoint list Breakpoint index - Location, ModuleID, Method Token %d - %ws!%ws+%d, 0x%p, 0x%08x %d - %ws:%d, 0x%p, 0x%08x %d - %ws, %ws, %p Cleared Invalid pending breakpoint index. All pending breakpoints cleared. SOS error: IXCLRDataModule->GetFileName failed hr=0x%x SOS error: GetClrModuleImages failed hr=0x%x SOS warning: No symbols for module %S, source line breakpoints in this module will not bind hr=0x%x Failed to set code notification L`! P0~JITTED %S!%S Failed to request module address. Xb4~$E{d`SOS: warning, optimizations for this module could not be suppressed because this CLR version doesn't support the functionality SOS: warning, optimizations for this module could not be surpressed because an optimized prejitted image was loaded SOS: warning, optimizations for this module could not be surpressed hr=0x%x CLR notification: GC - Performing a gen %d collection. Determined surviving objects... bp /1 %pExpecting first chance CLRN exception Error processing exception notification g!bpmd is not supported on a dump file. -md-nofuturemodule-list-clear-clearallUnable to parse line number Line number must be positive Usage: !bpmd -md Usage: !bpmd [-nofuturemodule] [] Usage: !bpmd : Usage: !bpmd -list Usage: !bpmd -clear Usage: !bpmd -clearall See "!help bpmd" for more details. Error getting MethodDescs for module %p Found %d methods in module %p... MethodDesc = %p %p is not a valid MethodDesc This DynamicMethodDesc is not yet JITTED. Placing memory breakpoint at %p ba w4 /1 %p "bp poi(%p); g"Unable to set breakpoint with IDebugControl::Execute: %x Attempted to run: %s Unable to get method name for MethodDesc %p Adding pending breakpoints... sxe -c "!HandleCLRN" clrn-tiCPU utilization: %d%% Worker Thread: Total: %d Running: %d Idle: %d MaxLimit: %d MinLimit: %d Failed to examine a WorkRequest Work Request in Queue: %d AsyncTimerCallbackCompletion TimerInfo@%p Unknown Function: %p Context: %p Thread Injection History ز $0@WarmupInitializingRandomMoveClimbingMoveChangePointStabilizingStarvationThreadTimedOutUndefined Time Transition New #Threads #Samples Throughput Failed to examine a HillClimbing log entry %8.2lf %-14s %12d %12d %11.2lf Number of Timers: %d Completion Port Thread:Total: %d Free: %d MaxFree: %d CurrentLimit: %dFailed to request ThreadpoolMgr information %p is not a valid object Error getting AppDomain information AppDomain: %s Name: Shared Domain ID: (shared domain) Name: System Domain ID: (system domain) Error getting AppDomain %p. NoneName: %S ID: %d The type is declared in the shared domain and other methods of finding the AppDomain failed. Try running !gcroot %p, and if you find a root on a !gcroot %p, and if you find a root on a stack, check the AppDomain of that stack with !threads. Note that the Thread could have transitioned between multiple AppDomains. Error! integer overflow on numThread 0x%08x ID TEB APT APTId CallerTID Context %3d %4x %p STA MTA NTA Ukn %8x %8x %pEHHandler %d: %s catch(%S) (duplicate)Clause: [%p, %p] [%x, %x] Handler: [%p, %p] [%x, %x] Filter: [%p] [%x] No EH info available Unable to get codeHeader information Failed to perform EHInfo traverse No GC info available entry point %p unknown Jit Normal JIT generated code preJIT generated code GC info %p Could not allocate memory to read the gc info. Could not read memory %p Untracked:-gcinfo-ehinfoUnmanaged code Failed to get method desc for %p. Not jitted yet not a valid MethodDesc Begin %p, size %x. Cold region begin %p, size %x Begin %p, size %x Failed to gather EHInfo data Hot region: Cold region: StressLog.txt-addrclr!StressLog::theLogPlease provide the -addr argument for the address of the stress log, since no recognized runtime is loaded. Attempting to dump Stress log to file '%s' SUCCESS: Stress log dumped No Stress log in the image, no file written FAILURE: Stress log not dumped CLR not loaded GCConfigLog.txtclr!SVR::gc_config_log_bufferclr!SVR::gc_config_log_buffer_offsetclr!WKS::gc_config_log_bufferclr!WKS::gc_config_log_buffer_offsetCan't get either WKS or SVR GC's config log bufferDumping GC log at %08x Attempting to dump GC log to file '%s' failed to create file: %d failed to read memory from %08x Interesting data points %20s: %d Compacting reasons MW[%s]%35s: %d Expansion mechanisms %30s: %d Other mechanisms enabled %-30s: %d [info per heap] Error requesting interesting GC info Heap %d: Error requesting interesting GC info --------info for heap %d-------- %u.%u.%u.%u Checked or debug build retail freeGC Heap not initialized, so GC mode is not determined yet. Server mode with %d gc heaps Workstation mode In plan phase of garbage collection SOS Version: %u.%u.%u.%u retail build!ProcInfo is not supported on a dump file. -env-time-mem--------------------------------------- Environment ProcessParameters_RTL_USER_PROCESS_PARAMETERSEnvironment%dSKernel32.dllGetProcessTimesProcess Times JanFebMarAprMayJunJulAugSepOctNovDecProcess Started at: %4d %s %2d %d:%d:%d.%02d Kernel CPU time : %d days %02d:%02d:%02d.%02d User CPU time : %d days %02d:%02d:%02d.%02d Total CPU time : %d days %02d:%02d:%02d.%02d ntdll.dllNtQueryInformationProcessProcess Memory WorkingSetSize: %8d KB PeakWorkingSetSize: %8d KB VirtualSize: %8d KB PeakVirtualSize: %8d KB PagefileUsage: %8d KB PeakPagefileUsage: %8d KB %ld percent of memory is in use. Memory Availability (Numbers in MB) AvailTotal %8s %8s Physical Memory %8d %8d Page File %8d %8d Virtual Memory %8d %8d Usage: !Token2EE module_name mdToken You can pass * for module_name to search all modules. Module: %s Assembly: %S Usage: !Name2EE module_name item_name or !Name2EE module_name!item_name use * for module_name to search all loaded modules Examples: !Name2EE mscorlib.dll System.String.ToString !Name2EE *!System.String Invalid argument %s Did not find a path from %p to %p. -nostacksInterrupted, data may be incomplete. Found %d roots. Found %d unique roots (run '!GCRoot -all' to see all roots). -brick-cardCouldn't get size for object %#p: possible heap corruption. Address Gen Heap segment begin allocated size %p %d %2d %p %p %p 0x%x(%d) Address Gen Heap segment begin allocated size Address %#p not found in the managed heap. !FindRoots is not supported on a dump file. -genanyIncorrect options. Usage: !FindRoots -gen where N is 0, 1, 2, or "any". OR !FindRoots Your version of the runtime/DAC do not support this command. The command !FindRoots can only be used after the debugger stopped on a CLRN GC notification. At this time !GCRoot should be used instead. Address %#p is not in the managed heap. Object %s will survive this collection: gen(%#p) = %d > %d = condemned generation. -perdomainPinnedRefCountedWeakShortWeakLongStrongVariableAsyncPinnedSizedRefDependentWeakWinRTUnknown handle type '%s'.Error getting per-appdomain handle informationDataHandleGC Handle Statistics for AppDomain (Shared Domain) (System Domain) Unable to display GC handles. A minidump without full memory may not have this information.Failed to walk the handle table.Error %x while walking the handle table. <free>UnknownHandles: Strong Handles:Pinned Handles:Async Pinned Handles:Ref Count Handles:Weak Long Handles:Weak Short Handles:Weak WinRT Handles:Variable Handles:SizedRef Handles:Dependent Handles:Other Handles:Pseudo-register number must be between 0 and 19 r$t%d=0Error initialized register $t%d to zero -derived-create-create2Live debugging session required usage: StopOnException [-derived] [-create | -create2] [] ex: StopOnException -create System.OutOfMemoryException 1 -c-c2sxe %s "!soe %s %s %d;.if(@$t%d==0) {g} .else {.echo '%s hit'}" %xError setting breakpoint: %s Breakpoint set r$t%d=1Failed to execute the following command: %s %p is not a valid object. sizeof(%p) = %d (0x%x) bytes (%S) ------------------------------------------------------------------------------- GCHandleLeaks will report any GCHandles that couldn't be found in memory. Strong and Pinned GCHandles are reported at this time. You can safely abort the memory scan with Control-C or Control-Break. Found %d handles: %p Searching memory Reference found in stress log will be ignored Failed to read whole or part of stress log, some references may come from stress log Quitting at %p due to user abort Searching %p... Found %p in stress log at location %p, reference not counted Found %p at location %p only read %x bytes at %p Some handles were not found. If the number of not-found handles grows over the lifetime of your application, you may have a GCHandle leak. This will cause the GC Heap to grow larger as objects are being kept alive, referenced only by the orphaned handle. If the number doesn't grow over time, note that there may be some noise in this output, as an unmanaged application may be storing the handle in a non-standard way, perhaps with some bits flipped. The memory scan wouldn't be able to find those. Didn't find %d handles: All handles found even though you aborted. A leak may still exist because in a general scan of process memory SOS can't differentiate between garbage and valid structures, so you may have false positives. If you still suspect a leak, use this function over time to identify a possible trend. []]&**(...)typedbyref = %S | %S = "%S" (empty) (1 element) (%d elements) %s.[%d] |- %s = %S |- %s = null (Unhandled CorElementType: 0x%x) = = @ 0x%I64x falsetrue = %s = '%C' = %d = %hd = %hu = %u = %I64d = %I64u = %f = object PARAMETERS: + (Error 0x%x retrieving parameter '%S') + %S %s + (Error 0x%x printing parameter %d) PARAMETERS: (none) LOCALS: + (Error 0x%x retrieving local variable '%S') + (Error 0x%x printing local variable %d) LOCALS: (none) .[basetype] |- %S %s |- %S %s |- < unknown type > %S Dumping managed stack and managed variables using ICorDebug. ============================================================================= Call SiteChild SP%-8s %-8s %s Stack walk complete. %p %s [NativeStackFrame] [RuntimeUnwindableFrame] TODO: Implement GetFrameName[%S: p] [IL Stub or LCG] -a (%S) <unknown register>+-: -> (pinned) (interior) - Failed to start stack walk: %lx Failed to enumerate GC references.Unable to walk the managed stack. The current thread is likely not a managed thread. You can run !threads to get a list of managed threads in the process PARAMETERS: %S () (0x%p) = 0x%s 0x%p LOCALS: -a-p-i%S!VMMap requires a full memory dump (.dump /ma) or a live process. !VMStat requires a full memory dump (.dump /ma) or a live process. Usage: SaveModule
Invalid arg Module does not have base address %p is not a Module or base address Failed to retrieve information about segment %p%u sections in file section %d - VA=%x, VASize=%x, FileAddr=%x, FileSize=%x Fail to read PE section info File not specified Fail to create file %s Fail to read memory %p %p !+%#x * Ctx[BSI]: %08x %08x %08x (TransitionMU) (TransitionUM) at %p %p %s_remoteStackTraceString-ManagedExcepStackError! _EFN_GetManagedExcepStack(%P, wszStr, sizeof(wszStr)) returned: _EFN_GetManagedExcepStack(NULL, wszStr, sizeof(wszStr)) returned: Error: %lx Number of characters requested: %d Context information: EipEspEbpRipRspRbpPCSPFPUnsupported platform%p %p %p Simple Context information: SOS: warning, prejitted code optimizations could not be changed. Failed to load ICorDebug HR = 0x%x 5DG qSOS: warning, prejitted code optimizations could not be changed. This CLR version doesn't support the functionality SOS: warning, prejitted code optimizations could not be changed. This CLR version doesn't support NGEN SOS: warning, prejitted code optimizations could not be changed. GetDesiredNGENCompilerFlags failed hr=0x%x SOS: warning, prejitted code optimizations could not be changed at this time. This setting is fixed once CLR starts SOS: warning, prejitted code optimizations could not be changed at this time. SetDesiredNGENCompilerFlags hr = 0x%x TEXTDOCUMENTATIONError loading documentation resource COMMAND: %s.Documentation for %s not found. Expected newline in documentation resource. \\%.*scontents%p0x%x%xNot calculatedCriticalSafe criticalTransparent%-*.*p%*.*p0x%-*.*x0x%*.*x%-*.*x%*.*x%-*.*d%*.*dmap/set too longP?Y@@@A8@HPX`hpx@8`Dp@VoidBooleanCharSByteByteInt16UInt16Int32UInt32Int64UInt64SingleDoubleStringTypedReferenceIntPtrUIntPtr%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%Sr0rpPzzz`s@z<CLSID>Failed to instantiate {%ls} from installed .NET framework locations. Failed to instantiate {%ls} from DAC location. ̾/P6Ou/Unable to query IDebugSymbol3 HRESULT=0x%x. ;\Failed to instantiate {%ls} from debugger's image path. mscoree.dllCLRCreateInstanceDllGetClassObject%d.%d.%d%d.%d__::SOS Error: Out of memory The version of SOS does not match the version of CLR you are debugging. Please load the matching version of SOS for the version of CLR you are debugging. CLR Version: %u.%u.%u.%u SOS Version: %u.%u.%u.%u /f clr.dllPDB symbol for clr.dll not loaded %8hd%8d%I64d%8hu%u%8u%I64u%8p%8hx%8sdynamic statics NYIdynamic thread statics NYI >> Domain:Value Unable to get AppDomain %lx %s:NotInit %s:FailInit %s: << >> Thread:Value error getting thread %p, aborting this field %x: Display of context static variables is not implemented yet PTRBYREFVALUETYPECLASSVARARRAYFNPTRSZARRAYMVARAttrVTOffsetField%8s %8s %8s %20s %2s %8s %8s %s Invalid parent MethodTable Invalid parent EEClass Unable to display fields %s %8x %8x %20.20S %20.20s %2s TLstaticCLstaticshared%8s %8s%8s %S staticinstanceUnable to get appdomain store Failed to get appdomain list Unable to get AppDomain %p Unable to get array of Assemblies ClassLoader: %p SecurityDescriptor: %p Module Name %s Dynamic ModuleCREATINGREADYFORMANAGEDCODEACTIVEOPENUNLOAD_REQUESTEDEXITINGEXITEDFINALIZINGFINALIZEDHANDLETABLE_NOACCESSCLEAREDCOLLECTEDCLOSEDUNKNOWNLowFrequencyHeap: %p HighFrequencyHeap: %p StubHeap: %p Stage: %s Name: Error getting AppDomain friendly name Assembly: %s (Dynamic) [Free%-8s %s (%S[])Integer overflow error. Unable to get array of Assemblies for the given AppDomain.. Failed to request assembly. Failed to get the modules for the given assembly. Failed to request Module data from assembly. ----------------------- Member (mdToken token) of Field (mdToken token) of This token type is not supported Token: %p Field name: %S MethodDesc: %s MethodDesc: JITTED Code Address: %s Not JITTED yet. Use !bpmd -md %p to break on run. Not JITTED yet. Use !bpmd -md %p to break on run. Not JITTED yet. EEClass: MethodTable: EEClass: FAULTFINALLYFILTERTYPED ReJITID %p: CodeAddr = %s (READY to jit on next call) (CURRENT) (reverted)ReJITed versions: (... possibly more reverted versions ...) Method Name: %S Class: %s MethodTable: %s mdToken: %p Module: %s IsJitted: %s CodeAddr: %s Transparency: %s Unknown MethodDesc (Module %s, mdToken %08x)Failed to request threads from the thread store.mscoree.dll/f mscoree.dll\Error getting string data Missing quote in %s Incorrect argument: %s Wrong option: %s Invalid option %s Invalid option: option specified multiple times: %s Missing value for option %s Unknown option: %s *U\ L6"ǘoC*K =j0Unable to load '%S'. HRESULT = 0x%x. Failed to read module information for '%S'. HRESULT = 0x%x. Found '%S', but it does not match the CLR being debugged. Size: Expected '0x%x', Actual '0x%x' Time stamp: Expected '0x%x', Actual '0x%x' Loaded %S  pFailed to get the dac module handle. hr=0x%x. GetModuleFileName(dacModuleHandle) failed. Last error = 0x%x mscordacIDebugSystemObjects::GetCurrentProcessHandle HRESULT=0x%x. Unable to get symbol path length. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. Unable to get symbol path. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. SymFindFileInPath failed for %S. HRESULT=0x%x. Please ensure that %S is on your symbol path.` ,&y0xSI [%d]FzX TOP2Xcʀ?u*C(Q4SOS Warning: Loading symbols for dynamic assemblies is not yet supported diasymreader.dllSOS Error: Unable to CoCreateInstance class=CLSID_CorSymBinder_SxS, interface=IID_ISymUnmanagedBinder3, hr=0x%x This usually means the installation of .Net Framework on your machine is missing or needs repair SOS Error: Unable to query IDebugSymbols3 HRESULT=0x%x. SOS Error: Unable to get symbol path length. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. SOS Error: Unable to get symbol path. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. Frame] <unknown method> [ @ Failed to enumerate GC references. Failed to enumerate GC reference errors. Unknown internal frame.Managed to Unmanaged transitionUnmanaged to Managed transitionAppDomain transitionLightweight functionFunction evaluationInternal callClass initializationJIT Compilation[%s: %p] @NANCGRdRdWrWrCpExExRdExRdWrExWrCpTOTALBLK COUNTAVERAGEMAXIMUMMINIMUMTYPE%-7s %*s %*s %*s %*s %*s ~~~~~~~~~~~~~~~~~~~~~~~~~%-7s %*sK %*sK %*sK %*s %*sK %s: SmallMediumLargeSummary|%08lxCommitReservePrivateMappedImageProtectAllocProtectLengthStopStart%-*s %-*s %-*s %-13s %-13s %-8s %-8s %p-%p %p %-13s %-13s %-8s %-8s alahblbhclchdldhaxbxcxdxsidibpespjmp (%S, mdToken: %p) (MT: %S) ("") (Object: %S) (MD: %S) %s @ %d: >>> hltclisti%08x (gcstress)mov call lea push ntdll!KiUserExceptionDispatcherScalarByRefUNSET{Scalar, Object}{Scalar, ByRef}{Object, Object}{Object, ByRef}{ByRef, Object}{ByRef, ByRef}!Impossible!???r%u not%08x%s interruptible %08x is a safepoint: (pinned)(interior)(untracked)%08x %c%scaller.sp %c%s%c%xProlog size: %d Security object: caller.sp%c%x GS cookie: GS cookie valid range: [%x;%x) PSPSym: Generics inst context: PSP slot: GenericInst slot: caller.sp%c%x (GENERIC_PARAM_CONTEXT_METHODDESC) (GENERIC_PARAM_CONTEXT_METHODHANDLE) (GENERIC_PARAM_CONTEXT_THIS) Varargs: %u Frame pointer: %s Wants Report Only Leaf: %u Size of parameter area: %x Return Kind: %s Code size: %x out of memory reported register in caller's frame reported frame register reported pointer relative to wrong base register reported invalid pointer decoder failed invalid GC info (code for MD: %S)de00 de01 de02 f7f0a001f7f0a002f7f0a003movw movt g0bad allocationTg 0g 0g 0@hЉЍhЉ Ѝgenericunknown errorhЉЏPЍiostreamiostream stream error$iЉsystemh |  o   Rh    h 7 d    p P|  '  h  (  { !@ @  h T h  n a  T   h   h   h ' @' A' ?' 5' '@ E'T M'h F'| 7' ' Q' 4' ' &' H' (' 8'0 O'@ B'T D'd C't G' :' I' 6' =' ;' 9' L'3'f4dTedq|! h jg k,l@ mT ) t| & (( no*   s t0u@vPwd ty'@ xz{ |  }(~8 T Hi pXp h $ h "$8P`p| rpermission deniedfile existsno such devicefilename too longdevice or resource busyio errordirectory not emptyinvalid argumentno space on deviceno such file or directoryfunction not supportedno lock availablenot enough memoryresource unavailable try againcross device linkoperation canceledtoo many files openpermission_deniedaddress_in_useaddress_not_availableaddress_family_not_supportedconnection_already_in_progressbad_file_descriptorconnection_abortedconnection_refusedconnection_resetdestination_address_requiredbad_addresshost_unreachableoperation_in_progressinterruptedinvalid_argumentalready_connectedtoo_many_files_openmessage_sizefilename_too_longnetwork_downnetwork_resetnetwork_unreachableno_buffer_spaceno_protocol_optionnot_connectednot_a_socketoperation_not_supportedprotocol_not_supportedwrong_protocol_typetimed_outoperation_would_blockaddress family not supportedaddress in useaddress not availablealready connectedargument list too longargument out of domainbad addressbad file descriptorbad messagebroken pipeconnection abortedconnection already in progressconnection refusedconnection resetdestination address requiredexecutable format errorfile too largehost unreachableidentifier removedillegal byte sequenceinappropriate io control operationinvalid seekis a directorymessage sizenetwork downnetwork resetnetwork unreachableno buffer spaceno child processno linkno message availableno messageno protocol optionno stream resourcesno such device or addressno such processnot a directorynot a socketnot a streamnot connectednot supportedoperation in progressoperation not permittedoperation not supportedoperation would blockowner deadprotocol errorprotocol not supportedread only file systemresource deadlock would occurresult out of rangestate not recoverablestream timeouttext file busytimed outtoo many files open in systemtoo many linkstoo many symbolic link levelsvalue too largewrong protocol typeFF  `csm ti0i0Unknown exception   CorExitProcesskernel32.dllFlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExCreateEventExWCreateSemaphoreExWSetThreadStackGuaranteeCreateThreadpoolTimerSetThreadpoolTimerWaitForThreadpoolTimerCallbacksCloseThreadpoolTimerCreateThreadpoolWaitSetThreadpoolWaitCloseThreadpoolWaitFlushProcessWriteBuffersFreeLibraryWhenCallbackReturnsGetCurrentProcessorNumberGetLogicalProcessorInformationCreateSymbolicLinkWSetDefaultDllDirectoriesEnumSystemLocalesExCompareStringExGetDateFormatExGetLocaleInfoExGetTimeFormatExGetUserDefaultLocaleNameIsValidLocaleNameLCMapStringExGetCurrentPackageIdGetTickCount64GetFileInformationByHandleExWSetFileInformationByHandleW ,ja-JPzh-CNko-KRzh-TWSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssen-US  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(null)(null)EEE50P( 8PX700WP `h````xpxxxxexppowloglog10sinhcoshtanhasinacosatanatan2sqrtsincostanceilfloorfabsmodfldexp_cabs_hypotfmodfrexp_y0_y1_yn_logb_nextafteri0bad exceptione+000EEE00P('8PW700PP (`h`hhhxppwppccsUTF-8UTF-16LEUNICODE @ 88   h!!$"h" 0#!#"%x%y&z,&H&P&R6002 - floating point support not loaded R6008 - not enough space for arguments R6009 - not enough space for environment R6010 - abort() has been called R6016 - not enough space for thread data R6017 - unexpected multithread lock error R6018 - unexpected heap error R6019 - unable to open console device R6024 - not enough space for _onexit/atexit table R6025 - pure virtual function call R6026 - not enough space for stdio initialization R6027 - not enough space for lowio initialization R6028 - unable to initialize heap R6030 - CRT not initialized R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6032 - not enough space for locale information R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6034 - inconsistent onexit begin-end variables DOMAIN error SING error TLOSS error runtime error Runtime Error! Program: <program name unknown> Microsoft Visual C++ Runtime Library ((((( H ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ukA======== = = = = ==>>>> >(>0>8>@>H>P>X>`>h>p>x> >!>"8/#>$>%>&>'>)>*>+>,>->/>6>7>8>9?>???@?A ?C(?D0?F8?G@?IH?JP?KX?N`?Oh?Pp?Vx?W?Z?e?d???,???? X ? ? @@@(@ 4@@@L@X@d@p@|@@@@@@ @!@"@#@$@%A& A'A)$A*0A+A?A@AABCBD,BE8BFDBGPBI\BJhBKtBLBNBOBPBRBVBWBZBeBkBlCC C,C 8C DC PC\ChCtCCCC,C;C>CCCkC D D D ,D 8D DD PD; hDk tDDDD D D DD;DDDE  E E $E0E;HEXE dE pE |EE;EE E EE;E E F F; F$0F $,Gq=GGGGGGGGGGHH HC,H8HDH>)PHhHk>!Hc=HDH}H=HE=HGH=HH=HHIIII?A(I=8IJ=DIPI\IhItIIIIIIIKII= IIIJJJ(J4J@JLJXJdJpJ|JJJJJJ>#Je>*Jl>&Jh= JL>.Js= K KK$KM0KHK@?7TK= `KN?/lKtP>xKKZ= KO>(Kj>Ka>KP>KKQ>KR>-Kr?1KxX?:K>??LLS?2$Ly>%0Lg>$+TLm`Lp?=lL`?;xL?0LLwLuLU >LLTL(>L8?6L~0>LV8>LWMM$M4M@>DMXH>PMYh?<\MhMtMvMX>M[>"MdMMMMMM`>N\|GN(N@NXNh>pN|N] ?3Nz?@NH?8NP?9Np>N^Nnx>N_0?5N|8/ Nb>N`(?4OO{>'4Oi@OoLO\OlOxOOOOFOparbgcazh-CHScsdadeelenesfifrhehuisitjakonlnoplptroruhrsksqsvthtruridbesletlvltfavihyazeumkafkafohimskkkyswuzttpagutateknmrsamnglkoksyrdivar-SAbg-BGca-EScs-CZda-DKde-DEel-GRfi-FIfr-FRhe-ILhu-HUis-ISit-ITnl-NLnb-NOpl-PLpt-BRro-ROru-RUhr-HRsk-SKsq-ALsv-SEth-THtr-TRur-PKid-IDuk-UAbe-BYsl-SIet-EElv-LVlt-LTfa-IRvi-VNhy-AMaz-AZ-Latneu-ESmk-MKtn-ZAxh-ZAzu-ZAaf-ZAka-GEfo-FOhi-INmt-MTse-NOms-MYkk-KZky-KGsw-KEuz-UZ-Latntt-RUbn-INpa-INgu-INta-INte-INkn-INml-INmr-INsa-INmn-MNcy-GBgl-ESkok-INsyr-SYdiv-MVquz-BOns-ZAmi-NZar-IQde-CHen-GBes-MXfr-BEit-CHnl-BEnn-NOpt-PTsr-SP-Latnsv-FIaz-AZ-Cyrlse-SEms-BNuz-UZ-Cyrlquz-ECar-EGzh-HKde-ATen-AUes-ESfr-CAsr-SP-Cyrlse-FIquz-PEar-LYzh-SGde-LUen-CAes-GTfr-CHhr-BAsmj-NOar-DZzh-MOde-LIen-NZes-CRfr-LUbs-BA-Latnsmj-SEar-MAen-IEes-PAfr-MCsr-BA-Latnsma-NOar-TNen-ZAes-DOsr-BA-Cyrlsma-SEar-OMen-JMes-VEsms-FIar-YEen-CBes-COsmn-FIar-SYen-BZes-PEar-JOen-TTes-ARar-LBen-ZWes-ECar-KWen-PHes-CLar-AEes-UYar-BHes-PYar-QAes-BOes-SVes-HNes-NIes-PRzh-CHTsraf-zaar-aear-bhar-dzar-egar-iqar-joar-kwar-lbar-lyar-maar-omar-qaar-saar-syar-tnar-yeaz-az-cyrlaz-az-latnbe-bybg-bgbn-inbs-ba-latnca-escs-czcy-gbda-dkde-atde-chde-dede-lide-ludiv-mvel-gren-auen-bzen-caen-cben-gben-ieen-jmen-nzen-phen-tten-usen-zaen-zwes-ares-boes-cles-coes-cres-does-eces-eses-gtes-hnes-mxes-nies-paes-pees-pres-pyes-sves-uyes-veet-eeeu-esfa-irfi-fifo-fofr-befr-cafr-chfr-frfr-lufr-mcgl-esgu-inhe-ilhi-inhr-bahr-hrhu-huhy-amid-idis-isit-chit-itja-jpka-gekk-kzkn-inkok-inko-krky-kglt-ltlv-lvmi-nzmk-mkml-inmn-mnmr-inms-bnms-mymt-mtnb-nonl-benl-nlnn-nons-zapa-inpl-plpt-brpt-ptquz-boquz-ecquz-pero-roru-rusa-inse-fise-nose-sesk-sksl-sisma-nosma-sesmj-nosmj-sesmn-fisms-fisq-alsr-ba-cyrlsr-ba-latnsr-sp-cyrlsr-sp-latnsv-fisv-sesw-kesyr-syta-inte-inth-thtn-zatr-trtt-ruuk-uaur-pkuz-uz-cyrluz-uz-latnvi-vnxh-zazh-chszh-chtzh-cnzh-hkzh-mozh-sgzh-twzu-za5h!??  ?5h!>@@QQQQQQRR$R,R4R@RLRd XR`RhRlRpRtRxR|R`RRL`RRRRP`RRR8`R@`RRRRRRRRRRRRRRRRRRSSS4S@STStSSSSST4TXTxTTTTTTT UU U0ULUlUUUUV,VPVtVVVd VVW,WLW__based(__cdecl__pascal__stdcall__thiscall__fastcall__vectorcall__clrcall__eabi__ptr64__restrict__unalignedrestrict( new delete=>><<!==!=operator->++---+->*/%<=>=()~^&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard' Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'USER32.DLLMessageBoxWGetActiveWindowGetLastActivePopupGetUserObjectInformationWGetProcessWindowStation1#SNAN1#IND1#INF1#QNANCreateFile2CONOUT$(o.AA K9^QdHާGyRGA&_Z{h<4-{h<4-{h<4-{h<4-{h<4-J; {h<4-?mYD`{FfmiOB[2V+{K$NTN^F>+K f7F?>D}dUH8RqL{h<4-{h<4-,-E+b̝[~DyT[cvO`T]0lG).OPʶA&$0JJ^W;EcvO`T856UL!&^rC0 SJhF˄sآi@ƫ=_IA8;{h<4- I ÔMN)42( e-He2{h<4- ei_/E6DM~#G>= @=-f" @FYwȧB= d`XFӶMە["{h<4-zC @8{h<4- fF2*{h<4-T ^&F োIPV>Oۃ+e{h<4-{h<4-{h<4-lM㷜C̲@<ʚt#FA Җn=ҷI IJN"{h<4-{h<4-߰`I{P?ALc'薕k'F!s. {h<4-i_>Bqa${h<4-{h<4-{h<4-{h<4-{h<4-{h<4-{h<4- {h<4- {h<4-WzkzO C]=adUEEgzޙtC3!ɜLr]y=iH roɴ $cYCHWD*JKxbjJJ'yC/or̷EBA `L{d@6mǒ0UwMAО-}f]LYBW蠍 6Sb8&UDo9wLϘ0T!~Js=(I6F lcˍK^[k t:DhǤR2~pcHxg`ьK;מj{c;qF&;Y[*H98LqMdG0CgOhP^&kOixopd.[`N33ĂA:40fxE^`^Ќ}NNb3 jVK b_o=8u[K5c_o=8u[K5Ձn BYu{h<4-BdaKԸ'ZjB݄@̙$G;vyn|PYzԞEd'mBmD&ͺ㘲6vO=CW vD~) E* $<~EB:/Y d_o=8u[K55DG qd.Bmy^! f]9AHzDҁuXrLu<1ST,oMRv&miYoJ1EQ-/ԝ ,0B>V<4qG5)6JpYEgJ(;?b*U\ L6"ǘ*U\ L6"ǘF|pF"PM:<+X1C$ڑ1vLJ9kr T(Ibδk*7g}oLyU'q8C*"(]d 4NH]h;աIB^H[Abt/?M200۾`-|?X`JSkI Ĭ꺏rxH3BRnr mO&B@" <,KhѻS?~X#Le xE!s2 SW*LcO|5ԪCAΡ&)ULO{ t792BV')KU .SI%W4OpenVirtualProcessImplOpenVirtualProcess2CLRDEBUGINFOWINDOWSX86CLRDEBUGINFOx86mscordbi%s_%s.dllmscordacwks%s.dllmscordaccoreamd64armarm64.dbg.chk%s_%s_%s_%u.%u.%u.%02u%s.dllZ<4B GuRF~#1HH2M>~*Q1 MO8(Quฌ @(nZ<4B GuR(I6F lgH 89/jHFh}uLgI}Dr9&ךKўBW vJl3EAoOf2ӳ%AH20Fi[ nb0Fi[ nb0Fi[ oc\ j/1 X5  @fgf g,g8gf @g< hgxggf< @hg\ ggggf\ @g| hh$hgf| @h Thdhlh @Th hhhlh @h hhihlh @h 8iHiXihlh @8iD iiiD @i  f\ iijf\ @i00PV(k&c ;x(XV(h0p+Pp! ^    `!!!!8"k"""#H#x###($X$$$ %P%x%%Y&&&&('X''''((P(x(((1)v)))*Y***+@+h++++.,k,,,,-0-P---.^.../P////60h00091y11$2/3h33(44Z55&6[666(7`7778l8889H9x999m:::;;;0<h<<<M==e>>>???1@s@@@ AHAxAAAB0BPBpBBBB(ChCCGDDEEFXFFFCGGGBHHIII(JsJJKrKK LkLLMMM@NNN>OOO7PPPXQQRgRRRLSS$TkTTT]UUULVVV@WxWW8XXXYCYvYYZQZZZ[K[[[&\h\\\0]x]]]^y^^^ _H____+`k```@aa:bbb6cccc d)dDd_dRSDSOyjMuCߟfSOS.pdbGCTL.CRT$XCA.CRT$XCU .CRT$XCZ$.CRT$XIA(.CRT$XIC8.CRT$XIZ<.CRT$XPA@.CRT$XPXH.CRT$XPXAL.CRT$XPZP.CRT$XTAT.CRT$XTZXD.gfids$x4R.rdatafH.rdata$r j.rdata$sxdatan0.rdata$zzzdbg r.rtc$IAAr.rtc$IZZr.rtc$TAAr.rtc$TZZ r.text$dis,.text$mn0.text$mn$00@:P.text$xd.text$ydPfV.xdata$xpr.edata>.data .data$r .bss0 .idata$51 .00cfg1 .idata$2,2 .idata$3@2 .idata$43 H.idata$6@ .rsrc$01@ h.rsrc$02UjhdP3PEd RE  Ehd5Md Y]hd5Yhe5Y̹u hf5Yh f5Yh0f5Yh@fr5YUVu3W} ʋ;u Au3B_^]UQU3Vu ;uAuEeE^]U\3ĉ$XEd$ d$$$UMS](D$0E VuD$ E$T$L$(t$8D$\$0W},utu @uttt3f9t H2D$PheR1 y E^Q3fD$H$\PD$0PD$,PQL$LD$dPD$HPD$\PD$dPuu t$D؅|$uD$,L$Qt$4L$Xt$H0QPN 1 V x|$uCD$(PD$$P D$,L$ Qt$,$`t$(0QPN 1 V x|$ uCx{hct$T0 u?hct$T0 uCJWt$t$,t$t$,uu 1 %Wt$t$,t$Ht$t$0uu 1 ֋؋|$4tyFtGut$DfL$tQp1 ֋$d_^[3)](UME V9hhSMu 90u`qMS9hSMu 9uOqMP9Ku 90uu@M_^3[!]U3ʼnEESVt3ɉlWpٍVff;u+2r@3|};M|MjjXE PQtD؅E3h3f;E3`MjME PQt؅`x3MfxMjE PQt؅x;uX`UP3MME PQtn؅x>xPlEP| t3Gf;hp9u@M_^3[R]pd%U SVWU3щ}Uߋ2EPE+Pu3ME PQNR1 Vx]9}tU;]r;]t +I_^[] VtP0 ^Uuj0 P 0 ]VtPj0 P0 D$^Uuj0 P0 ]̃ 0 S\$VW|$ W|$ jt$(WjD$ T$$1RPQvh1 ֋D$ j W_^[t QD$U}S\$VW} D$tT~,~ uh  uPh 1 փh u1 փD$K@D$uuh 1 ֋D$ D$_^[]YD$]Ỹ8D$@S\$TD$D$PD$ D$D$Vt$PW|$Hth(Ήt$1 փD$ jD$TPD$(PL$ft$h 1 փh(1 փjt$TD$(t$P׍L$_^[8̃4SUl$@V\$1 ׋D$@ |$ud $ud >QPh$1 ׋D$0 ED$(d$H\$4D$ SyI RGx;й{y%FЄxt$0t$,L$0T$(ٹ{ЃT$$y'FЄxt$0t$,L$0T$$ًL$4+PQWt$(>Ńh D$<1 ׋>h$1 ׋D$(D$(>Ph 1 ׋D$P@$u$>UPh$1 ׋D$@ $ud $ud >QPh$1 ׋D$, vD$H3l$|$@3D$D$D$ CL$0L$,΃+PWE~\$t>Uh 1 ׃D$0$@u$>Q4 h$1 ׃ |$t>h%1 ׃|$t>h%1 ׃>h 1 ׋|$D$D$D$$T$(T$ s@uY@tl@D$Ë+PW@~\$t>Uh 1 ׃D$Phh%!HG $D$D$zD$D$lT$,~/l$,D$RT$ L$0]/T$ ؋L$0T$(D$Ë+PW~UΉ\$t$(>h %1 ׋D$P>@uD$+D$(Ph4%D$ 1 ׃h@%1 ׃>h 1 ׋|$D$Ë+PWUΉ\$t$(>hH%1 ׋D$P@uD$(>@Ph`%ωD$ 1 ׃|$t>h%1 ׃|$t>h%1 ׃>h 1 ׋|$D$D$D$T$ -؋΋+PW(UΉ\$t$ h% T$ -؋D$D$ Qh%>1 ׋|$D$h3ɉL$0CL$$L$,L$4D$(D$\$ $K% ЉT$(SƒT$QST$D$(CȃL$0D$$ kL$$K T$l$L$(\$ = L$0kD$$CD$,C \$4؉T$ȃtl$D$D$(Ë+PW{>h%\$1 ׋D$ th% th%|$@ph%>1 ׋|$S CD$L$(l$\$ Ë+PW~\$t>Uh 1 ׃>h%1 ׋D$ l$$t*>$ Ph%1 ׋D$$t*>$ Ph&1 ׋D$$t,D$$>$ Ph &1 ׋D$$L$HAut>h!1 ׃|$,>h&1 ׋\$8{нyEЄx݃ &ud >QPh$&1 ׋l$8 v>h,&1 ׃l$,u>h0&1 ׋\$$1t$(h4&1 ׋D$8t>PhD&1 ׃>h 1 ׋l$|$,3ɉL$$L$(CD$@ uO+ljl$PW~\$t>Uh 1 ׃>hT&1 ׋|$땍T$8))؋΋+PWj~\$t>Uh 1 ׃t$8hd&(?uT$4(l$4l$0ȃD$4L$0l$Ë+PW~\$t>Uh 1 ׃t$0ht&3D$L$0L$L$ *t7ȉL$$L$,ɉL$L$0 `4$ T$$'؋΋+PW'L$$QL$,h&\$>1 ׋|$Ë+PWD$4 h& kD$CD$$D$,C L$(D$ D$aT$,ˉD$G'؍T$:'L$؋D$,L$0D$$2D$CȃL$0L$$L$,,@ l$Ë+PW7~\$t>Uh 1 ׃t$$>h&1 ׋D$0D$(D$L$$t-> Ph%1 ׋D$$L$$t)> Ph&1 ׋D$$t,D$$>$ Ph &1 ׋D$$t(D$$>$ Ph&1 ׃>h0&1 ׃|$tWt$ >h&1 ׃|$ v2l$ T$<%t$<>h&1 ׃u֋l$\$:D$0t>Ph&1 ׃L$(t>QhD&1 ׃>h 1 ׋|$lË+PWX6h 1 փ+\$@_^][4 ۇkىx?kӏk̃SUVًT$(Wt$ \$$l$(SU  } D$uT$D$#D$E }uT$D$#D$E}uT$#D$E}u(T$#T$D$ωEu#D$E}uT$[#D$ED$,30h!1 E3Ph$!1 E3PhD!1 E3Phd!1 փ!Eu!3Ph!1 ֋3h!1 փEt3h!1 փE t3h!1 փE@t3h!1 փEt3h!1 փ3h 1 փ!Eu!3Ph!1 փ!Eu!3Ph"1 փ!Eu!3Ph("1 E3PhH"1 ֋3uhp"1 ֋3u h"1 ֋3uh"1 փEt3h"1 փEt3h"1 փE t3h#1 փE@t3h8#1 փEt3hX#1 փEt3hx#1 փMt&E#u#3QPh#1 փ Etu3Ph#1 փ M$<w;t.L$,E3 +Qh$1 փ3D$T$vn$wyvCxT$L$\$QRL$ 3h#1 ֋T$ EBT$;r|$t@wнyvEЄx3Rh($1 փL$ 3D$+tDl$+؃vSPuh 1 ֋D$L$ ÉD$;r_^][ ̀ytVt$1h 1 փ^́@3ĉ$<8 T$SU$LVWRq,Pl$ 1 ֋t$$h(jUVjg h T ux(1 Pw;u  $=u 0 Py 1 ׅ=u  dD$jjPVdT L$Qt$x 1 ׃|$5jUt$FP }u"|$th(jUt$jg t h T $PD$ P;D$4PD$,Pt$ V1 ׅT L$,Qx1 ׋T D$,Pz1 jt$PU t`h(|$t$h(jt$$h(D$( tjPh( h l$;u @hl u $L_^][3m@̋L$9uy8tl'AH ALtAA@ ADuhhe qHte jKhhe qPq@*e 3SUl$VWwNt:kXÃx(u$L$;H u;h$u0{PVht' NXuɋwNtAkX$Ãx(u$L$;Hu;hu01PVh'e NXu39_37~(D$;FD$;F6PSh' >u ~8tl'@FH FLtFF@ FDuhhe vHJsjKhhe vPv@A)e Ph'h CX;_Hl$39_3I7~(D$;FD$;F 6PSh'E >u ~8tl'@FH FLtFF@ FDuhhe vH~rjKhhe vPv@u(e Ph'h CX;_Hl$39wv>3ۋÃx(u)8u$L$;H0u;h4ujWPVh( FX;wr_^][Wjjjjjht$ 0 jW0 L$ u W0 3_SjjjjjW 0 ؅uW0 [3_VjjjjS0 S0 W0 ^[_̋tyud ̃ D$SUl$VWD$3D$}P\$D$;#uC;-uCjh`'SH tP jD$PSt$$ htHuFt$L$EuVD$t Pgu D$<,t< uCL$tE؉EtjjUuF5+_^][ >]u͋L$jhd'S|$, u{|$ < tL u $<+t@t70 Pq 1 օtU u ubGG|$ < u?+u]D$ Pbt$ >(uJD$FPVL$E9)u2_F^]+[ hl  u _^]3[ |$tjhd'S u{<(tC u It1u0 Pq 1 օt u uGG<(u?(uD$GPWt$E>)o~]ejjUP袃+_^][ ̡ Vjh 0jdjt$vpP1 ^% S\$8[u @[VW=T 01 =tF=T 01 =d('t4'j P3h u _^[=T 01 =tF=T 01 =d@'tP'jP3 u_^[_^3[S\$tPKu,t t[[Vt$WVtT8]tC8t<=u %0 Py 1 ׅt}=u 8]u8]u@StsPuc,t^ tY9u 0 Py 1 ׅ=u hl  u _^ItP<u ,t uM8tF=u u=0 Py 1 ׅt =u uhl  u [_^QVjD$Pt$<T$ Tjõٵ#/F\rUQSVWUGy%CxE_0^[]_2^[]VW=T 01 3=d_^VW=T 01 3=_^̡u u=0 VPq 1 ^uhl Bu áu U3ʼnEVW} Q3Qf< jju0Pv<1 օx< jjj0jjjv@QhQP1 ֋xhWjPjj$0 j\Wu WuƋM_3^B]UjhfhdP1E3ʼnESVWPEdeE D RPqd1 ֋=l< 0Qjjh)Pv81 օxf< 0Qh )PvP1 օx5< 0hlh)PvX1 օx =lu =lƅh'jPD P 1jjP3PWQv 1 օy( l3PQh) p< 0Qjjh)Pv81 օxf< 0QhD)PvP1 օx5< 0hphT)PvX1 օx pu p3߉ɉE3EfE͈EωEЉEԉE؉E܉EP 0jjURQSPv 1 օyShl) }3ۡtf< 0QSSh)Pv81 օ1< 0Qh)PvP1 օ< 0hth)PvX1 օy t< 0hxh)PvX1 օy x< 0h|h)PvX1 օy |< 0hh)PvX1 օy ttu(tx$| ]I;u ;W+=t؋P 2PjxP x3PQRv 1 օy x3PQh)m xhj fxf;s P 1jP|RPQv 1 օyhj* Dž4j@j8P  P 2jjLP |3PQRv 1 օxLP 2jjTP 3PQRv 1 օxLU;w T;vnhjy P 2jj

FFEƋMd Y^]UjhdP V3PEdujjuF|=ENAAEUR^EjPAEP=FFEƋMd Y^]UjhCYdP V3PEdujjuFL;ENAAEUR^EjPAEPI=FFEƋMd Y^]Vh jV0hFHjP ^3AAA AAUjhVdP VW3PEd}wjujFF:Ew jujF:EEPEOPMEEPEO4PME EPEOTPMHE EPEOtPME EPE󍏔PMgEhlENjMd Y_^]UjhdPQVW3PEdh`"jFF0 P 0 }Eth`"jWj 3E>u[ƋMd Y_^]FdƋMd Y_^]UjhdPQV3PEduEFt%Pj0 P0 FF FEpMd Y^]UjhdPQV3PEduEFt%Pj0 P0 FF FEuE<E6j0 P0 Md Y^]Ujh(dPQ3PEdME1j0 P0 Md Y]UjhkdPQV3PEduEFt%Pj0 P0 FF FEnMd Y^]UjhdPQ3PEdME^Md Y]UjhdPQV3PEduEk;E6j0 P0 Md Y^]UjhdPVW3PEd}EnEMEEwtuE Ft%Pj0 P0 FF FEGmEwTuE Ft%Pj0 P0 FF FEmEw4uEFt%Pj0 P0 FF FElEwuEFt%Pj0 P0 FF FExlEO llEO]lMd Y_^]UVuxS]W}1 } y_[^]Ujh&dP SVW3PEdu~jj0 P 0 EEt$@@@ @3EFu \VI>tU}ύQffu+A3ɉE Qj0 P 0 ؉EtWuSxF F]]]]~$=u 0 Pq 1 օ=u M9t9ff;uftfQf;Pufu32y ;vGtoG tXjj0 P 0 ؉]Et$CCC C3EyE8tZMQffu+ʺA3ɉE Qj0 P 0 E+uuPE ECE Cy_ Md Y_^[]_Md Y_^[]GE GMd Y_^[]hl u Md Y_^[]Ujh"dPQSVW3PEdًC9Cxd3ɋǺX Qj0 P 0 uEtGx@kXPjV3 3Eu3Md Y_^[]kCXP3VCd 3j0 P0 3k{Xu;CMd Y_^[]UxSVWjX3ۉMESP uL0HD0LME L0hD0lM3ɉEMDLE M$=u <0 Py 1 ׅ=u  MQu8uP1 ׋Ѕx)M;NHuM;NLu FEȋF EEȋEE̅C=_MEPIt4MU ‰MU?MAM_^[]h.'3_^[]hh. 3_^[]uuhh+ 3_^[]hl u _^3[]UE]UE]UjhcdPSVW3PEdًCtPj0 P0 CC { WQ1 օt!h-3Md Y_^[]3uu97tz{3 3ɋǺ QV0 P 0 u jVs8P1 ׅth,.}3C3ɉE  Qj0 P 0 }Ethuh W}3E{u O33҉U9S3}{t(C Pt94Q1  KQR1 ׅu{Cˋ}PtVU B}U;SrEtVj0 P0 ENjMd Y_^[]h.:3hD.)3VW7t,FtP3*F tP$*Vj0 P0 _^V~tZ~u~t~GFt7j0 P0 Wj0 P0 ~u_F^UE W};S]+Vu E}I dEjjPW|JUU]3K~@I;8t F;|+ DRPRPh,U| };s|E;xXu(x` 3ۉ]u ]};} [^[_]E ;tu ]EPEPSRWruPuPWh,,.]륋]t;wu$t^놋Exy0MQMQ9u\u ^TUW}Wh+h+h+h+h+u W4t8tt8ph+h+h+h+h+h+ u W5_]UjhdPSVW3PEdjXtjPu] CEtQj|H WP}01 ֋Ѕx2t;KHux;KLu CEC |EEEtjWhh+ 43E}=u 0 Pq 1 օ=u E苕|;uEOЃ;E;rF{uuSjV5 t%gjVhh+ ;u E;DEPWm`uuu@M 3Q~ ;9t @;| M 9| ;;{Xu {` EPEPjVW}ut3jVuWS˘uMuVW1 Uu}"tQj|h WP}01 ֋Ѕx2t;KHux;KLu CEC |EEE3E}=u 0 Pq 1 օ=u |;ry}} tQjW0P1 ֋Ѕx2t;KHux;KLu CEC |EEE==EPW|oEMQMQjPWE}utt}jVuWS tluMuVW1 U}Md Y_^[]jujWh,sEjPh-X jj jWEP0Etxud Qhl-EM軗EtPhT-ٱh-_hl u h->jPjWh,EC(jPjWh0-E jjjPEPoEtxud QhT-<EMjj jWEP%Etxud Qhl-EM谖EjjjPEP՛Etxud QhT-袰EM`h-hl u h,3Md Y_^[]Ujh dPdSVW3PEduj0jVX EEEEPjXEjP* b}\8HEEPEP`E} tjl`E;_H $=u 0 Pq 1 օg=u q MQjS0P1 ֋Ux&M;OHuM;OLu GEG EUEąuu h,Vu +jD4ˉE싃EoeuP+PQh, hx, }tR+}NjWWh0/Hhx/> }}C;]rEuj0 P0 ]Et h00Eԃ@]܉E;E"Qh/ֻEM'60/EM#h/註hl 蜻u ]hT0肻WWh0/vEЃtPPhP/` hx/SEtSj0 P0 ENjMd Y_^[]SVqAtV AF qu39YtGWyG AwtV AF quGG t_yu_^YA[UU3V3  ‰5  E t- hu 0RP 1 ֋  5 QQh0/9 tVVhP/& hx/M^t  ] UQMUS3W;}Vd$=u un0 Pq 1 օt8=u uFjjEPW0t4~wMU;rhl lu MU^}u +  SRu Qh$/2_[]UjhdPQVW3PEdut*;wHtH t ލxx j$j0 P 0 EEt90@@ @@@ @@@3Eu+3Md Y_^]Md Y_^]UjhdPSVW3PEdى]EuD*P;thT*hd*hp*hx*!h*hd*hp*h*h*蝷s3ۅ=u  0 Py 1 ׅ=u MF؃9t6jvPh*7jj j6EPEtxud jvvQh*ӔEMz6t h*h*2h*hhe 藱 hhe 6he h*蓶vSh*zMd Y_^[]hl Yu Md Y_^[]Ujh(dP\SVW3PEdjHEjP+ M} 0QWu vP1 ֋؅yuh0ŵGh0賵uVh1襵 NFu++PY4jjWu EPh~Etxud Qh'5EMxh1E2EPuuh01EPuurhD1EPuuThX1شEPuuhT0躴WWh0/讴utVVhP/蘴 hx/苴Et8Et0ËMd Y_^[]UEPPh0/NE tPPhP/8 hx/+]UjhXdPSVW3PEd33ۉut ht1 339] EhjE.jj>UjhdP SVW3PEdeى]؋E +;}ԋ}sSU܋+; +?+;s+?+;s3u;suVMEM + MEuWPEuu 3LEENjMPsu ,E C+tQj0 P0 MCC uuEPMMD,jj֦+uuԋ6j;svu؍ Mȍ}WQRPM}EKEP+E +WQEECK+ȋU 3+ƒ;#t\2RG;uPE؋+EPRRWؽCM ;tU+׃:M ;uU؍ ;t1E ;uMԍ EMd Y_^[]UVuEWu} jPuWV߼_^] h1UE3Ʌt=?wPQ0 P 0 ȅt]莈UjhdP SVW3PEdM@A;3CuEEx}E IG;t!0Pj0 P0 ;7uuE7j0 P0 Sj0 P0 E;0uMd Y_^[]UE1AA]UEE]%(0 33H33 k&33UE `3]UEV3p E t*h,2P躪u95uj+y ^](UM VW1 ;u+sMEQp1 _3^] De ;u s_@^] USW}GP,0 ؅u5t1O1tVQp1 ^Wj0 P0 _[]WtVRp1 ^_UjhVdPQ3PEdMEh`hjQ蕪Md Y]UWtVQp1 ^E_]4UjhdPQV3PEdud5EE4tVj0 P0 ƋMd Y^]UEV4tVj0 P0 ^]UjhdPQV3PEdu$5EE4tVj0 P0 ƋMd Y^]̋  tVQp1  ^UUM A8BBB A@BB]UUM BBB BB]UVu lWi}}_^] UVu Wi}}_^] 3UE]̸̡(̡̡,̡UE0E ]UEE ]UE@@]UE]Ujh(dP3PEd u? E 4E d5Eh0e E Md Y]UjhhdP3PEd u? E 4E $5Ehe茝E Md Y]̸̸LUE@8]UE]h̡$V5( t,SWI>ϋ^1 Vj0 P0 u_[( ^UQh\6財El6EhTpPUQ0 UVWR3P1 ֋E=Lu mE=uuh$6=T 6@_^]É=T 3_^]UjhdPVW3PEdEE EPhx6襃EMQh6P061 օE` 0h` P@1 օbut h6膠njj0 P 0 ȉMEt0A3E( AEj j (  0 P 0 EEtu3EEE7Ph1W61 ֋Wp1 ֡ uP1 ֋y5h`8蟟MQr1 ֋NjMd Y_^]EPq1 h 蒩EPq1 3Md Y_^]UE= ,EPhx6蟁EMVQh50P61 օu?EMjjQ0h8PvT1 օuEL EPq1 ֋EMQh6P061 օu[EhX P1 օu  EMQh\ P01 ֋EPq1 ֋EPq1 ^] u L X ] {U} uEu ] UVW}0 h0 h5W01 ֋P hP h5W01 ֋4 h4 h5W01 ֋8 h8 h5W01 ֋< h< h5W01 ֋ux@ h@ h5W01 ֋uTD hD h6W01 ֋u0H hH h6W01 ֋u =, _^]u_^]̋ 0 , VtQp1 0  P tQp1 P  4 tQp1 4  8 tQp1 8  < tQp1 <  @ tQp1 @  D tQp1 D  H tQp1 H ^̋tPj0 P0 UVWjj~0 P 0 Ѕt$E HJHJ@ B V:_^]3F8_^]UVWjj~0 P 0 Ѕt$E HJHJ@ B V:_^]3F8_^]USVWjj_ 0 P 0 t+U JNJNB F BFw _^[]3G _^[]UV5 M=S:utX:Zuu3u3M EAEAEAEEPv Ÿ h[^]=:utX:Zuu3u9M EAEAEAEAEEPv Ÿ [^]=:utX:Zuu3u3M EAEAEAEEPv Ÿ [^]0=:utQ:Puu3uE vF@͸ ͼ 5 [^]S39 VW GtI0Pj0 P0 ƅuGt0Pj0 P0 ƅut0Pj0 P0 ƅu3CGGGGG; {_^ [É [Uuh9 h09h9 h9h:hh:h:h;ږh`;Жh;Ɩh 輖h;貖h0<訖hx<螖h 蔖@h<臖h=}]Uuh8`h8V ]UjhUdP SVW3PEdEu؅:؅u \ \؅tSh8˕h8 ؅tSxr5 \ uE= }Eh0Bn3EtWx1 ׉]]tVp1 ։]EËMd Y_^[]UjhdPSVW3PEdEuY؅M ؅>u \ ,؅tSh8蛔h8葔 ؅t SH5 \ uE= }Ee UEERP1 ӅthhA @ChA5P juu؅uhAuhAhBÓEtWx1 EEtVp1 EEfËMd Y_^[]Ujh0dP0SVW3PEdEu؅,Z؅u \ |؅tSh8h8 4؅t S5 \ u؉uE= }EEEEEȍEPjEEPjju i}th AQuh 1 h,Ah@hT>h@]h?E=  jSvh@ؑEEEtLI9C uh@E臏h?}2EE= uܹ M썛yt:9su)jVWh@E(js jsh@$ůEMYtM9s t9su7jVWh@E@9s t@jsPh@uEMuh`@裎MEUBMU; /u؋}3EEtPS0 P0 EtWx1 EEtVp1 EEËMd Y_^[]UjhdP0SVW3PEdEu9؅؅u \  ؅tSh8{h8q w؅t S(a5 \ u؉uE= }EEEEEȍEPjEEPjju }thhx?E蠌h?薌2Eu= . I3ۈ]tM9Hu tE؋uF23ɈUUd$9Pu tEȋuMtyE!u!Pjqjq vh?t:MC;AuC ;At h?ŋ}uUt h?請h 螋u1utjsh@胋u uh`@muMAM;  u3EEtPS0 P0 EtWx1 EEtVp1 EEËMd Y_^[]UjhdPSVW3PEdEu؅؅ u \  ؅tSh8[h8Q ؅t S5 \ uuE= }Eh@>hH>hT>h\>hl>E= vL C3Ʌt IAu3҅tBuRQsh>蚉UBU; r33ۉ]9  EH0Mt<t'A;CuVjPh>BMuً MuʋE]H 0MtBt'A;CuVjPh>Muً MuʋE]C]E; Tuu h>譈3EtWx1 ׉]]tVp1 ։]EWËMd Y_^[]Ujh+dPSVW3PEdى]}sjj΋uFEGONGFOEËMd Y_^[]UQP VWE0MQju v juP1 օx}u G_^]_2^]UQVW uKP MQju E0juv P1 օx}u G_^] _2^] S];r +;Gv}tDjS%t6+A;Gvu S [_^] G [_^ E ] P MQju E0jSPv 1 օx}uG[_^] [_2^] U3ʼnEE Puh {PcU3ʼnEE Pu h@{P#UjhPdPSVW3PEdeMu uguEuNQMEƋMd Y_^[] juEPMjj臀UjhpdPSVW3PEdeMu uuEuNQM EƋMd Y_^[] juEPM^jjUjhdPSVW3PEdeMu uuEuNQMEƋMd Y_^[] juEPMGjjGUjhdPSVW3PEdeى]E} WUEPEPT0uMC;4tvu;FrF;sV6uE};t!OH1N9VHNOHWEKʋ;u29C|IuSE0@Md Y_^[] ;u9AA;tKD@DWPE8@Md Y_^[] uMSjj}UjhdPSVW3PEdeE} WTEPEPdS0uMC;4tvu;FrF;s:6uEEWpPAЋCTUU+ȃs'hM`E0@Md Y_^[] @CEPB;?;t!OH1N9VHNOHWEKʋ;u 9C|";u9AA;tKD@DOE8@Md Y_^[] jjy|UjhdPSVW3PEdeى]E} WSEPEPQ0uMC;4tvu;FrF;sV6uE};t!OH1N9VHNOHWEKʋ;u29C|Iu-QE0@Md Y_^[] ;u9AA;tKD@DGNE8@Md Y_^[] uMPjj{Ujh! dPQ3PEdUUEt M ABEMd Y]Ujh! dPQ3PEdMMEtu EMd Y]UU3VFFff9u3QRDS^]Wy$ffu+_QRS^]UѹVuW\Bz_^]UVu uhF\BP^]Ujh)dPQVW3PEdщUuz\BEdBE‹Md Y_^]Ujh)dPQV3PEduu F\BuhPXEdBEƋMd Y^]Ujh^ dP V3PEduhjFFF F$0 P 0 F$EEPEN4PM舑EEF FFFFEƋMd Y^]UEVPjFFF 0 P 0 F ^]VFFtPj0 P0 ^V~r6j0 P0 F3Ff^Ujh dPQ3PEdMEkMd Y]\BUjh dPQ3PEdME\BMd Y]Ujh dPVW3PEduE>t&wPw PWj0 P0 EN4ME~EF$tPj0 P0 Md Y_^]USVWFFtPj0 P0 ExF@;FrP#8NF+SPHP/u ~_^[]UVW}EWPSE;uQ9ΉEEPEwWйF+ȃr.@ΉFWBPPEPE_ ^]hMUXUjh`!dPSVW3PEd]ESPISu;7jjMEEEEE؍EjjȉEEEEEMM܋MEEEMEϋ0EPvVSй G+ȃs hMsW@ωGVBPPEPuEM)EMF Md Y_^[]UEV\BtVj0 P0 ^]Ujh)dPQV3PEduEE\BtVj0 P0 ƋMd Y^]UVFtPj0 P0 FtPj0 P0 EtVj0 P0 ^]UW} tCtPj0 P0 CtPj0 P0 Sj0 P0 6;wu[G40;t#$v j0 P0 6;w4uGG@G;Ot1Qj0 P0 ;wuGUROEjPAEPGG(G,G4G4@G8;O4t1Qj0 P0 ;w4uG4URO(jj3(VhS6Tjj(hIrjj(~ uhJv蔃0~ uh vpjj'jj'hIYrFjVhObjj'jj|'F^]3^]UEVWt 9BuBHt 9uN @@@ f@@E~ PwWйTUUF+ȃr@FWB_^]hM&PUQUSVW9unWE ;O;v+ڋ P EPG SE1Pjv PQ1 ֋MOtTG_^[]M G;vȉ_P SQw 0jRPv 1 օt _^[]U ESVW8u~N4GPEPQJE;F4umGPNT1EP7J9ut?OuMt uW@tOHuWuN4u_^3[]P O_^J@ []Ujh!dP 3ʼnESVWPEdE3Dž} RP1 օyPhGfo] $QQ0j@Pv1 օxM3҅t+d$;s$xt G] B0;r߃@thHnPhGnEtQr1 DžNjMd Y_^[M3~`]Ujh!dP|SVW3PEdEEEPEEPT3u(jhxjPAd3 }9} x Rj0QPvD1 օ|EEEEjjPEP|y|h0Gm[39uvT3EL Lt9K DuPhKhJsG~uPhKs/~ F8;ur}EEtPj0 P0 EG};}}uhKlEEtPj0 P0 EMd Y_^[]U SٍEVPE]s4PΉunFE;t @ ^[]sTEWP{TE}PCF9uw@ PEPEPjju EE=u 00 Pq 1 օ=u u WuˍwVˉ+_tYKGEQMQ0E9utSt-G 0;t$$MjjvX6;w uEMP0ƋMd Y_^[]UVPRj }u jzFT^]Ujhk"dPTSVW3PEd]EPqE]PΉuZ>E;t@ Md Y_^[]jj0 P 0 }Et1GGG fGGG3EEjHjP"Z M 0QjSP1 օtTGtPj0 P0 GtPj0 P0 Wj0 P0 3Md Y_^[]EȉGẺG}G dEjjPCPy,hG5cjI3Md Y_^[]Ey GEG43F Qj0 P 0 Gu$4j3Md Y_^[] P jRP1+‰URv PQ1 օy/jShGib j}3Md Y_^[]GEG MEP8NjMd Y_^[]UQVW} wt?SEjPEEP|u3 M9 uAG[Vv _^]_^]UQVFPVhD虒uhIka3^]ÍF4PX6Et!EPvBEFEEPv jB^]UU SVWG;vЋM_SP Rw 0jQPv 1 օt2_^[]_^[]UEwO$DM|B]B]B]B]B]B]B]B]B]LLM M:MMM(M1MUjh"dPQSVW3PEdt6G @pG PRjJ BAO0 P0 jj0 P 0 uEt*FFF fFF3EE_OPusSOиTUU+s hM=AGSJMƉNM N MNMd Y_^[] UVPuF;EPNt^]VPF! jjO ^UQVuVBS]C tEPV8#Eu uPV-u uVC uhJ uh soCu"hK ^Cu h'][^]Ujh"dPSVW3PEdsExlP j}t j hjEEEE0 P 0 EEMȋE }+PW;} ] $I=u t0 Pq 1 օ@=u JjEEPGEPMEBjEPWM+E@,EPEP,=69u}jjjut:EP,%Etxud Qh'9EMgEP$Etxud Qh@H9EMEPuGx}tjuӾt Pu$x;} hl [u }u h o[EEԅtPj0 P0 EuMd Y_^[]UQVuF u uu uhHJvk^] uJuu vhxJvkvEuVhJpkuEu V@hJpk8^] Uhhe uMhe u ] UQVW3PGu EjPVEj#EPWPVO4E Puω0Dw SLBu02~u j6w6FNDQjwh4DY7tZI~}tEM EuPEPK4F1};{4tMG 0;tDIC NuhJQhJs'huQhJsh 6;w uMd Y_^[] UQVWPE uEjPVEVj#EPPViO4EP[03}u jju0jt!hXCGVhC=Vh D3V _^] UjhH#dPL3ʼnESVWPEdى]hjEEEE0 P 0 EE葥EЍUЉEԉE؉E܉EEEE졬 RP1 օthE7U3}uhEMUh FCU3uuhDF)Quuh`FQM؃EjhePQEPD3kr3ɉ} thFTP jQW0MP1 օth,.cT339]3MQMȉEЉEԉEtE4EEEE졬 P01 օtEt4hFS i}uhETh FTJuuhDFOuuh`FOEU؅ۍ PheQMčERPZG;}0EEtPj0 P0 ÍeMd Y_^[M3kE]USVW} 3ۉM;}=u 0 Pq 1 օtc=u uqMEjPWEt-Et&MP7tuuPu1 CE;}r_^[]hl Ru _^[]Ujhx#dPtSVW3PEdMEEEPEEPc}jh3ۍESPSH 39]I=u u}0 Pq 1 օtI=u u[EURj QP0vD1 օxEt MPOG;}|hl Qu 3EEtPj0 P0 EËMd Y_^[]Ujh#dPX3ʼnESVWPEdىh jP7GhjP$GDžDžDžDžhj0 P 0 E胠uq RP1 օthFBP3J}tzM+ȋUjheuRPm3ɉ thFO3K jQS0P1 օthFO3339 Q0t4P1 օtWhGDOD}tyM+ȋMUMȅPheQRPG;oEtPj0 P0 ÍMd Y_^[M3@]Ujh#dP3ʼnESVWPEdDžlE]t+x;t" lQSP81  lRP1 ׅyhLG/N3o3ƅXhdldQpQ8jP1 ׅdDž\pd$=u 0 Py 1 ׅ=u {t{>tNT"Nt"j`Dž`PstA`t7WtXPShƅX~t WS(\0dA\;*#hl Lu  hpGLhEltQr1 DžlNjMd Y_^[M3i>]Ujh($dPSVW3PEdEEE3}EVVPEuPWEEgyWh0GKu9u3=u 0 Pq 1 օ=u EL L|{tKT Kt Ett8U׋J( J,u B0 B4MtEuuVuRVEEu{tEpPVE܃8@E;E)hl Ju uEEtPj0 P0 EƋMd Y_^[]U$3ʼnEQ EE$KE0KE8KE@KELKEXKEdKEpKuSw09U tDDPh'q0[ M3'<]Ph|KJM3 <]uu9E uh qZM3;]UjhX$dP3ʼnEVPEdF M QM~EEhIh4P)hIhIEP)hIhJEP)hJh4EP)hJh4EP)}EsEPuh JvYE}ruj0 P0 3EEfEuQuh$VP0;r̋QPJЃ;$z;30 Pq 1 օ;rX;0+;s؋ P jSP1ǙRPv Q1 օD+PVaPPjVcwY9t/PV utjW u3;;0 Pq 1 օl;tEtPj0 P0 DžMd Y_^[M3w(]DžjjjPBE@x;d QhL>jjjPEtxud Whd QhLijjjPEjWjV&PhXL諯jjjPEtxud WVQh8Lu hlBr;tDž0 Py 1 ׅtL;rX;+;s؋ P jSP9ƙRP Q1 ׅ+PW]PPjW1tb9t/PW rtjV nr3;0 Py 1 ׅU;H;t;TjjjPWEUxPd QhLSjjjPE txud Vhd QhM{jjjPE txud VWQhLAjjjPEtxud VWQhLUSVCCsCyM]EuEyM]u]EAubs sUWRKE6RPAEP;FCs9?t3ˋ6VFPEP;u_^[]USVCCsCyM]EuEyM]u]EAubs sUWRKE6RPAEPN;FCs9?t3ˋ6VFPEP;u_^[]Ujh&dPSVW3PEdeuEv'^鸫;v+;؍<vEGPMȉME7eEEE@PM]EES}Eu}M] t~rօtPRQ, ~r6j0 P0 FF3fuuEEE~^r63f^Md Y_^[]jjM2jj*Ujh&dPQV3PEduVFBINMEҷVj0 P0 Md Y^]UVuVjVFBI0 P0 ^]UQE 9t@E]UyUQr 3f P]3fQ]UQVW}F;svWy3;_^]} t\sWS^;B߃r*MtPQV<*M Qj0 P0 3^F;f^[_^]u~r63f3;_^] UEVh5ᆳ%P(iʧAi +yV#9F^w +]U}VW} t,~r&St?PSVH) Sj0 P0 [~3Ff~_^]hM UE3Ʌt=wPQ0 P 0 ȅt]? US]VWM {;E+;s;u39F~Fr3QWfsFF Md Y_^]UtU;tsII u3]U tA]UQS] VWh5ᆳ%P:!iʧAi +yW#9ww +O67< ;uG;t!B;s;BE_B^[]E_0^[]UQVu EW}jjPEE@ dP腕y hH'%#E_^] UVW}V;MA;ES+;] s] +E};s}+E E+;ETE+] ljE;s jPM;FrUurօt'M]PE ÍAP;BP.M ]yr ~rօ?PEAPZP ~U ;FrMur΅t U?PEBPEAPm.U FrMurEu MPUBP9MAME;wFr UU urEut#PUBP9MAP-M Frރrօw?PECPJ[<;}}Fr MMurEut&UPEPP9MAP@-M U Fr]urޅ?PE+ljEEUPPKr MMurEut UPEBPEHP,M FrUurօt]PEXP9BPr, ]Frփr΋+E tPEǍBPYP5, ~MN[r3_fH^]3_^fH]5UVMWtPVr;r>r>FG;v)ru+QVu u_^]VE;S] +;sߋM++;+;sMFrUurEut(U?MPAMPEAP+M u+NjMQt}M;sFFrUurօt%?}P]CPBP*M }~rօt PuzP u[_^]FUQS] VWNffu}+Offu+f9u3ˍQffu+QMjSsEtfMf9u3QffuE+QuMVPf;u3ˍQffu+EQMPS Eu_^[] UVutW} WvFv u_^]UUS]VuW}zu^zuXM AHuOB ;AuB$;At?;B(uA;B,uB R$;Q,rw;A(r;Qw r;As_^[]UVut+S]W} SWvSv61 ׋v u_[^] ̍AUjh('dPSVW3PEd}EPhjP P 1PEv4RPQ1 օuPPZ3ۋtQp1 uuhPGENjMd Y_^[]UjhX'dPQVW3PEd}EtQp1 Md Y_^]UQWOuQVrffu+֋uFEffu+uEPP^x W BuJuPQ0 3_]UU xE ɉ]$E GuHV3fQQ0QQvxQQhQQuP1 օ=3f3fH =t-hhH 7PnxhPPhhH + PhhH + P0tyhQQhHQy hQ^M3_]Ujh'dP SV3PEduME}uCEEuH3fMfH EPu u^y 39]KEEtPq1 EËMd Y^[]UH3ʼnEESVuWE3ẺuPV}EЃOĘ@tAu h4REuhhR"r @t sEċuNQ$ffu+ʋUBEffu+U ΍EPCPuHuRQ)S uJq$ffu+MP>CPuHhQRQ1)uȍẼ P>PhEE˃uhxRGEPE +P>P>}ЋEȊ8h4EGEi3E9EvOIth 4@\EЋPE +PEP;E}@E;Erh4$ 4ẼhQẼ m&EPEPEЋĘ@thR5QĘ thR4Ẽ4EPEPaEEЋPE +PEPe}ЋhQEEątQ$E ;M+QPEȋP}Ѓmth 4TyohQ=\!hR!=EȍMjj Q8PEE&EԋPhQ Ejhe 1hRPQ1 ֋he t_^@[M3] EЋPE +PEPj}ЋhQ5QEPEPj Ej EPu%EP} hQEPEP@j Ej EPuM%EP}uhQ^IEPEPj EЍEj Pu$EP@\hQ*F}ЃmuEPEPj Ej EPEPE$EP}EPEPj EЍEj PuM$EPhQ}ЃmuEPEPMEЋ%=t=tjj EPQ#EQ Px=Ẽt u0hQxEЋPE +PEPx};} v@EM3͉8_^[] Ujh'dP VW3PEduM.E}u=EEuHu 3fMfH EPVuy ;uG3EEtPq1 ENjMd Y_^]Ujh'dPVW3PEdhPjPC P 1PEv4RPQ1 օPP }EtPu W1 օt6EWp1 EMd Y_^]EtWp1 E3Md Y_^]U`VhjPS ` 1PEv4RPQ1 ^u`P]3]Ujh((dPVW3PEdEEEE PE1p0v0Q1 օx$EMQheP061 օx}3EMtQr1 ENjMd Y_^]UjhP(dPSVW3PEde3}fM%=t'=t =t@Md Y_^[]E=uuWu QuEw=E 0jjjjjjjjURhhP URQP1 ֋uE=t*}t$]SWu P*uhPPSW ]E=s$3fP hP SW E=u~E 0jjjjjURhhP URQPvx1 ֋uxZE=t0}t*]SWu P~uhPPSW ET]EIhTP @uEE@EuƋMd Y_^[]U`VWhjP} 3f` PE1RPQv41 օuu`uWu P _^]Ujhx(dPH3ʼnESVWPEd}3uVfT؉]EtuuWSu (WVf?j@EjP M 0QMv(q,q(jjP1 փ}thlPhWt hPhWV  M0jhe hq,v,q(P1 օuhe hW f?uPWu hPuuQEtSp1 EeMd Y_^[M3]U3ʼnES] EVW}3jPEv0PhWuS1 օE$<3EPuS1 օuu̍FWPQMu VWSu]uPύQd$ffu+s+fOA3fO+M;vPuVW1 3e_^[M3]UES;Cw C3[]PjE0 P 0 Eu [] t sQPj 3j0 P0 VWs_^ECECE3[]UEVQu0u jv(jP1 ^] Uu d]V0jjjv0hh@ uP1 օQ^x@ ]UUt0%=u U]=u U] R]d]Uu d]V0jhh@ v8juP1 օQ^x@ ]UW}$hd Whd Wu-h]4 h ^4 F;X u">hd Wuh^h4^{ 4 G5X hd WhH^?X 5X BȉX uBȉX @qqDA h@HPy$ X X APhX^ X T X X PhX^ X }) X X Phh^ X S X X  X $hl^$  X X  X Php^ X X Aы X X DPRhx^ X  a X X  X Pt Qe4h|^v" X X  X 0QjPTQSP1 օPs=3fThl'EjP TfTt,.I r f;rf8f8u⋽TPh^GSh^4 X X  X 3 Qj0 P 0 3҉~& X =X B;| X h^ 3~9t h^X Php^F;|Ӌh^j0 P0 W X X APhh^ X / X X ٝمh^Oh B 9X s4 [^M3_] T+Uı2G GGGհ%Ujh(dP43ʼnESVWPEdE} E̋Ǚ؋ʡP jhhX 0QSMċv P]1 օhX EPhX EPh؅jWh] Sj0 P 0 }E P jSWuċ1uQv 1 ֋th] SWu3EtWj0 P0 Eh]q3Md Y_^[M3L]UVW} %==t=t4=%Pu jPWh __^]%PujjMEQ dPfjh^ju-EMjjQ dPEfhhe uXthe Wh_X _^]h_C_^]%Pu8jh(_jV,jjMEQ dPJfjh^jui,EMjjQ dPEfhhe uVhe Wh8_ _^]= ==ptWh^v_^]%PukWh@_Nj(jVnhH_7_^]Ujh(dP3ʼnESVWPEdM }%= ==7jjPv0Ej1PQW1 օyDM@\2+$t1ft fuu3fEPh \F7Pj1Ev8PjQW1 օyƍMh\2+$t1ftfu넋7 jjjjjjPj1EPPQW1 օyDM\2+$t1ft fuu3f7 jjPv0(j1PW1 օyW(@\2+t+1ft"fu3fEP(!u3fEP(== tPh$\7jjPv|(j1P Dž PQW1 ֻ\x( %=um7Pj2Ev8PjQW1 օgMh\2+$31f&fu=ui7jjPv0Ej1PQW1 օM@\2+I1ffu=jDžPWDžDžDž EQQ0 P1 օyKM]2+d$t1ftfu3fJu3ffu5Md]2+tft fuu3fSEPh]7jjjvxjjPj1(PPQW1 օy@(\2+tft fuu3f7jjPv0Ej1PW1 օy?M@\2+tft fuu3f(PEPh\ Md Y_^[M3]UQEMVWQ0hPE61 ֋xFMSjQr1 ֋؅t)3u hP 6S1 ֋Sp1 [MtQp1 ֋_^]UQM3U ;A,w1r;Q(s*A0jjA8MQ dP ^x E]3]Vu3^ƃ^U3ʼnEMS] tVW}u/wύFPuOfp`f1r`D1XSQ\1 օu[Sht`|hP|NFu_+ύ3PuGV|QP %h=[=t =XDžxDžpDžl=Et%tlQSP01 օx0tpQxQ0SP1 օSh`|hP|jPWWj!Et%tlQSP01 օy DžltxQpQ0SPvx1 օy Sh`ipt8u4S%P4Rh`jVGpltt\%=t =t]tBtSPQW[1]tSPQWGt j/W7 j+W-]hpQAu+ʍQttTxtJ8tFˍqIAu+BRjt0 P 0 Sth`SVNRj0 P 0 tpSV] jVWVj0 P0 t xt8tjPWvj.W.jpW`txQSP0Džx1 ֋x8j[Wjh`W~== =#t Sh,atxjjj0jQj4jSPDžx1 ֋x8j[WDjxWvj]W.txjjQ0jjj0SPDžx1 ֋x8j[W jxWj]W mthQxQ0SP1 օy+Sha|hP|jPW utPWh@wύFPuGV0uG\_^[M3]Ujh1)dP3ʼnESVWPEdu ]hTauSrh8jP[ 81PEv4RPQ1 օK8P!EDžEPW/DžDžDžEuu PFPuV0uuSjPjj$0 EtPj0 P0 DžEtPq1 DžEtWp1 DžMd Y_^[M3]Ujhv)dP3ʼnESVWPEd} uU]dh`Dž@DžDDžHEDžpDžtDžxE ClADW$Xh`pP ɸD`PpP 뵸L`PpP 롸P`PpPl 덾L_uT_n\_gd_`l_Yt_R|_K_D_=_6_/_(_!___ __΍QAuG+ʉhdP'uGdV`t_d `_d E\NFuG+dPuGdV\PX dPShdȋك euJwύFPYuO_1`D1`D1`D1 f `fD1`hRWJ`VWS'؉lx CllPl\uHwύFPuO`1`D1`D1 `D1 $`D14\VjP h`; x CllPl3Tt@`x CllPl`F;r΋dxClPl3PXtrhlPSsЃu ;l鉍lt#u Dȉl F;XrdPwύFP(uGT0[\Xu7u3u/wύFPuOf f1 D13ɉlhH)`duS;sO`4Ehh^jPluNFuG+hPbuGM;Phh^EjPuЃNFuG+hPuGhMVQPw ύFPuOf f1 D1l;Tsm` IPhh^EjPuNFuG+hPtuGMhVQPl ;ds!wύFP;uGl0,TAXl;\\PwύFPuG0]iwύFPuG0!xCPW8lPclPWvwύFPuG0!ϋwFPhuG0!xCPW*wύFP7uO(`1f,`fD1.`D1ϋwFPuO0`1f4`fD1l`VWS؋`lHw@PύFPtuO8`1uO<`xClP%l2tL$Nt%Gωd@P9uGd,`hWSCذuwύFPPtuO@`juO0&YtUQhT`Ej@PuNFuG+hPuGVMQhP: tFPpZpuVp:phu hNFuG+dPuGdVhP EptPj0 P0 DžpEÍ0Md Y_^[M3G]$+29@GNU\cjxqO UVuW~GPE t 9_^]D>_^]UQVuWuu NFu+}ϋGEPPuGEVu P _^] U3ʼnESVWu }Ehh^jPuNFu_+ύ3PuGVMQPM 3_^[i]UVuW~GPuFW8uuF_^]UQVu WNd$Fu}+ϋGEP4ȅuO΅uGuPQ uGVu P _^]US]C u[]VsW{tt4ƃt#st&tƃt<+} _^[]UU 3VuFFF FFFF $<u$fFBF fF^]u_BFBFBF J$<0r7u3BJȃNt$?<u NF^]U3ʼnEE Pu{YhPUjh*dP 3ʼnESVWPEd3{GGG WP1 օy hLc\?&{ lj{3 t hlcdP jQW0MP1 օy hc{3ɋǺ  Qj0 P 0 uEthWh V3E339{~D3҉U쐋 PE1t4Q1 օx3UG U;{|‹Íe؋Md Y_^[M3]ËMt4hc-h j0 P 0 uEthjh V3E3C VP1 օ`hcUUƒAAA AA;u]RhaNUE UAƒAA AA;u]RhaLNUjhY*dPSVW3PEd}jXjWGX G\G`GdGhGlGpEEGxEGtG|LJAEEE QLJ3WjLH QMP01 օx~;CHuG;CLu CG@C GG@G GDOxG(;rPO\M;u@GωENjMd Y_^[]MQhbUEVE FEFEF F FFFFF F$F( ^]UE VEFfFF FFFFF F$F(l ^]UHVWjHjGGPGEjHEjP8 M0QjP1 օxEGGW PRQ11 օx_^]whc!VtPj0 P0 ^VFtPj0 P0 F^tPj0 P0 Ujh*dPQV3PEduEtPj0 P0 EFltPj0 P0 FptPj0 P0 Md Y^]UVFtPj0 P0 FtPj0 P0 EFFFF^]USVW};C PWR21 օx _^[]3hc|̍A\UQA EjtURPdHujMQ dP?E]uhxa̡0 VWPr 1 օt , _^hlB IW GGu5;G rxOGWA+ȃ;r[JO$G(OG _;G r1WVwN+G#GDGGO^G G$G(9GrG _hb[H39AUjh*dPp3ʼnESVWPEdeuuEuMEM9= ÍMk t M}EEtMQPh$du V&Pt0j EPMEPMPh0dju VMPhD2ju VEM1EMEMd Y_^[M3^] jjj]p1 Pjj$0 3ɺ Qj0 P 0 }EVWjr1 Pjj$0 WhDdu uEM0VWGP ?u!nNI(F@,GF@@G~uFt6 GF_F ^U0 `VWPy 1 ׅ$~(VxF|;r;v);r;v!;r;v;r;v u_^]S9V\u`j`EjP E 9PFxRPQ1 ׅy)v(N\FtF\;FxsBF\;Fxr[_^]hlBEVFtPj0 P0 F^UjhdPQVW3PEdjHj0 P 0 uEtjHjV 3EωwL wj1PQ1 օy(wj0 P0 wG7h(bMd Y_^]Ujh+dPpSVW3PEdGt; t3Md Y_^[]j`EjP6 ] 1SRPQ1 օy*jj j7EP輒E޺Pha3u EGEMd Y_^[]̋Ujh@+dPV3PEd~uy dEjjP6}9y*jj j6EPE*PhaEu)jj P6EPؑEPhaBFFMd Y^]V~u j6NFF^uLB̋A̋A+A$V~uF^U졬 Vju0u j1P1 3Ʌ^]U VMjjQ dP.8Et 2^]W}UE ?EG RQP0vH1 օt GEG?tt _^]_3^]PhaV~uPPģFF^uLBV~u2F ^Ujhh+dPSVW3PEdG$EjtURP>?uuhxa jMQ dP6uEP_(ESjVw$^u hb}` dEjjPFEPn6y hGuy GuG3F Qj0 P 0 EEE E]SM+u P uE1RPQv 1 ֍_(y hbEG EEGEMWw$WuJΉOG !GJΉOG G@GO;O uMd Y_^[]Ë;rG Md Y_^[]39AV5 D3;^UdEVj`jP輺 E 1PERPQ1 ^y2]} t;M; u E; t%Q'u3fEEPuu]]Ujh+dPSV3PEdEEEEjP}pbuLBDȍ$ff;uftfAf;Bufu3EtVj0 P0 EËMd Y^[]UQSVWXw\t~uavy~uJvR؋EGtFtPj0 P0 FtPj0 P0 EFFFFX 3ۅ~y;t C;|cj DEFtPj0 P0 FtPj0 P0 EFFFF;D Xukj G؋Fɋ\ `tPj0 P0 FtPj0 P0 FFFF;G|w;r_^[]Ujh+dPSVW3PEde}0 Pr 1 օu hlB:EEMd Y_^[]ËMVW;|_2^S^0uR8^Xt2G;u[_2^FX  \HFX \hPjS5 x^NxF(Ft;rPN\ ;uD[_^F[_^Sh$ccUEVQu0u P1 ^] UEVQu 0P1 ^]UQMjjQ dP/xME]2]UXVjHjPV X 0QjuP1 օy 2^] p tW}tWu Qu_^] S3Ej@VPމu f970 Pq 1 օ MQu0SP1 օM"}E܋]؉EurEfE Eu^jjMQ dPp.x\ut?j`jP5  ƙ1WRPQ1 ֋}x3f9#[_^] [_2^] hlB[7Ujh+dPQ3PEduEu q1MEEEMd Y] VhjV`3 F`FdFhFlFpFtFxF|^UVWwtVvj0 P0 ;wuEtWj0 P0 _^]̋ыB$;B uzBuBVpFr$8Wu*I+΃ s8t_B^Ã8uF_B^Ujh.,dP83ʼnESVWPEdM3}ɋ]j7`jHPv ÙRPW@1 օ   `t#.hg膻jVh hyu Sh(hk Dždd33ۋȉP ʉHDž084#j0j0 P 0 7jj0SHv PW1 ֋LCsȉH‰ (D\DžPDž<h@j0 P 0 XEt#GLJ@LJ @3E@jh@W\0DPv 1 ֋Lx@M @=9,EMd Y_^[M3] <}uG{<%u<%uGCfUS]u 0f[]Vt,Phh$h8fhh|^[]U$3ʼnEEMVu QP80 ud^M3R] EPEPj40 uEVhdPjh<0 dtƋM3^ ] U}t"0 MVQu0jPv<1 ^]ÍEPuu  ]UU 3t=SVuWx. F r ~v f;wfutatt h&;t0t h@O ;Ov hhtPuJP@u+3ɺp Qj0 P 0 VPjG4jj$0 EtPj0 P0 DžENjMd Y_^[M3n]Ujh.dPQ3PEdMAAEA AAAAA A$A(A,A0A4EMd Y]Ujh^.dP\3ʼnEVPEduUFNF uFFFFF F$F(F,EF0F4F8F<EEEjjEEjE̍EjPREuEEEEEEEEȬEEEEܜuMEEE袅u hDEthP|uNF EEtPj0 P0 EEƋMd Y^M3+l]hu|u F hu|uF hug|u F chuG|u F Chu'|u F #hu|u F hu{u F hu{u F hu{u F M華PhUjhh0dPQV3PEduFF EFtPj0 P0 hj0 P 0 ȉɁNuF3fEƋMd Y^]Ujh.dPV3PEduEP0EPE6j0 P0 Md Y^]1j0 P0 Ujh.dPQ3PEdME1j0 P0 Md Y]Ujh/dPQVW3PEd}E@G;t2Rj0 P0 ;7uE7j0 P0 Md Y_^]UjhP/dPV3PEduEP0EP@E6j0 P0 Md Y^]̋A tPj0 P0 Ujh/dPQV3PEduEF4tPj0 P0 ENXE8uEFt%Pj0 P0 FF FE?Md Y^]Ujh/dPQV3PEduE{EmMd Y^]Ujh/dPQSVW3PEdً{tJ;t"}E EWh8wwj8WxVj0 P0 C tPj0 P0 Md Y_^[]Ujh60dPQV3PEduEN0ENEMd Y^];Ujhh0dPQV3PEduEtPj0 P0 Md Y^] EUVtPj0 P0 E^]USVWFFtPj0 P0 ExF@;FrPF+FSPFPԉ ~_^[]USVFFtPj0 P0 uNA;NrQo0NFu+PHPym ^^[]Ujh0dPT3ʼnESVWPEdu]]E޹tUFEtK<OGu+mEjjupRPWV"VFt4t/3Ƀu 6Q%u 6Quh^6Q6hEj@P轃Ej@PJGEPCC͍KA;KrQEPC+CPCP sEEÍeMd Y_^[M3c]Ujh0dP$3ʼnESVWPEdEEPEEEPMEEE-EEEEtPj0 P0 E}jjjWjj$0 6lVSjWjj$0 uSFF<NAE;NrQ-NF+SPHPjE܃ FEEEEtWj0 P0 EƍeMd Y_^[M3a]Ujh0dPT3ʼnESVWPEdu]]EtTFEtJ<OGu+jEjjupj0WV3VFt4t/3Ƀu 6Q%u 6Quh^6Q6hEj@P΀Ej@P[DEPCCފKA;KrQEPC+CPCP sEEÍeMd Y_^[M3`]Ujh0dP$3ʼnESVWPEdEEPEEEPMEEE=EEEEtPj0 P0 E}jjjWjj$0 6/iVSjWjj$0 uSFFLNAE;NrQ*NF+SPHPgE܃ FEEEEtWj0 P0 EƍeMd Y_^[M3^]Ujh0dPT3ʼnESVWPEdu]]EtUF EtK<OGu+gEjjupp0WVBVFt4t/3Ƀu 6Q%u 6Quh^6Q6hEj@P}Ej@PjAEPCCKA;KrQEPC+CPCP# sEEÍeMd Y_^[M3&]]Ujh0dP$3ʼnESVWPEdEEPEEEPMEEEMEEEEtPj0 P0 E}jjjWjj$0 6?fVSjWjj$0 uSFF\NAE;NrQ'NF+SPHPdE܃ FEEEEtWj0 P0 EƍeMd Y_^[M3[]̋ыx uBHy ux uIȋx t Ë@x u ;Hu @x t̋ыx t@Ëy uAx u6ȋAx t ËHy ud$;u Iy tx u Ujh91dPQ3PEdE Ep0q1M!EEEMd Y]Ujhy1dPQVW3PEdu VEtMPVw7EEEMd Y_^]UM Eff;u(ftfPf;Qufu33]3]USVuNA;NrQ9F+FuPFPH~ ^^[]UESVWxF@;FrP%NF+SPHPb ~_^[]USVu,NA;NrQ$NFu+PHPa ^^[]Ujh"dPQSVW3PEd]Suuah$P0 P 0 uEt=3dždždždž fff3EuhV`u hP`EE 7Md Y_^[]Ujh"dPQSVW3PEd]Su u ah$P0 P 0 uEt=3dždždždž fff3EuhV_u hP_E 7Md Y_^[]Ujh"dPQSVW3PEd]Suu_h$P0 P 0 uEt=3dždždždž fff3EuhP^E EE 7Md Y_^[]Ujh"dPQSVW3PEd]Su u_h$P0 P 0 uEt=3dždždždž fff3EuhP]E  7Md Y_^[] UEthu Pi ]Ujh1dPj3ʼnESVWPEdM] ƅDžERQp1 օ(DžDžEQQ0jPv1 օuVtƅhJh 4VSg3fhPFVPVSf8QQjP1 ׅl uVhJVSfEtPq1 DžEtPq1 Dž3Md Y_^[M3R] UMA@A]UEVW<~ w_F F^]tPj0 P0 Wj0 P 0 ȉ#_N^]UUVJd$ffu+ыuNSYd$ffu+ыN[B;vUPt3^]NuFjuQPe^]UMS];E }VW=T u)7@uPv 1 _^[]p1 9Eu-=T 3u7uv$1 _^[]_^3[]3[]UEVWj`jPU M} 0QWuP1 օt _@^]uu u _W^]Sj8LjPTuL WV5 K3ۅÅt tE-jhuuWVjjMQ dPkE}tU3ɋh  QaWVu4tjVWu cVj0 P0 utLPS؋\]E=uVTjhąuu]u VSjjMQ dPEjjMQ dP}uE djjPVE`EMtmjuSjjQV6@3ɉEh  Q؃t?juuuSuV5jSWuaSj0 P0 [_3^][_^]UH3ʼnE}SVuPj@EuPuuEMGA;GrPOGu+VPHPSE GEEEtVj0 P0 EEEEEtPj0 P0 E}/C CtAh UvOA;OrQOG+h PHPR wCMECEEPEEEEPMEEEEMGA;GrP[OGu+VPHPdRE GEEEtVj0 P0 EEEEEtPj0 P0 EC tAh(uOA;OrQOG+hPHPQ wC tAh,tOA;OrQnWO+h,Q QQvQ wNjMd Y_^[M3mH] U0 MV0W}jxjjQhWMQMQMQP1 օu#}u9t?CADu _^]_3^]SV3tSWI3ҋ t8;tЋ u$ u  Pj0 P0 u_htU^[UVW7tE;t BuhPRU_^]PVRh00UhD&UV _^]Ujh/3dP]3ʼnESVWPEdEZhXThTDžLEDžXEDž`E0D Dž0RPqD1 ֡ LQ00Pv<1 ֋GLXQhXP061 ֋X`RPq 1 ֋pEpXhh؋hhS]33I^X`QQ0hhPv 1 օP$P,豔48DžlEl`PQ1v1 ֋uTPj84PECP,$h0~0E<olp(jj84P@EeCP,$h (0EDžPEPlQhYP061 օxhLQDžHEHlQh@YP061 օxhhhQDžTE TlQh`YP061 օDžhE hlRPq1 օyh"QDžDE DždE DhRPq1 ֋9hdRPq 1 ֋h(RPq1 ֋d(QQ0jdPv1 ֋Dž@E Dž\EDž<E@dQheP0v81 ֋8@\QheP061 ֋ ]Ujhh3dPQVW3PEdEEUD RPqD1 ֋u> MQu0Pv1 ֋uEu j0Pv,1 ֋!hKhKh,K EEtPq1 ENjMd Y_^]UdSV0E WPu+P+PFPO^x~j WD0g؃$Q5tEjEPW<ME Q5tHEt@ttt-j htW^5 u6p0 CPhW+aǃ P@u+j W8g؃K_^[]UW3ҋt?Vu;tЋ u^_] u Pj0 P0 ^_]Ujh3dPSVW3PEd} EtEEE]Ph[S361 օEUERPq1 ֋K}ucEEUERPq(1 ֋xE jPu-EEPq1 EEtE Sp1 3EEE3Php[S61 օx\EEUERPq$1 ֋xE jPuzEEt-Pq1 ESp1 3EEtPq1 EEMtQr1 ENjMd Y_^[] hGhGh@GhGh~Gh,tGUS]VW=T jjh@b7s jv8S1 3ƃp0 _^[]Ujh(4dP3ʼnESVWPEduDžDžDžE3ۉ9_uhh*h(h\>Fw<7PE;athP<t5<@v<03v|PVS\uC<v5 z|;u'u EtPj0 P0 EtPj0 P0 tPj0 P0 h =\PDžPDžTDžXdP0蟨E yxxxT΋P+h8PVS蝱;{=u 0 Pq 1 օ=u ǍPd$ffu+PWOW ă @@ċO$@@ΜLjG;TYhl }<u Et.Sj0 P0 DžPDžTDžXE$ E \\P0dPE\j0 P0 Md Y_^[M3-]Ujh5dP3ʼnESVWPEdu3hh*h(h\>l;(w7P}];{thP((DžDžDžkP2P(jrjj (j;qjPPE(jjjj0PgEt~ud 0txud (VjqPSVhEEjh9C(Hj;EtPj0 P0 EtPj0 P0 tPj0 P0 ShD_9Md Y_^[M3<+]P29EtPj0 P0 EtPj0 P0 tPj0 P0 rU`3ʼnEE EMUS]W} u! uuu_[M3g*]Vh@jP. 3 PPP@1PEjvPjRPQ1 օt^_@[M3)]E t7Shhhh8 >h8 ]-hjP- DžQt0pPv41 օuW Q0P1 օu t Ë < RR1jRv']h*t+PT t.QShhhh8 <h8 tM3^_3[&]Ujh&6dP3ʼnESVWPEdh h3W]u DžDžDžEI=u '0 Py 1 ׅ=u PhPEPNj#.}Pu SVt<%terMPVUt+tVj0 P0 Džh4za3@h zU34uPh*83hl )3u EtPj0 P0 DžEtVj0 P0 DžMd Y_^[M3$] U0VW38 URPq01 ֋}uEG P EjjPG1RPv Q1 օtjI=u 0 Pq 1 օ=u wjGU P jR1RPQv 1 օu uvD UEERPq<1 jjEPutO;MvE;wO t;vG  uhv{1GG G ;Gs4h`v[1_^]hl F1u _^]W+_^]U0SVW39}8 URPq01 ֋]D UEERPq<1 օx*jjEPut;]vE;w t;vu;s~h`v0@_^[]u5h 1 ֋؅uuhTwL0@_^[]}Au 5h 1 ֋$u 빹 uRuhhw/@_^[]D UERPqD1 uhv/D URPq1 uhv/uWS#*_^3[]Up3ʼnE=e M S]W}t]UVRQpL1 օu9EPhEjdPBA0 M0jQjP1 e ^M3G3_[ ] Ujh[6dPSVW3PEdj`tjP$} ǙډEt1RSPQ1 ֋t#h~U.ƋMd Y_^[]xt u h8jjjW,PEtxud QhX E,hhe t-the hp- h-j8PuV u܋uV_Vj0 P0 h  h$h*t \E1jh8xtjWZ^jjMQ dP贚h\Z*EtjjP趣hph5*t lE4jhxtjW]jjMQ dPBEPht)xt@ tajhxtjW]~BjjMQ dP}t&h)jjuhpn)3Md Y_^[]U츬S13ʼnEE 3SVWj`fTQPI} Ǚ؋T1RPSQΉ1 օ dPjPW+A3h  QK؃ jS1@PQ1 օtSj0 P0 <hElEpEftfE3EjPS. uEPIffu+u2f3f;FftFgffffu^ø^W3 tIG uu_^̋At6t1u& S3ۅÅtgfffCu[øËVW3 tIG uu_^̋At0t+u 3;AtAuøË3V3 tF uu^ËAVtGtBu6Q1Wu ux3 tjj RV>G u_^ø^Ë3I tIF uu^Ujh(7dPSVW3PEd]MQSp 1 օEHn$}] uh2h2WSI! EEUMRQp1 օEURPq1 օEEUERPq 1 ֋EEEEMEQheP0v81 ֋EMQheP061 ֋xwEjhhe u P xhe h2WS? EMqEMqEMqWSu:EMqEMzqEMnqEMbqEMSqƋMd Y_^[] h2uu  h2uu  h2uu q }h2uu Y eh2uu A Mh3uu ) 5h3uu  h83uu  hD3uu  h`3uu  hl3uu  h3uu  h3uu  h3uu i uh3uu Q ]h3uu 9 Eh3uu ! -EEMQSp1 ֋}] x WSuh3WS E$tWhPhMURQEp$1 Wh4WSE3tWh 4WSEFH;rWhXWh`WhhWS]EMn>hpuu  )huu  PhP2uu 3Md Y_^[] #;Sk˕+Csmmԗԗԗԗ['Ujh`7dP VW3PEd}MQWp 1 օEEEEE7PhZW61 օx-EURPq 1 օxuu uh3uu | 3EEtPq1 EEEtPq1 ENjMd Y_^] U3ʼnE\DžPPDžTDžXCu h@M3{]á PVQ\0QP1 օt!hJ@^M3/]ËXHw!0 jhj0P1 ֋M@3^]USW}T]IV)&UjhEujPU΃ t! MQRu0PvD1 օt3EM E MuCu^_W[]jjEEPu蕉EEUhSWS tlMU t`EEEE }W}W0RQP1 ֋}ujSWuuȲMU ujSWuu譲^_[]^_@[]_W[]Ujh7dP03ʼnESVWPEdE MЋu}EEEu}"E3ۉ]9]t/=T p1 ֋M;t D U]RPqD1 օu^ MQu0Pv1 օu>EMQjP0v,1 ֋EPy1 ׅt@#E]3MQEEEjjj0hPv$1 ֋\Eȋ=T PVp1 ֋s Phu1 ֋=T Qp1 ֋=T Eڍ7Pv1 ֋=T SuRPQp1 ֙RPh\ E E]9EuuDh$MEEtQuMQ0uf]C]̋=T Qp1 ֋ }WR1PQvT1 օ=T Qp1 ֋=T Eڍ7Pv1 ֍MЙQSuRPu uu[hDM]̅uJ}u7hHMEtZEtJQuMQ0u[]̋}G}=sEPq1 օ3]C]Ⱦ]̋MȅtQx1 Eu]}t UЅuUEAPRQW&MЅuMQffu+AM}t WEEЅtPj0 P0 EƋMd Y_^[M3]UjhhdPSVW1E3PEdeE@EEu uuuuu uEEMd Y_^[]EE܉EËeEEMd Y_^[]UMQ}xH;|HSVWx1M]} ++4  9r t0@0y_^[];~h܀ 3]_^3[]Ujh7dP$SVW3PEdًEtFh j8CJ.EEt 貎3EC;q3UЉEЉEԉE؉E܉EE䡬 RPq1 օ<E3ɃCh  Q-ЃUuEMЉ EԉBE؉BE܉B B jPu9Q1 ׅ33ɉu8}EC h } 3 PU-EEth8h1u8xj8Wx 3E{t(EMa8Md Y_^[]EtVj0 P0 E3Md Y_^[]UMy4RCCuI03;mtr3]]UVujhju ERCCjV+=~jjMQ dPyuDMRCCuejhju EjV<~CjjMQ dP=ytRCC3;^]M3;mt rM3RCC^]US]VW,t'O81EEPEPU9uu _^2[]0t-O81EEPEP(9uuӋ5 >;t_^[]Ujh8dP SV3PEd~t#My>39FMd Y^[]~4tqM@PMEv4uV%EEEtVj0 P0 EËMd Y^[]Md Y^[]UQEMVQhTt0PE61 օx5EWuu0u Pv1 ֋MQr1 ֋_^]Ujhl8dP3ʼnEVWPEdEDžEjQP謼y3NDžEDžEDžEQhZP061 օRPq 1 օx`RPq1 օx?t5hQP0xj h(4P  G3EtPq1 DžEtPq1 DžEtPq1 DžEtQr1 DžNjMd Y_^M3]UVt+MU u;u9u9t u3^] ^] USV1Wt^}];uFSV&%u8E ff;uftfQf;Pufu3t u_^3[] _^[] USV1Wt6}] ;uuP$u9t u_^3[] _^[] U0 MVQM0QP1 ց}u,0 URP1 Eu3^]ø^]UL3ʼnEE S]VW=T E01 ֋}=u 3u'~#9u u 9jPtPVWh PWh Gu_^Ujh8dP 3ʼnESVWPEd] DžE Qju0Pv01 ֋gDžEQheP061 ֋QDžQ0hPvx1 ֋yPhj\PtIpj\VuPj yWhЪ)`jV8QyoGLjVQwHMEau hCGDjVQw@M؉Eau hȂ$uKtEU+ ;r3ҋ9W$vu+I1IAB;W$r$uE w$uVuS4w$EVuSn $I=u H0 Pq 1 օ=u w0uEw8}utΉMejjEPV`uPh LG$3Et% $4h#F;r}h aMG$3Eԅt4hF;r}M}jtMj jQwE7P藵Etxud Qh(tEM2jjQEP_Etxud Qh(,EM=}u=G$3Eԅtd$4hF;r}h0MuU ztG @} t39BPVwJt39BPQ tH G$EDw$uuS\$hl xu ha3PMd Y_^[M36] UD UVEERPqD1 uhvD URPq1 uhvuuu uu.^]Ujhm:dPH3ʼnESVWPEdEDžEjQP{DžEDžEDžEDžEQhZP061 ֋RPq 1 ֋eRPq1 ֋>RPq 1 ֋RPq1 ֋DžEDžEQheP0v81 ֋QheP061 ֋_QjDžQDž0QPDžvP1 օjjjQDžQDžQjjjDž0jP1 օx t=Qj0QvPQP1 օK@Pq 1 ֋E QjDž8XQƅ0QPvP1 օIQDžQjjjDžQDžQhDž0QjP1 օ%V=Vw]X$<E7)33;u;t tH##;u<;u8э##ڀPthƅ hQj0QvPQP1 օ^Pq 1 3E!:E:EtPq1 DžEtPq1 DžEtPq1 DžEtPq1 DžEtQr1 DžNjMd Y_^[M3e]I.<JXfs}Ujh:dPSVW3PEdى]{\hXhhhhCX0;FEEEM܋F~^ E]EPjWyP]E8$juh_ EME6;pXuMd Y_^[]UVW&hhh tjjjjjNuN t! h@@=Nt! h@@=Nt! h@@x=Nt! h@@P=Nt! h@@(=N t! h@@=N0t! h@@jjRQEP2Etxud QhEMÚMU t>jjRQEPEtxud Qh踴EMy`PPh~ M0w$ff;uftfHf;Nufu3u PPW MX'$ff;uftfHf;Nufu3jhTPPW ~bjjMQ dP9FuHj`PPE RP5 t hGPu XpPxthnjWhah Wp tt  d_jEjPGEPjEt$}PuTuSPhXȲ hE=vuPSh 2he f=e e uPPhL~XuhhjjWMh  u hE}  ]3E؉E܉EEEE싅P1SRPQ1 ֋h`~MڃEȅ~!VjWPPTP hEEPMEE tujuuhq3 hz`EEtPj0 P0 EątPj0 P0 ƋMd Y_^[]Ujh;dPT03ʼnESVWPEdE ]ME$E(DžDžERQp<1 ֋RPq1 ֋Mui3jjjvxjPjjjjuDžS1 ֋:h39%hDžjPDž uu!h4hP ctG3QPuS1 օx83jjjjPhPjjS1 ֍Qffu+uWh4hP)DžEQQ0jPv1 օyFQPh EPq1 DžhDžjP~ hP4jPPPXEtxud QPh4ѭ E菓DžEQh[P061 օxCt9DžRPq1 փthn_Ph2hPhPjS3tWPh@  E'E'G;&E'ut hhDžDžERQp41 ֋RPq1 ֋lM ."2DžExh39hDžjP DžEt'PhPW&QQ0jPv1 ֍Qffu+uWh4hPlyFPVh EPq1 DžhDžjP hP諷jPPPϖEtxud QPh4H EDžEQh[P061 օxCt9DžRPq1 փthdPh2hPhPj_0tWPh E-$E$G;aE$Et1Pq1 DžuthM }ut h 3EtPq1 DžEtQr1 DžNjMd Y_^[M3p]$Ujh;dP,3ʼnESVWPEdu} jVP-oEF FF PhvlhDHEQQCaEpQ;rRi+SPHPk EDžDžtPj0 P0 DžEDžDžtPj0 P0 DžωPj"EDžDžtPj0 P0 DžMd Y_^[M3莺]Ujh0<dPV3PEdE ujh^p0jV0MQPxzEEEEMlPhl~EjjjuPEtxud Qh~輥EM}EM^Md Y^]Ujhh<dPSVW3PEd}]?hhe S)0e ff;uftfPf;Qufu3uBjh^PSPuG hĒ GPQr1 ;IG>]MjjQ dP7jjPSEP苏Etxud Q]EMju1 t^;Gu ;W uhR;Gu ;WuhAjjRPEPEEEthM)YEthMYEthMYEthMXEthMXE thMXE@thMXEthȧMXEthاMXEthMlXEthMUXE th M>XE@thM'XEt h(MXE܍ME؍EPjEM@CG;}D uPq1 ֋y h<~EM̐ƋMd Y_^]Ujh<dP03ʼnEVWPEdEEEM̋0Qh[P61 ֋E̍URPq$1 ֋EEEE EMu^MЅuMEQMQ0uPv(1 ֋xEЅuEPhk3EEЅtPj0 P0 EEM̅tQr1 ENjMd Y_^M3]UjhM=dP\3ʼnESVWPEdM ]EMMM$DžE0Qh[P61 ֋RPq(1 ֋t {RPq,1 ֋Tuh"uh߼PhϼWSAύQffu+39OExphvu3SWhhWfDžEDžEDžEQhZP061 օRPq 1 օRPq1 օRPq 1 օxn|c~uYhPԠjSWP莇EQ\Ph ECjSWPLEtxud Qh ̘E~DžEQSP0v@1 ֋<u EQ@PBEtPq1 DžEtPq1 DžEtPq1 DžEtPq1 DžC;+3EtQr1 DžNjMd Y_^[M3f] EtPq1 DžEtPq1 DžEtPq1 DžE+Pq1 Dž Ujh=dPSVW3PEd}Eu*< URPq 1 օExEuEEEEuPVk}EEEEEE}t!EPEPEPEPV3ɅI!MEEEEEEEEEEPjMEnEE؋PjMYEEPjMDd$=u 0 Pq 1 օo=u yEEPEEPuEEݔ3MQEEEjjj0hPv$1 ֋xUʋE ȉUEu EUEԉU}hlDžpDžtt jMoMEÄu.jMPjMePhuMnh P3EuMX\Dž`Dždt jMEHÄu.jMPjMPX5uMXM P肵3HEM Eu䍅xQP+EMEEPjExEDž|tPj0 P0 DžxM3t/U3E9P(uU9P,u MQPaMUF8;r֋U3u؅E3ۋM}]I9|}9| t jMzEHEucjMjMs";}|tttDhpWVStMuN]u'hphh tΑ Pٳ3Ƀ8MIMUЋE܋}Fu؉]; u]ESVPEMEEPj EEEEtPj0 P0 EM3tCU3E9P(u+9X,u&]9X0]uM9H4MuMQPMUF8;rËU3uE3ۋM}]I9|}9| t jMEHEucjMjM";}|tttDhpWVStC\Mu]؋u'hphh t' P3Ƀ8MIMUЋE܋}Fu]; ] Eut PSuEPq1 օi$hl 譱u h4薱EMEE܅tPj0 P0 EEE̅t'Pj0 P0 EPhL6EEtPq1 EMd Y_^[]Ujhe>dPSVW3PEdj8jP  RPq 1 ֋t-+hvhh t XkEEEEEEEEE hAAM  h AAM h AAM h4AAM hDAAMl h!M+EhPu}EN;rQM&u}]+hPP3PuE u PύEHEMA;rPM^&u}]u+P3Phu uEEEEtPj0 P0 Eh^EH;rQM%u}]h^+3WPuẺuePAA:EhTEMB EEEtCSj0 P0 E*EETPjMEE!PjM Mjjjlj PLjjjjjj jj jjjEj P;&4Mjj<%jjM0%jjM$%jjM%EEdPjMhlhp*h hphhhhhhd M tEEPuЍMEEPuЍMjh(jP蹢 lj]}$=u 0 Pq 1 օ=u  (QWS0PvD1 ֋33ہ, É]Jut EwD MQ,0PvH1 օu0EMPjDžDž2} t]} EEPjM<}(DžDžt jMEHÄu.jMDPjMPu̍M"5 Pʪ3ɃIMЋEDžTDžX #,Pt jMEHÄu.jM詽PjM~PP肷u̍MP蚲 P/M3HEЉDžDžt jM EHÄu.jMPjMPMu̍Me P蚩3DžDž HEЋ0u jM] EHÄu.jM腼PjMZP螷u̍Mc覲 P 3ۿHEЃ4Dt jM EHEuujM؍Mj]ͻVFu+;~|tttD%WVuStVMu8aMu#Whh t6 P(D3@8E<8HhEЍEjPA<P T ti}DžDžt jM EHÄu jMԺPjM詺 tQLDžtHDžx0Pv 1 օyEEPjMM}txDžDžt jM EHÄu.jMPjM׹P;u̍MS P舦3ɃIMЋ` Dž$Dž(t jMH EHÄu.jMpPjMEP Iu̍MN a P3H EЃ}ptjEhjPQhjjp QPMtnpyEEPj U1tEEPj 7EPj tE E$EE$Pj EЃ t j MEH Eukj Mj M;}ޅ|tttDDh$SVWtsMu<~Mu' h$hh t6O PA38EH EЀl} x||EEEt j MEH Äu.j MPj MP|Pu̍M|h P蝣3H E3EhWE}0 P 0 ؾ@]3ufEE;EuP;uHh(KEH;rQM`}u]+h(P{PߝE }}M;uO;uGhDEH;rQM}`}u]+hDP{P肝 }}싅0t2hPEH;rQM)`}u]hP7tEh|cEH;rQM_}u]h|+{VP }}싍 FjjEPQ;0E%jjMQPhhe u Ev\DžPDži3Ehe EhQQ8E\Q,Q58EMP9E,Dž4Dž0tPj0 P0 Dž,EDžDž tPj0 P0 DžEDžDžtPj0 P0 DžE\DždDž`zPj0 P0 Dž\[EDžPDž1E 8h"E MQDQ6E hQQ57E MPH8E DžDžtPj0 P0 DžE DDžLDžHtPj0 P0 DžDE 8Dž@Dž<tPj0 P0 Dž8EEEEtPj0 P0 Eh lt hM7]}GEEMPEEED\Eu+SPEpPO uE EuMPuЉuEEEtVj0 P0 EE}EEEtSj0 P0 ]E؋ pj|}EERhhh t{蘝|Jh 耝hl qu 3EMnƋMd Y_^[]Ujh>dPdSVW3PEdjHEjP+E ډEU1RSPQ1 օ }jhe 0hSuP1 օQhe h}膜EjjjuPaeEtxud Qh~.zEM_jjuEuPeEtxud Qh~yEM_WWh,~ he uHf=e e uPPhL~蹛}tj}M3E؉E܉EEEE졬 QSW0P1 օu3h`~mMڃEȅ~jju EPEPSW~3Md Y_^[] Ujh>dP(SVW3PEdEEEEPEPuQ؅A}thɚ3'EURPq1 ֋؅h u蟽}Eu ujW藐EU RPq 1 ֋؅Euuuu$u$u uuuuu u LEEMEQh[P061 ֋؅EWPq1 ֋؅uݒtWuh 蔙EH$DhDlEEEEMEQh[P061 օxEURPq 1 uuhT EM,EURPq1 օxuuhtƘ h 跘u$Eu @uuPu ju?tPhPhPhPhPhuPhj7ha7hXw7h Lw7h 8$h !hؗPh ȗ3EMwEtWj0 P0 EEMtQr1 EËMd Y_^[] )7ES^ir{*ir<Ujh?dP`03ʼnESVWPEdE}M$uEWPߍKIffu+DžDžEPPVrLy:EBQr1 ֋Džt4EPq1 DžDžEDžEDžEDžEQhZP061 ։EtQr1 DžEtPq1 DžEtPq1 DžEtPq1 DžEtPq1 DžE uxRPq 1 ֋ywE EEEE$P9Pq1 ֋RPq1 ֋bRPq 1 ֋;RPq1 ֋DžEDžEQheP0v81 ֋y#EEQheP061 ֋xhDžjP DžERPq1 ֋u D6hQPwj h(4Pp j h@4PR jh\4P4 h3VWf_̦h VWu~h֑uujh WP[EƂPPh$to E2UWt,E PWFPVQjDžQDž0QPvP1 օ}$ijjjjjQDžQhDž0QjP1 օu 3hVWf_CPVW5DžE @|M~!$h&ut+Q0Pv 1 kDžE QhP[P061 օx)Q0Pv 1 E >3fhQPUzjPVWPxYE MPPh0l E RE VPWu@uPh<ǎEuQj0QvPQP1 օPq 1 EEEEEEEE3Md Y_^[M3] US]u W[] VW} Ͼ ;u)sM Qp1 _^3[] Ϻ`a ;u sËϺpa ;u s뤋Ϻa ;u shaWbRq_^@[] UVW};~w ~3_^]SG Pj0 P 0 ؅u [_^]t2vPS萈 6j0 P0 G [~F3_^]FFCfFfCG [~F3_^]UE@y@@]USًt\EVW ;uA3t6;t u$ u  Pj0 P0 Eׅu_^[]UU rJEVEqXEW>EEEEPwUWй F+ȃr@FWB_^]hMiUEVQu0u P01 ^] UQEVWE0MQhTtP61 օx1EWu0u Pv 1 ֋MQr1 ֋_^] UQEVWE0MQhdtP61 օx+EWPq1 ֋MQr1 ֋_^]UQEVWE0MQhdtP61 օx1EWu0u Pv 1 ֋MQr1 ֋_^] UEVQu0u P1 ^] UEVQu0u P1 ^] UEVQu0u P1 ^] UEVQu0u P1 ^] UEVQu0u P(1 ^] UQEVWE0MQhdtP61 օx.MGpPQr1 ֋MQr1 ֋_^]USVuW@s@Vj0 P 0 ؋t(PVS 7j0 P0 w_^[]w_^[]Ujh?dP(SVW3PEd}EP3S7W]v1 օ|7EPẺ]PvW1 օCEMjQE0ju Ev4P1 օE3ɺh  Q<؃]EtQMSju1u Qv41 օu139}v'EEd$v6覃Gv;}r}EtSj0 P0 E}]uB} uD~t>8~t EP+ EMCMd Y^]Ujh@dPSVW3PEdsMAEsjjjjj0jjjj jjV.jj03K09Ppsu h0{u%hTh`hh@hThh39{4I=u s0 Pq 1 օ?=u I{0ts8C8 +ύ4ȃ;hXhh t>\W~K<EEEDEhphh t[~M̈uhhh t[uhh }{u"hh hh t[}jV胠{ u*8h hh te[~}VSG;{4hl ]}u EMAMd Y_^[]Ujhx9dPSVW3PEdEEտy Wh  MQhP061 օy}h|E]SPq1 ֋@u뺁utWhR|ZuDEUERPq 1 ֋yWhx9]th |3Wh`{EEtPq1 ENjMd Y_^[]UVW} t\utU֍Jffu+ыSYffu+[;wsf~u2~u,~ u&h$qhTh\hdhhq} MUt F  u FFPQRuuu uhqq ^] UjhAdPSVW3PEd}} E]0 Pq 1 օG t;0t8*O43҅~G{>T>&>>=>>>>>UjhAdP 0t3ʼnEVWPEdDžE QP1 օyDt h&hDžQQ0hPv1 օx"PtPh@lEtPq1 DžMd Y_^M3]]U3ʼnEVuEPu|hP<|x΍xPu QM3^N]]UEVFFu2^]=w-WiWj0 P 0 tFljF_^]^IUjhBdPSVW3PEdeMhj0 P 0 uuIuEEPVM}EPFPM}EPFPM}EfF ƋMd Y_^[]juEPM`jj`eUjh0BdPSVW3PEdeMjj0 P 0 uu7H}uuu EEPVM#}E PFPM}EƋMd Y_^[]juEPMjjdUjhPBdPSVW3PEde}hj0 P 0 uurGEWVMm|WFPM`|WFPMS|EƋMd Y_^[]juEPMWjjcUjhpBdPSVW3PEde}]CGCGC_@G;tI1Qj0 P0 ;7uEES +SOAEPR1EPP0EMd Y_^[]M=jjbUSVW}ً u$v6Wj0 P0 ~ t_^[]Uuj0 P0 ]UE]UVW9w~ uPS]CNff;uftfQf;Pufu3uv6~ t[_^]UUVrBx uPBF;Pu pr^]B;u 0r^]pr^]UjhBdPSVW3PEdeu3}]t,?wPW0 P 0 }u|DEWv6EF+EtQj0 P0 FEF>Md Y_^[]uuEPMEjj`UQVq+W};s?+S?+;r2+1+;[0B;s_^U]_^]轺UUV2FFx uPBF;PupVr^]B;PupVr^]0Vr^]Vt$Pj0 P0 FF^SVWX{ u$v6Sj0 P0 ~ t܋@@G_^[UHESVWjHjPJZ} M ]d$ URQW0P1 օuYhhe W>e ˍ$ff;uftfQf;Pufu3t}ЋNjM u_^3[] _^[] UQE UVW7;u;u_^E] ;t]x uAPz ux u-IЋx tPz u;Bu‰E Rz tU QEPE ;EuM_^] UE SVىEWM M1~ tyAx tU z; quw9Hux 9u>~9u" t׀x u Ћx t9H t ։P{G׀x u ЋBx tP^V;Qu ruw>ABAP9HuPA9uPABEJ @ B EH Ȁy ;x ;upNy uA VF Ny }x u Ax thAx uQ@ A NF A F AV@ 2zy uA VF y uAx ux uA v;x=5x uAQ@ A F A F V@ vMG Qj0 P0 CM tHCE_^[]USVW} W6;tCSOff;uftfAf;Bufu3t E_^[]E_0^[]UjhBdPQSVW3PEdut_>up] 3ɋÉ^Xh  Q虂}Eth0,SjXW{3E>u3Md Y_^[]k}X>uMd Y_^[]UHESVWjHjP*U} ] t> MQSW0P1 օu;= u; t}ЋNj] u_^33[]Nj_^[]UHESVWjHjPT} ] tw MQSW0P1 օuUhhe We Xff;uftfQf;Pufu3t}ЋNj] u_^33[]Nj_^[]UEm VW tut_2^] E8_^] UjhBdPVW3PEdF};s=;w7+;Fu jNMMEtE;Fu jNtFMd Y_^]U=u Vu00 Pq 1 օuhl \u 3^]=u uu6Y[Puh\ V"JtPhķs\~(t hз`\Wh R\vNv}ϋFPF QNσPQhܷ%\v ϸN vF$PFQNσPQh[<>uN0v0F4σPQh[h [_^]Ujh(CdPT3ʼnESVWPEdEu؅G觹؅8u \ ؅tSh88[h8.[ 聫؅t S5 \ uE= }Eg袧th(uZhlu]%uhZJj8EEjPP suO URP1 ӅtheZ@}EPEwE3 thF!ZU jQuMP1 Ӆth,.Yy39]v[$EMt45 9Et#9EuEShYEPC;]r}uE4kh'hY3EtWx1 EEtVp1 EE ÍeMd Y_^[M3J]ShؗX@{UjhhCdPD3ʼnESVWPEdEu؅9Ƕ؅*u \ ؅tSh8XXh8NX 表؅t S5 \ ủuE= }܉}E輤th(uWhluWMD MQMQP[(1 ӡD URPY1 Ӌ]3 ʉEtSh WISEe>SD QuMuj[,P1 h<AW}u)u3D 6PY1 ӡD URPY<1 ӋEju406hpVEjjPEPEjjMă QPEĄyh|!ththhlVEjjPEPtujh@VEjjPE4PytujhVEjjPE8PMjtuhU jhU hUh UG;}ű}ܡD uPY1 3EtWx1 ׉]EtVp1 EE7ÍeMd Y_^[M3"G]UjhCdP3ʼnESVWPEdM ELEPY؅0 ؅!u \ ,؅tSh8Th8T ؅t SH5 \ P E= $EDžHDžXDž\Dž0Dž,Dž<Dž8DžDDž`Eh hv؃TEu)HhX|\E0E,E35 Ph0|]>PhL|K>ftPhh|/>ft'Ph|>Ph|=ȅ~%jjjP$P!3EQrEbUjhFdPSVW3PEdEu֟؅+臛؅u \ 詿؅tSh8=h8= a؅t Sť5 \ uE= }EG肉th(u<hlu<3AEEEEEEPjEEPjEEuPu EEEEKGu3u̍ME3EЍUЉEԉE؉E܉EE䡬 RPY1 Ӌ؅thP;]%jHjP2 ÙRP5 踉؅th4;5h0;EM3;u1U;u*jjRQEPaE,PhL;{M;u1U;u*jjRQEP)EN,PhdC8 d s,&jjjPEPE,PS8h|EMPS,3Qh0:EjjuuPE+PhdfEM'jHHjP0 Huu5 M؅th=:HP+h0:EjjuuPE+PhLEMuԍHu5 ͇؅th9MHP<+E3ɺh  Q\ȃME u3EMgEMEtWx1 EEtVp1 EEËMd Y_^[] jQuP[1 Ӌ؅th8U3ۉ]9]EIC8E썍Ht45 薆؅h08d } s,&EMjjt4EPEE j)PSuh|E MHP)]C];]REMSt4h7tUjhXFdP$SVW3PEdEu)؅dڕ؅Uu \ ؅tSh8k7h8a7 贇؅t S5 \ uE= }E蚪Ճth(u7hlu63z.Luh63]] EP!tCCP u;t]}uh63 `EEthл$uhhuh8Eu djEEjPu}؅ dEjjPu]؅Euh`5@oPh5u\ h5@jhjjjh@u0 E00 PhԼ5h|5EtWx1 EEtVp1 EEËMd Y_^[]Eh PEXEui]]SjP+ jSuu*uuh4]jjjSD0 jEEPuuSH0 3u0 u hDh`UjhFdP3ʼnESVWPEdEEP貖؅ c؅u \ 腶؅tSh83h83 =؅t S衜5 \ \E= `EXth(u3hlu3zhd33EtWx1 Dž`EtVp1 Dž\EÍDMd Y_^[M3$]hhjP) h5 3tlh2 |h2ou=5 hڧth̽l2@hPCWOd3 t hF- jQdXP1 Ӆt h,.39dXht45 蒧Su4h$1hPVh 1C;dr(h1@UjhFdPtSVW3PEdeEu趓u=ku2u \ 葳t:Vh81h80 EהƋMd Y_^[],t(V萙E褔ƋMd Y_^[]\  EE EE2}tQh(ud0hluZ0EM EME#3Md Y_^[] Ruhx0E[Eu MͮEMѮEM腹y}p1 Ph'/}EMYEMMEq@Md Y_^[]UjhCGdPSVW3PEdEu覑؅W؅u \ y؅tSh8.h8. o1؅t S蕗Y5 \ uE= }ER{th(u.hluz.3EEEEEEE̍EPjEEPjEEPu EuEEEEwEEEE8u3BuM\EEuhw-3 }tPj5 Puhx-3ju Glt]ux!pE썍RP5 {tjuhTx7- 3|mD HYuSShlx, Cj`jP#j`,jP#EP,PPSYu;jjPSEPEPhxp EM13h xOEuhyV,3 P jP[ RPQ1 Ӌ؅th],Eh8y,h|y+hy+juhz+,Pu(uj0 P0 hTjP! T($5 zthxr+3TPEEuhxG+3MQMQ,P1 Ӆthx+3J MQu($P[@1 Ӆthx*3 uu2EMqEMeEtWx1 EEtVp1 EEKËMd Y_^[]UjhGdP@SVW3PEdEu艌؅:؅uu \  W؅tSh8$z؅tSh9)hv) \ 5 uE= }E6vth(uh)hlu^)EtEEEEEEEEEE̍EPjEEPjEEPu EEE3}v EtEEth P1 3ɉEԉMM؋E uh9\ thNg3ɉEԉM7 URP1 ӅthhAZ(@aM؋E uh?(@F]Sh*(5P Suuk؅uhDuh`h'EEtPj0 P0 EEtPj0 P0 EtWx1 EEtVp1 EE_ËMd Y_^[]UjhGdP8SVW3PEdEu虉؅rJ؅cu \ l؅tSh8&h8& ,$w؅t S舏5 \ uE= }E Esth(uw&hlum&3EEEčEEԍEPjEEPjEEuPu EEEE1u3+uM{Ejjjui3EMEtWx1 EEtVp1 EE聉ËMd Y_^[]UjhBHdP3ʼnESVWPEdM EDžEP蟇؅[P؅Lu \ r؅tSh8$h8$ *u؅t S莍5 \ E= E?qth(uq$hlug$3_DžH\PjDžPjDDžD|PDžLDžPDžTDžXuDž`DždDžhDž.u3 EDžDžDžDžDžDžDžDžEuh|z3Pnouh|Py3jHjP RP5 qth|y3h } AAA h}AAA ӁDžE^YPh } P["( h(}AA@fuPPh4}~ h<}AA$ hH}AA hX}fAAjjx hl}fAA~jjjjj虐jj誘jj h0qwh}gwh}h}h}h}{3f;,3$ QVDžjP1 Ӆt5h@`xxPh}Dž|Džw@PPPU`jzllPjDžpDžtwux9tp(b(RP5 muAj8PP^ <85 u}u}Uu}I(a(RP5 mu 8 ;r ;s}Pjfwhhe Dže PjwF;3EREmEEtWx1 DžEtVp1 DžE螁ËMd Y_^[M3]UjhHdP3ʼnESVWPEdM EEP؅j{؅u \ 茟؅tSh8h8 Dm؅t S訅5 \ E= E$_ih(uhlu3EtWx1 DžEtVp1 DžEËMd Y_^[M3 ]DžPjDžPjDžPDžDžDžDžDžuDžDžDžDžN&th3EhjP3 RP5 i؅t)jh$ E|9PPfuPPh<hLz ,t h\d(t hdN@ t hp8h +jj$ PE! PhEhLHhTPhܠ\Xhd`hvlhh<`Htph\G|xh|1 t- tRQhhġh}hh*hhX hhPR[8PjQ1 hh}hh*h$hhX^ hhPR[8PjQ1 3EUjhIdP3ʼnESVWPEdM EMEPLz؅;u؅,u \ ؅tSh8h8 g؅t S;5 \ uE= }E轊cth(u*hlu 3QEEEEEEEEE̍EEEEdPjEEPjEEPuEEE8EEEEܜuEEEEh!u3}uh 1 u؍M]Euuh$%139EPS<؅}h@DžhDžlDžpDžtDžxDž|EEEhh_hLpju8BEAuc8Eȃ ĉ8@@Lȃ ĉh@@Nv8EAtE8苞EhLEMEEtPj0 P0 EtWx1 EEtVp1 EEkxËMd Y_^[M3Y]UjhIdPSVW3PEdEuv؅Gr؅u \ i؅tSh8h8 !d؅t S|5 \ uE= }EEEEE؉TE܉EEPjEDžPuPjPDžXPu Dž\Dž`Eu3u؍ME}uh}u܋h 1 Ӌ؉]uu hLjXdjP djS5 蒉؅th]EPjS5 d jjx3Ʌt@I!MP(EMPhԉE@uuhplhuuh4uhTuuhx8E츊}uEd Ù9duEȊ9htEd }EԊuEd }EuEd }ud }ud }ud }0ud uuuuSRQPh@$}tu|hp hE3ɉEh  Q3؉E ]EthujS,3ۉ]E]EuEM> juuju苛,P1 Ӌ؅th5EM>h*hЋh؋h܋U3ɃM|] Ctehhe 3Hrjjs@3PEhe Psss sh|E@:UMAM;|EM=3EMEE܅tPj0 P0 EtWx1 EEtVp1 EErËMd Y_^[]UjhIdPHSVW3PEdEu)q؅l؅u \ ؅tSh8kh8a V^؅t Sw@5 \ uE= }E蚁Zth(uhlu 3jjjEEEԍEjPu EМuEEEu3muM#Eh*h h(h0 hX| 3EEEEEEĉEȉE̍EjPho>3EMEtWx1 EEtVp1 EEpËMd Y_^[]Ujh(JdP,SVW3PEdEu)o؅j؅u \ ؅tSh8k h8a  o\؅t SuY5 \ uE= }EXth(u hlu 3EEEEEE̍EEԍEPjEEPjju Etg}thDz Ruh 1 uh ˉE1 ӋMtt jPQuuhhzE  3EMTpEMHpEtWx1 EEtVp1 EEnËMd Y_^[]Ujh(JdP,SVW3PEdEu m؅h؅u \ ܌؅tSh8K h8A  oZ؅t SrY5 \ uE= }Ez}Vth(u hlu 3EEEEEE̍EEԍEPjEEPjju Etg}thzy Ruh 1 uh ˉE1 ӋMtt jPQguuhhz%  3EM4nEM(nEtWx1 EEtVp1 EElËMd Y_^[]UjhsJdP3ʼnESVWPEdM EMEPjftu \  誊؉EtSh8tX؉]tSh9hv \ b{5 uE= }ETth(uhluEEEEE̍EEEtE|pPjtEPjEEPuEEvEEEEȰvEEEEܜuEEEDžxE}Eu7< URPY 1 ӅExE}u EuEuMEUD ERPYD1 uhvQD URPY1 uhv(EPlEMEtWx1 EEtVp1 EuEiƋMd Y_^[M3]UjhJdP\SVW3PEdEug؅c؅u \ 輇؅tSh8+h8! tU؅t Smv5 \ uE= }EZxQth(uhlu3EEEEEEEEEEčEE̍EPjEEPjEEPu EwEEEEuEEEEEu3.uMEuuuuEMEMhEMhEtWx1 EEtVp1 EEqgËMd Y_^[]UjhKdPDSVW3PEdEue؅Za؅u \ |؅tSh8h8 s4S؅t Sk]5 \ uE= }EvUOth(uhlu}3EEEEEȍEEЍEPjEEPjEEPu EuEEEEE u3^uMwE}th<3,uDNuhx3juudEMdEtWx1 EEtVp1 EEJeËMd Y_^[]UjhrKdP3ʼnESVWPEdM ExEPyc؅b*_؅Su \ L؅tSh8h8 Q؉tt Sbi5 \ xPjoXlEuhnh0h|PjxlHh0h(|PjxlzHEl*h0{hDq|Gh`SEp*hu dKDžuc3UEEEE졬 RP1 Ӆth-}t ]艝ShDž|}ur RP1 ӅthD.gy|PPL"hBj|F#3 th$ jQxP1 Ӆth,.39xt45 Hhuxt4Sh ]DžppPP=!p|h'jpEC;Zhh0j|EtE@葽EtWx1 DžDEtVp1 Dž<Eq]Í(Md Y_^[M3Y]UjhKdP,3ʼnESVWPEdM EMEP[؅z=W؅ku \ _{؅tSh8h8 4I؅t S{a5 \ uE= }Ek8Eth(ujhlu`3jEEEEjE̍EjEEjPuEEEEEvEEEEvEEEEܜuEEEu3uM#E|D RPY1 j8jP  RPY 1 Ӌ؅thvDjË ]M1$jhPP4  Quu[DP1 Ӌ؅yEMD QP[H1 ӅhwuhHw }tQ<wH u?8 tRPY,1 ӍlPpPEPt6}t/D uPY1 ӍEEPE[dËh M]D |PY1 3EM膹EtWx1 EEtVp1 EElYËMd Y_^[M3Z]uuhvL rUjh LdPx3ʼnESVWPEdEEPW؅6S؅u \ Xw؅tSh8h8 E؅t St]5 \ uE= }Eg ؅u h$=@ tvEP tiUtaMPQPRhH&EthT[4` 7Bthlhth =;uh|#CtDPh hؾbu hEP+tOUătGMPQPRh_EthTh0Eh 83EtWx1 ׉]EtVp1 EEVËMd Y_^[M3]UjhkLdP$SVW3PEdEuU؅P؅u \ t؅tSh8Hh8> B؅t SZ5 \ uE= }Ewe>tyh(uhlu3EtWx1 EEtVp1 EE{UËMd Y_^[]EEEEEЍEPjEEPjEEuPu EEEE A}7uM胳E]S<uEPEPEPun1] 3kÍ RP5 ?M}u(9 u h(3EMAj8jP RP5 t h@A3EMVjj0E,PE'PhuEM蝳jjj,\h  PhPRPQ1 Ӌ؁@uhhEMDt0hxqEM"jShTxP 3EMeUjhLdP3ʼnESVWPEdM EXEPiQ؅M؅u \ ؅t SXWX5 \ (0E= L4Ea;th(u5hlu+3HDžHEPETjEDjE̍$jEEjPXDžPDžTDžDDž$EdEEEElEEEEvEEEEȜuEEEEܨEEEu3D,胯ETk QjjPDžX1 Ӆ3 Htnu7hxhhhdhh̞e  RQh&$F t) WRQP1 Ӆ7LX(XhH|| EEQh;EjjP81 uhluh_uhRhHDž8XDž<Dž@E:u{\ \RP1 Ӆ2T8PP\PL&T P8hH3 thFw8 jQXLP1 Ӆth,.139X_\L\t45 "8uEhSh< 8TPP\PG%C;XrhD. hPo 3E8E,/EtWx1 Dž4EtVp1 Dž0EMÍMd Y_^[M3]UjhMdPSVW3PEdEu6K؅oF؅`u \  k؅tSh8xh8n )8؅t S%Q5 \ uE= }E[4th(uhlu 3EEEEEEPjEEPjEEuPu EEEEu3%uMEEjP"3UEEĉEȉẺEЉEԡ RPY1 Ӆth;ERPxڋ ÉM]jjSQEPEPhȴEM蒪E;Eu!;]uhشh0;Eu!;]uhh, jHHjP HSu5 k4ua jhe huuP[1 Ӆu3f9e e uhPhtuh]SuhHjhh̵-tEPPh uhThhh EjPh 3EM;EtWx1 EEtVp1 EE!IËMd Y_^[]UjhMdP3ʼnESVWPEdM EDEPIG؅^B؅Ou \ g؅tSh8h8 4؅t S8M5 \ 4E= 8EW0th(u!hlu3h+th3KDžH@EH<L(Pj(DžLPjDž<PDDžDžDž DžDžuDžDž Dž$Dž,!u3b<0腥EHtFhPiu Dž@UHh 1 Ӌ؉@|~Luh DDžDQhp`P1 Ӆyh@L@uP ⋅DRjP1 ӡ0 jhljP1 $PP}uhh #uhxjL [ jLuhu  ;~QjjjLP1E5SjLGPh@E躤C=EL5vPhEu3E0tEHEEtWx1 Dž8EtVp1 Dž4EEDËMd Y_^[M33]S܃Ukl$jhMdPS3ʼnEVWPEdK CEPRB=u \ btVh8h8z /t V+H5 \ dE= t`ER+t&h(uhluDžhh(hhhDžppDžHuLHDžPjjjjPDžTDžX_u Gp\迠Ehh LnPh,DžrS j7h@ uh @;vċthDDžDžDžDžEDžxDž|-t$h3ɉx|\ P xRPȉ1 t hhA|x\ 5P QPUthXh 4 PRPQ@pȉ1 ʉ9_r ;UI=u '0 PA ȉ1 =u %uQh P PhDžPRPQ@ ȉ1 3ɉ 33lhh $ ;uQWVu&WVjthhX @;r$t$tPhtb9wH;hl u Rh Dž33Ʌ uBA;rhXshih_h0UhKhAh 7hp-hX#h,33ɉ u:jRh@Fƃ %yH@u h A;rh ihXhthhx/ih\h`RhHh>hX4DžEE\ɛEtWx1 Dž`EtVp1 DždE;Md Y_^M3][Ujh@NdPXSVW3PEdeEu9u=5u2u \ Yt:Vh8 h8 E:ƋMd Y_^[]L't(V?E:ƋMd Y_^[]\  EE EEJR#th(uhluz.Eu MvZEMVEMaEEM.EM.E:3Md Y_^[]}p1 ։EEP]-RUjhNdP3ʼnESVWPEdEu EP8 3 u \ WtWh8ah8W R %t W>< \ E EH!th(uhlu3jDžjEEjEEjPVDžEEEEE,EEEEuEEEVu3躖EhHh0h8h@hHhP# RP1 օth-eTPPJDxl`Tjhl~ht|pdXjhPp4dXۅyMٝ م l`TۅyMٝ ص |ٝۅ|yMٝ م @xۅxyMٝ م ؍PPhw  h(]uth\jh<th\ۅyMٝ م l`TۅyMٝ ص EٝEyMٝ م @xۅxyMٝ م ؍PPhi 3 RP1 օth-É3 thF jQS0P1 օth,.zD3ɋƺ0h  QEuCE3E3EEE}Љ}ԉ}؉}܉}}}} p$44t45  4PWt~EFUVEUątMMȋMN~M̉}Ѕt MN MԋM؋UNVM؉U܅t MNMUMVN UMt EF$E샅 0C0;3ۅt6pIv 6vvShlCv0;rߋ}Ћuuuuhth3ww 7wShG GۅyMٝمGGGۅyMٝصGٝ GyMٝم@GGyMٝم'؍ PPhC 0;!}u苝uWuhth({3ww 7wShdG GۅyMٝمGGGۅyMٝصGٝ GyMٝم@GGyMٝم؍ PPhC 0;!uuuuhtESj0 P0 Dž3E EtPq1 DžEtPq1 DžE/ǍMd Y_^[M3ɽ]h-ELUjhNdPSVW3PEdEu-؅)؅u \ M؅tSh8(h8 q؅t S35 \ uE= }EW>tyh(uhlu3EtWx1 EEtVp1 EE[.ËMd Y_^[]EEEEE̍EPjEEPjEEuPu EEEEA}7uMcE]SuEPEPEPuN ]p |ÍRP5 ^}u(9u hr3EM!j8|jP|E썍| RP5 tT|RP5 t6hh@3EM蟌%uuhE u hĸ3EMeuhԸ u h|jPhEl EEPjuj]Ã(|+Ã((h S2EEu/h( EMXEM謋2SjP jSu]S?u.PShX 3EM EM_T jjhuju[81  T 3EMEMhE@EMwjuh< 3EM̊RUjh>OdP@3ʼnESVWPEdM EMEP<)؅$؅u \ I؅tSh8~h8t ؅t S+/5 \ uE= }E9h(uhlu 3EtWx1 EEtVp1 EE)ËMd Y_^[M3蛷]]EEEE̍EEEEEPjEEPjEEPSEEEEEEEȠEEEEܜuEEEE}u ShtuMQEE}}PPum#t h}Sthhj3EEM >UjhOdP3ʼnESVWPEdM EEPy&؅*"؅u \ LF؅tSh8h8 ؅t Sh,y5 \ hE= PE6th(uQhluG3,DžtE4E̍tEH0PjHDžPjEE8PEEEE@EEEEܜuEEEDžLu3tTEDžXDž\EXPjEEEDž`DždDž|DžlDžxKtNPUx%pPxPjuhHtq RP1 Ӆth-TlP`P|PEPPhxPPjujujuj|jh8X388<@D RP1 Ӆth- @3 thFb# jQpP1 Ӆth,.39vw$pt45 lP`P|PEPPC;rjhl聿 3EX$ETEtWx1 DžPEtVp1 DžhE"ÍMd Y_^[M3]h޾xPPjujujuShD.跾1UVW=T up1 _^]UVW=T up1 _^]UVW=T up1 _^]UjhUdP SVW3PEdEuY ؅ ؅u \ ,@؅tSh8蛽h8葽 ؅t SH&5 \ uE= }E0 th(u7hlu-3AEtWy1 EEtVp1 EE ËMd Y_^[]UjhOdPV3PEdEuu EEEEEPjEEPVVu Dt_h6}uBu>t1IwP芦tP0F>u׋u>!uFVhq3EEtPV0 P0 EƋMd Y^]Ujh7PdPl3ʼnESVWPEdM EEP؅؅u \ =؅tSh8h8 d ؅t S#5 \ E= ED.th(u豺hlu觺3PjDžPjDžPSDžuDžDžDžDžu3e~|EuShu" QRQP[T1 Ӌ؅thu蜹jjPhE荪PhuBE}j跮< DžRPY 1 Ӆx t?hPPRP9xPhu辸 3Ej|EtWx1 DžEtVp1 DžEJËMd Y_^[M38]VW=T 01 3=L_^UjhPdP3ʼnESVWPEdM EMEP<؅B؅3u \ :؅tSh8~h8t ؅t S+ 5 \ uE= }E*th(uhluXEEdEЉ|EPj|EPj`Dž`uPuDžhDžlDžpE}uMxE u hxb3EMzujuЋع ]u"PSh 3EMy\MEQtEQ\EQMDžtQPSDžx4u"PShؘ贵 3EMcyEEEEEEEEEEEEEMj NE荋;wjjMQ dPi%];]rjEPSxNEPEPuuut4EPMJWE؋]ÉE܍EPuEuP0E;Eu]];]sE;Et/MQPE EPEPuuuw]EMȉM9MuAAE܍EPQx*]ȍEPEPuuS7tEEE܋]E;Ev=;Es8MQPx'EPEPuuut E؋]ÉE]E;Es@]܍EPSExEPEPuuSu ];]rE]}tuSuh$諱jujuh8e}tuuuhpy}tu]Suh_jujuh]܃}t'}t!UU؋M;u E;t;uhЙhܲ3EMNEMvh賲3EtWx1 EEtVp1 EETËMd Y_^[M3B]UjhPdPSVW3PEdEu؅t:؅eu \ \4؅tSh8˱h8 .؅t Sx5 \ uE= }E$EEE܍EPjEEPjju P}u?=\ tttPQht# WttPQht ;|:4+ADd$@H HH$HH(HH,uድ8TEʉẺAE؉AEԉA uԋ0q@q01Ph@趎04@<(;@L8u$h}h|kȍQAuL+HDPxt"DvPnxuꋵ8jjjjjh@L0 ؅4Pj P0P$JEIrP_E0DD MQP[H1 Ӆuuh 'h|hˀttjh賀vlmEjjplPmIE>c}vZu3T X1  T ӋS虤RPSRPSYRPhbG;}ru܋}̋]uj0 P0 E3ɺh  Q蹅Eu Sj0 P0 jjMQPEPSuQ؅t8Shl`buj0 P0 EPj0 P0 2h)bthhh27lthhhMltkhhhh\>a}v2]us ssss3ha[uڋuuj0 P0 Dhtauj0 P0 uj0 P0 Eh I u PVntDžuߋTt Dž4E`謦dAd;(PuAsu u,jWLj@Dž4EH{ET{4ll؉lt S辶l肝؉lt SNp辏jhh(Lhp RP5 /tjhh<L ptjkIlth`kLPPhhPr^0  0jQjP1 ֋؅ShȰLPhLl6 jWh0jhvXP1 օtjhhK LS Lju WSu t!$ u PWƅuhLNKhlhP]]0 0jQjP1 ֋؋lKhJhخJh,JhTJhhJhJhJ3EXtPj0 P0 E\tPj0 P0 E_ƍ\Md Y_^[M3G<]UjhXdPx3ʼnESVWPEdM E|EPy؅*؅u \ L؅tSh8Ih8I ؅t Sh5 \ tE= xEh(uMIhluCI3EtWx1 DžxEtVp1 DžtEެËMd Y_^[M3:]DžEpEE̍lE PjDžPjEDžpP|DžDžlEEEEEEEEEȰvEEEEܜuEEEDžR |DžuF< RPY 1 Ӆx uDžu Džl$ EP"ufhP(PP螇t (u4hFD3E$ }RP5 ؅t)jhF E$9 6u#hĹaF3E$ j8,jPh< ;uh Džh,RP5 Ct#h@E3E$ D Hu#hԹE3E$` ]4u#hĸE3E$3 0uhԸ u hSEhhe [he h*,ETX t)\RQ`HDhDLHDh DhDžjP: DžDž|ESDžPjLqÃ(|+Ã(T(h SGg|Puh(DSjP*: jS,3u0,hXC LjEEl0 u500 =udtxrPh0fjd0 PPp0 3ɉ9ptfh je؉hEt&3CCC hB@3ۉEuN7T XDQ#PL& hMP1 Ӆth4ABtPj0 P0 Sj0 P0 3ɉDhTAT D#P`[PR1  T hdA`؉M#‹TPP\T PR[1  T Ӌt&tPj0 P0 Sj0 P0 t h0 3E|=oE$UjhXdPSVW3PEdeMu uuEuNQMEƋMd Y_^[] juEPMwjjw;UjhYdPSVW3PEdeى]Eu }WEP0uC;4t/vuFPu Ouu FP=tV6uE};t!OH1N9VHNOHWEKʋ;u29C|IuE0@Md Y_^[] ;u9AA;tKD@D3E8@Md Y_^[] uMjj :Ujh! dPQ3PEdUUEtM ABABA B ABEMd Y]UjhCYdP V3PEdujjuF|ENAAEUR^EjPAEPŐFFEƋMd Y^]UQEWu>9 w60 UVRP1 ^xEt3?t _]UjhvYdPQV3PEduh`hPohjV)@EdždžEƋMd Y^]Wt+Vh`ppjP7@Vj0 P0 ^_+ ̃9t ̋tVp Pj0 P0 ƅu^UVW}EWPIE;ucEGEGEG 9ΉEEPEwWйH$ F+ȃr.@ΉFWBPPEP`E_^]hMUMU V ;us33^]:u'A:BuA:BuA:Bu33^]3^]̋D$0őD$<OUEE]%(0 UQS]3Vu W}~ 99t@;|;<}9E% t2=ut&h:_^u []E3ɺ Qj0 P 0 ȉMtP3Q5 3j0 P0 E_^[]UjhYdP3ʼnESVWPEd]s sh|O9S K$ tQRh49 h'9C,3Ƀ Qj0 P 0 Ez jPs,1s3v0 Pq 1 օ=u jj DPQP>Etxud QhEh,jP9. , 0Qv4P1 օuFP,P8ft\uPPh*7G;{,#hl ~7u  hh7EtPj0 P0 DžMd Y_^[M3)]UjhZdP(3ʼnEVWPEduMԋ}EuEEEE" E}u5h6EFFF Pr p= uv-j EPuu STEPP4uuaHuuuu &TEPFFF  EEMƋMd Y_^M3']UjhQZdPSVW3PEdEMEEEE E}u;hV5uE܃PFFF * 3]3tӸGuE Q$Au+ʋU rffu+֋uFEffu+uwM;vKMwVj0 P 0 E܅tΉME!MJhEY49E܃= URvUSu 4QPTFh \QPCFuEPFFF  EEMƋMd Y_^[]UjhZdP<3ʼnESVWPEdu]E} uhjP]E:EVPuWSEEËMd Y_^[M3-%]UjhZdP43ʼnESWPEd}Mȋ]E}EEEE2 E}u8h2EGGG P= u vEj EPuu`Pu Ej Puu LPEPPEP4uuVDuuuuPEPGGG EEMNjMd Y_[M3#]Ujh[dPSVW3PEd]} }G3ɺ Qj0 P 0 uEuh;1EEP?PVSpu:E Vj0 P0 EMd Y_^[] EPVVh \0EM_Md Y_^[] Pj0 P 0 uEuh{0EEPWVS賧u6EtQVj0 P0 EMd Y_^[] uV2Vhh 0EMc^Md Y_^[] UjhK[dPQVW3PEd=X t{0;tvP0 =X 6;7u}EGt%Pj0 P0 GG GEWj0 P0 X Md Y_^]VFtuGFut"Pj0 P0 x }ƀ FtPj0 P0 FFF ^VFtPj0 P0 FFtPj0 P0 F^Ujh[dP(3ʼnESVWPEdEu }] u  E EM9  u y  3jQh0 -hPT0  DžEQhfhe1 @uPVjjS1 EPq1 Džy4EyPq1 DžZDžEPEQ̉uy&E@E.>SV$1 ׋DžQQVp1 ֋nhP@ @BPSE_Et+Pq1 DžWVjjS1 tPP0 = NjMd Y_^[M3*]̸@ UMVuEPu u6<t^]Qp1 ֋EW}W0jju v0uP1 օu/t0t#u5EPq1 _@^]WuWPuuuuWMQr1 ֋_^]UVW} 3t S]tPLFF;r[_^]UVW}tMGFG F Gt F_^]jj0 P 0 t3GFu~F_^]V3FF t@|ƀ   F~u(hj0 P 0 uF^Ujh[dP3ʼnESVWPEd}]u EHLTu @`ptxjp|EjPE ȃ\t2WQTVS8pPhN$Eȃ \ dDždRP$1 օxUhhPd^t:ThhP< uWhPLSpPh#E@\$Dž`E`< Qh(P061 օ3Dž@rDžDrPp$@XPjj`DžX1 Ӆ<X3 Qj0 P 0 dEuEjXV`1 Ӆt#EVj0 P0 Džd\PhhVK PhhP/!hlhhP;u?ThhP: u!WhPLH\PhhjcK tEd%TP@PzpPhp!E`tPq1 Dž`TMd Y_^[M3F]EdSE`}3Ujh&\dP SVW3PEd5X 3j V0 P 0 u}tEPEP}E3Ejj5X 0 P 0 ȉMEt}A3E( 5X A ( ]ESP謥E;txDžujWu0 thPT0 uTMd Y_^[]EEEPhS1 ֋؅x5Euu 0jPv 1 ֋؅xu X 3ۉ8 tWP0 EMtQr1 EËMd Y_^[]US]VW3E; u-j W0 P 0 hTjV _^[]; u E tE MQjj}0jSP1 օE3Ƀ Qj0 P 0  jWu1jSQ1 օyWj0 P0 3_^[]}t#E[fLG]Ef G3ɋEfLG_^[]U= wc VPՠ= v,= u#0 M Qu0jjPvD1 ^]á0 M Qu0jPv<1 ^]UQH u(0 MVQhH 0P1 ֡H ^]U 3ʼnEMU SVW} SDžDž0RQP1 օ < SS0jRQvu2hufubvjj jWv EvPEtxud Q{EMiMd Y_^] 3ɄMEMQ dtjRPW褏)Ȑ$E}Pt h<hh^E߃}uthDuuhH Md Y_^] }tEPhPEPhX}EPthPn}uth\[uuh`v Md Y_^] }juhhG Md Y_^] E$hl^ Md Y_^] EՃ}EPt hlh}jj jWv EvPEP0EtSjjjPEPEtxud Q^EMLMd Y_^] jjhK Md Y_^] h,&ht&Md Y_^] Ύpo@ Ujh\dP 3ʼnESVWPEd}]utM P<h}hp?hhhThhh*h:$P C8{[ jH0jP4 0 0QSWP1 օth |3| Qs0sP1 օth<ku |juP0PssFF j@jPDž8hjP% 0Qs sv4P1 օPE $d$9 P r@9=u 0 Pq 1 օe=u o P Q0P1 օ "uu t u } ujjPEtxud V PQhpFE4t  to jhe h1RPQ1 ֹe 3ҍqffu+vQ..Ue fUe Ue Ph|u<=t/jhhe W P e 3ҍqffu;E"sUtJ8tEPhP/hKhP.V=PhP|.V#PhP. Ph| ~tt tutPh9h9hhf jhhe WPE he h6cth xhjP5   0Qs sv4P1 օ8PS/hj0HjP  H0Qs sP1 օthjt puh39s|PtERPVw 1 _u>dt4 P PjHt1Pt‹v RPQ1 օu9Eu[3^M3] `QSh0PvT1 օu`M[3^F]UEVW}j8jPGH Uă RPq 1 օ6Eąt*3ɺ Qj0 P 0 MS]܋ M=u 0 Pq 1 օ=u jh\jP \ 0QuvDSP1 օ~l pt;W3~91t@;|;uJO4tD ]ËM M0[_^]hl u [_^]Ujh^dPSVW3PEd3j`PEEP } 0Qu WP1 օ{jHPP^  0QP1 օ6hPP  0Qv4P1 օj@P(P ( 0Q v(jjP1 օEЍUЉEԉE؉E܉EE䡬 RPq1 օx8<;]0;u'WM"EEPMEy8 }E.&uE3 3ɋ Qj0 P 0 ؉]E jSu0Pv1 օ39u~IjHhjP ht45 4EuS9}tF;u| EDEEMj%]uEM%Ë֋Md Y_^[]EM1%EMR%33ҋMd Y_^[],( ?؋ˉu uu΁ u>jHhjP hV5 6?]u70U@`VjHjPF ` 0Qu uP1 օt 33^]hjP  0Qlhv4P1 օuj@PEP M 0Qv(jjP1 օsEUEEEEE RPq1 օ@EU;Eu;Uu uu=^]U|3ʼnEEM S]VW3EE]MEE9}vSAE=u 0 Pq 1 օ=u EGE;}r}t;=u 0 Pq 1 օt}=u PoP[:I=u uS0 Pq 1 օt#=u u1CCP]uhl u _^3[M3] E'{-CE؉]: u t'Sh3_^[M3]P(uUd$>tI=u 0 Py 1 ׅ=u FFPt}<-{tI=u 0 Py 1 ׅ=u FFPt}EPwVSy.u#u=h 1 ׋}ȉMMGWtHEw M MGWtHwE;}}މ]t^];b_^[M3]Sh3_^[M3]EPhlw3_^[M3]]EPh4Q3_^[M37]EPh+3_^[M3]Sh 3_^[M3]Sh M33_^[]U졨 MV0WQju vluP1 ֋u= MuQ0Pvp1 u uP0vt1 օt@y_^] U,3ʼnEMSVW}Mt GURQ1 ֋؅t3_H^#[M3] EMQMQ0P1 օIE t;EuD< MQMEQjuEuE0Pv<1 օx73ۅu$EMQMQ0P1 օtEEG@Euu؋0P1 ֋M_^3[] UQt E]A]UQt E]A]USVWj8EjP Uă RPq 1 ֡D URPqD1 ֋]܋Ëu tRjh\jP` \ 8QVSDP1 ׅu`;Et]Ëu u_^33[]_֋^[]UM y<thx] }EI0SWX=dKEt);rH;w+M_[] LJU;s P EVP1hWv RPQ1 ^u(EMELJ+8_[] xME_[] ̡< Vjj0jh,2Pv81 ^x3U< VW30WWWv8h,2P1 օx @ jj4u1h|4d 4` jQ1 _@^]Ujhy^dPTSVW3PEdE] E=dEt;r;w+fLJU;s P EPh1WRv PQ1 օuE쉇ELJ+8E]hjCC0 P 0 3ɉC@fMh4EKA;KrQ裦KC+h4PHPs j0he hju苶P1 օx)he KA;KrQ5he 'hKA;KrQ hKC+PHPE Ms EEEEPyEhEEEOQM薥u؋EЋMh+QpP uEEPEPM~EMhQ~Ep8C@;CrP0KC+WPHP<s EEEEtPj0 P0 EEEEEtPj0 P0 EEEEEtPj0 P0 EEEEEtPj0 P0 E MQEE0ju v\P1 օ jhe hu0uPvX1 օxFhe GKA;KrQԣSK+he Q QQ shKA;KrQ莣KC+hPHP sMEEURQp 1 օxyEEUERPq,1 օx1Ehe jh0jPv1 օu he ~EEtPq1 EEEtPq1 EËMd Y_^[] Ujh^dP SVW3PEd} ]}tEEEM졬 Qu0P<1 օJEURPq1 օ+E3ɺ8 Qj0 P 0 M SPuMQ1v1 օ]EEUERPq1 օy hxEURPq1 օy hcQE3ɺ Qj0 P 0 MWP1uQv1 օy&hEM;"EM;3h@EMtQr1 ENjMd Y_^[]@Md Y_^[]̡ u- Vh P1 ^u  @3U3UEEEE VRP1 ^#E]UQ}uS]VWu}PSWE3t >tP>F;rE_^[]Ujh^dPSVW3PEd] wzttup MQMSEE0jQPv`1 օuSVsMt+EMd Y_^[] thFjSh d%t MU jjRQEPaEPh~8EM&jHEjPi Muu5 .u@jjuEuPEPh~ҽEM&h4h\h|jhhe SVhe h}Md Y_^[] jhhe SVhe h]Md Y_^[] MU txjjRQEPE1PhEMԯ jhe hu0uPvX1 օt3Mjhhe SQh0jhhe SVhe h}E E-!uu5 ,9tXjjE PE?PhPEMMd Y_^[] = v+MEQPQPhp豻Md Y_^[] uuh Md Y_^[] h h h{Md Y_^[] Ujh _dP$SVW3PEd]S}Eu ֍JIBu+3If1fMX A;vEEM QjS0Pv01 օEMQjhX 0PvL1 օEME3QMQ0PvP1 օuvIt hdbEMjQP0v 1 օuPuuEPq1 ֋EMQMQ0PvP1 օtEuuЋ0PvT1 օeEX j+Smuj/S\t-3MfEQu0SPv$1 օ _뱋}EPu7SWv$1 օxjuuj.Sfx.u3f7E؍EPuv$SW1 օ]؍EPjEE7PSuvDEPW1 օx"}uhjuu(=EE7PjEԋvTPSuEPW1 օx}u h믋}EEtPq1 EEtWp1 EMd Y_^[]U3ʼnEEM SV0Wωv8QQSP1 օs$;;u|3ɋ Qj0 P 0 tAWQ0SPv81 ־ t_^[M3B]_^[M3*]Wj0 P0 _^[M3]3t!ϋtt t;v uፅ;tWj0 P0 03M_^3[]UjhH_dPx3ʼnESVWPEdEEEEDž|EEEEEM< Qh(P061 օEPEPEPju uEMQuu0uP1 օEMQMQ0P1 օ}3}E@]I< |Qju0uuv(SWP1 օxgE8u3muEEtmPq1 ETEEtPq1 E3TEEtPq1 E}] < |Qju0uuv(SWP1 ֋Md Y_^[M3]UM u @]S]W=dEt;r;w+LJU;s P EVP1hWv RPQ1 ֋^tx8E _[ ]EM ELJ+83ɋE _[]̡ u- Vh P1 ^u  @ 3UM %=t3] UVRQEE0juv`P1 ^xŋEu9Eu ]P #E]USVu/]$EJBu+3If1fMe A;vW} EPjhe 7WEvL1 օ7EEPEvPPW1 օu83ۋECPq1 ֋7EPEPvPW1 օtЉ]]u7uWvT1 ֋u3ɋƺ Qj0 P 0 uh_^[]E0E7Pjhe vLW1 օ7EEPEvPPW1 օux3ۋEMjQP0v 1 օt EuuU  <tSEPq1 ֋7EPEPvPW1 օtu7uWvT1 _^3[]E_^[@]^@[]UQEMVQu 0Pv1 օuPuW}VjWu  Ft3VjWu  Fu@MQr1 ֋_^] Ujh_dPSVW3PEdى]}}}MQu0Pv1 ֋xhEEUERPq1 ֋xu uuuuu u_EMtQr1 EEEtPq1 ENjMd Y_^[]7EjPjv$WE1 օE3ɺ Qj0 P 0 ؉]EE7SPuv$W1 ֋l39}v5EURPq1 օx E9E:G;}r̋}EjPj7WEv1 ֋E3ɺ Qj0 P 0 ؉]EE7SPuvW1 ֋E3t5}u uuuuu 4<EF;r3tPq1 G;}rEtSj0 P0 EEEtPj0 P0 E@Md Y_^[]EM}WQ0uPv 1 օyuh4uWE } Wu0Pv81 օx*?t%39}vPq1 G;}r3w39}vPq1 G;}r@D39}vPq1 G;}r3EtSj0 P0 E]EtSj0 P0 EƋMd Y_^[]Ujh_dPSVW3PEdM܋E3ɉMEfME]Ph`YS361 ֋EEMQSp1 ֋EEEEUERPq1 ֋xXEURPq 1 ֋x;EURPq1 ֋xuMuuu uujEEtPq1 EEEtPq1 EEEtPq1 EEEtPq1 ENjMd Y_^[]Ujh_dPSVW3PEdj`jPjHPjP3j@PE؉E܉EEEEEPhPjPE0!T  Qu 0uP1 օtMd Y_^[] P}]Q0WSP1 օuhl tjuRQu u[ MQWS0P1 օl PQ\0XPv41 օ<}P]PuEM9 T I MQSW0P1 ֋u9Euf}PEhhe V P"Me ff;uftfQf;Pufu3t) T A T  T E؋}Ћ];T3EtVq1 ENjMd Y_^[]UQEEPuy ]uEuRPu u%]UVuW} VWu0 t-;t)j\WAtHw;s3_f^] _3^] UVW=T 01 _^=LuE 3]=duE 3]=uE 3]@]Ujh+`dP3ʼnESVWPEd}hP5u 0 DžPP褪Vj0 P 0 ؉EtzSVjPmtfDžPDžPh|SBt5 ESj0 P0 Dž'EtSj0 P0 Dž3Md Y_^[M3]UE w|$ ]]] ]](]0]8]D]P]h]p]|]]UQEVWt tU r(U r }Mp(y<thx_^]S]t2y8t,I0BIjMjQ dP6xE7[_^]UD UVRPq1 օD MQu 0PvH1 օxiD uPq1 օxMuW}WjV\E H WVPq 1 ֋ D uQr1 ֋_^]USW}] Vj8EjPۺ Uă RPq 1 օth,@^_[]E3ɺ Qj0 P 0 uh=^_[]}܋NjM M$=u 0 Pq 1 օ=u jh\jP \ 0QuvDWP1 օu*E <}NjM Ms^_3[]uWhvj @^_[]hl Ou ^_[]_@[]UMSVt tE X(E X Y(uMy<th^[]}WI0=d@IEMt,;r"H;w+M_^[]LJU ;s P EPh1WRv PQ1 օu0EuMELJ+8}_^[]x MEu_^[]UQEVWuLu +uFPj0 P 0 u _3^]VuFPWӬE8_^]Eujj Pu-M E;E u_^]U 3ʼnE< VW}DžDž0QWPv 1 օWhPh Pf::h Pޭt!$f::h P轭u< QDžDž0QPv 1 օxm_^M31]hPRt=f__hP8wf__hPuXM3_3^ȱ]U` u(W? ` ` f_ _+U_ ]U8ESVWj8jP芵} Eȋ] PE RP1Qvh1 օuME؉EЉEȉ_^[]U= w9= v0 VP=0 M Qu0jjPvD1 ^]UUVQP2hRv1 ^]Ujhk`dPSVW3PEdً}EjjPE7RPv WE1 օt2Md Y_^[] E7MjjQv RPWE1 օuutujj0 P 0 EEt 0@@@H 3EjE7jPEv RPW1 օtWh8h8 7 t W$e5e=ejEejE0 P 0 ؉]Et!Es{ CECC3EE3Ph4eS61 ֋ySj0 P0 i< MQMQ0Pv01 ֋xF39]v:< MQSP0v41 ֋xuuuMy C;]rƿ@EMtQr1 ENjMd Y_^[]Ujh`dP43ʼnESVWPEdEjjE0 P 0 }EtG3E}EWp1 jj0 P 0 ؉]EtC3E]ESp1 3EfEEfE3fE؉EډEމEEMEQMQ0MQh_Mv QSWu uP1 ֋ȉMԅx:EЍMEQh_0P61 ֋ȉMԅxEȣ EEEЅtPq1 EESp1 EEWq1 ֋EEMd Y_^[M3詪] ̃= u0 Vh P1 ^t3  3; U tu20 MVQM0QP1 ց}^A t3]US]j,StI;,VWt-u +ހ>t/3PQ;uF<3,u_^[]_^3[]3[]Ujh@adP|SVW3PEd3UE3EĉEȉẺEЉEԡ RP}q1 օt%h(33ҋMd Y_^[]uлE3 t%h33ҋMd Y_^[]3ɋ Qj0 P 0 ȉMEuh蜶u33{ jQuЋ0Pv1 օthdu33C3ۉ]9]/$ujHPxPX x 0QMvt4ًP1 օEuƻ3 3 Qj0 P 0 ؉]E jSu1|xv$Q1 օ39u~BE;u!E ;Du }|xEF;u|EM]C];]]uEtVj0 P0 ENjӋMd Y_^[]hXhǴEM33띋ut4h<螴 33USVWt/}X09] rw;rP39M rw;r@ u_^2[]_^[]UE3; u; u ]3]UVhhjP# 3 EȉẺEЉEPPPE؉E܉EEEEEEh1PEjvPjRPQ1 ^@]UHEVjHjP謩 E 1PERPQ1 ^@]U0 MVQM0QP1 ց}u,0 URP1 Eu \ ^]3^]U0 MVQM0QP1 ց}u,0 URP1 Eu ^]3^]U`VhjPs ` 1PEv4RPQ1 ^@]UQEEPuyx 3;M]3]U\3ʼnE P EVW}1jj@Pv ǙRPQ1 օt_3^M3{] P jhPE܋1ǙRPv Q1 օuPt3STt: P UjjR1ǙRPv Q1 օu} t";r[_3^M3ݢ]M[_3^Ţ]US]VWQAuu +ʋ֍zBu+;s _^3[]ˍQd$Au+Kً΍QAu+ʍ~;r"PQw;uOK;} s;]r <\t<:u_^[] u- Vh P1 ^u  3UQEEPuIx 3;M]3]UV5 EjPj&E1 օt0M h hQ01 օy @^]3^]U$3ʼnEESىW} ;t_3[M3]VQWp@DžDž1 օQWpL1 օt%hH莮@^_[M3q]QWDžpDž1 օxW7PDžPvhW1 օx&PM^_3[؟]UjhadP SVW3PEdك;t3Md Y_^[]j1 MEEEPQEahh0bhba%yWh4h0* EEM< Qh(P061 ֋yWhjEMQEj0jP01 ֋yWh諬,E3ɺ Qj0 P 0 EEEMju1PQ01 ֋tWh0IEEj j0 P 0 }EtEt2M lH@EtM |H@3EMPESu0juuvuP1 ֋y tQp1 EMCEMEEtPq1 EEEtPq1 ENjMd Y_^[]Ujh:bdP3ʼnESVWPEdE}hjxDž0 P 0 ؉EhjGG0 P 0 3ɉG@f Qu0u DžPvT1 օyh02'7)hjP?3 @DHjLPTX\`dhl he h0PvX1 օxFhe G@;GrP/gOG+he PHP7 w jjj0QjjvPP1 օZh@jP.E@ Q0Pv41 օuW QL0HP1 օu t E < RR1jRvEhQ/>EQQ=Eh4Q=EP?EDžDžtPj0 P0 DžEDžDžtPj0 P0 DžEDžDžtPj0 P0 DžEDžDžtPj0 P0 DžEDžDžtPj0 P0 DžEDžDžtPj0 P0 DžEtVj0 P0 DžEtSj0 P0 DžNjMd Y_^[M3赖]UjhbdP3ʼnESVWPEdEE f3 RPq1 օEEǃ|%+ǃ}hE3ɋǺ Qj0 P 0 ЉEuh蔣EBBB B jP1Qv1 օt hǾ3  Qj0 P 0 u h3ۃ$KPjHPPԘ t45 %P3ɺ Qj0 P 0 Pu jWP0v$P1 օ3ۉ9Px}j@P\P \t45 薜63ɺ Qj0 P 0 Pt jV`\[*0*   ̋ t1VQp$1 ֡ Pq1  ^U EVuPEPEPhVu'E3^ E E]EPEPhVڈuU3^ U3]EPh 4V諈 uU3^]33^]UW}~jσ?V~%0 hQh0jPv81 փ~3OG$0 hjPq81 փ u^_]UP Vju0uuvu P1 ^]UjhcdPSVW3PEdeMjj0 P 0 uu^}uuu EEPVM蓓E PFPM胓EƋMd Y_^[]juEPMjj{USVCCsCyM]EuEyM]u]EAubs sUWRKE6RPAEPN;FCs9?t3ˋ6VFPEP>;u_^[]UEVqP 3P3P3#9Qw+^]^]Uuj0 P0 ]U S] VWs 3s3s33W#9ww +W6@ tu7uE9uu;Q ;us3%:uB:FuB:Fu B:Fu3u uE뗍Q ;us3%:uC:BuC:Bu C:Bu3uME_^[]E_0^[]Ux3ʼnEj4EjPs EPǒ=D uh ̴D E; u E; tah0 }h}MPQMPQh| P P P Ph|0   V(< h jj0h,2Pv81 ֋ 5   < MQRh 0jPvD1 ֋EuB< h P1 ֡< MQjh 0jPvD1 ֋Et t   E5     t!uh{5   u@^M3um]ËM33^dm]U3ʼnEESVu WlN u33 F3ύEPj QPjEPjv Pj E PjWPjEPF jPPjp PjSPjlhzM03_^[l]h@jhHj hTjh\jhdjhlht^zhjhj hjhjhjhht,z`UEU ‹Eu f0] SVW}E3ېt,F3jj RW +ϋ0Fmu E uˆNE;vNG;w_^[] UEM @ H;HvH;sw@H;HvH;Hs#Hw@,H(;H$vH$;H sH v@<H8;H4vH4;H0sH0]UQMS]Vu WExt+#؀>thQVM wQVM E@E rtW>thQV ΍QAu+ʋU+9Msh܀^x_^[] ShR1Pe_^[] S܃Ukl$3ʼnEVWhThh4h<hLjhTjh\3jhdHLw,d$=u 0 Pq 1 օ~=u 4 PQL0WPvp1 օ]x=w"tt=u3d ,$%=tPhEj P<E,PEjPp =t5= t'=tPhEj PE*  PEjPl EPEPj EPtPj EP`zP׋hlP3VƃQPRTWhDvH,hLlHLXhl vu M_3^g][S܃Ukl$3ʼnEVWj@xjPkj@DžxjPDžDžDžkj@8DžjPDžDžDž(hkj@xDžHjDžXP8Džh1kj@DžxjPEEEkj@8DžjPDžDžDžj4 MHDž8DžHDžX0QjjvpPDžhEE1 օME؋t> t!PxPEPPvED@;} uNhP@PTRPrx)@;HtPHPh<c tIT+u69w(CPch csp0 tЋTDXt+jPQT;Eu hHachPTP7``PNX`PBX39}jhP`M t6jhT`M tjhX`M +uuhPLLPt6LX+QT+Lh\}b``PW`Wb`PhWhdP5bjhp`L `P)W`3Xw7PL tXFr `PVPP\PdP`P\DŽhd+P jhx`L uw`PMVPP\PdP`=t$P\tlj\dQP5DžhDžxDžjh`K `PU`3Xw7PEK tXFr( `P\UPP\PdP`Lt\DŽhdDŽhjh`J `Pu?TPP\PdP`tnPte\LXT`3Xw7P5J tXFr t DŽhh (_E 9Ts}hl _u ^M_3[P]UU$ƒSVWGEWW GE G\GGHO _A#3G u CG GO Et(wA#G u FG G҃@CG39W\Ë0  | G~ +3W KJ#֊E$G‰uʉEƒ0E EGGƒ@E$G%} ErAO %EGq | G~ +ދ3Љw uWHGH] 2j3 EG8}t%j jύp M+ȉw(uO,"u 9uuw,w(j @G(@G,tj GG}tj G G p}tj G0G0@I}tj G4G4}t#}t G< j G<G<}tj G@G@}tj GDGD}t GXj GXj }GLt GT j GTtLtwGPBGP9t1w87OWL+W W Gut Wh_^[]VqtVvj0 P0 u^UMA#؃t@u]UE VWH ֋3 3ǃ E  _^]USVuW]׋N F#AF u FF tj ǃN VA#:F u BF FtjjΉEEǃE3ۅjKN ЋFUY8 | F~ +3M^ @y;B;v~ZA ]EC΅tAjN EFQ8 | F~ +3V UjUBЉUEx mEu}@FN 8Q | F~ +3V jΉ}tN EEFQ8 | F~ +3M[V UUT@|E;BC;C+ӍCUڍ]؉EFN EQE |%M N~E+ʋ@1EEV E΅tJjVN E:QE | F F~ +3EV jMȉMMCK; m<]M@FN 8Q | F~ +3V jΉ}N EEFQ8 | F~ +3M[V UUT@|@BC;C+ӍCUڍ]؉EFN EQE |%M N~E+ʋ@1EEV E΅tJjVN E:QE | F F~ +3EV j_MȉMMCK; m<]M;e FFF  x;sT΅t;jFN 8Q | F~ +3V jMC;rU;uWF  |F jΉF FN 8Q | F~ +3MV CU;st+ىM]ًF  |F F ΅t;j8FN 8Q | F~ +3V ju]UE;uQF  |F jΉF FN 8Q | F~ +3V CE;siF  |F F ΅t;jXFN 8Q | F~ +3V jEC;r_^[]UESEVW3U@JEMISK 2 | S~ M+3MC EIJ#֋u# uUt}E릹 ++M_^[]UESEVW3U@JEMISK 2 | S~ M+3MC EIJ##M ȉMUt}E_^[]U}t h(JQE MUEEjuEEEEE ]Ujh ddPSVW3PEdڋG|jh%PSE}u }u}u+7h1 ֋7uh1 փ7h1 ֋Eu7h1 փ#+y-؋7PPh1 փ 7h1 ֋Eu7h1 փ=+y-؋7PPh1 ֋7 uuh1 փ 7h<1 ֋Eu7h1 փ#+y-؋7PPh1 փ 7hH1 ֋Eu7h1 փ#+y-؋7PPh1 փ 7h`1 ֋Eu7h1 փ#+y-؋7PPh1 փ 7hl1 ֋EuhB+y-؋7PPh1 փ }th}thh71 E7Ph1 ֋EuЄ*=vLPhPjjh ` 7Ph 1 E7Ph 1 ֋7uh<1 փut!7PhX1 ֋7uhl1 ֋ETXDždDžxETEEEEPh hhzhxEEE }t7h 1 փw~$Hah|71 փ3EdtVvj0 P0 uNjMd Y_^[]hhhhh 뎋7h01 փux|H+~~ Nω$>N эF8 | F~+3V #u,I+ʉumDžHFǃ~ FϸV#GF u BF FN ^A#F u CF Fƅ3EPۉˆ;3Ʉ MQ@t„Ɉ;r7t9N VA#N u 3ɉVN t+u؋V3ۋF +Љ‰ωFGV # u323uVϸG# u33tGϸG# u3u`C빅tHJɍt jj jj@؉@ |# ~ +ȋ3؋9?$N ~A#F u GF Ft?FN y | F~ +3Ѓ?~ ;v떋ۋt'uu SPC#}t(Eu!PPe_[M3^.3]S܃Ukl$3ʼnEVWCCKjjwC 7GCOG GhGjP6Džx 0@Hu@Hu\`FVAdBAFA F A $F$A$(F(A(,F,A,0F0A04Ft:~r+S+tPPSv) ~~[r8_^]UE8u3]P:Y]UQu eYu$MP$E]UQe} uMh\ u uE]UQu epYu$MPE]̸̸P̸U=tM9t xu3]Ë@]U=tM9t xu3]Ë@]%h1 %l1 %p1 %x1 %`1 jhl]E uzOu3FTIuN\0 \& U NyIQx TxjKYu  aQɅue ~H e= uKuJuu)Q*IcNEuu=tHpu^5/VYu[hjZYYV5GVYYtjVGYY0 NVSYujFY3@N\ U} uTuu u ] jh01\3@u u 95 etu==tuVu1 ׉EuVuE]SVu}}u4u0SPu{}SWuE܅tSWu1 U܅tu6SVu#}t!E܅tSVu1 U܋}E&MQ0uu uËeE3X[U} u uju!uuCYY]U0 j ,[uX= YYuj[Yh XXY]U$j膀tjY)     5 = f f  f f f% f-  E E E        jXkǀ jXk LjX Lh]Uj]UjtM)     5 = f f  f f f% f-  E E E       jXkM h]UVMF ufWC~WlOhN; tP Gpu|[F_;, tNP Apu^FNApuApF  AF^]Uu MgMyt~EPhub E A}tE`p]Uu MMyt~EPjuqb E A}tE`p]Uu MMyt~EPjub E A}tE`p]Uu MkMyt~EPjua E A}tE`p]Uu MMyt~EPhuxa E A}tE`p]U=H uM  H%]ju1YY]U=H uM  H]ju^YY]U=H uM  H]juYY]U=H uM  H]juYY]U=H uM  H%]juYY]SVL$ T$\$tQ+t :uHDBv4u %=wً ;u҃v#Ʃt3^[Íd$^[UUMVu u 9M u!3.tE tuuuaj^0q^]SWu+ފ3FtOu+CtOtJuu_[uu E jPDX`j"UW=L }wwU  fnp۹#σ+3offtftf#uf#DžEЃSf#3+#I#[DžD_U t93t;DDžt Gufnƒf:cG@LBu_ø#fft#Ϻf#ufft@ft뽋}3كE 8t3_̋L$D$WSV=L  fnpftufoftfڅuf~ڻ#؁w'offtftffكtۃtj:uЍNu9#ځw/o foftftftffڅut:bH^[_3^[_À9t#فwo"1f: fsKt tf~»#؁vt:tf:c@ ws׋#ށw)#ځwo f:cN qyLA:x뭊toqtUL$:tt :t u^[_3Ê:u~at(:uAtf:t3^[_-G^[_Ë^[_Ë 39 U$MuEtM E SVWt}t|$~\}܍p3ۉ]t~EPjP)[}܃ HtFʋE]-u FM+tM}]EC:$1u0tj _0PSfDYYt1P0 P& u0 KQ0 L& E3_^[]UuYH]UVutU t Mu3fQj^0^]W+fIftJu3_ufMQj"UE} ]U$3ʼnES]VWjY }} tt Qp ΋x1 ։]}t tE@EPuuu0 M_^3[2]QL$+ȃ Y* QL$+ȃ Y WVt$L$|$ ;v;h%P s3Ʃu% %P s vs~vftcfoNvfo^0foF fon0v00fof: ffof: fGfof: fo 0}v foNvIfo^0foF fon0v00fof:ffof:fGfof:fo 0}vVfoNvfo^0foF fon0v00fof:ffof:fGfof:fo 0}v|ovfs vs~vfجur*$جǺr $$$l(L#ъFGFGr$جI#ъFGr$ج#ъr$جIϬDDDDDDDDDDDDDD$جD$ ^_ÐD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_Ðt1|9u$r $t$$IǺr +$x$tԭF#шGr$tIF#шGFGr$tF#шGFGFGV$tI(08@HPXkDDDDDDDDD D DDDD$tD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_ÐFGFGFGD$ ^_Í$Wƃуte$fofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpJutOtfofvJut*t vIuȃtFGIuX^_Í$̺++Q‹ȃt FGIut vHuYUVuW} FAw GBw t;t+_^]U=H u)}uIa]Ã} t]ju u ]UMSVWu}t] uI FEu SW4YY-+MQPMQPCt;t+}tMap_^[]jhp+=3uu܉u;u}M1 MUE EFu3@EE1=uE܅uuVu uyjh<e] Ë}NjuueO}x+uM1 U3@EE<}] uEu uWSVjhH<eMxEu+u uM1 UEE܋E܋EE8csmt EE]aeE6<SQQUkl$K =L fS |Hfnpfp%=w>offufuffu4f;t fu3f9H#"f;tftE3][UUMSVWu u 9M u3,tE t}tu3fFj^0f_^[]Ëf>tKutуu+f>ft)Ku$t+7fftKtJuu3fpuE 3jPfTAX3flFj"qUEu]ËM UVHt2ft f;1u +^]UUMVu u 9M u&33tE tu3fuu3fEj^0]^]SWu+f3vft%Ou +f[ftOtJuu3f_[{uE 3jPfTAX3fuEj"UEPjuuu u}]UEPjuu u]UEPju uh5]U$3ʼnEe3Vu W}jYuD[J9EtVfEIuuY=?v EEuMEuuP1 UM_3^]QL$+#ȋ%;r Y$-UQ3ʼnEV5h 0 t 1 jjYY U(3ʼnE}Wt uI8YjLjPz 0ffffffEEDž0@E EE0 P4Yuu}t uV7YM3_[]UE ]UQ3ʼnEV5 0 uuuu ut1 ֋M3^]3PPPPPjo\tjY)VjVjLV4^UV5 0 u0  ^]QDYUA PE P_YY@]UVEtV Y^]WVt$L$|$ ;v;h%P s3Ʃu% %P s vs~vftcfoNvfo^0foF fon0v00fof: ffof: fGfof: fo 0}v foNvIfo^0foF fon0v00fof:ffof:fGfof:fo 0}vVfoNvfo^0foF fon0v00fof:ffof:fGfof:fo 0}v|ovfs vs~vfur*$Ǻr $$$غ#ъFGFGr$I#ъFGr$#ъr$Ild\TLD<DDDDDDDDDDDDDD$D$ ^_ÐD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_Ðt1|9u$r $$$ԼIǺr +$($$8\F#шGr$$IF#шGFGr$$F#шGFGFGV$$IؼDDDDDDDDD D DDDD$$4<L`D$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_ÐFGFGFGD$ ^_Í$Wƃуte$fofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpJutOtfofvJut*t vIuȃtFGIuX^_Í$̺++Q‹ȃt FGIut vHuYjhж0/3ۉ]3}un;39E t܉}W=Y!]G @uqW荌YЃtt @$u)tt B$t:K]u%WO>EPSu W>؉]WV>E~.Ë]}Wx=YUEPjuuu u&]UEPjuu u ]U$3ʼnEe3W}jY9Eu:} Vutu9dwE;wuMESuEBu}u}P1 U؅t7x#MxEEPjgpYYt3D79E[^M3_]Uujuuu u]UQ}u19SVuW}uu9u 3] 8uuu;v,GPVhKuL88"uk8bSVhKEVDuu88"u5z8M)y(ub8" U8_^[]U}u28]Vut9} v3uuuu VhKyu 7" 7K^]Uujuu uu]UVW}tM t Uu3f7j^0_^]Ëf>tIut+fRftIu3ufH7j"U} Eu yjj juuu P]UQM Vu 7j^0z}SWw 6j^U3f@9Ew 6j"ދEj"^;w3҉EUtj-Xfy3@ډEMߋ3uUЋE vW0fAt;Mr;MM r3fY60 3ffff ;r3_[^]UVW}tM t uu6j^0s_^]Ë׀:tBIut+֊2FtIuu 5j"3UVutU t Mu5j^0^]W+AtJu_u u5j"3UVuWuY5 EF t9V胔VV臆P脒y~t v fYf _^]j h(}3uu4K(F @tf V>7YeV?Y}ENju}V7Yjh((e3}ug43~3] t38tДuu ,4ȃe?u 4jEPhZi VuSW襕}E'Ëu}V6YUVuu3j^0&$huu  t33^]Uuju uh`]jh0b'3ۉ]3} u@339Et܉}W5Y]G @uqW_YЃtt @$u)tt B$t2]u.W!6YuuuWM1 U؉]WV5E&Ë]}WA5Ỹ=L t-U$,$Ã=L t<$XfftU T$|$l$T$D$tj ŜY}E Flu FlvlYEY3Guj Yj Y裝uc3h0 YtVhjYYt-V5 YYtjVYY0 N3@^3^átP YUQS3V9]uj^0u t u 0 u3C3PPjuPS$0 Eu00 P7Y3APpYtuPjujS$0 u00 P6 &Y3@^[]UQQ3ʼnEEPhj0 t#VhuT0 t u1 ^M3-]UuYu0 VW5P& 0 5 t>t 6 Yu5 SV 5 3ۉ Yt9t 6 Yu5 V 5   5     ;t9P& tW} YV0 P& X t Pa YX \ t PK Y\ , 0N[u, ;t P# Y5, _^U6u苛Yhjjj UQ3ʼnE=Vt#hQYtu51 Y Qh8h$YYuMhP$ h=H& YYt%hH& >QYt5H& jjj1 3M3^.]Ujju ]Vj0 VƄVVlVRVL6Vf^ UE SVu3+ƃ9u W#vtЃC;r_^[]UQ3ʼnEVu3;u sWu>t 1 ׃;u r_M3^f]jYjuYjh|jYe=  E } 5P& 50 ֋؉]ԅtt5L& ֋]}}܃};rWj0 9t;rG7֋j0 5P& 50 ։E5L& ֋M9Mu9EtMى]ԉEhLh<YYhThPYYE}u& u}tjOY0 3ɣ Ã% jdh3j 譖Y3ۉ]j@j _WN YYȉM܅ujEPhO [ =D& ;s1fA Ya$A$$A$fA% Y8Y4@Mܡ ƍEP0 f}/E$MEE;|ȉM3Fu9 D& } j@W YYȉM܅ D& M}j[E؋U;2t[;tWtQuV0 Ut<4 u܋E؊FjhF P FUMG}ԋE@E؃U냉 =D&  ;s$fA Ya$fA% Y8Y4@MFuЋMj[3}ԃ5 u܃>t9tF FFujX GP0 EtLtHP0 t=M%uF @ u F FjhF P FF @F% tXG=]3 j xYVW >t7;s" tW0 @G;r6&&Y |_^UQQ=T& uFSVWh 3WS$ 0 5\& = t8uEPEPSSV]]?sEMs=;r6R; Yt)EPEPPWV EH=  3_^[]UQQES]VuW#}E t8E 3ɉM>"u3FȰ"M5tGFEPӘYt tGFEtMu< t< utGNe>< t< uF>U t:U E3B3FA>\t>"u3u}t F8"u 339EE It\GutA9Mu< t8< t4t*PYttGFGtFFotG-U _^[t"E]Ã=T& u V5 W3u<=tGVFYuGjP= YYtʋ5 S>t>V>=YXt"jSYYt@VSP uH>uȋ5 V?% '3X& Y[_^5 % 3PPPPPU}t-uj5 0 uVW00 P\Y^]UeeVWN@;t t УfEP1 E3EE0 1E1 1EEP0 ME3M3M3;uO@u G ȉ щ _^]UQW1 3tuVf9tf9uf9uSPPP+PFVWPP|0 Et7PYt*3PPuSVWPP|0 u SY3W 1  W 1 3[^_]UQ3ʼnEV5% 35tu1 $1 M3^O]UQ3ʼnEV5% 35ut 1 01 M3^]UQ3ʼnEV5% 35ut 1 (1 M3^ͷ]UQ3ʼnEV5% 35u ut 1 ,1 M3^艷]UQ3ʼnEV5% 35tuu u1 u u1 3@M3^9]UQQ3ʼnEV5y0W=4& 33=utVEP1 ׃zuF5_M3^3ٶ]Vh41 h4VT0 3h@V% T0 3hHV% T0 3hTV% T0 3h`V% T0 3h|V% T0 3hV% T0 3hV% T0 3hV% T0 3hV% T0 3hV% T0 3hV% T0 3hV% T0 3h4V% T0 3hHV% T0 3h\% VT0 3hxV% T0 3hV& T0 3hV& T0 3hV& T0 3hV & T0 3hV& T0 3hV& T0 3h(V& T0 3h8V& T0 3hHV & T0 3hXV$& T0 3htV(& T0 3hV,& T0 3hV0& T0 3hV4& T0 3hV8& T0 3hV<& T0 3@& ^Uu1 ]Uu0 P 1 ]Uj1 u1 ]UVW3ju u u%9( vVY;5( vuŋ_^]USVW=( 3uuYu#tVX=( Y;vu_^[]UVW3u u1YYu*9E t%9( vV Y;5( vuË_^]UVW3uu u裏 u*9Et%9( vVY;5( vu_^]UQ3ʼnESVrr;sW>t 1 ׃;r_M^3[+]UQ3ʼnESVrr;sW>t 1 ׃;r_M^3[ձ]hd5D$l$l$+SVW1E3PeuEEEEdËMd Y__^[]Qhd5D$l$l$+SVW1E3ʼnEPeuEEEEdËM3%% UU3SVAWrxttr|ttjr[~$ t >t~t ~tKuҋA_^[]UQSVu3Wtf= t_FxtX9uTt9uPKYYF|t9uP-YYvx YYtD9u@-P+P+P=( t9uP͎YYjXE~$ tt8uPl3eYYEtGt 8uPHYEHEuV2Y_^[]UUSVWJxttJ|ttjJ[y$ t 9tyt ytKuҋ1N_^[]j h8ee P Npt"~ltMpluj 6Yj Ye5 FlP!YYuE뼋uj YUW} t;Et4V0;t(W8YtV>Yu tVCY^3_]̃=T& ujMYT& 3UE-t&t tHt3]á]á]á]á]UMj%D EuD @1 ,uD <1 uED @}tMap]US]VWh3sWV{3{ { +7FIu9AJu_^[]U 3ʼnESVuWPvD1 3ۿÈ@;rƅ Q ;s Ƅ @;vuSvPWPjS蠏SvWPWPWSl@SvWPWPhScl$MtL tL A;rYjX+‰‰ w LA wH AA;rM_^3[]j hX3u P Opt9wltwhuj Y0j dYuwhu;5, t4tutVY, Gh5, u3@E둋uj pYjhxw:؉]-FDžjsHHmkj'DžXSQƅ0Dž53 t@tGG@t GȋO@t;|;s߁uy3B;~Ћ uuJ t=RPWQ09~N밋E+Ft6t>0t-N0!u5P H9tAu+Ή@t5t ƅ-t ƅ+ tƅ Dž++ uPWj QPPtuPWj0t}~yHPjE􉍄PP谕u?9t7PEPvu(#QPV<x#tPWj tP3Y_^[t apM3迕]D賭Nj-%gUU B @tzt/JxMERP&YYuE]ËE]UVu ~W}WuNu ?t_^]UQVuW}EG @tu ME N&S] ~@EPEKWPHE E8u>*uPWj?,E ˃>uE[_^]̃ $M ÍT$R<$D$ tQf<$t谕u= # `  u,u%|$u腕"u|$u%t-O= ƕ ` ϔZUEWDz 3VfuƩu|M UutjٿAu3@3EuɉM yM OEtfuUf#fut f fuEjQQ$1 #jQQ$ ^E8_]UQQMEE%] fME]US]VtEtjYtEtjYuEjbEY #tT=t7=t;ubM x {LHM {,x 2M zx M zh h EW3tGM DEPQQ$E EU=}3GW3AuBEfEE;})+ȋEEtuGEEt EmIuEtE 3G_tj YtE t j Y3^[]Ujuuuuu u]UE3S3CHEW HEH Mt E Xt EHt EHt EHt EHMVu 3A1AM3A1AM3A1AM3A1AM3A#1A?tMI tEH tEH tEH  tE X  #t5=t"=t ;u)E!MM E #t =t ;u"E M MEM31E X } t,E` EEXE X`E]``EXP:MA A EEXE X`M]A`A`EXPfEPjjW0 MAt&At&At&At&At&ߋt/HtHt Hu( % % !tHtHu!#  # } ^tAPAP_[]UEtw_"]R!]jh=L |[E@tJ= tAeU.E8t 8t33@Ëe% eUE ࿉EUUQ}E]UQQ}M Ef#M#E f fMmE]UM t -x ]t-x ]t - ]t ؛ t]]UQ}E]USQE EEUuMmYVW_^]MUuQ7]Y[ j h5` 0 te1 3@ËeEj hظpxte1 3@ËeE\6UQ3ʼnEVp|t 1 h0 ` jhEtr8csmujxudx tx!t x"uIHtBQt'eRp舌E%38E Ëet@tQP{UVu蒿,^]UVEP6,^],xUV,bEtVClY^]j8h@EE3ۉ]ċ} GEԋuvEP豍YYEME?E1&M]3@EEu uuuWE]uYËe3ۉU} zGGErˉM9J v:k};D7} ~"};D7} kD0@EJE AM;J rPRSW ]]uEEË} uEԉGu赌Y+M̉Mȉ>csmuH~uB~ t~!t ~"u'}}u!tv誌YtuV=YY}j_djtReMjjϑU} W} tu uWu},uuWu,RVu$6uuW{F@hu(GEp uuWu,^tWPۊ_]UE8csmu9xu3x tx!t x"uxu3A]3]U@E SVW}3ۈ]؈]@@E|;G|.u>csm~ ~ t~!t ~"9^79&jVEEYYu>csmu+~u%~ t~!t ~"u 9^uyÿ9tl趿E訿uVYYuD}9É]Oh\ LECE;|EEE>csm~~ t~!t ~"f9_ EPEPuu WOM;MPEUZ]Ћ] 9B;B:}z}܋}MF@ P#vPQE u*EUHMEUӋE܃HME܅'uEu$u uuuWuuSV,UEMAMU;M<3ۀ}t jVYY}uy%=!rktewVYYuV޽ٽԽɽ}$MVuou mE9_ v8]u3u$u uWuPu Vh 舽9t,_^[]djVYYh4MxhEP蘍u$GjWuu twiUQQW}?SV ]tHj0 9t1?MOCt)?RCCt!u$u Suuu W{ u^EPEPuu SMU;syp E;F|c;F^~|tV\U{]u8~Nj}@u(ju$Nu QjPSuuu WU,MEAM;r^[_]U SVu Wtn3ۋ9~]ˉ]E@@ PUE~5EpF2PM uEUHEUGM;>|_^[]:yUM UVq…x I ^]jhhUM ty zeuVRQ]SWHtHu4jFPsYYPvWXFPssYYPvW>EX3@Ëejh3ۋEH8YPu } x ]uyOtJd tAЉEjPqYY)jW_YYMFPQYYjEpt)+YYjWYYEHtQYYjWYYvEpW{ ~?FP7f9^u9规YYtcjW虄YYtUvFPEpYYPW! :nYYt*jW`YYtvRYtj[C]E3@Ëe 3UE8RCCt!8MOCt8csmu*ظ~ ʸ3]jhExEppu蔸e;ut_~E;p|$MAUE|t'EPhPAt u)YËeeuuE;utEpËu~ UQ3ʼnESVWѷM3Ucsm"9u!9t:&t%;r A Bft%9q9ujQuu t9q u%=!ra9qt\9uVPu^_]Vhh3Vz u^VVVVV訉V3 0  (r^UE3SVWH<AYt} p ;r H;r B(;r3_^[]UjhXhdPSVW1E3PEdeEh|tTE-PhRt:@$ЃEMd Y_^[]ËE3Ɂ8ËeE3Md Y_^[]UEMZf9t3]ËH<39PEu f9Q]SVWT$D$L$URPQQh0d53ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCsCsd_^[ËL$At3D$H3hoUhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëjr33333USVWjRh0Qj_^[]Ul$RQt$ ]U}uF赆]uj5 P1 ]UQVu WVkYN u N @t "S3t^t}FN F ^F u*+ ;t @;u WkYuV要YF tzV+ʉMBFHF~QRWv G N httNj A tjSSW#ƒt%NE3@PEEPWDv ;]t N E[_^]UQ}u1SVuW}uu9u 3] vuuu;v,GPVhuNK8"uoAfSVhE_3ɃfL^uu8"u7 M+y*3fu" Q_^[]U$3ʼnEe3W}jY9Eu}Vu tu}EBuu܁?v E?EMESuuuP1 U؅t]xIMxEE@EEPjYYt#EMxEPjYYt39EfD~[^M3_+k]U}u]Vut;} v5uuuu Vhy3fu \" O辂^]UVu W9EuL}jP;Mu.YYu31EPu7st Q褷 t҉&3@_^]USVuuP\bYu ރ߃^f[]Uf;Et]锏]UVW}u ƍYf;tjVA@YYu_f^]UL3ʼnEUE MS3ۉ @$Dž^V8uHtWu^$>0f2jPS?YYtY OPPPYYP$YYjP?YYu싽$0$j%Zf;f;Ql$ÉӉˉ,7?+u9P"`Ytk s+7Ntk*Ft]ItLƈ+EG6u'f4u A3umf2uf?+7)$0,@jdYf;tjiYf;tjoYf;tjxYf;yjXYf;u#l7ehtFjlX;twt'ˆAjlG[f9u ƈ+?È? ?Έ+ュ2u$St Ct$j X jnX;-ct&{t! PY0 G0袉Yȸ8f;t ,87uTct st{uE@@oq7 cjdX;# {g~Bit0jnX;f7 88)83j-Yf;u Ffj+Xf;u",G 0dY8,P\Yt},I,tjffqP@FPPPVk G0χY8u@08;ȋ,I, 0r؋8f j+Xf;,I,ug!,uPYYtw,I,tdfpP@FPPPV GY8t0 OS0YY73f p4EV]YNQVWjt " P+WQHP5 0 1 WP0$>>$\ u,Dž~ƅ0 8HS0YYctt,I,J0 @0Hظ8Yf;ctOsu r j Xf;u4{3ҋB⋍ 3ȅ7)fIƒpHHt;$8f9b>ɀ7I8~ƅ$j^Xf;u ƅu#h ٪Y.Džh 3SP7b j]Zf;@ ȃj-Xf;uoftjf;tb$f;s f;s-+ߋ֋:FKu닽ϋ$Ѱj] Zf;Wf9$,j-Xf;u ƅj+Xf;u,t}0j0Xf;. F0萀YjxX8f;jXZf;Dž;tNt ,ujoZ0 F0!Yȉ8^N0 VQ YYj0Xȋjx8XrF0 VYȉ8t,,}jxXЉ SQPZ")0 HS00YY;*7c0t 3fƅ+j-Xf;u ƅj+Xf;u=,u t( GV0~YjxX 0;pBPRYHjoX;u08j8Xf;jj RR8_PRY8VUYȉ8j0Y+ƒt,to CV0}Yjx8X8KVQ0YY8Vj[É؉>0;tLptGPPY8joX;uj8Xf;>k 9PPYtz8VYȉ8؃t,te0 F0{Yjx8X8 NQ0YYt 33ۋF#;70etP:+8ɋtff;uAf;u$ GV0zY$؉8f$f;f;u)$8j%Yf9 jnXf9Cz33ۋ8$fpW Q;YY>~ 33f3ۈð 8 SY3YC蚰 t 3f3ۈVS댋83u`m_t apM^3[U]3PPPPPmUU  ҋM##M щ ]/tj/Y t!jtjY)jh@jk jUEh ]̋T$L$u@:u2t&:au)t:Aut:auuҋ3Ët:uttf:u΄t:auńtj hx踢j2+YeuFt0 p l Mt9u,ABQ[YvRYfE 覢Ëj@,YUEu蚮 l]Ë@]U3ʼnEESVE Wu}3؉BI @ @ucP3Yȃtt B$ tt A${ m 3ȉP @ B-FDžjsHHmkj'DžXSQƅ0Dž53 t@tGG@t GȋO@t;|;s߁uy3B;~Ћ uuJ t=RPWQn}09~N밋E+Ft6t>0t-N0!u5P H9tAu+Ή@t5t ƅ-t ƅ+ tƅ Dž++ uPWj 訴QPP諴tuPWj0]t}~yHPjE􉍄PPTHu?9t7PEPu(#QPVx#tPWj 荳tPÎ3Yttn`_^[t apM3?H]ÍIMOUMMM*N7NNOjhD3ۉ]uuT聢 ;5D& s{ D8u  ZV6rYe D8t VTY }E (u}VuY財ߡ N_軕UVW}WxtYtP u u u@DtjMtjDtYY;tW8tYP0 u 00 3WsYσ D9t VY3_^]UVuF t F tv蛌f 3YFF^]UVuu VY/V,YtF @tV%PtYY3^]USVu3ۋF $<uBF t9W>+~~.WvVYPN ;uF yF N _NÃf^[]jYjh3}!}j^Y!}3]u;5% % t]@ tWPVȢYYE% @ t0uPYtG}u@ tPYu E܃e F녋]}uࡠ% 4VȢYYEtEiË]}jYjh3ۋuj{Y]};=% % tZ@ uJ@ uAGwGPY% 4W辡YY% @ t PWYYG뒋uPj8Yȡ%  t:Sh%  P蕌 %  PH1 % 4u^ tf ^^^NE GËujYU S3!U3Vu W=d EF> t tjVhr j XF8t>=rF8tjhVs u CjhVqs u $jhVRs F> t>huESuPqET 3ɉHHHMx H_^[]UQQ3ʼnESVuW~!EI8t@u+H;ƍp|M$3ۅu E@ȉE$39E(jjVuPQ$0 ȉMu3q~Wj3XrKɍA;v?EE=wnJtPhYt MM3tQWVuju$$0 ujjVWuu <<؃Et,M ;QuVWuu <~Oj3XrC A;v9]=wItgPYtR3tAESVPWuu ;t!3PP9E uPPu uSVPu$|0 VdYW]YÍe_^[M3B?]UuM4u(Eu$u uuuuu P$}tMap]UEt8uPY]Uf9EVu M4u苆u!MAfw f EfEjf9Us+uYEYu ȋEMQjMQRPqu EEfE}^tMap]UVuwoSW u6jhy YYt3AQjP 0 u&j [9x t V2Yu<5_[VY! 3^]UQ3ʼnEV5t 0 tu1 Yt3@3M3^C=]UEt ]UVu W9EuI}jP;Mu+|YYu3.E6u7F Q) tՉ&3@_^]US]P4Yu߃[]UMIx @ Q>pYЋ]U3ʼnEM3ҋE|SP3W} ىthDž ^ (nz hylGyh jd_X-ƅV3-u PF+u$tOplGY`l8upPA/YptjIpt]P@(P|FPPP PVy tGP`.Y닋W:IptGP؊W`(P|FPPP PV PC.npIpt`P@(P|FPPP PV~ tG P`-YYu@cet EUpIp>Pe(P|FPPP PV tG|؉`Y-u9P(P|FPPP PV +u0pIpu!ptG Y`P,npIpt`P@(P|FPPP PV0 tGP`d,YYuOl\ttShYY@ zEP0QDPgQHP5 0 1 փuGDž8p{~ƅflDIl\ttS*hYYlXct,8tpJptAl\_؉`YctFsu |  u.{3ҋ˃BLW3ȅhzO,fPeYt%lt@l\Yj?Xf$PptP$PTDf$f,DpNHHTt7h; yȀz{~ƅfhF>^uFƅWj EjP5 >]u ]E FO]F-u^tZ<]tTFh:s:s&*֋DFOuꋵh̰уD2OɋуD܊O]r`>dh+u?pOpu t ƅx)tFl\Y`p0tFl\؉`YxttXtoXDž@xt&8tOpuxjoYX`Nl\ttSdYYXj0[`,tFl\8Y`tp}xjx{DAHD,FllHl\ttScYYD;zV0cGfht 3f4,ƅg-u ƅV+u8Oput-tFl\Y`Xx|=xtgptbP&XYou$8H<HmHjj RXNl\ttS`YYX4Vt؉4F#@z04tD<HPghɋDtf:u8OuGtFl\G`hY;P^Yt*tmYGh;l\u?%n{~3fN ottSo_YYDž P"f t3f50t;t WP-_YY;tW ttS_YY(u PHpY;u0u18yt+' u虄B00t ap^M_3[)]USVuu YtQ!Yu^[]UQfEf;u3=f;sȡ` HEPjEPjT1 tfEM #]UVu< uVqYujfY4 H1 ^]VW SttS0 So'Y |[>t~u60  |_^jhv= uj3hkdYY}39 u\j0uYu 3Bj Y]9 uShVp 4 VHnYE 3@vj ;YVW  ~uj>h6lp  |3_@^UE4 L1 ]j]Ytj]Yu= uh1h'YYUM3; t @r3]Ë]U3ʼnEVuWVYySjR]YjA]Yu = Ahp&hh / 3ۅ1hh  Sf 0 uh&Vh  / h  R@YU HuW ;+t3Ʌ M~B+t3Ʌ My~B+t3Ʌ MWNB+t3 E3Ʌ1F;BtB+t M ~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BtB+t My~ B +t3Ʌ MW~ B +t3Ʌ M5N B +t3 E3ɅF ;B tB +t M~ B +t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌ~F;BB~+t MR~B+t3Ʌ M0~B+t3Ʌ MNB+t3 E3ɅF;BtB+t M~B+t3Ʌ M~B+t3Ʌ M}NB+t3 E3ɅWF;BtB+t M0~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BtB+t M~B+t3Ʌ M}~B+t3Ʌ M[NB+t3 E3Ʌ5j Y+;_Ӄ$F;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅyF;BB+t3Ʌ ML~B+t3Ʌ M*~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MqNB+t3 E3ɅKF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB~+t3Ʌ M~B+t3Ʌ Md~B+t3Ʌ MBNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BtuB+t3Ʌ Mu`~B+t3Ʌ MuB~B+t3Ʌ Mu$NB+t3 E3Ʌu3ɋ_ F;BtuB+t3Ʌ Mu~B+t3Ʌ Mu~B+t3Ʌ MuNB+t3 E3ɅqF;BB+t3Ʌ MD~B+t3Ʌ M"~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MiNB+t3 E3ɅCF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M]~B+t3Ʌ M;NB+t3 E3ɅF;BB~+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌ}F;BB+t3Ʌ MP~B+t3Ʌ M.~B+t3Ʌ M NB+t3 E3ɅBN+3 EF;BB+t3Ʌ M~B+t3Ʌ Mt~B+t3Ʌ MRNB+t3 E3Ʌ,F;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ Mh~B+t3Ʌ MF~B+t3Ʌ M$NB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅgF;BB+t3Ʌ M:~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB~+t3Ʌ MB~+t3Ʌ MB~+t3Ʌ M^BN+t3 E3Ʌ8F;BB+t3Ʌ M ~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅfFf;BEF;BB~+t3Ʌ M`~B+t3Ʌ M>~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌ_F;BB+t3Ʌ M2~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ My~B+t3Ʌ MWNB+t3 E3Ʌ1F;BB~+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ Ml~B+t3Ʌ MJ~B+t3Ʌ M(NB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌk~B+t3Ʌ MIB~+S3Ʌ M8M1+t3EqB+t3EqB+t3EIB+t3 EUu  +t3EujJF+t3EuLJF띋Uu  +t3Eu JFnEE ]3^[]Ë' Zv}“ފ+aGOʖ3!fϐU3ҋ9E vMf9t @;E r]USVW3;+‹jU4h6u ty^~;~Ѓl6_^[]U}tuYx=s H/]3]UQ3ʼnEV50& 35t#3PPPuuuuu u1 uuuuu uYP0 M3^]UQVu3t^M SW}jA[jZZ+UjZZf;r f;w f;r f;Ew Nt ftf;t_+[^]jh@HQ3}jY!}j^u;5% }S% tD@ tPg(YtG}|)%  P0 % 4HY% $FE QË}jYUMu \ 8x$; D& s D@]\ 73]US] W}utEt 3EtVv}\j^0XuME39ubfEf;v;tt WVS 3\*(\0}tMap^_[]Ått_EtэMuQVWSjMQVp|0 ȅt9uuEt00 zutt WVSV [j"^0oUjuuu u]̀zuf\?f?f^٭^O剕lݽ`ƅpa$؃#zuf\?f?f^٭^O剕lݽ`ƅpɊaݽ`ɊaŊ$׊$ ؃#۽bۭbi@tƅpƅpO۽bۭbi@t ƅpƅp۽bۭbi@t ۽bۭbi@t ƅpƅp-Opƅp tUEEEEE UE]MEMEMEMPQR7 Ef}tmËT$fT$l$étOËB%=tËB D$B  D$ $,$ BËD$%=tËD$f<$t,$Zf$f=tf tf t Z,$ZÃ$D$%$D$%t==t_f$f=t*f u!f ttZmZ,$ZP Ps ,PPPv $P3USVWUjjhuq]_^[]ËL$At2D$H3UhP(RP$R]D$T$SVWD$UPjhd53PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d yuQ R 9QuSQ  SQ L$ KCk UQPXY]Y[UE]UUVuWz uYVj^0} vM~3@9E w 'Vj"0S^Å~tGj0Z@IUx?5| 0H89t>1uBS%@PSV3[_^]U,3ʼnEEMSVu WuEEEE3PWWWWVEPEP?؃ EtMuEP$:YYutuj utj_}tM܃apM_^3[]U(3ʼnESVu MWu}9E3PSSSSVEPEP?EEWP'4ȃ(Eutuj utj[}tMapM_^3[]Ujuu u]U E SVWxPϋ}Ett<%!uuE!P!fxX<3M E]s x&ʁ y}}Es f{_^[]U03ʼnEES]VE܍EWPEPYYEPjj uЋf1Eu܉CEECEPuV$uM_s 3^[]3PPPPPWVU33D$ }GET$ڃD$T$D$ }GT$ڃD$T$ u(L$D$3؋D$d$ȋd$G؋L$T$D$ ud$ȋD$r;T$wr;D$v N+D$T$3+D$T$My؃ʋӋًȋOu؃]^_̀@s sË3Ҁ33UME #Vut$t jj5NYYQj^0UQu t NNYY3^]j4Yjh`KE3ۉ]uu[QQ ;5D&  D8u Q jV9!Ye D8tuu V^ Q P }E (u}V$YPP ADU; 3ʼnE$EM V3DW34@9uu3u9P!0fP Ћ,S 0\$tu+EШuO!0 Pz DD tjjjPDYE,0 D'.3ɋ@l9P,80 40 98t0 4ʉ3!Df<(9E@Dž !830 , 89|8tD4E8Uj!|8EPZP'YtD4(+EjR9Df;uj Yf Df;r0+؉$j PSP, 4H0 @< @9 D4+;E ]Dž HD+ʋ;s;7Df;uj _f8Df0r3VVhU QH++PPVh|0 @<83ɉ@j+ RP0P, 4H0 t@ 8@;00 @8<;D4+@;o00 bj Ru44H0 tԋ 36WHY<4,0 D@t :u3 {H-FDžjsQHHij'DžXOj0YQffDž, t@tGG@t Gȋ3O3@t;|;s߁uy3B~ uJ t=RPWQ\09~N밋+FtEt>0t*uPWj?=E ʃ>uE[_^]U3ʼnESVW} G @6W聊Yt.WpYt"WdWYY YÊ@$$<W3Yt.W'Yt"WWY YÊ@$$<WYt.WމYt"W҉Wlj؃Y YCt_uEjPEPt^39u~2OxD5@D5WPnYYȃtF;u|fEGEx f WP7YYM_^3[@]USVu t]t>uEt3f3^[]WuMEuMtf3GEPPYYt@}t~';_t|%39EPuwtVj w$0 }u ;_tr.~t(t139E3PuEGWVj p$0 u6*}tMap_4Ujuu u]UQQSVW}G @xWYt.WYt"W܇WчY Y@$tSOx @ WeYȃu 0OMx @ W;YȃtֈMfEG @WUYt.WIYt"W=W2؃Y YC3FOx @ WYȃXPMiYt6Ox @ WYȃuEWP}YPjM^VEPEPr $65*G|GW6Y_^[]U3ʼnES]VW} f;aG uG QG GuWYG @WYt3WYt'WWم YY@W讅Yt.W袅Yt"W薅W苅Y Y@$tjY]}M!SjEPEPettMG9s u;OQxDJyMOO O f0G9surG @tf9tfƋM_^3[]fG GG U,3ʼnEES]V3EuW} }t u3 u3uM6MEԅ9u4f9T1ffvF;rlxtuat"Njf90tJut f90u+CEԍURVSQSWVp|0 }E|0 NURVSQjWVp|0 t9uw9u00 zEMQMԍUVqtRjPVq|0 Ѕ9u:;ƉE~MD9E@GE;|EE;rjp1*&9u"ftf;w2Ffu0MQVVVjWVp|0 t 9uux1*}tM܃apNjM_^3[a]UQVu 3EW}t.t.tS]t9}wE=v 0jYt0j^0kuPuV2utp0E@t5;v'}t;wQ0j"^0jPYMD0Mt[_^]Ujuuuu u]jhȻ#}4 39^u1j Y]9^uShF P FE*  PH1 3@p#Ë}j Yjh#uej Yu nj oYe3ۉ]؃@F< } ;Gu[u4j #YEujhG P Ge/E܅uG PH1 Gt!G PL1 @냋u]؋}j *YËE܅uG+4 uuC'j@j 8 YYȉMte D&   ;sfA a@Mۋu΃ DVYuuE !Ëuj bYUEVWx`;D& sX Dt=<t7= u3+tHtHuQjQjQj0   3Z- - _^]UMu- -- Bx&; D& s Dt], , ]]UMSWx\; D& sTً <u:= Vu utItIuVjVjVj0  43^q, 2, _[]UM  PL1 ]jh3u}u, ;=D& E߃ DtrWYuE Dt(WrYP0 u00 utc+0+ uE !}uW Ya+ =jh3ɉMM3uu&+j^0\39Et9MtE%@tʉMuuuu uVEPU}EtËu}}t%t d6*YUQeEPu YYu+Vu uuuuu u-u ^]Ujuuuuu ]Ujuu u]UVuu3SWuME39PuVu u ]t} u) NUCj]DZt4uʋ]DumIuf Cɉ]GUjDZtuNtf Gf;uft]q҃J}_[tMap^]Ujuu u]U MSWu}3҅M9QuWu u3 hEEt] u}(=V0OEuEDtiuUDfEuURf EfEf;q r f;qwfq/f;qr)f;qw#fqfuDtEfuCEEDtIuUbOtef ECEEf;A r f;AwfA8f;Ar2f;Aw,fA&fEjUD ZtEEfEf;uftE҃J^}_[tMap‹]UE~ PuYYuuPuu uc]UW}u&FG @t G G u WYGwwWwYP2 GG uQWwYt0WwYt$VWwWwY Y^@$YYt=p u VYu6I8YM_3^%][UD3ʼnEMSVWA 3ۋ} %}EA?EAEUEu%9\u @|3}𫫫j[ u}UܥHEj]ԥH^#UāyIA+3@uЋ΃j^DЅD9\u B;|E̙jY#ЋE%yH@+ȉ]3@EȋDMȉM;ȋE؋j_r;Es3AMԉDJx.t'Dˉ]ԍx;}؋rs3AMԉDJyՃMЋUċ!DB;}}΍<+3M9]tA + ;}3}𫫫;+U܍uUЍ}¥EċEХ%yH@EЃlj]}Ћj EX+jE^Tϋ U#E؋MTCE;|ߋEčU3j+ЃEY;| DE\IyMAUԁyIAjX+E3M@DЅD9\uB;|v}̋jY#yOGD+3Gˉ}};Ej_r;Es3ADJx(t!Dˍx;}rs3ADJyۃMЋUԋ!DB;}}΍<+3 AE؁yIAM܋j ]׋]Y+ˉẺM܋TˋM# UTMEE@E;|׋u؍Uj+3Y;|D\Iy;  }3MÉyIAMj X+]׉E؋T# UMMȉTCE;|ߋu̍Uj+3Y;|D\Iy5 35 C5 e uE؁yIAj ]X+ÉM׉E܋Tˋ U#NjMTFE|ߋ}؍Uuȋj+3Y;|D\Iy}jX+ ȋE%  u@u Ew u7M_^3[]UD3ʼnEMSVWA 3ۋ} %}EA?EAEUEu%9\u @|3}𫫫j[ u}UܥHEj]ԥH^#UāyIA+3@uЋ΃j^DЅD9\u B;|E̙jY#ЋE%yH@+ȉ]3@EȋDMȉM;ȋE؋j_r;Es3AMԉDJx.t'Dˉ]ԍx;}؋rs3AMԉDJyՃMЋUċ!DB;}}΍<+3M9]tA + ;}3}𫫫;+U܍uUЍ}¥EċEХ%yH@EЃlj]}Ћj EX+jE^Tϋ U#E؋MTCE;|ߋEčU3j+ЃEY;| DE\IyMAUԁyIAjX+E3M@DЅD9\uB;|v}̋jY#yOGD+3Gˉ}};Ej_r;Es3ADJx(t!Dˍx;}rs3ADJyۃMЋUԋ!DB;}}΍<+3 AE؁yIAM܋j ]׋]Y+ˉẺM܋TˋM# UTMEE@E;|׋u؍Uj+3Y;|D\Iy;  }3MÉyIAMj X+]׉E؋T# UMMȉTCE;|ߋu̍Uj+3Y;|D\Iy5 35 C5 e uE؁yIAj ]X+ÉM׉E܋Tˋ U#NjMTFE|ߋ}؍Uuȋj+3Y;|D\Iy}jX+ ȋE%  u@u Ew u7M_^3[>]U|3ʼnEEEE E3S3@VEÉ]W}]]]]]9E$u~3UʉM t t t uB BM {$A<wjXJ݋E$:ujX+tHHt3@jXMjX]3@EA<vE$:uj묀+t+-t&0tC:E~ d)j|Jj tA<PE$:R0cU3@E0|*Eu9s 0@GF B0}uEE$:I+t-kE3@EEEu0uE HB0tEE0|%u9s0@GN B0}uE+ -C~EdJ 30@E j/BEA<wj +t"HHtjjXMj3@E B0t1몍A<v09] t"BE+tHHqMjXzj XJ mH3@E93k uP BM0}MQ9 B0}JEMMvE<|EMOjAXMMO8u HAO8tMMQPEP&M yuEuuEu+uP3 `y ރ`9]3fEƃTMuk щUf9r}UUMz fMff3]f#Ɖ]EFf#ȉ]#ɉ]܍uf;'f;f;?f;w]fu$FEuu}u}u 3fEfuFBuu 9Zu9tjÍM_E}}~Xuȍ4FBEEEU]ЉUQ;Qr;Us3@EQtfmOU}E@OE}uU܁}ԉUf~;x2E؋ UEҸ} UUffify]]EEtCM؋Mm EE MU܉E؉}ujۉU[tf3Gf fEԋ}fEԺf;wu@Eփu4Eډ]փu fE޹]f;ufUF f@fE@EڋM@E֋Mf;sfE ufEȋE؉EʉMfu3f9EH%EЉ]ȉ]̋uM*EMȋUʋu23ˋËӍ_#jˋË Ëjˋ[} EfG fWwM_^3[]ËC/.pe:U3ʼnEfM3S]fV]f#ƉuBNEf#ΉuEE?EWftC-C } fu:9}3ɈSf f;$  CfC0f;E Mf;ut@uhWGf}t=u u0hW ;u%u!hWCjPl ChWCjPK C3>fuω}3EEE?HkMiM ȋEE3fEMع E`#yع `E uUu}TMk Ef9r}̍ẺEM΋ux fMff3]f#EEf#ȉ]#ɉ}]]}f;KEf;E>f;}4f;}w]=fu GE}uuu 3fE%MfuGA}u 9Yu9tjÍU^|uu~iuFqEuȋuM8B] 8;ȉMr;s3AMBtfEMȃENMȅMu|@N|uz}EuEf~;x2E֋ EEu EȉEffqfye]ȋ3E}B}UtGMMm EȋE M]Euuj]ȅ}[tff fEufEf;wu@Eu4E]u fE]f;ufMG f@fE@EM@EMȸf;s fE }fEEEuMUf}!3f9EH%EӉuUuȋMEUuE?f;fMEff3lj]f#EEf#ȉ]#ɉ}]]9E}f;E=f;M3f;})f;}w]2fu GE}uuu 3fEfuGE}u }u}tӍMjUX~X}Eu}A<5|E 99u0I;s;sAfE*ȀHɈ\3@M_^3[]À90uI;s;s̋M3ff9E$  A3@A03SSSSSUM3tSVWt t t t t Ƌѻ#t;t;t ;u ` @ _#^[tt ;u ]Ã@] @]U}fE3ɨtjYttt ttSV W#t&tt ;u t ;uft} E## ;V?YfEm}fE3tj^ttt ttЋ#t*tt ;utuft=L ]E3ɄyjYtttttл`#t* t@t ;uj@%@[+t-t +u#}# ;P&PE5YY]E3ɄyjYtttttп`#t* t@t ;u%@+t-t +u 3Ʃt_^[]UM3t@tttt tVѾW#t#t;t ;u  сt u  _^t ]UQ| u | ujMQjMQP0 tfE]UQQVu WV&QYN u N )@t "S3t^tFN F ^F u* ;t @;u W=YuV_YF t}V+ʉMBFF~QRWd G N uttNj A tjSSW~#ƒt2FMf"EfEEjPWEM ;]t N [_^]UQSVW}3ۈ]udӻ9G .@&t G 3F ƉG u W=Y9wu ފEGwwWROYP G;G uOW OYt.WOYt"WOWNY Y@$ tSSS7-#ƒuQjYEHt Hu=E jYEM؋+PEP7荤 M;ً D$2E$0D$7ƋM D2$$ ȈL2$M8]u!t L Mu#;u}txu0 uEȁujPuVugu200 PA d7wY  SSSSS螲U=H VuH}uj>} t9uvC^]Hjuu u^]U}SVWuMˏ}t] tM;vkڱMEuQSW 2+MQPMQPCMtt;t+}tMap_^[3]jhH3ۉ]uu ;5D&  D8u \ ;E@uB nuV^Ye D8tuu V^ 5 }E (u}VY fU(ESVuWjY3M}u;u8 T5;D& )ȋM]܋ Dv08]9} u !8ҊD$EHtHu ШtۃE EdШtsj^VEYu {jjjuqM D(ET,M MEDHT t|tx3PG N}UD tZ D%< tKtGB N}jU_D% u+ D&< ttjB N_j YUL&uEYtq DtcEP40 EtL}uFjEPEVu 40 u00 PYEE M8E MjQVu40 M;U4 DW}mt M9 u $DEE 8M;j Y<:t FGEH;sG8 u j XFfjEGPjEP 40 u 00 u|}tvU DHt/j Xj 8EuFXF EDj Y;}V];uu j X8EuFjjjuUj X8Etj YF뿋Uj YF봋 D@u DFE+}NxF3B u];rNB t] u*@;u\E DHt7FDE| FD%Eu FD&+ڋjRPuզE؋}+Pu VWjh$0 ME3; L0E];E tP[Yts}t~uǙ+‹GE;sWj ZEf;Et3f;t fG;sj Xf9uff;rE LE+_tMj Zf9Uu $DEE؍ 8M;_j YEf;E&f;tf'E;s(j Zf9WUuj XffjEPjEP 40 u00 }U DHtRj Xj f9Euf3Xf Ej D ED% YL&j Y;}l;uuj Xf9Eufjjju觤Uj Xf9Etj Yf뷋Uj Yf멋 D@u D ffE+00 j^;u U0m3358b Ѩ_^[]U S]3ҸN@VWESS9U <ʉUMUU}ҥu΋}   E s‰{3ɉE;r;Es3At3ɍp;rs3AstG{U3 M;r;s3@KtG{U‹u}e E s{u}E M;r;s3@E t$3ҍpu;rs3BstG}{E HsE{E N@39Su.S  E EtۉSsSu4;sNj E Etى;sS_^fC []̡| t tP0 3PPjPjh@hX0 | USVW}3jVVWމuʉE#MtYjVVW褡ȃ#ƒtCu E+‰Ehj0 P 0 Eu _^[]hW?YEEY|rPuW託 t+E‰Ex#ȅt8u : ]uWYYuj0 P0 fn|shjuu W褠#ƒAW螺YPX1 H؋‹ˉE#ȃu& 00 #]juuW<#ƒ3UMukڤjX]á 3]UQSVuW< L7%ED7$ЋE =@tY=tI=t*=t#=uPɀL7 D1$$ D1$4ɀL7 D1$$ L7ɀL7 d0$}_^[uҁ@]UWVSM tMu} AZ I& t' t#:r:w:r:w:u u3:t rً[^_%1 %0 PQR1 ZYX̍]\\\\\\\\T$xt3ފJ3ъfǎ̍kT$3苊J3~`ft̋T$B J3WnM̋T$B J37n-̋MH MPMhM]3T$B J30j̋M MMe MMM J M¯M'M鯯M4M霯MTM鉯MtMMXM T$B J31pl'̋EPjYËT$B J3lh̋MxM-2T$B J3Ĉl麌̋MM1MկMT$B J3脈tjz̋MT$B J3_|iŰMXMM1T$B J3Ll̋M阮T$B J3,k̋MMT$B J3跇i魋̋M5M *MM4MTMtM`MMڭMRMM0M7MMd0MMMI0MMyM.0T$B J3ņm黊̹ T$B J3蝆4n铊̋EP7hYËEP,hYËT$B J3ahW̍MEPgYËT$B J3$h̍MWMWMWMWT$B p3nډ̍M}`ҫ`7`鼫`1h.T$B 3zgp̍T$B 3IJ3?h5̍MVT$B J3h̋EPfYÍMMEPfYÍM:T$B J3g鷈̍MXVT$B J3菄@h酈̍M(VT$B J3_gU̍MUT$B 83,@g"̋T$B J3k̋T$B J3k݇̋T$B J3ǃPi齇̋T$B J3觃j靇̋M%M齪MT$B J3libh`hjEPËT$B J31o'̋MT$B J3po̹ VT$B J3͂oÆ̹ &T$B J3蝂o铆̡  ù T$B J3_oU̡  ù T$B J3DőEPcYËEPcYËT$B J30pׅ̍MMMxT$B J3蟁q镅̍MM@M8MT$B J3WqM̍MMMMPT$B J3Hq ̍MHMMMT$B J3׀q̈́̍MMMxT$B J3蟀p镄̋MM鰧MT$B J3\xR̋T$B J37y-̋T$B J3z ̋T$B J3dz̋T$B J3\y̓̋T$B J3y魃̋T$B J3 z鍃̋EPEP胉ËT$B J3fz\̋MMݥM4BT$B J3)0s̋MT$B J3~px̋M(T$B J3~vł̋MEM4骦M2T$B J3~ls̍MM頥MMM鈥MM8MT$B J3'~r̍T$B 3}J3} r̍M8M0T$B t3}s骁̍,eT$B 3}J3}|tu̍MT$B J3O}uE̋EP^YËT$B J3}0v̋EP^YËT$B J3|\v̍酥M]MuNMmNT$B 3|dr闀̍MT$B J3o|$te̍MT$B J3?|J35|Xu+̍M鈸T$B |3 |t̍T$B 3{J3{,u̍luT$B T3{J3{t̍MطT$B J3_{uU̍M T$B J3/{J3%{s̍M M M T$B J3zu~̍Mh M` MX MP T$B J3zv~̍UT$B 3yzJ3ozPte~̍MLMLT$B J37zv-~̍MKT$B J3zq~̍MMKMKMKT$B J3yw}̍ZKOKDK9K.K#KK KKJT$B 3+yJ3!yw}̋EPEPËT$B J3xw|̋MeT$B J3xr|̋EPWZYËT$B J3xs|̋M8T$B L3\x|R|̋MT$B J3/x|%|̍MMPiMT$B J3w|{̍MiMT$B J3wd|{̍MhT$B P3w{{̍M8T$B J3_w0|U{̋T$B J37w|-{̍MT$B J3wJ3w{z̍MXT$B J3vJ3v$}z̍%T$B 3vJ3v}z̍E:ϲT$B 43SvJ3Iv}?z̍@镲p銲T$B <3vJ3vX}y̋M8T$B J3u~y̋MT$B J3u}y̋EPGWYËEP>PHThDd@v\k<`:>h`hjpP6~ËT$B 3UlJ3KlAp̍MT$B J3lp̍MMMMT$B J3kTo̍<銨,_=T=)T$B 3\kJ3RkԌHoH<鿧D驧.T$B L3jJ3j̍n̍\\\\d\$cP\\\遑\fT$B 3*jJ3 j8n̍(զ;;t^T$B $3iJ3i m̍ڥT$B 3^iJ3Ti@Jm̍,:T$B (3)im̍jT$B p3hJ3hxl̋E eMXËT$B J3h@l̍MXMPMHM@M8T$B J3_hUl̍MMT$B J3'hLl̍MMpT$B 3gJ3gkh EPÍM&h EPϘËT$B J3gk̍MT$B J3ogek̍ T$B 3gJ3gk̍M鈣M8T$B J3fԑj̍zT$B 3fJ3fj̍M88T$B J3ofej̍MT$B J3?fJ35f+j̍MT$B J3fj̍MMT$B J3ei̍Mx7Mp7Mh7M`7MX7T$B \3eJ3eHxi5* T$B 3eJ3 epi̍M阧T$B J3dh̋T$B J3dh̍M8MP6MH6M@6M86T$B 3ldbh̍ 55T$B 3cJ3cg̍UJ?T$B 3cJ3cdg̍MM 5T$B J3Wc؆Mg̍M4M4M4T$B J3c@g̍MXMT$B @3bxf̍MM0T$B J3bJ3bܢf̍UJ?444T$B 37bJ3-b#f̍MMpMhMPxM}T$B T3ae̍MM@M8M0M(\,M8DMT$B 3ade̍M2M2T$B J3`d̍MM0MMT$B J3`|d̍UJ?4)11T$B 3`J3_ c̍MHT$B J3_ c̍MxMpT$B J3_Tc̍Eڛ/T$B 3S_J3I_?c̍M0݇T$B 3_Xc̍M0T$B J3^b̍M(M Mh0T$B J3^Tb̍MM00T$B J3g^]b̍MT$B J3?^5b̍M鸚T$B J3^b̍M鈚M鐠T$B p3]pa̍T$B 3]J3]<a̋T$B J3w]hma̋T$B J3W]Ma̋T$B J37]-a̋T$B J3]L a̋T$B J3\`h EPËT$B J3\`̋EPEPfËT$B J3\L`̍MM@M8T$B J3_\J3U\K`̍MMMT$B J3\J3\ `̍E $`T9(-4-T$B 3[J3[_̍p:h/td-T$B 3=[J33[)_̍oeMMM,M,T$B h3Z^̍WMMMMu,XZ,h hP谋ÍMX2,T$B P3fZĉ\^̍ +ɜ+++T$B 3YJ3Y]MMM}+Me+M]+MU+MM+ME+MM5+T$B 3iYp_]̍MMMT$B J3/Y%]̍WU\ʿ`鿿T$B P3XJ3Xț\̍MM逿MxM`T$B |3X\̍SM=M5M-*M*MT$B L3AX܄7\̍MhMMؾM0M(T$B J3W([̍MM鐾M鈾M)T$B J3W[̍'J?4)T$B 3BWJ38W.[̍eڽϽ((T$B 3VJ3V$Z̍7M}MuMMe(h8T$B 03sVJ3iV_Z̍?M MM]M'@'h EP3ÍMp@'T$B 83UXY̍MM鐼M鈼M'T$B J3UY̍MMPMHMMT$B J3_UdUY̍oMMM&T$B h3UJ3U܃X̍M8M鰻M騻MMM&T$B J3TDX̍MM`MXMP&T$B J3wT4mX̍;<D@&p限l鎐T$B 43TJ3T0W̍5M魺M饺M%T$B 3SJ3S W̍M]MUT$B x3ySJ3oSeW̍M MM$M$T$B 3SW̍E0麹4鯹,$8T$B 3RJ3RV̍GM]MUMM$M5$T$B @3iR_V̍4 8HT0##zT$B 3QJ3QU̍Gd銸`\t#y#T$B 83QJ3QyU̍MM0M(MT$B J3GQ=U̍u߷"iT$B 3PJ3PȒT̍M鍷M酷M}"MT$B 3P\T̍M=M5M-"yT$B 3FPJ3D30(T$B h3LGJ3BGؘ8Kutx߭$|ih hPxËT$B x3FJ3FԚJ̋T$B J3FLJ̋T$B J3F}J̋MMmMMT$B J3DF:Jh`hjEPWËT$B J3FJ̍UT$B (3EJ3EI̍MhEЃ eMPËT$B J3EJ3|EtrI̍ME eMËT$B J36E,I̋E eMËT$B J3DJ3DԪH̍MEă eMËT$B J3DJ3D@H̍MMT$B J3wD mH̋MxjMMT$B J3pB̋EPw YÍM}EPd YÍMjMbT$B J3>J3>tuB̍MzMzT$B t3D>x:B̍MMMzMEPYËEPYËT$B J3=A̍5zxDÍz-" T$B <3J=J3@=6A̍yzyoyT$B p3>" <(<"Ȇ" ::;;;"l99999"DD&D1D>>>)>4> <> G> R>]>,"0000"$<<"hT" 6Ȗ"ؖTTTTVVV"@@A"|88"@@&@"ܗ?"??"D@9"xp9"" WWWX XX"X-XPT[TcT"L"LLM MMPCXC`C"ԙ"4@LKLSL[LcL"NNNNNB""`XkXvXXXX"LpGxGGGG@FHFPF"tFFF"KKL"RRR"("UU&U1U>>>"\" ģ@;K;V;a;l;w;;;;" 0? ??!?,?7?B?M?X?c? n? y?"P2[2f2q2|222222 2 2 2 2 223 33;;;"L"======`3"ܥ99"@@@"<AA"x"ЦCCCCCCCUUU" S+S6SAS"D77"0CVVV"ܧOO"L"\l"Ĩ[" T"dtp-"z(ة"ZZ"0YY"d8Z0Z"pZ"̪\\"_",```"X `" ](]"YY"pb{bb"(__"d^^^^"^^"ܬ[["c"D``"pp_x___""`ahapaxaaa____"4`chcsc{c"x@_"" aaaabbb$b/b^^"T"0^I^Q^Y^a^i^q^`Y"[["p[~[["D\ \\\"bbbb"İ0[8[@["-D"Td Y(Y0Y8Y"X\`\P\""@\\\\\0a8a"h]"]"Ȳ"P]X]`]h]p] c+c"@"`````n"гQm"(8d"p@@!"8D`     @<  0|`\  |`|  P7J 3R@L"\lMY_|<A 'z~ \ f Vpy@"Ĺy},8`\   //tK-XZwZ[yw{ :OpEi[l@QWXTX` 0^adipu0y0|@~`P0 P@d`P`P`ppp``p`@"``@`  ""(.34P7;;`c> @pA@DFpAMOQRTVQQWXT0^u0y0^adipu0y0|@~`P 0P@`P`ppp``@"`@`  ""(4.43P7.;`cpA@DpA> @@D $.;CMXhs| $+3=DKYgq '0:@LYfnv} &3@BHOZdu (14:>AEO\dny#+5<JXbes} $'6?NY]fv~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.dllAnalyzeOOMBPMDCLRStackCOMStateClrStackDebugExtensionInitializeDebugExtensionNotifyDebugExtensionUninitializeDumpArrayDumpAssemblyDumpCCWDumpClassDumpDomainDumpGCConfigLogDumpGCDataDumpHeapDumpILDumpLogDumpMDDumpMTDumpModuleDumpObjDumpRCWDumpRuntimeTypesDumpSigDumpSigElemDumpStackDumpStackObjectsDumpVCDumpccwDumplogDumprcwDumpruntimetypesEEHeapEEStackEEVersionEHInfoEhinfoFinalizeQueueFindAppDomainFindRootsFindappdomainGCHandleLeaksGCHandleleaksGCHandlesGCHeapStatGCInfoGCRootGCWhereGcHeapStatGcWhereGchandleleaksHandleCLRNHeapStatHelpHistClearHistInitHistObjHistObjFindHistRootHistStatsIP2MDListNearObjMinidumpModeMinidumpmodeName2EEObjSizePathToPrintExceptionPrintexceptionProcInfoRCWCleanupListRcwcleanuplistSOSFlushSaveModuleStopOnExceptionStoponexceptionSyncBlkThreadPoolThreadStateThreadsToken2EETraverseHeapTraverseheapUVMMapVMStatVerifyHeapVerifyObjVerifyStackTraceVerifyheapWatsonBuckets_EFN_GetManagedExcepStack_EFN_GetManagedExcepStackW_EFN_GetManagedObjectFieldInfo_EFN_GetManagedObjectName_EFN_StackTraceanalyzeoomaobpmdclrstackcomstatedadclogdgcdodsodumparraydumpassemblydumpccwdumpclassdumpdomaindumpgcconfiglogdumpgcdatadumpheapdumpildumplogdumpmddumpmoduledumpmtdumpobjdumprcwdumpruntimetypesdumpsigdumpsigelemdumpstackdumpstackobjectsdumpvceeheapeestackeeversionehinfofinalizequeuefindappdomainfindrootsfqgchandleleaksgchandlesgcheapstatgcinfogcrootgcwhereheapstathelphistclearhistinithistobjhistobjfindhistroothiststatshofip2mdlistnearobjlnominidumpmodename2eeobjsizepathtopeprintexceptionprocinforcwcleanuplistsavemodulesoesosflushstoponexceptionsyncblktthreadpoolthreadsthreadstatetoken2eetptraverseheapuverifyheapverifyobjvhvmmapvmstatvo` ,DHLPTX\`dhlptx|MMMMMMN NNN$N,N4NU>?U?@U@AUABUBCUCDUDEU EFVFG VGHVHI$VIJ0VJKc{#Tw=:zc%C1 COMMAND: \\ The first command is "contents" which is the general help screen. The rest correspond to SOS command names. This file is embedded as a resource in the SOS binary. Be sure to list any new commands here. ------------------------------------------------------------------------------- COMMAND: contents. SOS is a debugger extension DLL designed to aid in the debugging of managed programs. Functions are listed by category, then roughly in order of importance. Shortcut names for popular functions are listed in parenthesis. Type "!help " for detailed info on that function. Object Inspection Examining code and stacks ----------------------------- ----------------------------- DumpObj (do) Threads DumpArray (da) ThreadState DumpStackObjects (dso) IP2MD DumpHeap U DumpVC DumpStack GCRoot EEStack ObjSize CLRStack FinalizeQueue GCInfo PrintException (pe) EHInfo TraverseHeap BPMD COMState Examining CLR data structures Diagnostic Utilities ----------------------------- ----------------------------- DumpDomain VerifyHeap EEHeap VerifyObj Name2EE FindRoots SyncBlk HeapStat DumpMT GCWhere DumpClass ListNearObj (lno) DumpMD GCHandles Token2EE GCHandleLeaks EEVersion FinalizeQueue (fq) DumpModule FindAppDomain ThreadPool SaveModule DumpAssembly ProcInfo DumpSigElem StopOnException (soe) DumpRuntimeTypes DumpLog DumpSig VMMap RCWCleanupList VMStat DumpIL MinidumpMode DumpRCW AnalyzeOOM (ao) DumpCCW Examining the GC history Other ----------------------------- ----------------------------- HistInit FAQ HistRoot HistObj HistObjFind HistClear \\ COMMAND: faq. >> Where can I get the right version of SOS for my build? If you are running version 1.1 or 2.0 of the CLR, SOS.DLL is installed in the same directory as the main CLR dll (CLR.DLL). Newer versions of the Windows Debugger provide a command to make it easy to load the right copy of SOS.DLL: ".loadby sos clr" That will load the SOS extension DLL from the same place that CLR.DLL is loaded in the process. You shouldn't attempt to use a version of SOS.DLL that doesn't match the version of CLR.DLL. You can find the version of CLR.DLL by running "lmvm clr" in the debugger. Note that if you are running CoreCLR (e.g. Silverlight) then you should replace "clr" with "coreclr". If you are using a dump file created on another machine, it is a little bit more complex. You need to make sure the mscordacwks.dll file that came with that install is on your symbol path, and you need to load the corresponding version of sos.dll (typing .load rather than using the .loadby shortcut). Within the Microsoft corpnet, we keep tagged versions of mscordacwks.dll, with names like mscordacwks__.dll that the Windows Debugger can load. If you have the correct symbol path to the binaries for that version of the Runtime, the Windows Debugger will load the correct mscordacwks.dll file. >> I have a chicken and egg problem. I want to use SOS commands, but the CLR isn't loaded yet. What can I do? In the debugger at startup you can type: "sxe clrn" Let the program run, and it will stop with the notice "CLR notification: module 'mscorlib' loaded" At this time you can use SOS commands. To turn off spurious notifications, type: "sxd clrn" >> I got the following error message. Now what? 0:000> .loadby sos clr 0:000> !DumpStackObjects Failed to find runtime DLL (clr.dll), 0x80004005 Extension commands need clr.dll in order to have something to do. 0:000> This means that the CLR is not loaded yet, or has been unloaded. You need to wait until your managed program is running in order to use these commands. If you have just started the program a good way to do this is to type bp clr!EEStartup "g @$ra" in the debugger, and let it run. After the function EEStartup is finished, there will be a minimal managed environment for executing SOS commands. >> I have a partial memory minidump, and !DumpObj doesn't work. Why? In order to run SOS commands, many CLR data structures need to be traversed. When creating a minidump without full memory, special functions are called at dump creation time to bring those structures into the minidump, and allow a minimum set of SOS debugging commands to work. At this time, those commands that can provide full or partial output are: CLRStack Threads Help PrintException EEVersion For a minidump created with this minimal set of functionality in mind, you will get an error message when running any other commands. A full memory dump (obtained with ".dump /ma " in the Windows Debugger) is often the best way to debug a managed program at this level. >> What other tools can I use to find my bug? Turn on Managed Debugging Assistants. These enable additional runtime diagnostics, particularly in the area of PInvoke/Interop. Adam Nathan has written some great information about that: http://blogs.msdn.com/adam_nathan/ >> Does SOS support DML? Yes. SOS respects the .prefer_dml option in the debugger. If this setting is turned on, then SOS will output DML by default. Alternatively, you may leave it off and add /D to the beginning of a command to get DML based output for it. Not all SOS commands support DML output. \\ COMMAND: stoponexception. !StopOnException [-derived] [-create | -create2] [] !StopOnException helps when you want the Windows Debugger to stop on a particular managed exception, say a System.OutOfMemoryException, but continue running if other exceptions are thrown. The command can be used in two ways: 1) When you just want to stop on one particular CLR exception At the debugger prompt, anytime after loading SOS, type: !StopOnException -create System.OutOfMemoryException 1 The pseudo-register number (1) indicates that SOS can use register $t1 for maintaining the breakpoint. The -create parameter allows SOS to go ahead and set up the breakpoint as a first-chance exception. -create2 would set it up as a 2nd-chance exception. 2) When you need more complex logic for stopping on a CLR exception !StopOnException can be used purely as a predicate in a larger expression. If you type: !StopOnException System.OutOfMemoryException 3 then register $t3 will be set to 1 if the last thrown exception on the current thread is a System.OutOfMemoryException. Otherwise, $t3 will be set to 0. Using the Windows Debugger scripting language, you could chain such calls together to stop on various exception types. You'll have to manually create such predicates, for example: sxe -c "!soe System.OutOfMemoryException 3; !soe -derived System.IOException 4; .if(@$t3==1 || @$t4==1) { .echo 'stop' } .else {g}" The -derived option will cause StopOnException to set the pseudo-register to 1 even if the thrown exception type doesn't exactly match the exception type given, but merely derives from it. So, "-derived System.Exception" would catch every exception in the System.Exception heirarchy. The pseudo-register number is optional. If you don't pass a number, SOS will use pseudo-register $t1. Note that !PrintException with no parameters will print out the last thrown exception on the current thread (if any). You can use !soe as a shortcut for !StopOnException. \\ COMMAND: minidumpmode. !MinidumpMode <0 or 1> Minidumps created with ".dump /m" or ".dump" have a very small set of CLR-specific data, just enough to run a subset of SOS commands correctly. You are able to run other SOS commands, but they may fail with unexpected errors because required areas of memory are not mapped in or only partially mapped in. At this time, SOS cannot reliably detect if a dump file is of this type (for one thing, custom dump commands can map in additional memory, but there is no facility to read meta-information about this memory). You can turn this option on to protect against running unsafe commands against small minidumps. By default, MinidumpMode is 0, so there is no restriction on commands that will run against a minidump. \\ COMMAND: dumpobj. !DumpObj [-nofields] This command allows you to examine the fields of an object, as well as learn important properties of the object such as the EEClass, the MethodTable, and the size. You might find an object pointer by running !DumpStackObjects and choosing from the resultant list. Here is a simple object: 0:000> !DumpObj a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type VT Attr Value Name 009038ec 4000008 4 Customer 0 instance 00a79ce4 name 009038ec 4000009 8 Bank 0 instance 00a79d2c bank Note that fields of type Customer and Bank are themselves objects, and you can run !DumpObj on them too. You could look at the field directly in memory using the offset given. "dd a79d40+8 l1" would allow you to look at the bank field directly. Be careful about using this to set memory breakpoints, since objects can move around in the garbage collected heap. What else can you do with an object? You might run !GCRoot, to determine what roots are keeping it alive. Or you can find all objects of that type with "!DumpHeap -type Customer". The column VT contains the value 1 if the field is a valuetype structure, and 0 if the field contains a pointer to another object. For valuetypes, you can take the MethodTable pointer in the MT column, and the Value and pass them to the command !DumpVC. The abbreviation !do can be used for brevity. The arguments in detail: -nofields: do not print fields of the object, useful for objects like String \\ COMMAND: dumparray. !DumpArray [-start ] [-length ] [-details] [-nofields] This command allows you to examine elements of an array object. The arguments in detail: -start : optional, only supported for single dimension array. Specify from which index the command shows the elements. -length : optional, only supported for single dimension array. Specify how many elements to show. -details: optional. Ask the command to print out details of the element using !DumpObj and !DumpVC format. -nofields: optional, only takes effect when -details is used. Do not print fields of the elements. Useful for arrays of objects like String Example output: 0:000> !dumparray -start 2 -length 3 -details 00ad28d0 Name: Value[] MethodTable: 03e41044 EEClass: 03e40fc0 Size: 132(0x84) bytes Array: Rank 1, Number of elements 10, Type VALUETYPE Element Type: Value [2] 00ad28f0 Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 2 x 5b9a628c 4000002 4 System.Int32 instance 4 y 5b9a628c 4000003 8 System.Int32 instance 6 z [3] 00ad28fc Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 3 x 5b9a628c 4000002 4 System.Int32 instance 6 y 5b9a628c 4000003 8 System.Int32 instance 9 z [4] 00ad2908 Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 4 x 5b9a628c 4000002 4 System.Int32 instance 8 y 5b9a628c 4000003 8 System.Int32 instance 12 z \\ COMMAND: dumpstackobjects. !DumpStackObjects [-verify] [top stack [bottom stack]] This command will display any managed objects it finds within the bounds of the current stack. Combined with the stack tracing commands like K and !CLRStack, it is a good aid to determining the values of locals and parameters. If you use the -verify option, each non-static CLASS field of an object candidate is validated. This helps to eliminate false positives. It is not on by default because very often in a debugging scenario, you are interested in objects with invalid fields. The abbreviation !dso can be used for brevity. \\ COMMAND: dumpheap. !DumpHeap [-stat] [-strings] [-short] [-min ] [-max ] [-live] [-dead] [-thinlock] [-startAtLowerBound] [-mt ] [-type ] [start [end]] !DumpHeap is a powerful command that traverses the garbage collected heap, collection statistics about objects. With it's various options, it can look for particular types, restrict to a range, or look for ThinLocks (see !SyncBlk documentation). Finally, it will provide a warning if it detects excessive fragmentation in the GC heap. When called without options, the output is first a list of objects in the heap, followed by a report listing all the types found, their size and number: 0:000> !dumpheap Address MT Size 00a71000 0015cde8 12 Free 00a7100c 0015cde8 12 Free 00a71018 0015cde8 12 Free 00a71024 5ba58328 68 00a71068 5ba58380 68 00a710ac 5ba58430 68 00a710f0 5ba5dba4 68 ... total 619 objects Statistics: MT Count TotalSize Class Name 5ba7607c 1 12 System.Security.Permissions.HostProtectionResource 5ba75d54 1 12 System.Security.Permissions.SecurityPermissionFlag 5ba61f18 1 12 System.Collections.CaseInsensitiveComparer ... 0015cde8 6 10260 Free 5ba57bf8 318 18136 System.String ... "Free" objects are simply regions of space the garbage collector can use later. If 30% or more of the heap contains "Free" objects, the process may suffer from heap fragmentation. This is usually caused by pinning objects for a long time combined with a high rate of allocation. Here is example output where !DumpHeap provides a warning about fragmentation: Fragmented blocks larger than 1MB: Addr Size Followed by 00a780c0 1.5MB 00bec800 System.Byte[] 00da4e38 1.2MB 00ed2c00 System.Byte[] 00f16df0 1.2MB 01044338 System.Byte[] The arguments in detail: -stat Restrict the output to the statistical type summary -strings Restrict the output to a statistical string value summary -short Limits output to just the address of each object. This allows you to easily pipe output from the command to another debugger command for automation. -min Ignore objects less than the size given in bytes -max Ignore objects larger than the size given in bytes -live Only print live objects -dead Only print dead objects (objects which will be collected in the next full GC) -thinlock Report on any ThinLocks (an efficient locking scheme, see !SyncBlk documentation for more info) -startAtLowerBound Force heap walk to begin at lower bound of a supplied address range. (During plan phase, the heap is often not walkable because objects are being moved. In this case, DumpHeap may report spurious errors, in particular bad objects. It may be possible to traverse more of the heap after the reported bad object. Even if you specify an address range, !DumpHeap will start its walk from the beginning of the heap by default. If it finds a bad object before the specified range, it will stop before displaying the part of the heap in which you are interested. This switch will force !DumpHeap to begin its walk at the specified lower bound. You must supply the address of a good object as the lower bound for this to work. Display memory at the address of the bad object to manually find the next method table (use !dumpmt to verify). If the GC is currently in a call to memcopy, You may also be able to find the next object's address by adding the size to the start address given as parameters.) -mt List only those objects with the MethodTable given -type List only those objects whose type name is a substring match of the string provided. start Begin listing from this address end Stop listing at this address A special note about -type: Often, you'd like to find not only Strings, but System.Object arrays that are constrained to contain Strings. ("new String[100]" actually creates a System.Object array, but it can only hold System.String object pointers). You can use -type in a special way to find these arrays. Just pass "-type System.String[]" and those Object arrays will be returned. More generally, "-type []". The start/end parameters can be obtained from the output of !EEHeap -gc. For example, if you only want to list objects in the large heap segment: 0:000> !eeheap -gc Number of GC Heaps: 1 generation 0 starts at 0x00c32754 generation 1 starts at 0x00c32748 generation 2 starts at 0x00a71000 segment begin allocated size 00a70000 00a71000 010443a8 005d33a8(6108072) Large object heap starts at 0x01a71000 segment begin allocated size 01a70000 01a71000 01a75000 0x00004000(16384) Total Size 0x5d73a8(6124456) ------------------------------ GC Heap Size 0x5d73a8(6124456) 0:000> !dumpheap 1a71000 1a75000 Address MT Size 01a71000 5ba88bd8 2064 01a71810 0019fe48 2032 Free 01a72000 5ba88bd8 4096 01a73000 0019fe48 4096 Free 01a74000 5ba88bd8 4096 total 5 objects Statistics: MT Count TotalSize Class Name 0019fe48 2 6128 Free 5ba88bd8 3 10256 System.Object[] Total 5 objects Finally, if GC heap corruption is present, you may see an error like this: 0:000> !dumpheap -stat object 00a73d24: does not have valid MT curr_object : 00a73d24 Last good object: 00a73d14 ---------------- That indicates a serious problem. See the help for !VerifyHeap for more information on diagnosing the cause. \\ COMMAND: dumpvc. !DumpVC
!DumpVC allows you to examine the fields of a value class. In C#, this is a struct, and lives on the stack or within an Object on the GC heap. You need to know the MethodTable address to tell SOS how to interpret the fields, as a value class is not a first-class object with it's own MethodTable as the first field. For example: 0:000> !DumpObj a79d98 Name: Mainy MethodTable: 009032d8 EEClass: 03ee1424 Size: 28(0x1c) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 0090320c 4000010 4 VALUETYPE instance 00a79d9c m_valuetype 009032d8 400000f 4 CLASS static 00a79d54 m_sExcep m_valuetype is a value type. The value in the MT column (0090320c) is the MethodTable for it, and the Value column provides the start address: 0:000> !DumpVC 0090320c 00a79d9c Name: Funny MethodTable 0090320c EEClass: 03ee14b8 Size: 28(0x1c) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 0090320c 4000001 0 CLASS instance 00a743d8 signature 0090320c 4000002 8 System.Int32 instance 2345 m1 0090320c 4000003 10 System.Boolean instance 1 b1 0090320c 4000004 c System.Int32 instance 1234 m2 0090320c 4000005 4 CLASS instance 00a79d98 backpointer !DumpVC is quite a specialized function. Some managed programs make heavy use of value classes, while others do not. \\ COMMAND: gcroot. !GCRoot [-nostacks] !GCRoot looks for references (or roots) to an object. These can exist in four places: 1. On the stack 2. Within a GC Handle 3. In an object ready for finalization 4. As a member of an object found in 1, 2 or 3 above. First, all stacks will be searched for roots, then handle tables, and finally the freachable queue of the finalizer. Some caution about the stack roots: !GCRoot doesn't attempt to determine if a stack root it encountered is valid or is old (discarded) data. You would have to use !CLRStack and !U to disassemble the frame that the local or argument value belongs to in order to determine if it is still in use. Because people often want to restrict the search to gc handles and freachable objects, there is a -nostacks option. \\ COMMAND: objsize. !ObjSize [] With no parameters, !ObjSize lists the size of all objects found on managed threads. It also enumerates all GCHandles in the process, and totals the size of any objects pointed to by those handles. In calculating object size, !ObjSize includes the size of all child objects in addition to the parent. For example, !DumpObj lists a size of 20 bytes for this Customer object: 0:000> !do a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 009038ec 4000008 4 CLASS instance 00a79ce4 name 009038ec 4000009 8 CLASS instance 00a79d2c bank 009038ec 400000a c System.Boolean instance 1 valid but !ObjSize lists 152 bytes: 0:000> !ObjSize a79d40 sizeof(00a79d40) = 152 ( 0x98) bytes (Customer) This is because a Customer points to a Bank, has a name, and the Bank points to an Address string. You can use !ObjSize to identify any particularly large objects, such as a managed cache in a web server. While running ObjSize with no arguments may point to specific roots that hold onto large amounts of memory it does not provide information regarding the amount of managed memory that is still alive. This is due to the fact that a number of roots can share a common subgraph, and that part will be reported in the size of all the roots that reference the subgraph. Please note the -aggregate parameter to !ObjSize has been removed. Please see '!DumpHeap -live' and '!DumpHeap -dead' for that functionality. \\ COMMAND: finalizequeue. !FinalizeQueue [-detail] | [-allReady] [-short] This command lists the objects registered for finalization. Here is output from a simple program: 0:000> !finalizequeue SyncBlocks to be cleaned up: 0 MTA Interfaces to be released: 0 STA Interfaces to be released: 1 generation 0 has 4 finalizable objects (0015bc90->0015bca0) generation 1 has 0 finalizable objects (0015bc90->0015bc90) generation 2 has 0 finalizable objects (0015bc90->0015bc90) Ready for finalization 0 objects (0015bca0->0015bca0) Statistics: MT Count TotalSize Class Name 5ba6cf78 1 24 Microsoft.Win32.SafeHandles.SafeFileHandle 5ba5db04 1 68 System.Threading.Thread 5ba73e28 2 112 System.IO.StreamWriter Total 4 objects The GC heap is divided into generations, and objects are listed accordingly. We see that only generation 0 (the youngest generation) has any objects registered for finalization. The notation "(0015bc90->0015bca0)" means that if you look at memory in that range, you'll see the object pointers that are registered: 0:000> dd 15bc90 15bca0-4 0015bc90 00a743f4 00a79f00 00a7b3d8 00a7b47c You could run !DumpObj on any of those pointers to learn more. In this example, there are no objects ready for finalization, presumably because they still have roots (You can use !GCRoot to find out). The statistics section provides a higher-level summary of the objects registered for finalization. Note that objects ready for finalization are also included in the statistics (if any). Specifying -short will inhibit any display related to SyncBlocks or RCWs. The arguments in detail: -allReady Specifying this argument will allow for the display of all objects that are ready for finalization, whether they are already marked by the GC as such, or whether the next GC will. The objects that are not in the "Ready for finalization" list are finalizable objects that are no longer rooted. This option can be very expensive, as it verifies whether all the objects in the finalizable queues are still rooted or not. -short Limits the output to just the address of each object. If used in conjunction with -allReady it enumerates all objects that have a finalizer that are no longer rooted. If used independently it lists all objects in the finalizable and "ready for finalization" queues. -detail Will display extra information on any SyncBlocks that need to be cleaned up, and on any RuntimeCallableWrappers (RCWs) that await cleanup. Both of these data structures are cached and cleaned up by the finalizer thread when it gets a chance to run. \\ COMMAND: printexception. !PrintException [-nested] [-lines] [-ccw] [] [] This will format fields of any object derived from System.Exception. One of the more useful aspects is that it will format the _stackTrace field, which is a binary array. If _stackTraceString field is not filled in, that can be helpful for debugging. You can of course use !DumpObj on the same exception object to explore more fields. If called with no parameters, PrintException will look for the last outstanding exception on the current thread and print it. This will be the same exception that shows up in a run of !Threads. !PrintException will notify you if there are any nested exceptions on the current managed thread. (A nested exception occurs when you throw another exception within a catch handler already being called for another exception). If there are nested exceptions, you can re-run !PrintException with the "-nested" option to get full details on the nested exception objects. The !Threads command will also tell you which threads have nested exceptions. !PrintException can display source information if available, by specifying the -lines command line argument. !PrintException prints the exception object corresponding to a given CCW pointer, which can be specified using the -ccw option. The abbreviation !pe can be used for brevity. \\ COMMAND: traverseheap. !TraverseHeap [-xml] [-verify] !TraverseHeap writes out a file in a format understood by the CLR Profiler. You can download the CLR Profiler from this link: http://www.microsoft.com/downloads/details.aspx?FamilyId=86CE6052-D7F4-4AEB- 9B7A-94635BEEBDDA&displaylang=en It creates a graphical display of the GC heap to help you analyze the state of your application. If you pass the -verify option it will do more sanity checking of the heap as it dumps it. Use this option if heap corruption is suspected. If you pass the "-xml" flag, the file is instead written out in an easy to understand xml format: ... ... ... ... You can break into your process, load SOS, take a snapshot of your heap with this function, then continue. \\ COMMAND: threadstate. !ThreadState value The !Threads command outputs, among other things, the state of the thread. This is a bit field which corresponds to various states the thread is in. To check the state of the thread, simply pass that bit field from the output of !Threads into !ThreadState. Example: 0:003> !Threads ThreadCount: 2 UnstartedThread: 0 BackgroundThread: 1 PendingThread: 0 DeadThread: 0 Hosted Runtime: no PreEmptive GC Alloc Lock ID OSID ThreadOBJ State GC Context Domain Count APT Exception 0 1 250 0019b068 a020 Disabled 02349668:02349fe8 0015def0 0 MTA 2 2 944 001a6020 b220 Enabled 00000000:00000000 0015def0 0 MTA (Finalizer) 0:003> !ThreadState b220 Legal to Join Background CLR Owns CoInitialized In Multi Threaded Apartment Possible thread states: Thread Abort Requested GC Suspend Pending User Suspend Pending Debug Suspend Pending GC On Transitions Legal to Join Yield Requested Hijacked by the GC Blocking GC for Stack Overflow Background Unstarted Dead CLR Owns CoInitialized In Single Threaded Apartment In Multi Threaded Apartment Reported Dead Fully initialized Task Reset Sync Suspended Debug Will Sync Stack Crawl Needed Suspend Unstarted Aborted Thread Pool Worker Thread Interruptible Interrupted Completion Port Thread Abort Initiated Finalized Failed to Start Detached \\ COMMAND: threads. !Threads [-live] [-special] !Threads lists all the mananaged threads in the process. -live: optional. Only print threads associated with a live thread. -special: optional. With this switch, the command will display all the special threads created by CLR. Those threads might not be managed threads so they might not be shown in the first part of the command's output. Example of special threads include: GC threads (in concurrent GC and server GC), Debugger helper threads, Finalizer threads, AppDomain Unload threads, and Threadpool timer threads. Each thread has many attributes, many of which can be ignored. The important ones are discussed below: There are three ID columns: 1) The debugger shorthand ID (When the runtime is hosted this column might display the special string "<<<<" when this internal thread object is not associated with any physical thread - this may happen when the host reuses the runtime internal thread object) 2) The CLR Thread ID 3) The OS thread ID. If PreEmptiveGC is enabled for a thread, then a garbage collection can occur while that thread is running. For example, if you break in while a managed thread is making a PInvoke call to a Win32 function, that thread will be in PreEmptive GC mode. The Domain column indicates what AppDomain the thread is currently executing in. You can pass this value to !DumpDomain to find out more. The APT column gives the COM apartment mode. Exception will list the last thrown exception (if any) for the thread. More details can be obtained by passing the pointer value to !PrintException. If you get the notation "(nested exceptions)", you can get details on those exceptions by switching to the thread in question, and running "!PrintException -nested". \\ COMMAND: clrstack. !CLRStack [-a] [-l] [-p] [-n] !CLRStack [-a] [-l] [-p] [-i] [variable name] [frame] CLRStack attempts to provide a true stack trace for managed code only. It is handy for clean, simple traces when debugging straightforward managed programs. The -p parameter will show arguments to the managed function. The -l parameter can be used to show information on local variables in a frame. SOS can't retrieve local names at this time, so the output for locals is in the format = . The -a (all) parameter is a short-cut for -l and -p combined. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), SOS will look up the symbols for every managed frame and if successful will display the corresponding source file name and line number. The -n (No line numbers) parameter can be specified to disable this behavior. When you see methods with the name "[Frame:...", that indicates a transition between managed and unmanaged code. You could run !IP2MD on the return addresses in the call stack to get more information on each managed method. On x64 platforms, Transition Frames are not displayed at this time. To avoid heavy optimization of parameters and locals one can request the JIT compiler to not optimize functions in the managed app by creating a file myapp.ini (if your program is myapp.exe) in the same directory. Put the following lines in myapp.ini and re-run: [.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0 The -i option is a new EXPERIMENTAL addition to CLRStack and will use the ICorDebug interfaces to display the managed stack and variables. With this option you can also view and expand arrays and fields for managed variables. If a stack frame number is specified in the command line, CLRStack will show you the parameters and/or locals only for that frame (provided you specify -l or -p or -a of course). If a variable name and a stack frame number are specified in the command line, CLRStack will show you the parameters and/or locals for that frame, and will also show you the fields for that variable name you specified. Here are some examples: !CLRStack -i -a : This will show you all parameters and locals for all frames !CLRStack -i -a 3 : This will show you all parameters and locals, for frame 3 !CLRStack -i var1 0 : This will show you the fields of 'var1' for frame 0 !CLRStack -i var1.abc 2 : This will show you the fields of 'var1', and expand 'var1.abc' to show you the fields of the 'abc' field, for frame 2. !CLRStack -i var1.[basetype] 0 : This will show you the fields of 'var1', and expand the base type of 'var1' to show you its fields. !CLRStack -i var1.[6] 0 : If 'var1' is an array, this will show you the element at index 6 in the array, along with its fields The -i options uses DML output for a better debugging experience, so typically you should only need to execute "!CLRStack -i", and from there, click on the DML hyperlinks to inspect the different managed stack frames and managed variables. \\ COMMAND: ip2md. !IP2MD Given an address in managed JITTED code, IP2MD attempts to find the MethodDesc associated with it. For example, this output from K: 0:000> K ChildEBP RetAddr 00a79c78 03ef02ab image00400000!Mainy.Top()+0xb 00a79c78 03ef01a6 image00400000!Mainy.Level(Int32)+0xb 00a79c78 5d3725a1 image00400000!Mainy.Main()+0xee 0012ea04 5d512f59 clr!CallDescrWorkerInternal+0x30 0012ee34 5d7946aa clr!CallDescrWorker+0x109 0:000> !IP2MD 03ef01a6 MethodDesc: 00902f40 Method Name: Mainy.Main() Class: 03ee1424 MethodTable: 009032d8 mdToken: 0600000d Module: 001caa38 IsJitted: yes CodeAddr: 03ef00b8 Transparency: Critical Source file: c:\Code\prj.mini\exc.cs @ 39 We have taken a return address into Mainy.Main, and discovered information about that method. You could run !U, !DumpMT, !DumpClass, !DumpMD, or !DumpModule on the fields listed to learn more. The "Source line" output will only be present if the debugger can find the symbols for the managed module containing the given , and if the debugger is configured to load line number information. \\ COMMAND: u. !U [-gcinfo] [-ehinfo] [-n] | Presents an annotated disassembly of a managed method when given a MethodDesc pointer for the method, or a code address within the method body. Unlike the debugger "U" function, the entire method from start to finish is printed, with annotations that convert metadata tokens to names. ... 03ef015d b901000000 mov ecx,0x1 03ef0162 ff156477a25b call dword ptr [mscorlib_dll+0x3c7764 (5ba27764)] (System.Console.InitializeStdOutError(Boolean), mdToken: 06000713) 03ef0168 a17c20a701 mov eax,[01a7207c] (Object: SyncTextWriter) 03ef016d 89442414 mov [esp+0x14],eax If you pass the -gcinfo flag, you'll get inline display of the GCInfo for the method. You can also obtain this information with the !GCInfo command. If you pass the -ehinfo flag, you'll get inline display of exception info for the method. (Beginning and end of try/finally/catch handlers, etc.). You can also obtain this information with the !EHInfo command. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), and if symbols are available for the managed module containing the method being examined, the output of the command will include the source file name and line number corresponding to the disassembly. The -n (No line numbers) flag can be specified to disable this behavior. ... c:\Code\prj.mini\exc.cs @ 38: 001b00b0 8b0d3020ab03 mov ecx,dword ptr ds:[3AB2030h] ("Break in debugger. When done type to continue: ") 001b00b6 e8d5355951 call mscorlib_ni+0x8b3690 (51743690) (System.Console.Write(System.String), mdToken: 0600091b) 001b00bb 90 nop c:\Code\prj.mini\exc.cs @ 39: 001b00bc e863cdc651 call mscorlib_ni+0xf8ce24 (51e1ce24) (System.Console.ReadLine(), mdToken: 060008f6) >>> 001b00c1 90 nop ... \\ COMMAND: dumpstack. !DumpStack [-EE] [-n] [top stack [bottom stack]] [x86 and x64 documentation] This command provides a verbose stack trace obtained by "scraping." Therefore the output is very noisy and potentially confusing. The command is good for viewing the complete call stack when "kb" gets confused. For best results, make sure you have valid symbols. -EE will only show managed functions. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), SOS will look up the symbols for every managed frame and if successful will display the corresponding source file name and line number. The -n (No line numbers) parameter can be specified to disable this behavior. You can also pass a stack range to limit the output. Use the debugger extension !teb to get the top and bottom stack values. \\ COMMAND: eestack. !EEStack [-short] [-EE] This command runs !DumpStack on all threads in the process. The -EE option is passed directly to !DumpStack. The -short option tries to narrow down the output to "interesting" threads only, which is defined by 1) The thread has taken a lock. 2) The thread has been "hijacked" in order to allow a garbage collection. 3) The thread is currently in managed code. See the documentation for !DumpStack for more info. \\ COMMAND: ehinfo. !EHInfo ( | ) !EHInfo shows the exception handling blocks in a jitted method. For each handler, it shows the type, including code addresses and offsets for the clause block and the handler block. For a TYPED handler, this would be the "try" and "catch" blocks respectively. Sample output: 0:000> !ehinfo 33bbd3a MethodDesc: 03310f68 Method Name: MainClass.Main() Class: 03571358 MethodTable: 0331121c mdToken: 0600000b Module: 001e2fd8 IsJitted: yes CodeAddr: 033bbca0 Transparency: Critical EHHandler 0: TYPED catch(System.IO.FileNotFoundException) Clause: [033bbd2b, 033bbd3c] [8b, 9c] Handler: [033bbd3c, 033bbd50] [9c, b0] EHHandler 1: FINALLY Clause: [033bbd83, 033bbda3] [e3, 103] Handler: [033bbda3, 033bbdc5] [103, 125] EHHandler 2: TYPED catch(System.Exception) Clause: [033bbd7a, 033bbdc5] [da, 125] Handler: [033bbdc5, 033bbdd6] [125, 136] \\ COMMAND: gcinfo. !GCInfo ( | ) !GCInfo is especially useful for CLR Devs who are trying to determine if there is a bug in the JIT Compiler. It parses the GCEncoding for a method, which is a compressed stream of data indicating when registers or stack locations contain managed objects. It is important to keep track of this information, because if a garbage collection occurs, the collector needs to know where roots are so it can update them with new object pointer values. Here is sample output where you can see the change in register state. Normally you would print this output out and read it alongside a disassembly of the method. For example, the notation "reg EDI becoming live" at offset 0x11 of the method might correspond to a "mov edi,ecx" statement. 0:000> !gcinfo 5b68dbb8 (5b68dbb8 is the start of a JITTED method) entry point 5b68dbb8 preJIT generated code GC info 5b9f2f09 Method info block: method size = 0036 prolog size = 19 epilog size = 8 epilog count = 1 epilog end = yes saved reg. mask = 000B ebp frame = yes fully interruptible=yes double align = no security check = no exception handlers = no local alloc = no edit & continue = no varargs = no argument count = 4 stack frame size = 1 untracked count = 5 var ptr tab count = 0 epilog at 002E 36 D4 8C C7 AA | 93 F3 40 05 | Pointer table: 14 | [EBP+14H] an untracked local 10 | [EBP+10H] an untracked local 0C | [EBP+0CH] an untracked local 08 | [EBP+08H] an untracked local 44 | [EBP-04H] an untracked local F1 79 | 0011 reg EDI becoming live 72 | 0013 reg ESI becoming live 83 | 0016 push ptr 0 8B | 0019 push ptr 1 93 | 001C push ptr 2 9B | 001F push ptr 3 56 | 0025 reg EDX becoming live 4A | 0027 reg ECX becoming live 0E | 002D reg ECX becoming dead 10 | 002D reg EDX becoming dead E0 | 002D pop 4 ptrs F0 31 | 0036 reg ESI becoming dead 38 | 0036 reg EDI becoming dead FF | This function is important for CLR Devs, but very difficult for anyone else to make sense of it. You would usually come to use it if you suspect a gc heap corruption bug caused by invalid GCEncoding for a particular method. \\ COMMAND: comstate. !COMState !COMState lists the com apartment model for each thread, as well as a Context pointer if provided. \\ COMMAND: bpmd. !BPMD [-nofuturemodule] [] !BPMD : !BPMD -md !BPMD -list !BPMD -clear !BPMD -clearall !BPMD provides managed breakpoint support. If it can resolve the method name to a loaded, jitted or ngen'd function it will create a breakpoint with "bp". If not then either the module that contains the method hasn't been loaded yet or the module is loaded, but the function is not jitted yet. In these cases, !bpmd asks the Windows Debugger to receive CLR Notifications, and waits to receive news of module loads and JITs, at which time it will try to resolve the function to a breakpoint. -nofuturemodule can be used to suppress creating a breakpoint against a module that has not yet been loaded. Management of the list of pending breakpoints can be done via !BPMD -list, !BPMD -clear, and !BPMD -clearall commands. !BPMD -list generates a list of all of the pending breakpoints. If the pending breakpoint has a non-zero module id, then that pending breakpoint is specific to function in that particular loaded module. If the pending breakpoint has a zero module id, then the breakpoint applies to modules that have not yet been loaded. Use !BPMD -clear or !BPMD -clearall to remove pending breakpoints from the list. This brings up a good question: "I want to set a breakpoint on the main method of my application. How can I do this?" 1) If you know the full path to SOS, use this command and skip to step 6 .load 2) If you don't know the full path to sos, its usually next to clr.dll You can wait for clr to load and then find it. Start the debugger and type: sxe -c "" clrn 3) g 4) You'll get the following notification from the debugger: "CLR notification: module 'mscorlib' loaded" 5) Now you can load SOS. Type .loadby sos clr 6) Add the breakpoint with command such as: !bpmd myapp.exe MyApp.Main 7) g 8) You will stop at the start of MyApp.Main. If you type "bl" you will see the breakpoint listed. You can specify breakpoints by file and line number if: a) You have some version of .Net Framework installed on your machine. Any OS from Vista onwards should have .Net Framework installed by default. b) You have PDBs for the managed modules that need breakpoints, and your symbol path points to those PDBs. This is often easier than module and method name syntax. For example: !bpmd Demo.cs:15 To correctly specify explicitly implemented methods make sure to retrieve the method name from the metadata, or from the output of the "!dumpmt -md" command. For example: public interface I1 { void M1(); } public class ExplicitItfImpl : I1 { ... void I1.M1() // this method's name is 'I1.M1' { ... } } !bpmd myapp.exe ExplicitItfImpl.I1.M1 !BPMD works equally well with generic types. Adding a breakpoint on a generic type sets breakpoints on all already JIT-ted generic methods and sets a pending breakpoint for any instantiation that will be JIT-ted in the future. Example for generics: Given the following two classes: class G3 { ... public void F(T1 p1, T2 p2, T3 p3) { ... } } public class G1 { // static method static public void G(W w) { ... } } One would issue the following commands to set breapoints on G3.F() and G1.G(): !bpmd myapp.exe G3`3.F !bpmd myapp.exe G1`1.G And for explicitly implemented methods on generic interfaces: public interface IT1 { void M1(T t); } public class ExplicitItfImpl : IT1 { ... void IT1.M1(U u) // this method's name is 'IT1.M1' { ... } } !bpmd bpmd.exe ExplicitItfImpl`1.IT1.M1 Additional examples: If IT1 and ExplicitItfImpl are types declared inside another class, Outer, the bpmd command would become: !bpmd bpmd.exe Outer+ExplicitItfImpl`1.Outer.IT1.M1 (note that the fully qualified type name for ExplicitItfImpl became Outer+ExplicitItfImpl, using the '+' separator, while the method name is Outer.IT1.M1, using a '.' as the separator) Furthermore, if the Outer class resides in a namespace, NS, the bpmd command to use becomes: !bpmd bpmd.exe NS.Outer+ExplicitItfImpl`1.NS.Outer.IT1.M1 !BPMD does not accept offsets nor parameters in the method name. You can add an IL offset as an optional parameter seperate from the name. If there are overloaded methods, !bpmd will set a breakpoint for all of them. In the case of hosted environments such as SQL, the module name may be complex, like 'price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. For this case, just be sure to surround the module name with single quotes, like: !bpmd 'price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Price.M2 \\ COMMAND: dumpdomain. !DumpDomain [] When called with no parameters, !DumpDomain will list all the AppDomains in the process. It enumerates each Assembly loaded into those AppDomains as well. In addition to your application domain, and any domains it might create, there are two special domains: the Shared Domain and the System Domain. Any Assembly pointer in the output can be passed to !DumpAssembly. Any Module pointer in the output can be passed to !DumpModule. Any AppDomain pointer can be passed to !DumpDomain to limit output only to that AppDomain. Other functions provide an AppDomain pointer as well, such as !Threads where it lists the current AppDomain for each thread. \\ COMMAND: eeheap. !EEHeap [-gc] [-loader] !EEHeap enumerates process memory consumed by internal CLR data structures. You can limit the output by passing "-gc" or "-loader". All information will be displayed otherwise. The information for the Garbage Collector lists the ranges of each Segment in the managed heap. This can be useful if you believe you have an object pointer. If the pointer falls within a segment range given by "!EEHeap -gc", then you do have an object pointer, and can attempt to run "!DumpObj" on it. Here is output for a simple program: 0:000> !eeheap -gc Number of GC Heaps: 1 generation 0 starts at 0x00a71018 generation 1 starts at 0x00a7100c generation 2 starts at 0x00a71000 segment begin allocated size 00a70000 00a71000 00a7e01c 0000d01c(53276) Large object heap starts at 0x01a71000 segment begin allocated size 01a70000 01a71000 01a76000 0x00005000(20480) Total Size 0x1201c(73756) ------------------------------ GC Heap Size 0x1201c(73756) So the total size of the GC Heap is only 72K. On a large web server, with multiple processors, you can expect to see a GC Heap of 400MB or more. The Garbage Collector attempts to collect and reclaim memory only when required to by memory pressure for better performance. You can also see the notion of "generations," wherein the youngest objects live in generation 0, and long-lived objects eventually get "promoted" to generation 2. The loader output lists various private heaps associated with AppDomains. It also lists heaps associated with the JIT compiler, and heaps associated with Modules. For example: 0:000> !EEHeap -loader Loader Heap: -------------------------------------- System Domain: 5e0662a0 LowFrequencyHeap:008f0000(00002000:00001000) Size: 0x00001000 bytes. HighFrequencyHeap:008f2000(00008000:00001000) Size: 0x00001000 bytes. StubHeap:008fa000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x3000(12288)bytes -------------------------------------- Shared Domain: 5e066970 LowFrequencyHeap:00920000(00002000:00001000) 03e30000(00010000:00003000) Size: 0x00004000 bytes. Wasted: 0x00001000 bytes. HighFrequencyHeap:00922000(00008000:00001000) Size: 0x00001000 bytes. StubHeap:0092a000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x6000(24576)bytes -------------------------------------- Domain 1: 14f000 LowFrequencyHeap:00900000(00002000:00001000) 03ee0000(00010000:00003000) Size: 0x00004000 bytes. Wasted: 0x00001000 bytes. HighFrequencyHeap:00902000(00008000:00003000) Size: 0x00003000 bytes. StubHeap:0090a000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x8000(32768)bytes -------------------------------------- Jit code heap: Normal JIT:03ef0000(00010000:00002000) Size: 0x00002000 bytes. Total size: 0x2000(8192)bytes -------------------------------------- Module Thunk heaps: Module 5ba22410: Size: 0x00000000 bytes. Module 001c1320: Size: 0x00000000 bytes. Module 001c03f0: Size: 0x00000000 bytes. Module 001caa38: Size: 0x00000000 bytes. Total size: 0x0(0)bytes -------------------------------------- Module Lookup Table heaps: Module 5ba22410:Size: 0x00000000 bytes. Module 001c1320:Size: 0x00000000 bytes. Module 001c03f0:Size: 0x00000000 bytes. Module 001caa38:03ec0000(00010000:00002000) Size: 0x00002000 bytes. Total size: 0x2000(8192)bytes -------------------------------------- Total LoaderHeap size: 0x15000(86016)bytes ======================================= By using !EEHeap to keep track of the growth of these private heaps, we are able to rule out or include them as a source of a memory leak. \\ COMMAND: name2ee. !Name2EE !Name2EE ! This function allows you to turn a class name into a MethodTable and EEClass. It turns a method name into a MethodDesc. Here is an example for a method: 0:000> !name2ee unittest.exe MainClass.Main Module: 001caa38 Token: 0x0600000d MethodDesc: 00902f40 Name: MainClass.Main() JITTED Code Address: 03ef00b8 and for a class: 0:000> !name2ee unittest!MainClass Module: 001caa38 Token: 0x02000005 MethodTable: 009032d8 EEClass: 03ee1424 Name: MainClass The module you are "browsing" with Name2EE needs to be loaded in the process. To get a type name exactly right, first browse the module with ILDASM. You can also pass * as the to search all loaded managed modules. can also be the debugger's name for a module, such as mscorlib or image00400000. The Windows Debugger syntax of ! is also supported. You can use an asterisk on the left of the !, but the type on the right side needs to be fully qualified. If you are looking for a way to display a static field of a class (and you don't have an instance of the class, so !dumpobj won't help you), note that once you have the EEClass, you can run !DumpClass, which will display the value of all static fields. There is yet one more way to specify a module name. In the case of modules loaded from an assembly store (such as a SQL db) rather than disk, the module name will look like this: price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null For this kind of module, simply use price as the module name: 0:044> !name2ee price Price Module: 10f028b0 (price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null) Token: 0x02000002 MethodTable: 11a47ae0 EEClass: 11a538c8 Name: Price Where are we getting these module names from? Run !DumpDomain to see a list of all loaded modules in all domains. And remember that you can browse all the types in a module with !DumpModule -mt . \\ COMMAND: syncblk. !SyncBlk [-all | ] A SyncBlock is a holder for extra information that doesn't need to be created for every object. It can hold COM Interop data, HashCodes, and locking information for thread-safe operations. When called without arguments, !SyncBlk will print the list of SyncBlocks corresponding to objects that are owned by a thread. For example, a lock(MyObject) { .... } statement will set MyObject to be owned by the current thread. A SyncBlock will be created for MyObject, and the thread ownership information stored there (this is an oversimplification, see NOTE below). If another thread tries to execute the same code, they won't be able to enter the block until the first thread exits. This makes !SyncBlk useful for detecting managed deadlocks. Consider that the following code is executed by Threads A & B: Resource r1 = new Resource(); Resource r2 = new Resource(); ... lock(r1) lock(r2) { { lock(r2) lock(r1) { { ... ... } } } } This is a deadlock situation, as Thread A could take r1, and Thread B r2, leaving both threads with no option but to wait forever in the second lock statement. !SyncBlk will detect this with the following output: 0:003> !syncblk Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner 238 001e40ec 3 1 001e4e60 e04 3 00a7a194 Resource 239 001e4124 3 1 001e5980 ab8 4 00a7a1a4 Resource It means that Thread e04 owns object 00a7a194, and Thread ab8 owns object 00a7a1a4. Combine that information with the call stacks of the deadlock: (threads 3 and 4 have similar output) 0:003> k ChildEBP RetAddr 0404ea04 77f5c524 SharedUserData!SystemCallStub+0x4 0404ea08 77e75ee0 ntdll!NtWaitForMultipleObjects+0xc 0404eaa4 5d9de9d6 KERNEL32!WaitForMultipleObjectsEx+0x12c 0404eb38 5d9def80 clr!Thread::DoAppropriateAptStateWait+0x156 0404ecc4 5d9dd8bb clr!Thread::DoAppropriateWaitWorker+0x360 0404ed20 5da628dd clr!Thread::DoAppropriateWait+0xbb 0404ede4 5da4e2e2 clr!CLREvent::Wait+0x29d 0404ee70 5da4dd41 clr!AwareLock::EnterEpilog+0x132 0404ef34 5da4efa3 clr!AwareLock::Enter+0x2c1 0404f09c 5d767880 clr!AwareLock::Contention+0x483 0404f1c4 03f00229 clr!JITutil_MonContention+0x2c0 0404f1f4 5b6ef077 image00400000!Worker.Work()+0x79 ... By looking at the code corresponding to Worker.Work()+0x79 (run "!u 03f00229"), you can see that thread 3 is attempting to acquire the Resource 00a7a1a4, which is owned by thread 4. NOTE: It is not always the case that a SyncBlock will be created for every object that is locked by a thread. In version 2.0 of the CLR and above, a mechanism called a ThinLock will be used if there is not already a SyncBlock for the object in question. ThinLocks will not be reported by the !SyncBlk command. You can use "!DumpHeap -thinlock" to list objects locked in this way. \\ COMMAND: dumpmt. !DumpMT [-MD] Examine a MethodTable. Each managed object has a MethodTable pointer at the start. If you pass the "-MD" flag, you'll also see a list of all the methods defined on the object. \\ COMMAND: dumpclass. !DumpClass The EEClass is a data structure associated with an object type. !DumpClass will show attributes, as well as list the fields of the type. The output is similar to !DumpObj. Although static field values will be displayed, non-static values won't because you need an instance of an object for that. You can get an EEClass to look at from !DumpMT, !DumpObj, !Name2EE, and !Token2EE among others. \\ COMMAND: dumpmd. !DumpMD This command lists information about a MethodDesc. You can use !IP2MD to turn a code address in a managed function into a MethodDesc: 0:000> !dumpmd 902f40 Method Name: Mainy.Main() Class: 03ee1424 MethodTable: 009032d8 mdToken: 0600000d Module: 001caa78 IsJitted: yes CodeAddr: 03ef00b8 If IsJitted is "yes," you can run !U on the CodeAddr pointer to see a disassembly of the JITTED code. You can also call !DumpClass, !DumpMT, !DumpModule on the Class, MethodTable and Module fields above. \\ COMMAND: token2ee. !Token2EE This function allows you to turn a metadata token into a MethodTable or MethodDesc. Here is an example showing class tokens being resolved: 0:000> !token2ee unittest.exe 02000003 Module: 001caa38 Token: 0x02000003 MethodTable: 0090375c EEClass: 03ee1ae0 Name: Bank 0:000> !token2ee image00400000 02000004 Module: 001caa38 Token: 0x02000004 MethodTable: 009038ec EEClass: 03ee1b84 Name: Customer The module you are "browsing" with Token2EE needs to be loaded in the process. This function doesn't see much use, especially since a tool like ILDASM can show the mapping between metadata tokens and types/methods in a friendlier way. But it could be handy sometimes. You can pass "*" for to find what that token maps to in every loaded managed module. can also be the debugger's name for a module, such as mscorlib or image00400000. \\ COMMAND: eeversion. !EEVersion This prints the Common Language Runtime version. It also tells you if the code is running in "Workstation" or "Server" mode, a distinction which affects the garbage collector. The most apparent difference in the debugger is that in "Server" mode there is one dedicated garbage collector thread per CPU. A handy supplement to this function is to also run "lm v m clr". That will provide more details about the CLR, including where clr.dll is loaded from. \\ COMMAND: dumpmodule. !DumpModule [-mt] You can get a Module address from !DumpDomain, !DumpAssembly and other functions. Here is sample output: 0:000> !DumpModule 1caa50 Name: C:\pub\unittest.exe Attributes: PEFile Assembly: 001ca248 LoaderHeap: 001cab3c TypeDefToMethodTableMap: 03ec0010 TypeRefToMethodTableMap: 03ec0024 MethodDefToDescMap: 03ec0064 FieldDefToDescMap: 03ec00a4 MemberRefToDescMap: 03ec00e8 FileReferencesMap: 03ec0128 AssemblyReferencesMap: 03ec012c MetaData start address: 00402230 (1888 bytes) The Maps listed map metadata tokens to CLR data structures. Without going into too much detail, you can examine memory at those addresses to find the appropriate structures. For example, the TypeDefToMethodTableMap above can be examined: 0:000> dd 3ec0010 03ec0010 00000000 00000000 0090320c 0090375c 03ec0020 009038ec ... This means TypeDef token 2 maps to a MethodTable with the value 0090320c. You can run !DumpMT to verify that. The MethodDefToDescMap takes a MethodDef token and maps it to a MethodDesc, which can be passed to !DumpMD. There is a new option "-mt", which will display the types defined in a module, and the types referenced by the module. For example: 0:000> !dumpmodule -mt 1aa580 Name: C:\pub\unittest.exe ...... MetaData start address: 0040220c (1696 bytes) Types defined in this module MT TypeDef Name -------------------------------------------------------------------------- 030d115c 0x02000002 Funny 030d1228 0x02000003 Mainy Types referenced in this module MT TypeRef Name -------------------------------------------------------------------------- 030b6420 0x01000001 System.ValueType 030b5cb0 0x01000002 System.Object 030fceb4 0x01000003 System.Exception 0334e374 0x0100000c System.Console 03167a50 0x0100000e System.Runtime.InteropServices.GCHandle 0336a048 0x0100000f System.GC \\ COMMAND: threadpool. !ThreadPool This command lists basic information about the ThreadPool, including the number of work requests in the queue, number of completion port threads, and number of timers. \\ COMMAND: dumpassembly. !DumpAssembly Example output: 0:000> !dumpassembly 1ca248 Parent Domain: 0014f000 Name: C:\pub\unittest.exe ClassLoader: 001ca060 Module Name 001caa50 C:\pub\unittest.exe An assembly can consist of multiple modules, and those will be listed. You can get an Assembly address from the output of !DumpDomain. \\ COMMAND: dumpruntimetypes. !DumpRuntimeTypes !DumpRuntimeTypes finds all System.RuntimeType objects in the gc heap and prints the type name and MethodTable they refer too. Sample output: Address Domain MT Type Name ------------------------------------------------------------------------------ a515f4 14a740 5baf8d28 System.TypedReference a51608 14a740 5bb05764 System.Globalization.BaseInfoTable a51958 14a740 5bb05b24 System.Globalization.CultureInfo a51a44 14a740 5bb06298 System.Globalization.GlobalizationAssembly a51de0 14a740 5bb069c8 System.Globalization.TextInfo a56b98 14a740 5bb12d28 System.Security.Permissions.HostProtectionResource a56bbc 14a740 5baf7248 System.Int32 a56bd0 14a740 5baf3fdc System.String a56cfc 14a740 5baf36a4 System.ValueType ... This command will print a "?" in the domain column if the type is loaded into multiple AppDomains. For example: 0:000> !DumpRuntimeTypes Address Domain MT Type Name ------------------------------------------------------------------------------ 28435a0 ? 3f6a8c System.TypedReference 28435b4 ? 214d6c System.ValueType 28435c8 ? 216314 System.Enum 28435dc ? 2147cc System.Object 284365c ? 3cd57c System.IntPtr 2843670 ? 3feaac System.Byte 2843684 ? 23a544c System.IEquatable`1[[System.IntPtr, mscorlib]] 2843784 ? 3c999c System.Int32 2843798 ? 3caa04 System.IEquatable`1[[System.Int32, mscorlib]] \\ COMMAND: dumpsig. !DumpSig This command dumps the signature of a method or field given by . This is useful when you are debugging parts of the runtime which returns a raw PCCOR_SIGNATURE structure and need to know what its contents are. Sample output for a method: 0:000> !dumpsig 0x000007fe`ec20879d 0x000007fe`eabd1000 [DEFAULT] [hasThis] Void (Boolean,String,String) The first section of the output is the calling convention. This includes, but is not limited to, "[DEFAULT]", "[C]", "[STDCALL]", "[THISCALL]", and so on. The second portion of the output is either "[hasThis]" or "[explicit]" for whether the method is an instance method or a static method respectively. The third portion of the output is the return value (in this case a "void"). Finally, the method's arguments are printed as the final portion of the output. Sample output for a field: 0:000> !dumpsig 0x000007fe`eb7fd8cd 0x000007fe`eabd1000 [FIELD] ValueClass System.RuntimeTypeHandle !DumpSig will also work with generics. Here is the output for the following function: public A Test(IEnumerable n) 0:000> !dumpsig 00000000`00bc2437 000007ff00043178 [DEFAULT] [hasThis] __Canon (Class System.Collections.Generic.IEnumerable`1<__Canon>) \\ COMMAND: dumpsigelem. !DumpSigElem This command dumps a single element of a signature object. For most circumstances, you should use !DumpSig to look at individual signature objects, but if you find a signature that has been corrupted in some manner you can use !DumpSigElem to read out the valid portions of it. If we look at a valid signature object for a method we see the following: 0:000> !dumpsig 0x000007fe`ec20879d 0x000007fe`eabd1000 [DEFAULT] [hasThis] Void (Boolean,String,String) We can look at the individual elements of this object by adding the offsets into the object which correspond to the return value and parameters: 0:000> !dumpsigelem 0x000007fe`ec20879d+2 0x000007fe`eabd1000 Void 0:000> !dumpsigelem 0x000007fe`ec20879d+3 0x000007fe`eabd1000 Boolean 0:000> !dumpsigelem 0x000007fe`ec20879d+4 0x000007fe`eabd1000 String 0:000> !dumpsigelem 0x000007fe`ec20879d+5 0x000007fe`eabd1000 String We can do something similar for fields. Here is the full signature of a field: 0:000> !dumpsig 0x000007fe`eb7fd8cd 0x000007fe`eabd1000 [FIELD] ValueClass System.RuntimeTypeHandle Using !DumpSigElem we can find the type of the field by adding the offset of it (1) to the address of the signature: 0:000> !dumpsigelem 0x000007fe`eb7fd8cd+1 0x000007fe`eabd1000 ValueClass System.RuntimeTypeHandle !DumpSigElem will also work with generics. Let a function be defined as follows: public A Test(IEnumerable n) The elements of this signature can be obtained by adding offsets into the signature when calling !DumpSigElem: 0:000> !dumpsigelem 00000000`00bc2437+2 000007ff00043178 __Canon 0:000> !dumpsigelem 00000000`00bc2437+4 000007ff00043178 Class System.Collections.Generic.IEnumerable`1<__Canon> The actual offsets that you should add are determined by the contents of the signature itself. By trial and error you should be able to find various elements of the signature. \\ COMMAND: rcwcleanuplist. !RCWCleanupList [address] A RuntimeCallableWrapper is an internal CLR structure used to host COM objects which are exposed to managed code. This is exposed to managed code through the System.__ComObject class, and when objects of this type are collected, and a reference to the underlying COM object is no longer needed, the corresponding RCW is cleaned up. If you are trying to debug an issue related to one of these RCWs, then you can use the !RCWCleanupList function to display which COM objects will be released the next time a cleanup occurs. If given an address, this function will display the RCWCleanupList at that address. If no address is specified, it displays the default cleanup list, printing the wrapper, the context, and the thread of the object. Example: 0:002> !rcwcleanuplist 001c04d0 RuntimeCallableWrappers (RCW) to be cleaned: RCW CONTEXT THREAD Apartment 1d54e0 192008 181180 STA 1d4140 192178 0 MTA 1dff50 192178 0 MTA MTA Interfaces to be released: 2 STA Interfaces to be released: 1 Note that CLR keeps track of which RCWs are bound to which managed objects through the SyncBlock of the object. As such, you can see more information about RCW objects through the !SyncBlk command. You can find more information about RCW cleanup through the !FinalizeQueue command. \\ COMMAND: dumpil. !DumpIL | | | /i !DumpIL prints the IL code associated with a managed method. We added this function specifically to debug DynamicMethod code which was constructed on the fly. Happily it works for non-dynamic code as well. You can use it in four ways: 1) If you have a System.Reflection.Emit.DynamicMethod object, just pass the pointer as the first argument. 2) If you have a DynamicMethodDesc pointer you can use that to print the IL associated with the dynamic method. 3) If you have an ordinary MethodDesc, you can see the IL for that as well, just pass it as the first argument. 4) If you have a pointer directly to the IL, specify /i followed by the the IL address. This is useful for writers of profilers that instrument IL. Note that dynamic IL is constructed a bit differently. Rather than referring to metadata tokens, the IL points to objects in a managed object array. Here is a simple example of the output for a dynamic method: 0:000> !dumpil b741dc This is dynamic IL. Exception info is not reported at this time. If a token is unresolved, run "!do " on the addr given in parenthesis. You can also look at the token table yourself, by running "!DumpArray 00b77388". IL_0000: ldstr 70000002 "Inside invoked method " IL_0005: call 6000003 System.Console.WriteLine(System.String) IL_000a: ldc.i4.1 IL_000b: newarr 2000004 "System.Int32" IL_0010: stloc.0 IL_0011: ldloc.0 IL_0012: ret \\ COMMAND: verifyheap. !VerifyHeap !VerifyHeap is a diagnostic tool that checks the garbage collected heap for signs of corruption. It walks objects one by one in a pattern like this: o = firstobject; while(o != endobject) { o.ValidateAllFields(); o = (Object *) o + o.Size(); } If an error is found, !VerifyHeap will report it. I'll take a perfectly good object and corrupt it: 0:000> !DumpObj a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 009038ec 4000008 4 CLASS instance 00a79ce4 name 009038ec 4000009 8 CLASS instance 00a79d2c bank 009038ec 400000a c System.Boolean instance 1 valid 0:000> ed a79d40+4 01 (change the name field to the bogus pointer value 1) 0:000> !VerifyHeap object 01ee60dc: bad member 00000003 at 01EE6168 Last good object: 01EE60C4. If this gc heap corruption exists, there is a serious bug in your own code or in the CLR. In user code, an error in constructing PInvoke calls can cause this problem, and running with Managed Debugging Assistants is advised. If that possibility is eliminated, consider contacting Microsoft Product Support for help. \\ COMMAND: verifyobj. !VerifyObj !VerifyObj is a diagnostic tool that checks the object that is passed as an argument for signs of corruption. 0:002> !verifyobj 028000ec object 0x28000ec does not have valid method table 0:002> !verifyobj 0680017c object 0x680017c: bad member 00000001 at 06800184 \\ COMMAND: findroots. !FindRoots -gen | -gen any | The "-gen" form causes the debugger to break in the debuggee on the next collection of the specified generation. The effect is reset as soon as the break occurs, in other words, if you need to break on the next collection you would need to reissue the command. The last form of this command is meant to be used after the break caused by the other forms has occurred. Now the debuggee is in the right state for !FindRoots to be able to identify roots for objects from the current condemned generations. !FindRoots is a diagnostic command that is meant to answer the following question: "I see that GCs are happening, however my objects have still not been collected. Why? Who is holding onto them?" The process of answering the question would go something like this: 1. Find out the generation of the object of interest using the !GCWhere command, say it is gen 1: !GCWhere 2. Instruct the runtime to stop the next time it collects that generation using the !FindRoots command: !FindRoots -gen 1 g 3. When the next GC starts, and has proceeded past the mark phase a CLR notification will cause a break in the debugger: (fd0.ec4): CLR notification exception - code e0444143 (first chance) CLR notification: GC - end of mark phase. Condemned generation: 1. 4. Now we can use the !FindRoots to find out the cross generational references to the object of interest. In other words, even if the object is not referenced by any "proper" root it may still be referenced by an older object (from an older generation), from a generation that has not yet been scheduled for collection. At this point !FindRoots will search those older generations too, and report those roots. 0:002> !findroots 06808094 older generations::Root: 068012f8(AAA.Test+a)-> 06808094(AAA.Test+b) \\ COMMAND: heapstat. !HeapStat [-inclUnrooted | -iu] This command shows the generation sizes for each heap and the total, how much free space there is in each generation on each heap. If the -inclUnrooted option is specified the report will include information about the managed objects from the GC heap that are not rooted anymore. Sample output: 0:002> !heapstat Heap Gen0 Gen1 Gen2 LOH Heap0 177904 12 306956 8784 Heap1 159652 12 12 16 Total 337556 24 306968 8800 Free space: Percentage Heap0 28 12 12 64 SOH: 0% LOH: 0% Heap1 104 12 12 16 SOH: 0% LOH:100% Total 132 24 24 80 0:002> !heapstat -inclUnrooted Heap Gen0 Gen1 Gen2 LOH Heap0 177904 12 306956 8784 Heap1 159652 12 12 16 Total 337556 24 306968 8800 Free space: Percentage Heap0 28 12 12 64 SOH: 0% LOH: 0% Heap1 104 12 12 16 SOH: 0% LOH:100% Total 132 24 24 80 Unrooted objects: Percentage Heap0 152212 0 306196 0 SOH: 94% LOH: 0% Heap1 155704 0 0 0 SOH: 97% LOH: 0% Total 307916 0 306196 0 The percentage column contains a breakout of free or unrooted bytes to total bytes. \\ COMMAND: analyzeoom. !AnalyzeOOM !AnalyzeOOM displays the info of the last OOM occured on an allocation request to the GC heap (in Server GC it displays OOM, if any, on each GC heap). To see the managed exception(s) use the !Threads command which will show you managed exception(s), if any, on each managed thread. If you do see an OutOfMemoryException exception you can use the !PrintException command on it. To get the full callstack use the "kb" command in the debugger for that thread. For example, to display thread 3's stack use ~3kb. OOM exceptions could be because of the following reasons: 1) allocation request to GC heap in which case you will see JIT_New* on the call stack because managed code called new. 2) other runtime allocation failure for example, failure to expand the finalize queue when GC.ReRegisterForFinalize is called. 3) some other code you use throws a managed OOM exception for example, some .NET framework code converts a native OOM exception to managed and throws it. The !AnalyzeOOM command aims to help you with investigating 1) which is the most difficult because it requires some internal info from GC. The only exception is we don't support allocating objects larger than 2GB on CLR v2.0 or prior. And this command will not display any managed OOM because we will throw OOM right away instead of even trying to allocate it on the GC heap. There are 2 legitimate scenarios where GC would return OOM to allocation requests - one is if the process is running out of VM space to reserve a segment; the other is if the system is running out physical memory (+ page file if you have one) so GC can not commit memory it needs. You can look at these scenarios by using performance counters or debugger commands. For example for the former scenario the "!address -summary" debugger command will show you the largest free region in the VM. For the latter scenario you can look at the "Memory\% Committed Bytes In Use" see if you are running low on commit space. One important thing to keep in mind is when you do this kind of memory analysis it could an aftereffect and doesn't completely agree with what this command tells you, in which case the command should be respected because it truly reflects what happened during GC. The other cases should be fairly obvious from the callstack. Sample output: 0:011> !ao ---------Heap 2 --------- Managed OOM occured after GC #28 (Requested to allocate 1234 bytes) Reason: Didn't have enough memory to commit Detail: SOH: Didn't have enough memory to grow the internal GC datastructures (800000 bytes) - on GC entry available commit space was 500 MB ---------Heap 4 --------- Managed OOM occured after GC #12 (Requested to allocate 100000 bytes) Reason: Didn't have enough memory to allocate an LOH segment Detail: LOH: Failed to reserve memory (16777216 bytes) \\ COMMAND: gcwhere. !GCWhere !GCWhere displays the location in the GC heap of the argument passed in. 0:002> !GCWhere 02800038 Address Gen Heap segment begin allocated size 02800038 2 0 02800000 02800038 0282b740 12 When the argument lies in the managed heap, but is not a valid *object* address the "size" is displayed as 0: 0:002> !GCWhere 0280003c Address Gen Heap segment begin allocated size 0280003c 2 0 02800000 02800038 0282b740 0 \\ COMMAND: listnearobj. !ListNearObj !ListNearObj is a diagnostic tool that displays the object preceeding and succeeding the address passed in: The command looks for the address in the GC heap that looks like a valid beginning of a managed object (based on a valid method table) and the object following the argument address. 0:002> !ListNearObj 028000ec Before: 0x28000a4 72 (0x48 ) System.StackOverflowException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency confirmed. 0:002> !ListNearObj 028000f0 Before: 0x28000ec 72 (0x48 ) System.ExecutionEngineException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency confirmed. The command considers the heap as "locally consistent" if: prev_obj_addr + prev_obj_size = arg_addr && arg_obj + arg_size = next_obj_addr OR prev_obj_addr + prev_obj_size = next_obj_addr When the condition is not satisfied: 0:002> !lno 028000ec Before: 0x28000a4 72 (0x48 ) System.StackOverflowException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency not confirmed. \\ COMMAND: dumplog. !DumpLog [-addr ] [] To aid in diagnosing hard-to-reproduce stress failures, the CLR team added an in-memory log capability. The idea was to avoid using locks or I/O which could disturb a fragile repro environment. The !DumpLog function allows you to write that log out to a file. If no Filename is specified, the file "Stresslog.txt" in the current directory is created. The optional argument addr allows one to specify a stress log other then the default one. 0:000> !DumpLog Attempting to dump Stress log to file 'StressLog.txt' ................. SUCCESS: Stress log dumped To turn on the stress log, set the following registry keys under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework: (DWORD) StressLog = 1 (DWORD) LogFacility = 0xffffffbf (this is a bit mask, almost all logging is on. This is also the default value if the key isn't specified) (DWORD) StressLogSize = 65536 (this is the default value if the key isn't specified) (DWORD) LogLevel = 6 (this is the default value if the key isn't specified. The higher the number the more detailed logs are generated. The maximum value is decimal 10) StressLogSize is the size in bytes of the in-memory log allocated for each thread in the process. In the case above, each thread gets a 64K log. You could increase this to get more logging, but more memory will be required for this log in the process. For example, 20 threads with 524288 bytes per thread has a memory demand of 10 Megabytes. The stress log is circular so new entries will replace older ones on threads which have reached their buffer limit. The log facilities are defined as follows: GC 0x00000001 GCINFO 0x00000002 STUBS 0x00000004 JIT 0x00000008 LOADER 0x00000010 METADATA 0x00000020 SYNC 0x00000040 EEMEM 0x00000080 GCALLOC 0x00000100 CORDB 0x00000200 CLASSLOADER 0x00000400 CORPROF 0x00000800 REMOTING 0x00001000 DBGALLOC 0x00002000 EH 0x00004000 ENC 0x00008000 ASSERT 0x00010000 VERIFIER 0x00020000 THREADPOOL 0x00040000 GCROOTS 0x00080000 INTEROP 0x00100000 MARSHALER 0x00200000 IJW 0x00400000 ZAP 0x00800000 STARTUP 0x01000000 APPDOMAIN 0x02000000 CODESHARING 0x04000000 STORE 0x08000000 SECURITY 0x10000000 LOCKS 0x20000000 BCL 0x40000000 Here is some sample output: 3560 9.981137099 : `SYNC` RareEnablePremptiveGC: entering. Thread state = a030 3560 9.981135033 : `GC`GCALLOC`GCROOTS` ========== ENDGC 4194 (gen = 2, collect_classes = 0) ==========={ 3560 9.981125826 : `GC` Segment mem 00C61000 alloc = 00D071F0 used 00D09254 committed 00D17000 3560 9.981125726 : `GC` Generation 0 [00CED07C, 00000000 ] cur = 00000000 3560 9.981125529 : `GC` Generation 1 [00CED070, 00000000 ] cur = 00000000 3560 9.981125103 : `GC` Generation 2 [00C61000, 00000000 ] cur = 00000000 3560 9.981124963 : `GC` GC Heap 00000000 3560 9.980618994 : `GC`GCROOTS` GcScanHandles (Promotion Phase = 0) The first column is the OS thread ID for the thread appending to the log, the second column is the timestamp, the third is the facility category for the log entry, and the fourth contains the log message. The facility field is expressed as `facility1`facility2`facility3`. This facilitates the creation of filters for displaying only specific message categories. To make sense of this log, you would probably want the Shared Source CLI to find out exactly where the log comes from. \\ COMMAND: findappdomain. !FindAppDomain !FindAppDomain will attempt to resolve the AppDomain of an object. For example, using an Object Pointer from the output of !DumpStackObjects: 0:000> !findappdomain 00a79d98 AppDomain: 0014f000 Name: unittest.exe ID: 1 You can find out more about the AppDomain with the !DumpDomain command. Not every object has enough clues about it's origin to determine the AppDomain. Objects with Finalizers are the easiest case, as the CLR needs to be able to call those when an AppDomain shuts down. \\ COMMAND: savemodule. !SaveModule This command allows you to take a image loaded in memory and write it to a file. This is especially useful if you are debugging a full memory dump, and don't have the original DLLs or EXEs. This is most often used to save a managed binary to a file, so you can disassemble the code and browse types with ILDASM. The base address of an image can be found with the "LM" debugger command: 0:000> lm start end module name 00400000 00408000 image00400000 (deferred) 10200000 102ac000 MSVCR80D (deferred) 5a000000 5a0b1000 mscoree (deferred) 5a140000 5a29e000 clrjit (deferred) 5b660000 5c440000 mscorlib_dll (deferred) 5d1d0000 5e13c000 clr (deferred) ... If I wanted to save a copy of clr.dll, I could run: 0:000> !SaveModule 5d1d0000 c:\pub\out.tmp 4 sections in file section 0 - VA=1000, VASize=e82da9, FileAddr=400, FileSize=e82e00 section 1 - VA=e84000, VASize=24d24, FileAddr=e83200, FileSize=ec00 section 2 - VA=ea9000, VASize=5a8, FileAddr=e91e00, FileSize=600 section 3 - VA=eaa000, VASize=c183c, FileAddr=e92400, FileSize=c1a00 The diagnostic output indicates that the operation was successful. If c:\pub\out.tmp already exists, it will be overwritten. \\ COMMAND: gchandles. !GCHandles [-type handletype] [-stat] [-perdomain] !GCHandles provides statistics about GCHandles in the process. Paremeters: stat - Only display the statistics and not the list of handles and what they point to. perdomain - Break down the statistics by the app domain in which the handles reside. type - A type of handle to filter it by. The handle types are: Pinned RefCounted WeakShort WeakLong Strong Variable AsyncPinned SizedRef Sometimes the source of a memory leak is a GCHandle leak. For example, code might keep a 50 Megabyte array alive because a strong GCHandle points to it, and the handle was discarded without freeing it. The most common handles are "Strong Handles," which keep the object they point to alive until the handle is explicitly freed. "Pinned Handles" are used to prevent the garbage collector from moving an object during collection. These should be used sparingly, and for short periods of time. If you don't follow that precept, the gc heap can become very fragmented. Here is sample output from a very simple program. Note that the "RefCount" field only applies to RefCount Handles, and this field will contain the reference count: 0:000> !GCHandles Handle Type Object Size RefCount Type 001611c0 Strong 01d00b58 84 System.IndexOutOfRangeException 001611c4 Strong 01d00b58 84 System.IndexOutOfRangeException 001611c8 Strong 01d1b48c 40 System.Diagnostics.LogSwitch 001611d0 Strong 01cfd2c0 36 System.Security.PermissionSet 001611d4 Strong 01cf7484 56 System.Object[] 001611d8 Strong 01cf1238 32 System.SharedStatics 001611dc Strong 01cf11c8 84 System.Threading.ThreadAbortException 001611e0 Strong 01cf1174 84 System.Threading.ThreadAbortException 001611e4 Strong 01cf1120 84 System.ExecutionEngineException 001611e8 Strong 01cf10cc 84 System.StackOverflowException 001611ec Strong 01cf1078 84 System.OutOfMemoryException 001611f0 Strong 01cf1024 84 System.Exception 001611f8 Strong 01cf2068 48 System.Threading.Thread 001611fc Strong 01cf1328 112 System.AppDomain 001613ec Pinned 02cf3268 8176 System.Object[] 001613f0 Pinned 02cf2258 4096 System.Object[] 001613f4 Pinned 02cf2038 528 System.Object[] 001613f8 Pinned 01cf121c 12 System.Object 001613fc Pinned 02cf1010 4116 System.Object[] Statistics: MT Count TotalSize Class Name 563266dc 1 12 System.Object 56329708 1 32 System.SharedStatics 5632bc38 1 36 System.Security.PermissionSet 5635f934 1 40 System.Diagnostics.LogSwitch 5632759c 1 48 System.Threading.Thread 5632735c 1 84 System.ExecutionEngineException 56327304 1 84 System.StackOverflowException 563272ac 1 84 System.OutOfMemoryException 563270c4 1 84 System.Exception 56328914 1 112 System.AppDomain 56335f78 2 168 System.IndexOutOfRangeException 563273b4 2 168 System.Threading.ThreadAbortException 563208d0 5 16972 System.Object[] Total 19 objects Handles: Strong Handles: 14 Pinned Handles: 5 \\ COMMAND: gchandleleaks. !GCHandleLeaks This command is an aid in tracking down GCHandle leaks. It searches all of memory for any references to the Strong and Pinned GCHandles in the process, and reports what it found. If a handle is found, you'll see the address of the reference. This might be a stack address or a field within an object, for example. If a handle is not found in memory, you'll get notification of that too. The command has diagnostic output which doesn't need to be repeated here. One thing to keep in mind is that anytime you search all of memory for a value, you can get false positives because even though the value was found, it might be garbage in that no code knows about the address. You can also get false negatives because a user is free to pass that GCHandle to unmanaged code that might store the handle in a strange way (shifting bits, for example). For example, a GCHandle valuetype is stored on the stack with the low bit set if it points to a Pinned handle. So !GCHandleLeaks ignores the low bit in it's searches. That said, if a serious leak is going on, you'll get a ever-growing set of handle addresses that couldn't be found. \\ COMMAND: vmmap. !VMMap !VMMap traverses the virtual address space and lists the type of protection applied to each region. Sample output: 0:000> !VMMap Start Stop Length AllocProtect Protect State Type 00000000-0000ffff 00010000 NA Free 00010000-00011fff 00002000 RdWr RdWr Commit Private 00012000-0001ffff 0000e000 NA Free 00020000-00020fff 00001000 RdWr RdWr Commit Private 00021000-0002ffff 0000f000 NA Free 00030000-00030fff 00001000 RdWr Reserve Private ... \\ COMMAND: vmstat. !VMStat Provides a summary view of the virtual address space, ordered by each type of protection applied to that memory (free, reserved, committed, private, mapped, image). The TOTAL column is (AVERAGE * BLK COUNT). Sample output below: 0:000> !VMStat ~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~~~ ~~~~~ TYPE MINIMUM MAXIMUM AVERAGE BLK COUNT TOTAL Free: Small 4,096 65,536 48,393 27 1,306,611 Medium 139,264 528,384 337,920 4 1,351,680 Large 6,303,744 974,778,368 169,089,706 12 2,029,076,472 Summary 4,096 974,778,368 47,249,646 43 2,031,734,778 Reserve: Small 4,096 65,536 43,957 41 1,802,237 Medium 249,856 1,019,904 521,557 6 3,129,342 Large 2,461,696 16,703,488 11,956,224 3 35,868,672 Summary 4,096 16,703,488 816,005 50 40,800,250 \\ COMMAND: procinfo. !ProcInfo [-env] [-time] [-mem] !ProcInfo lists the environment variables for the process, kernel CPU time, as well as memory usage statistics. \\ COMMAND: histinit. !HistInit Before running any of the Hist - family commands you need to initialize the SOS structures from the stress log saved in the debuggee. This is achieved by the HistInit command. Sample output: 0:001> !HistInit Attempting to read Stress log STRESS LOG: facilitiesToLog = 0xffffffff levelToLog = 6 MaxLogSizePerThread = 0x10000 (65536) MaxTotalLogSize = 0x1000000 (16777216) CurrentTotalLogChunk = 9 ThreadsWithLogs = 3 Clock frequency = 3.392 GHz Start time 15:26:31 Last message time 15:26:56 Total elapsed time 25.077 sec ..................................... ---------------------------- 2407 total entries ----------------------------- SUCCESS: GCHist structures initialized \\ COMMAND: histobjfind. !HistObjFind To examine log entries related to an object whose present address is known one would use this command. The output of this command contains all entries that reference the object: 0:003> !HistObjFind 028970d4 GCCount Object Message --------------------------------------------------------- 2296 028970d4 Promotion for root 01e411b8 (MT = 5b6c5cd8) 2296 028970d4 Relocation NEWVALUE for root 00223fc4 2296 028970d4 Relocation NEWVALUE for root 01e411b8 ... 2295 028970d4 Promotion for root 01e411b8 (MT = 5b6c5cd8) 2295 028970d4 Relocation NEWVALUE for root 00223fc4 2295 028970d4 Relocation NEWVALUE for root 01e411b8 ... \\ COMMAND: histroot. !HistRoot The root value obtained from !HistObjFind can be used to track the movement of an object through the GCs. HistRoot provides information related to both promotions and relocations of the root specified as the argument. 0:003> !HistRoot 01e411b8 GCCount Value MT Promoted? Notes --------------------------------------------------------- 2296 028970d4 5b6c5cd8 yes 2295 028970d4 5b6c5cd8 yes 2294 028970d4 5b6c5cd8 yes 2293 028970d4 5b6c5cd8 yes 2292 028970d4 5b6c5cd8 yes 2291 028970d4 5b6c5cd8 yes 2290 028970d4 5b6c5cd8 yes 2289 028970d4 5b6c5cd8 yes 2288 028970d4 5b6c5cd8 yes 2287 028970d4 5b6c5cd8 yes 2286 028970d4 5b6c5cd8 yes 2285 028970d4 5b6c5cd8 yes 322 028970e8 5b6c5cd8 yes Duplicate promote/relocs ... \\ COMMAND: histobj. !HistObj This command examines all stress log relocation records and displays the chain of GC relocations that may have led to the address passed in as an argument. Conceptually the output is: GenN obj_address root1, root2, root3, GenN-1 prev_obj_addr root1, root2, GenN-2 prev_prev_oa root1, root4, ... Sample output: 0:003> !HistObj 028970d4 GCCount Object Roots --------------------------------------------------------- 2296 028970d4 00223fc4, 01e411b8, 2295 028970d4 00223fc4, 01e411b8, 2294 028970d4 00223fc4, 01e411b8, 2293 028970d4 00223fc4, 01e411b8, 2292 028970d4 00223fc4, 01e411b8, 2291 028970d4 00223fc4, 01e411b8, 2290 028970d4 00223fc4, 01e411b8, 2289 028970d4 00223fc4, 01e411b8, 2288 028970d4 00223fc4, 01e411b8, 2287 028970d4 00223fc4, 01e411b8, 2286 028970d4 00223fc4, 01e411b8, 2285 028970d4 00223fc4, 01e411b8, 322 028970d4 01e411b8, 0 028970d4 \\ COMMAND: histclear. !HistClear This command releases any resources used by the Hist-family of commands. Generally there's no need to call this explicitly, as each HistInit will first cleanup the previous resources. 0:003> !HistClear Completed successfully. \\ COMMAND: dumprcw. !DumpRCW This command lists information about a Runtime Callable Wrapper. You can use !DumpObj to obtain the RCW address corresponding to a managed object. The output contains all COM interface pointers that the RCW holds on to, which is useful for investigating lifetime issues of interop-heavy applications. \\ COMMAND: dumpccw. !DumpCCW This command lists information about a COM Callable Wrapper. You can use !DumpObj to obtain the CCW address corresponding to a managed object or pass a COM interface pointer to which the object has been marshaled. The output contains the COM reference count of the CCW, which is useful for investigating lifetime issues of interop-heavy applications. \\ $00 00000(0,00040@0D0H0 0000000000010111111222 22222 2$2(24444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5555555555@\2`2d2h2P\2222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3`;;;;;;;;;;;;;;;;;;;;;;< <<<$<,<4<< 00 11.151Z1a1u11222%202N2T2222223 3;4D4N4\4e4l4s4|44555555555556 666%66666666667 77777777g8m8888888889$999?9T9Z9h9n9999;:Z;d;v;;;;;;<<4<:)>7>=>v>|>>>>?D???????t00000113191c1i111111111"2(2=2E2S2Y2}222222222233 33333 3$3(3,30394?4R4X4k4q444444444444455(5.5<5B5L5W5a5g5q5|5555555555555 66#6)6=6C6W6]6q6w6666666666607877778?8E8888888899B9N9\9l9y99999 :5:G:Y:c:w::::::;;P;m;z;;;;2<<<<<<<F>Q>c>{>>>>>>??0!0/0;00000001a1i1111111112+2<2H2V2]22223I3T3b3r333333334c4u44445P5V555555546:6666 707M7d7777858f8q8v888899999:(:?:::::::;H;c;u;;;<0I>W>g>>>>>> ?]?????L00E0Q0_0o0000 11(1b1n1|111132\2u2222 3C3O3]3i3q33333384$5$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7778818:8I8U8c8r88888 9,9f9k9}99999999::(:/:4:R:^:n::::::;; ;+;9;Q;\;c;h;;;;;;<<'<7>*>j>>>>>>?"?\?o???0&000&1311162F2223355>5E5555566D6l6s666667 7&747\7c777782898V8g8889 9H9O999:&:8:b:i:::2;>;L;\;;;n>>>>>p?????0(0F0M0j0|0000011H1O1a1111162=2]2n222223 3b339444444444455&5;5}55555 66n66J7y77777 868Q88$9?9t9z999999995:;:::::::;;F;[;<<,<<->>>>>>>V?q?|????0.0K0V0001!1L1]1222223333444-494Q4445555555566/6:6666666$7c7y77777 880888889969H9999999:w:::: ;;);;;;;9>>>>>+?2???????, 0*0E0u0|00001/1>1O1Y111111122!272D2`2g23%3/343I3Q3W3^3q3~3333333+494T4Z4e444445555555555556!6/6?6`66666666677>7L7v7777777<8B8^8888888 9I9_9l99999 ::R:X::::: ;;!;+;C;J;P;W;j;w;;;;;<<<<= >>1>D>W>v>>>>6?H?d?k??$0$0+00011A3j3q3334484?4H4O444Y5l55556!646@6G6t666667&747K7\7g7n777777778828E8M8a9q99999::#:/:<:@:J:N:W:k:::::::::::A;Q;c;y;;;;;;;;;+<19>@>Y>>>>>>>??)?7?H?T?d?u?????? 0*03080E0V0]0b0m0~000000000000000 111"1-1:1A1F1Q1_11111111111 22#2-2?2G2Q2c2k2u2222222233`3g3334-44444K5]5555555566'6.6Q6^6f6w6666666666666677777A7f7x77777788)8I8c8888889/959F9\999999999:F:X::::::::F;\;d;k;p;w;|;;;;;;<(> >>4>C>k>>>>>>>?8???U?t??? 000&0O0U0i000000000011'11111112*2G2e2l22222!3'3<3F3o3u33333333334$4/4U4444 5$5V5h55 6O6r667Z7v77777v889(999;;;<<==6>C>?6?V?e??????0060F00011L1S1o1v1111122F2W22222333444<5G5N5f5t5555555556X6666*7B7Z77777778898@88888W9^9::9:@:k:r::::;>;U;%>1>p>>>>&?8???@ 0<0A0Y000000I11111222a3z344a444455R55)636Z66688J9Q9999999::H:b:::: ;.;;<,<<<<<<=== =)=2=;=D=H=L=P=T=X=\=`=d=v======P>i?u?????Pd0k00000u1{111 22(2D2K222223)33334 4444E4v444455I5555[6a6y6P7Z7d777778%808J8T8n8~888889K9\9q999999: :b:n:|:::::;(;;;;;;;; <)<0#>[>>>>>#?>>>D?K?pV0h01"1l111122222393@3Z3s33333O4j444r5555c6w66666g7m77777887888899999R:X::::::; ;<;R;;<<$>c>j>>>o?v?4`0g0000'3.3335555v6666a8p8?? 0B0`00000!12393L3X333344u4444525l556?6V6g6q666667'7o777+8:8f889m999;:\::;;=;;;;>7????D+0V0j00001<111112(2:2G2p222a3u33334%4X4z4455F5U55556!606G6R6k6t66675788?8F888888869?9Z9m9~999::::::::;;&;-;3;8;E;K;^;c;p;v;;;;;;;;;;;;;<<"<'<8<>G>P>1D1W1\1k1s11111111111112!24292K2u2223"3,383N3U3i3o3333333333444'4,4H4U4i444444444444444444444455<5H5^5m5{555555566&66667(797?7T7{7777777!8G8`8888 9Q9|9999`:q::%;,;h;z;;;<<.=B=`=m===>)>>>> ?2?N?`?k?}???*0b0k000m1111/2;2m2r2W3^3l33333*4R4}44&555&686U6w66u777778(888888999%9,939:9A9H9O9V9]9d9k9r9y99999999m::::::7;?;H;Q;Z;<=M==> >2>?????D0\001122X2\2`2d2h2l2p2t2x2|22222222222222222222233*6F6f6u666666 77:7A7V7777788>8P8_8889(999:;;;;;<#>:>>?%?f????R0a0|0000000T1i11102O2V2v22222233&3F3X3s333364F4`4445d55566Z6666 77G7f77777888949R9]999990:7:::::E;L;\;c;;;;;60>{>>>??/?v????000000f1x1122,22223 3355(5/5]5d5r5y555!6667D7n77777t88T999::::;;Z;a;o;v;;"<6M>S>\>>>>>>???2?7?c?l???????0?0j0000115111?2J2|22222222222233.373X3d3r3y333L4b4k4t444 5\555555\66777L8:;b;i;;<==)>>(??H0k00u11S2333Z45|55J66D77768H888;;< =z===j>*?? T;0z01:345&595x55 668888F9S9N:::E;L;<<==">J>r>>?0?L?h????0 0!060H0000001111222233<3C3t33333 4*4J4j444444 55V5f55555556666E6~666666 77<7C7V7d777778$8v8888888&9499999::Q:X:::&;5;s;;;;;<%>c>>>>>??@0030N00011S111112233#3>333445%5667777'8.888'9.999':.::;;a;;;;F>>]>l>>>>>??`o0~00000 1V1e11111111123&33333$414W4444 55<5m555555666#6;6D6W6j6666666788899D99999999e:l:::::::;;<<8>(??????????pM0r0~0001(1=1D1111122 2%2:3K3e333344+424844444444M5555 6D6i66666687H7[7`7~777778888a8888888R9^9l9|9::6:B:_:n:y::::::;';C;R;^;l;|;;;;;<<7>B>c>t>>>>>>?5?B?z???????'0I0q0|000000!1.131N1b1q1x1111 2,2V2222222323=3[3b3333334)4^4444 5/5W5f5m5w55555{66666]7i7u7;8888n999999 :<:c:::::;;=;W;;;;;;<%<8+>S>y>>>>?.?E?m?????, 0H0_0000013(3I3i3y33333$424J4W4n444$5<5T5l55555556,6D6\6t6666677!7?7G7b7{777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|88888899,9I9r9999:":B:M:z::::;v;;;6>/>;>`>>>>>>>? ?K?o???z00000112$22222393h3m3334=4e4444_555"6)6m666666g7t77778E8m88:!:1:F:w:::::::; ;;+;6;@;N;^;g;q;;;;;;;;->n>>>?V?e?{????011E1[11111112+2O2222222&373n3~33333333"4~4444T55556&6666757V777878e8889>9g9994:9:O:V:d:i::::;q;v;;;;;;;f>>>>> ??=?D?v????(0D0h000001 1-121Q1d111112%2F2b22223I3333 4K4t44445E5K55555556-666w666666777778'8N88888999:_::#;*;;;<('>8>>>>>?E?m???? 050]0000000:1E1Q1V1\1b1m1s1~11111111"2R2q2222222222 3"3/3F3W3^3k3z33333333444F4S4v4444445#5_55555%6+6o6u66666@77777)868@8g88888889 999/9F9R9j9999&:7:V:]:m:t:::;B;;;;8)>?>>>????)0S0x00"1/1f1s11112x2222263H33F4M444445&5?555566=6H6M6666667P7a7777777768J8`8e8z8888899!9:9L99999:2:7:Z:l:}::::::a;;<<<<<<=#=:=Q=h====== >>V>e>>>>?,?J?Q?t???0(0O00000!1=111112f2222P3x3334P4x4444 5)5;56(6=6R6^6l6|667888[9`9m9999?:F:; ;-;`;e;};;;;<)<0(>U>f>>#?*?6?a??????0000000000000B1N1\1l1x11111B22g33444 55V5n55.6c6s677/8M8n88888889=9U99/:6:g::::;A;O;z;;2>K>R>>>>>>n?u?????0&040v0000000 11C1I111111111 22*2v22223M33334&4+4]4j44444455 5.5<5J5X5c5l5u55555555 6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|66666666666666677%828^88889:9999":\:j:::;G;e;;;;;;<<=$=q==== >|>>?>>>>>>>>>>>>0?5?p?u???????0 00:0H000000001E1s11111f2x222 3323O3v33333494D4a4444444545;5l5p5t5x5|55555555556E6V6j6w666667U7[7z77777 88888 8$8(8a8~88899:1:?:::;>;E;U;\;;;;;;;;<<&>">)>@>W>n>~>>>>>>>>@0|00000000000000 1!1+1c11112222223333V4h4445(5w5~566:6A667H7777789C9J99999&=-===>)>>>>>6?M?]?h?m?P0'0000000 1$171E1r111112D2J2_2i22222223'323v333334*4/4O4n4444$5*5?5I5r5x55555555636O6V6u6666677$7+7W7777777 8%8@8888889/959O99|:::::;7;;;<<<======6>H>>>>>>>>F?P????` 0)0s0{000000C1J1`111122/292b2h2y2222(3Z3j33333333,4K4444444"5(595y55556/6?6b666666666677"7.777@7G7R7^7o7v77777 8'848R8W8\8a88888879>9T9s999::,:6:_:e:y:::::l;;;; &>6>M>d>~>>>>?:?L?h???p 0+0d0j00000000,1111112<2t222223J3Z3x33334S4r444455"5-5\555566,666_6e6v66666737=7D7N7\777777788898X88889 99'969H99999999 ::3:S:u::::;;+;k;z;;;;;;<6[>>>>>>>>??m????0 0M0`001'1A1V1v111111112%2P2~22222 3,3f3x33333333 44/494M44445 5525=5X5m5{5555555556V6h66666667 7*7i77768H8888888 9&90999w::::;E;;;;;<=>>>>>>? ?0?K???0&0800000000 1141V11!2d222 33333I3_3l33333 4!474P4f444444444455 5%5*5/595D5Z5j55555 66<6B6S6m6w6667H7P7r778 8888 9V9k9999999 :I:::::;;2;u;;;;;;;;<<"<+<6X>n>>>>??,?6?_?e?v????00 000H0q000011,161_1e1v111122$2/2R222221373L3V33333341494D4O4r44455^5d5m555555555Y6u6666&7<7F7P7e7o77788Q8W8l8v888888?9[99:F:X::::::::;;j;;;<->>>>?*?h???? :0D0Z0000001&1D11111 2%202U222223"3:3p33334V4h44444455-57555566.6F6S6666667(7=7g7x7777 8K8f8u888889 9969A9q999999999:8:K:R:_:::::4;:;O;Y;;;;;;;;W<<=H=V======>&>G>v>>>>>>?%???b?l?? 0+0G0c00011#1(1-121q111112!2+282E2O2223 393[3f333334C4e4445 55)5R5X5i5555B6Q6\666666,7:7A7Z7g7l7s7y7777777777 878V88888 99?9E9Y9v999&:N:::::;3;@;K;;;;;;;;; <"<4>L>R>l>>>>>>>>>k?v?????E0^0i00000000 1r1~1111122222533334$4.484B4L4V4`4j4t44444455'5.5;5E5O5Y5c5556(6\6b6w666667777778!868@8h8n888889,9k9p9u9z999999:#:G:u::::: ;:;[;;;;;<.<`>> ?1?Z?|????? 030W0000001-141k11122T2Z2o2y22222223w34%4e44444455(5r55566&6,6R6z666677#7L7R7c77777N8j8889&9-9f9x99999::):F:P::::; <8T>v>>>??7?G?g?w??????0/050F0`0j0000101a111122a2g2|2222222U3333354j4445*5t5555566#6L6R6c6}666'757d7w77}8:2:N:h:~::::;#;f;x;;;;;;<<`><>F>>z?0c0m0w000011122-242J2l2223 33)3R3X3i33334 4^4z44 5+5f5{5555566636=666707O7777778,828F8889,9H99999):e:~:::::6;s;;;;",>H>m>w>>>>>>>>>>?? ?"?.?7?@?T?_?d?i??????????? 005000000000G1\11111111112 2(2=2v22:34444445 55575B5L5d5|555555555566>6\666667!767@7i7o777777888.8<8I8V8e888881979L9V9|99999999:L:::::::;5;?;;;<.)>>?,??? 40_00%1Q1{11111$2+2A2c22233,363_3e3y33334E44&5.5@5S5i555666z666%757T7l7~777777778 8/898C8888 9D9J9_9i999999,:T:::::E;Y;c;j;;;;;;=|======>><>[>>>>? ??)?R?X?i??????0$0.0K0[0k0{000001#171Z1i1{1111 22c22222222333(353B3O3V3h33333/454J4T4g4o4444444;5A5V5`555555 66666V7h7777788/8L8V88.989a9h9~99:::/;Q;;;< <<)#>,>6>R>t>>>>!?'?R>c>>>>>>>>>??&?:?K?i????P!0'0<0F0o0u00001#1@1_1111112,222C2x2222$3*3?3I3r3x333 4<4W4|44441575L5V5555666U6666667/757F7777798?8Q8[8v8a9999::::;;O;b;;<<<=G=e== >(>/>V>> ?6?_?w??`000,1>1T1s111111 2272I2S2i2222222222233f3x3333344)4J4T4t44S5o5555 666 767777888D8V8f8k888]9999 :H:P:e:z::);.;K;V;s;z;;;;;;;;J>f?v??p2090O0w0000012191g111/22z3333334(4H4c4p4444444 55c5i5555566$6/6Q6X666627U777A889979Q9f9w999::::%;`;;;@">)>U>\>b>>>>>>??-?4?V?h?????????00:0?0G0i000T11272J2P2223L333%484B4Z4a4444444I5j555)6/6<6R6\6666677*7S777%88888888992989A9l9w9~99999:!:d:o:v:{::::::;;-;4;;;;;;;;;<<<)<0e>l>|>>>>>>>?!?P?y???P0L0l0q00000000000000000'151:1?1D1I1N1S1X1]1k1111 2!2,222 3#3/3=3M3Y3g33414r4y44444444 555U555556,616P6\6a6w66667"7-7h777777777 888<8O8g8x8888999$9^9c9}9999999:+:S:b:m::::::::;0;N;x;;;<<]9>X>x>>>?6?H?b?r?????????l0000G0N0c0m00000000 1&1L1p11111111112!2A2L223*3333F4X4i4t44444444)5/5q5w55555550666`6u66666666*737v777778 888!8J8W8g888888929>9L9\9i999:T:b::::::;I;R;n;u;;;;;;;< <<<)<6A>V>>>>?S?`?s?????00/0<0M0000 121h111111212222222 3393U3333 434U4s44444%5I5X5566,6c6I77777858Y8h88888 9D9P9^9j9999999L:Y:g:w:::::;j;r;;;; <<<<<< ==)=d=l== >F>l>>>>??%?1?B?w???0A0i001/161H1q1112v222223'3.3?3P3W3^3o3333404x4444444 5,535U5556i6p6666667 717@7G7`7k77778C8Q8h8s88888I9^9}9999: :):4:W:^:v::::!;*;0;A;M;R;x;;;;<+)>5>:>>>>>>>> ??A?????000F0X000000!151T1|1111 242222 33<3^333 44:4y444455h5n5{555636l66666?77788 818=8B8p88)9=9R9u999999:):5:X:w::::9;;;;;8>?>]>d>>>>>-?T?o?v????? 00@0w0000141Y11122/2Q2q22222!313H3n33333344465H5o5u5555!6(6M6T6666666666666777 7$7(7,7074787<7@7D7H7L7P77788)8>8I8Z8}88888 99H9O9Z9999999-:H:V:::U;r;;;j>>d>u>>>>>>?&?8?o????/0`00000001-1C1U1\1j1r1111111112%2B2M2^2e2l222223%3G3N3d333333404N4[4n44445 55!51555D5U5b5|556(6R6d6o666667(737y77777888888j9r999&:D:g:::::::;;_;};;;;<%> >/>4>9>F>R>z>>> ?R????0B0G0L0c0m000000011@1N1p1w11112>2c222223323c3n33344:4V44444 565W5b55555555,6G6N6g6667D7K777777748;8p8w8888889k9z9999:C:Z:e::::;H;O;n;;; <<%">)>0>7>>>T>[>b>?1?A?V?d?l??????050U0^0d0u0}0000000+1I1111222:2N2[2d2n2223U3333444 5755566H66666767;7B7I7P7W7^7e7l7s7z777778<8@8D8H8L8P8T8X8\8`8v8888 939M99999999):7:h:o::::::;@;F;;;;;'<64>>>????? 00#060B0U0f0v0}00000000000011!1'181?1J1T1^1v11111 22G22222H3c3j3333V4r4444 5"545=5B5S5Z5c555536:6667(7V77777888888"999c::::::::::;;; ;r;;;;;; <;<<<<<<<<<=&=8=T=[==>>>0@'0S0[0n0{0000000000001111$1,1:1G1Q1a1p1u1111111111112 2J22333&3-34393C3J3Q3X3_3f3k344595R5555555555555 6646]6d6k6z666666S77779V9,;I;c;h;|;;;;;;;;;;<<#<(<<>!>(>J>c>j>x>>>>? ?l????@0000"1>1J1e1t1111112&2<2O2h222222.3333333454x4444444 5535>5C5b555556<6b6~66667>8829>9L9\99996::::;Y;q;;;Q<<=K==*>X>o>>>P222M<<<<<= ==!=7===\=b=p=v==========> >&>4>:>P>V>u>{>>>>>>>>>>??&?3?:?D?W?]?o?}????????????`L 00X0]0b0g000000001 1111)1/1H1L1P1T1X1\1`1 2:2<>H?O??pj001$1111153X3333334O4r467%7*757]7t7777777778B8G8O8s88888889=9]:d:::::;;!;.;=;C;X;`;o;w;;;<<<>>>??0F1w1|111111111111111111222 2252;2N2T2222333n3333333333333 44:444444:5K5555 6&6?6X66677<778%88889#9@9`99999B::#7>6?b???????00<0B0H0N0T0[00000000@1V1111 2%2822222K3R3e333333333333334 444&4+414;4E4U4e4u4~44444444444445555#5(5.585B5U5Z555557777778(8H8S89:5=@=s???0001)1.112234x4~444444444444444444456666 7Q7V7[7r77777;8@8I8U8Z889*9U9999;;;;;;;;!> >>>>> >$>n>t>x>|>>"001g1111b25555556&67H7S7_7e7777778s888U:s:::::::::;; ;$;(;,;0;4;8;;;;;;;< <'<,<0<4 ??4?;??0p0V11 2(5566697@7b7i77779:00 0W0o00000Y14-4O4e4485i556637778 8i8888899%949Y9999:3:L:]:::::: ;.;6;@;I;Z;;;;;;;;;;;<<<"<2<7<<K>b>o>{>>>>>>>>>??&?+?J?v?}??????0&0f00001 1'1|1112H2h2222222233834455b5n5z5555555 66(616>6m6u66666677#707:7R7^7d7q7{777777777788$8*8=8M8i8u88888888888888899 9999$9)9/959;9@9F9L9R9W9]9c9i9n9t9z999999999999999999999999: ::::!:&:+:2:8:=:C:I:O:T:Z:`:f:k:q:w:}:::::::::::::::::::::::;; ;;;;#;);/;5;:;@;F;L;Q;W;];c;h;n;t;z;;;;;;;;;;;;;;;;;;;"<7N>>>;??(00$1:1s1112-242;2B2Z2i2s222223:344455%5P5566"6-6D6^6y666666637i7|7 8@8g889999990:D:t::::::I;R;Z;t;;;;;;;;<<(<7>8>j>??B?I????DC3345555556#6-67999::: ::P;b;;;;U=p====L0111,2222O3Z3`3r33333334444445697;D;;@==!>? ,0}1758x82::>>>>>>>>>??0$0001122`3345??E?O?@(:!:::q:;0;5;;e\>>A?`,0011112!2'282`233334;;;p666[6x6~666666667?7W77777778'878v888888888899909:9h9{99999:: ::i:n::::::::8;B;];g;;;;<8=>=H========>>)>;>M>_>~>>>>>[223+3~8t:::::::::::::::::::::::::::::::;A;j;;;;;;;<<<<<<<7=K=E>a>>@??X\012,2=2E2U2f2|222e333m456|8888v99j::::<; <8t>??X}0000=1_111232R2 3313K3344 5M89 ;;;G;M;W;;;;6=????????|00.1w112&3u33W4*555566778H88':C::::: ;h;x;;;;;!@>^>s>}>>?4 4|444C555556&676=6I6Y6_6n6u6666666666666666666677$7-777@7F7O7d7777777777858T88M999;";<\=h=== >>>>>j?L00<222h3p3|334.4e44M8_8;;;;;;;;;;;;;<<< ===(7 ::7:>;E;<<=2=7===D===R?k0v000001+14;4h44444526i66677k888888 9-9A9d9m9w9999n:w::::;Z;t;;;;;<7<<|=======W>>00000a1h1 22G2w222<3X3y3"4(47445B5b55h6667:7}77788889u99:Z::: ;:;m;;;;;->>>=?b????? 030p0001r1112J2}222*3d333 4:4t444*5b555x666 7=7j777 8:8b8888P99992:k:::;R;z;;; *>z>>>"?b???0t 0H0z001K111C23N3z33G44y55E6p666:7r77777*8889*9d999::::-;;>>??@|0P000021Z1111"2B2b222223D333f44435506j667X777a8809w999::::";;;*<<<0==>R>>?]???PV000w112223k3394444|55 6k667R777W88889U9a999:c:::";];q;y;;;8>>?2?g???` 0J0}001U11Y22 3U3333 4;4V4q444444444455%565B5T5X5e5i555555555556"6&62666B6F6T6\6h666666666667777<7H7h7p7x77777777778888<8H8h8t88888889(9L9X9`9x999999999::$:,:8:X:`:h:p:|::::: ; ;(;4;\;;;;;;;;< <<8<@>0><>d>>>>>>>> ??8?@?L?l?x???????p0$0,080`0h0l0t0000000001 1,141<1D1P1p1x11111111112(2H2P2X2`2l2222222223 333$3,383X3`3h3t33333334 4,4L4X4x44444445(545T5`55555555556 6,686X6d66666666677<7D7L7T7\7d7l7t7|777777777778(8<8d8l8x8888889 9949X9d9l999999:::<:`:l:t:::::::;; ;(;<;D;L;T;X;`;t;|;;;;;< <<,<8 >@>L>l>t>>>>>>>?$?0?8?P?X?d?????????P0 040@0H0h0p0000000000001$1D1P1p1|11111112 22$2H2T2\2t2|22222222223 3383@3H3T3x333333333334 444(4L4l4t4|44444444445 555$5,545<5H5l5555555555556666<6D6L6T6\6d6l6x66666667$7,747<7D7P7p7x77777777777888 8(80888@8L8l8t88888889999 9(909<9`99999999999999: :::$:,:8:X:`:h:p:x:::::::; ;;;$;,;4;<;H;h;p;x;;;;;;;;;;<$<,<4<< >>>(>H>P>X>`>h>p>x>>>>>>>> ??@?d?p?x????????L0$0,080X0`0h0p0|00000000011101<1D1\1d1l1|111111112 2(20282@2H2T2|22222223333<3D3L3T3\3d3l3t3|33333333334,4L4T4\4d4l4x444444444444455$5,545<5H5l55555555555555556(60686@6L6l6t66666666677$7,7D7L7T7`77777777778(8H8P8\8|888889999 9(90989P9X9`9l99999999999:8:@:H:P:X:d::::::::::; ;;;$;0;P;X;`;h;p;x;;;;;;;;;;< <,<4<<(>0>8>@>H>P>X>`>t>>>>>>>>> ??8?D?d?l?x?????????@00$040H0h0p0x00000000000011 1(10181@1H1P1\1|1111111112 2(20282@2H2T2x222222222223(30383@3H3P3X3`3h3p3x333333333344444<4D4L4T4\4d4l4t4|44444444444445555 5(50585@5H5P5X5`5l5555555555 66 6@6H6P6\6|66666666667 777(7H7P7X7`7l77777777778$808X8|88888889,989@9`9999999:::4:<:H:h:p:|:::::::;;0;<;\;d;l;x;;;;;;;< <,<4<<>> >(>0>8>@>H>P>\>|>>>>>>>>?? ?(?0?8?@?H?P?X?`?l???????????h00(0H0P0X0d00000000000 111(1P1t111111111112$2D2L2T2\2d2l2t22222223$3,343<3D3L3X3|3333333334$4H4T4\4t4444445$5,545<5@5H5\5d5x5555555555555555 6(6D6H6h6666667(7H7X7|7777777808P8p8888888 990989<9X9`9d9|99999999:: :(:0:4:<:P:l:p::::::;8;X;x;;;;;< <@<`<p000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h00000000000000000000000000000111 11111 1$1(1,1014181<1D1T1d1t11111111122$242D2T2d2t22222222233$343D3T3d3t33333333344$444D4T4d4t44444444455$545D5T5d5t55555555566$646D6T6d6t66666666677$747D7T7d7t77777777788$848D8T8d8t88888888899$949D9T9d9t999999999::$:4:D:T:d:t:::::::::;;$;4;D;T;d;t;;;;;;;;;<<$<4>$>4>D>T>d>t>>>>>>>>>??$?4?D?T?d?t?????????00$040D0T0d0t00000000011$141D1T1d1t11111111122$242D2T2d2t22222222233$343D3T3d3t3333333333333334 444$4,444<4D4L4T4\4d4l4t4|4444488888888888999 99999,9094989<9@9D9H9L9P9T9X9`9d9T|99999999999999 ::,:<:L:\:l:|::::::::: ;;,;<;;;; p,0(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|1111111111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|22222222223 3$3(3,3H3L3T344P7T7777777777777778 888$8,848<8D8L8T8\8d8l8t88888888888:: ::::: :$:(:,:8:<:@:D:H:L:P:T:\:`:>>>>>? ?0>Y *H >J0>F1 0 +0L +7>0<0 +70 0!0 +ĵiv'"-MMҔ q003}mk&G0  *H 0w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0 160907175844Z 180907175844Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:B8EC-30A4-71441%0#UMicrosoft Time-Stamp Service0"0  *H 0 |3>ڰ{,I*,lLЎNxqDK#f7D8I);Un gs")n}&HטH`guǻ1k81jptJOu?ySḼ5~mC L`YjpSo{:Ȅnʁ*qw̒^x7+;,=7n@ceKa άdb -b%уKo+Un W 00U 4vtM^|0U#0#4RFp @v+50TUM0K0IGEChttp://crl.microsoft.com/pki/crl/products/MicrosoftTimeStampPCA.crl0X+L0J0H+0iұIl$++C~;GѷE+#A00à3Te_0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 180712201119Z 190726201119Z0t1 0 UUS10U Washington10URedmond10U Microsoft Corporation10UMicrosoft Corporation0"0  *H 0 RO,S=]#JW-֊_ Fxk !>%r:xcf._ۗUL>iI-c~åӿ9!0f6oޫh(i&Sxo106+0@YHFQ J-tUDz$} 3#_)m2Zj'ϰ z}"ZKӄcWkIx:T?%^ǡ "[/(Uzӏv*_0[0U% 0 +0UDw>Uq>s0PUI0GE0C1)0'U  Microsoft Operations Puerto Rico10U 229803+4379500U#0ҴX7.3L 0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicCodSigPCA_08-31-2010.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicCodSigPCA_08-31-2010.crt0  *H 3š{^줦(]W%#% ipMi/ٛYhd4ckv{BtE3]FICqxӞەA14p,Cw/=aJcY}R`E?P~BXA8I0O)/;GY7!f/-mk u!2ZE?VQ̮}0H& (D-ԇIW M4# Í2 5(Ј?0p00 a3&10  *H 0_10 &,dcom10 &,d microsoft1-0+U$Microsoft Root Certificate Authority0 100831221932Z 200831222932Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 rY\0d` BvSl>ok:t/2BN#r5W ʮ IhMKyKqG%ߝuϪsDׁ6\Eܯ=(hrsV5rv_wE8s[gRi/ t)v/T0Yҍb_F1P'@0r)("7N=2=͡8\NV(*2KOc-bE=F[&SzJF7<8w\V< _^0Z0U00UҴX7.3L 0 U0 +70# +71N&`;1o<-0 +7  SubCA0U#0`@V'%* SY0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0  *H Y9>&Fo@2j/nI_uL;-C -1#|P!]=/LVpyIr>A i˥ - PV-JҼp VชKWB4nLI(ܯilTkkVب.RcC7r/gOw$))?:&0$ *H  1000w1 0 UUS10U Washington10URedmond10U Microsoft Corporation1!0UMicrosoft Time-Stamp PCA3}mk&G0 +]0 *H  1  *H 0 *H  1 180807090707Z0# *H  1nBNB/ {R0  *H 9Jt;}]aB;rczc؜HSVAC dW}ga8F0Ib4_ fp!ix|G1qD { 53gNiN^d\QNa0OEbn.l[ Fv` mmqu /`7j*s ؄col*Q7f1;ݖ`Q= ЁX5oh*bl[kl3ת@ѻ0# +71#0# *H #0#10  `He0\ +7N0L0 +70 010  `He zdCj3czN,SwƉ֦\- 003^%0  *H  0~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110 180712200848Z 190726200848Z0t1 0 UUS10U Washington10URedmond10U Microsoft Corporation10UMicrosoft Corporation0"0  *H 0 єv6憫6iF|PːpU$~9{s ԛ$\9~3l;&]SkWe˯M.2V+N4i!>D|v}rvadLFζ:wwg!Z^G< =ͲPxф<"]Z@Njstz_Fg(w1K^Te? F,:h4e9&cݽ%(4y*_0;j#~0z0U%0 +7L+0UG?e8]w@0PUI0GE0C1)0'U  Microsoft Operations Puerto Rico10U 230012+4379650U#0HndPӂ77"mu0TUM0K0IGEChttp://www.microsoft.com/pkiops/crl/MicCodSigPCA2011_2011-07-08.crl0a+U0S0Q+0Ehttp://www.microsoft.com/pkiops/certs/MicCodSigPCA2011_2011-07-08.crt0 U00  *H  S ? &D џcK?\3le3[Խa1&'H5d"k-;,)75 $9nx )`'v4$ݹu;"P &I}EC4ρ\,ԓgs=2`0,.E(T\͖ہض0CHF]^v*XHLaA骸jB>x#x[mY}9y` =6E6n=;ԧ%vEZC1؄u}Q7'5qWqɘҞZdv}j51ruȈjEfΒu'[oIoX]i*SK{lOW`q Q4G=u"U?j9kZ?#x085Y$@:g_;I mP>!JA[nnT5fgr|R"r?0z0b a0  *H  01 0 UUS10U Washington10URedmond10U Microsoft Corporation1200U)Microsoft Root Certificate Authority 20110 110708205909Z 260708210909Z0~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110"0  *H 0 r.nM4X!B*kZP8I 7k 8™91BӉ yd~`$lIh^ߛS ,ï٩+z זY`fv2R&/PϳD].uhm:\F8dnd5xc-@ \yI) w=+ZMV(zr:I^C{{>]O/Y;-3Xŷ>2ӳ=8~ҝ,NV!5%9ndS#_R!t%_('(8%9J6|#faj(I_%]!K>RĵW?$z[/#p]QFwἬ_UK9#ID|Erzr$߿FWۃMI0[ݰf{KI)(}gbx_/W\w((m(,@7OD LԥC/tnx X,]`>O3ڰޞNFlֈ 00 +70UHndPӂ77"mu0 +7  SubCA0 U0U00U#0r-:1CN1#40ZUS0Q0OMKIhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut2011_2011_03_22.crl0^+R0P0N+0Bhttp://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt0U 00 +7.00?+3http://www.microsoft.com/pkiops/docs/primarycps.htm0@+042 Legal_policy_statement. 0  *H  g򆥘Ty.tg" cB}y e_.,>rm? ;Gic"5]e}FPU |K.)=Եw9dD=xz#}t&F*Š hh.*?*kXIc inZF+;н5n%'(M= 2-[I9 ƭQEX82q'',: iYhnot@*(>?Mf Mo}Ev@*e]Rbc6'ͥ]cA[>wuaaA(e/\֡FY KH)ű?Ew5Ңzz"HG#kKux7yKֳ#hu i;0Lumc=ѝVNOW"x2!zA ?̤]WqVNHEBɛv[ HkymmjRs zP1000~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20113^%0  `He0 *H  10 *H  1  +70 +7 10  +70/ *H  1" ~XW-:w66U+멵,2A0: +7 1,0*SOS.dllhttp://microsoft.com0  *H \HSv?(ʁy冞F7_r t8Cb‹(JGUd&~sKM{CV'XP;)B(y!j?>Y!mMۿ rNNLEc jGO9[Q!i}Fl@b\V(qHIF@B2 _u kw){jڑڸӈS&xTRD9`ʾ3h롂G0C +7130/ *H  010  `He0: *H  )%0! +Y 010  `He ڷ)emZB# )I4 K[h0mx20180807090713.283Z001 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:148C-C4B9-20661%0#UMicrosoft Time-Stamp Service00 3C:R0  *H  0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100 160907175658Z 180907175658Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:148C-C4B9-20661%0#UMicrosoft Time-Stamp Service0"0  *H 0 O0:?V]dz cWLVW۠߳~Qms-m$B FioLaj3>ۢo%*:REeϵ7hfeMC x *=3ٰP$Q$ vVm)tuH@fpA'uƖA/z40lZgMl^y "E^?}a7t٣QHT3_{ɗq00U El w/+W$ć_0U#0c:\1C{|F3hZmU0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicTimStaPCA_2010-07-01.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicTimStaPCA_2010-07-01.crt0 U00U% 0 +0  *H  a[j&/4t{-] Y='zy,rGkom^x_Q{ė1P*Qj#7GfŅuqzmI%!X樕,!:QP̻7)j"lOyfdp' LP~ğQޮ_ F;b 0)p1n z$Q""CQSU"$ux):[i |ϟ(~p2[JD>gy+S0q0Y a *0  *H  01 0 UUS10U Washington10URedmond10U Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100 100701213655Z 250701214655Z0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100"0  *H 0  w: iktTե |hK,_av>f+[S'1A |a0Y0D`TC M8Bݓs0W&E GͿ$`2X`FXG2tag_TϓLĦ]an(aF'$gr!KdPb]w=WuBM@Q>gfD~Knʱz* 1N5xhttp://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0U 00 +7.00=+1http://www.microsoft.com/PKI/docs/CPS/default.htm0@+042 Legal_Policy_Statement. 0  *H  Q ?q=!o1Wm0fjxǨ%kTW+QDS`v@@A\\^5$VKtBȯ7}Z?yJR8/ye٩kzoK0D$"<Y)p2J'U/3b_W@ΙfjbJ &9Jqc{!mÜ<}jxm8ؔƥ B"8 %d~cY%z.9Wvqa˚Gͧ};q ]t"aڰPo1:eGxHr~akow˧ 9؂r*T9[ Uzs;-3.)/T'!ȬN(ۖBAM*f0ӻt2Kc{/!YD&+\F^9k/B}Z0ꌥ~"9xWeE{q/EI~TDw> tU%4XӁ3SЫnEs(Am˽ށ3$ARqs|K30S`<`| i-h̾셤9 =J뀡$\@1000|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103C:R0  `He20 *H  1  *H  0/ *H  1" j:%ÖKOK$R{` 0 *H   1000.NnuىQ m:00~0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103C:R0zA|Jz}>{m0  *H   `PGx 1@wHo(IգeM<ҟ[PLAޣì:x4j֋̜Q{EUepT?HAhSo|///$WV.S