From 3dc4d3c3a958703952ea2c3745918b1e1380e2c2 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 19 Aug 2010 00:42:37 +0000 Subject: [PATCH] removing the custom reflections library from the libs, and adding a release version. Hopefully this will fix the problem Menachem has been seeing with random JVM crashes. Also removed the auto-deletion of the reflections jar, and removed the very old OmniPlan document we had checked-in. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4056 348d0f76-0448-11de-a6fe-93d51630548a --- build.xml | 8 +- .../contents.xml | 2594 ----------------- ivy.xml | 2 +- .../sting/utils/classloader/PackageUtils.java | 28 +- .../sting/queue/util/ClasspathUtils.scala | 5 +- settings/ivysettings.xml | 3 +- .../reflections-0.9.5-svnversion79M_mod2.jar | Bin 81307 -> 0 bytes .../reflections-0.9.5-svnversion79M_mod2.xml | 12 - 8 files changed, 27 insertions(+), 2625 deletions(-) delete mode 100644 doc/Genome Analysis TK plan.omniplan/contents.xml delete mode 100644 settings/repository/org.reflections/reflections-0.9.5-svnversion79M_mod2.jar delete mode 100644 settings/repository/org.reflections/reflections-0.9.5-svnversion79M_mod2.xml diff --git a/build.xml b/build.xml index 224bb6417..265bc6f83 100644 --- a/build.xml +++ b/build.xml @@ -83,11 +83,7 @@ - - - - - + @@ -471,7 +467,7 @@ - + diff --git a/doc/Genome Analysis TK plan.omniplan/contents.xml b/doc/Genome Analysis TK plan.omniplan/contents.xml deleted file mode 100644 index 8e803574c..000000000 --- a/doc/Genome Analysis TK plan.omniplan/contents.xml +++ /dev/null @@ -1,2594 +0,0 @@ - - - - - baseStyle - - font-family - Lucida Grande - - columnTitleStyle - - font-size - 13 - font-weight - 9 - paragraph-alignment - center - - cost - 0.0 - currencyStyle - $1,234.56 - displayDates - - displayProperties - - - GanttGroupShading - - GanttVisibleRect - {{1132, 0}, {1025, 950}} - OutlineVisibleRect - {{0, 0}, {789, 950}} - ScaleWidths - - Automatic - 100 - Day - 405 - Hour - 21960 - Minute - 21600 - Month - 11.5 - Quarter - 3.2000000476837158 - Week - 54 - Year - 0.78749996423721313 - - SelectedPlanView - 1 - SelectedScale - Week - SelectedView - 0 - SheetSettings - - LevelConstrainsCompletionDate - - LevelUpdatesSelectedTasks - - RescheduleUpdatesSelectedTasks - - - ShouldDrawFolded - - ShowConstraints - - ShowCriticalPath - - ShowDependencyLines - - ShowGanttTimeOff - - activeColumnIdentifiers - - Violations - Notes - Title - Effort - %Done - - calendarController - - OutlineVisibleRect - {{0, 0}, {571, 747}} - activeColumnIdentifiers - - IM - Notes - Type - Resource - Custom Work Week - Schedule Exception - - columnWidths - - IM - 20 - Notes - 20 - Resource - 436 - Type - 48 - - - calendarSplit - 0.67960631847381592 - columnWidths - - Effort - 70 - Notes - 20 - Title - 580 - Violations - 20 - - dayWidth - 54 - resourceSplit - 0.56752324104309082 - resourcesController - - DayWidth - 25 - OutlineVisibleRect - {{0, 0}, {776, 950}} - ScaleWidths - - Automatic - 25 - Day - 405 - Hour - 21960 - Minute - 21600 - Month - 11.5 - Quarter - 3.2000000476837158 - Week - 54 - Year - 0.78749996423721313 - - SelectedScale - Automatic - TimelineVisibleRect - {{-1467, 0}, {995, 950}} - activeColumnIdentifiers - - IM - Notes - Type - Resource - # - - columnWidths - - # - 75 - IM - 20 - Notes - 20 - Resource - 591 - Type - 64 - - - side - 0.56861674785614014 - window - {{48, 62}, {1838, 1087}} - - - displaySeconds - - displayStatusCompletion - - displayStatusCost - - displayStatusEndDate - - displayStatusStartDate - - displayStatusTitle - - displayTimes - - endDate - 20090424 15:45 - flatNumbering - - groupTaskStyle - - font-size - 13 - font-weight - 9 - - notEditableStyle - - font-fill - - w - 0.334677 - - - noteStyle - - font-family - Helvetica - font-fill - - w - 0.334677 - - font-italic - - - objectId - 0 - printInfo - - NSOrientation - 0 - NSPaperName - na-letter - NSPrinterName - dahl - NSScalingFactor - 1 - OPPrintSettingPrintDisplayOption - 0 - OPPrintSettingPrintOption - 0 - - projectUserKeys - - resourceDifferenceEngine - - nextId - 24 - - resourceUserKeys - - resources - - - available - 5.9499998092651367 - children - - 1 - 5 - 10 - 14 - 16 - - efficiency - 0.59499996900558472 - objectId - -1 - type - 3 - - - available - 2 - children - - 2 - 3 - - name - Software Engineering team - objectId - 1 - type - 3 - - - name - Matthew Hanna - objectId - 2 - - - name - Aaron McKenna - objectId - 3 - - - children - - 6 - 7 - 8 - 9 - - efficiency - 0.25 - name - Computational Biologists - objectId - 5 - type - 3 - - - available - 0.25 - name - Kiran Garimella - objectId - 6 - - - available - 0.25 - name - Andrey Sivachenko - objectId - 7 - - - available - 0.25 - name - Andrew Kernytsky - objectId - 8 - - - available - 0.25 - name - Eric Banks - objectId - 9 - - - available - 0.94999998807907104 - children - - 11 - 12 - - efficiency - 0.47499999403953552 - name - Group leaders - objectId - 10 - type - 3 - - - available - 0.75 - name - Mark DePristo - objectId - 11 - - - available - 0.19999998807907104 - name - Jared Maguire - objectId - 12 - - - name - Production informatics team - objectId - 14 - - - name - MPG software engineering - objectId - 16 - - - schedule - - friday - - spans - - - endTime - 43200 - startTime - 28800 - - - endTime - 61200 - startTime - 46800 - - - - monday - - spans - - - endTime - 43200 - startTime - 28800 - - - endTime - 61200 - startTime - 46800 - - - - saturday - - sunday - - thursday - - spans - - - endTime - 43200 - startTime - 28800 - - - endTime - 61200 - startTime - 46800 - - - - tuesday - - spans - - - endTime - 43200 - startTime - 28800 - - - endTime - 61200 - startTime - 46800 - - - - wednesday - - spans - - - endTime - 43200 - startTime - 28800 - - - endTime - 61200 - startTime - 46800 - - - - - scheduleGranularity - 0 - sharedFormatter - - displayDays - - displayHours - - displayMinutes - - displayMonths - - displaySeconds - - displayWeeks - - displayYears - - hoursPerDay - 8 - hoursPerMonth - 160 - hoursPerWeek - 40 - hoursPerYear - 1920 - - startDate - 20090315 00:00 - taskBarLabels - - Gantt View - - taskTypeGroup - - OPGanttLeftTextKey - - OPGanttOverTextKey - - OPGanttRightTextKey - Assigned - - taskTypeMilestone - - OPGanttLeftTextKey - - OPGanttOverTextKey - - OPGanttRightTextKey - Assigned - - taskTypeTask - - OPGanttLeftTextKey - - OPGanttOverTextKey - - OPGanttRightTextKey - Assigned - - - Timeline View - - taskTypeGroup - - OPGanttLeftTextKey - Title - OPGanttOverTextKey - - OPGanttRightTextKey - - - taskTypeMilestone - - OPGanttLeftTextKey - Title - OPGanttOverTextKey - - OPGanttRightTextKey - Assigned - - taskTypeTask - - OPGanttLeftTextKey - Title - OPGanttOverTextKey - - OPGanttRightTextKey - - - - - taskDifferenceEngine - - nextId - 131 - - taskUserKeys - - tasks - - - children - - 55 - 32 - 56 - 23 - 84 - 27 - 50 - - objectId - -1 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 86400 - effort - 86400 - effortDone - 86400 - objectId - 1 - style - - font-size - 12 - - task - Select canonical build system, with eye for easy construction of publically available library and software tools - workDone - 24 - workSeconds - 86400 - workTime - 24 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 3 - prerequisites - - - id - 1 - kind - 2 - - - style - - font-size - 12 - - task - Documentation on how to configure and develop in environment - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - children - - 52 - 53 - - objectId - 5 - style - - font-size - 12 - - task - Extensible command line argument system - - - effort - 14400 - objectId - 6 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - ByLoci traversal -- need flag to include all reference loci, not just those covered by reads - workSeconds - 14400 - workTime - 4 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 57600 - effort - 57600 - effortDone - 57600 - objectId - 7 - style - - font-size - 12 - - task - Indexing of BAM files -- access BAM index file and support jumping around - workDone - 16 - workSeconds - 57600 - workTime - 16 - - - effort - 28800 - objectId - 8 - style - - font-size - 12 - gantt-fill-color - - b - 0.907362 - g - 0.615564 - r - 0.437675 - - - task - Develop algorithm for indexing of reference ordered data - workSeconds - 28800 - workTime - 8 - - - children - - 98 - 97 - - forcedStart - 20090331080000 - objectId - 9 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - ByReference traversal - - - assignments - - - id - 11 - units - 0.25 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 7200 - objectId - 10 - style - - font-size - 12 - - task - Handle argument type checking -- throw errors for bad types -- handle problem with providing arguments to flag causing problems everywhere - workDone - 8 - workSeconds - 115200 - workTime - 32 - - - effort - 28800 - objectId - 11 - style - - font-size - 12 - - task - Improve performance of BAM reader, BinaryCodec is slow - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 12 - prerequisites - - - id - 73 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.907362 - g - 0.615564 - r - 0.437675 - - - task - ROD writer -- in particular GFF for allele caller - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 13 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Provide external access to TraversalEngine data structures so that we can write algorithms that use reads, reference, rods outside of the walker system but using the AnalysisTK interface and loading routines. - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 15 - prerequisites - - - id - 12 - kind - 2 - - - id - 26 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.907362 - g - 0.615564 - r - 0.437675 - - - task - On disk sorting of RODs -- see reading all data in memory in PrepareROD - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 16 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Enable window size in traversal -- N bases for loci, for example - workSeconds - 28800 - workTime - 8 - - - effort - 86400 - objectId - 17 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - ByPair traversal -- ordered and unordered - workSeconds - 86400 - workTime - 24 - - - effort - 28800 - objectId - 18 - prerequisites - - - id - 7 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Random Loci - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 19 - prerequisites - - - id - 18 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Random Reads - workSeconds - 28800 - workTime - 8 - - - children - - 73 - 93 - 74 - 8 - 26 - 12 - 15 - 61 - - objectId - 23 - style - - font-size - 12 - gantt-fill-color - - b - 0.907362 - g - 0.615564 - r - 0.437675 - - - task - Reference ordered data - - - effort - 28800 - forcedStart - 20090317080000 - objectId - 26 - prerequisites - - - id - 8 - kind - 2 - - - id - 73 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.907362 - g - 0.615564 - r - 0.437675 - - - task - Jumping around in RODs - workSeconds - 28800 - workTime - 8 - - - children - - 6 - 9 - 17 - 49 - 16 - 13 - 94 - - objectId - 27 - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Traversal algorithms - - - children - - 121 - 91 - 103 - 113 - 125 - 126 - 120 - - objectId - 32 - style - - font-size - 12 - - task - Traversal engine generalization - - - effort - 28800 - objectId - 33 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Resumable walker support -- Serialization and state saving of traversal engine - workSeconds - 28800 - workTime - 8 - - - children - - 18 - 109 - 19 - 37 - 33 - 38 - 39 - 40 - - objectId - 36 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Long-term projects - - - effort - 28800 - objectId - 37 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Parallelization and chunking -- automatic parallelization -- how?  I/O? Hapdoop? LSF - workSeconds - 28800 - workTime - 8 - - - doneSeconds - 57600 - effort - 57600 - effortDone - 57600 - forcedStart - 20090413080000 - objectId - 38 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Internal bug tracking -- catching errors and posting them to data for tracking? - workDone - 16 - workSeconds - 57600 - workTime - 16 - - - effort - 28800 - objectId - 39 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Interfacing Java and Python -- how?  Want to write walkers in python for rapid prototyping - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 40 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Support for communal directory and naming system for reference ordered data -- I don't want to always have to provide command line flag for DBSNP when a walker needs it.  How do we we this? - workSeconds - 28800 - workTime - 8 - - - children - - 44 - 46 - 47 - 78 - 79 - 80 - 83 - 95 - 96 - 111 - - objectId - 41 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Short-term projects / bugs - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 43 - style - - font-size - 12 - - task - Need a better way to dynamically tell the class of a walker instead of trying to cast it and catching the exception - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 44 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Optimize GenomeLoc so that comparison operations are cheaper. Right now we use contig strings (painful) and really should automatically index / intern the strings upon creation for fast comparisons. Maybe build fast lookup system with regex? - workSeconds - 28800 - workTime - 8 - - - children - - 58 - 59 - - isExpanded - - objectId - 45 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Faster loading of fasta file - - - effort - 28800 - objectId - 46 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Fix: NullPointerException at sting.utils.Utils.setupRefContigOrdering.  When I leave out the reference, I get a SAMFormatException (I think because it defaults to expecting paired reads) - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 47 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Time per read base in performance output - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 49 - prerequisites - - - id - 17 - kind - 2 - - - style - - font-size - 12 - gantt-fill-color - - b - 0.898039 - g - 0.792157 - r - 0.219608 - - - task - Spanning pairs traversal - workSeconds - 28800 - workTime - 8 - - - children - - 41 - 36 - - objectId - 50 - style - - font-size - 12 - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Proposed features - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 52 - task - Choose replacement - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 53 - prerequisites - - - id - 52 - kind - 2 - - - task - Add replacement code to project - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 86400 - effort - 86400 - effortDone - 86400 - forcedStart - 20090324080000 - objectId - 54 - prerequisites - - - id - 53 - kind - 2 - - - task - Extend walkers to support extra arguments - workDone - 24 - workSeconds - 86400 - workTime - 24 - - - children - - 3 - 5 - 71 - 1 - 10 - 45 - 106 - 63 - - objectId - 55 - style - - font-size - 12 - - task - Software engineering infrastructure - - - children - - 7 - 11 - - objectId - 56 - style - - font-size - 12 - - task - SAM/BAM Support - - - assignments - - - id - 14 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 58 - style - - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Faster reads - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 11 - units - 0.75 - - - doneSeconds - 19200 - effort - 14400 - effortDone - 14400 - objectId - 59 - prerequisites - - - id - 58 - kind - 2 - - - style - - gantt-fill-color - - b - 0.101961 - g - 0.101961 - r - 0.101961 - - - task - Enable fast jumping to offset in fasta file by calculating minimum offset for next contig from dictionary - workDone - 5.3333334922790527 - workSeconds - 19200 - workTime - 5.3333334922790527 - - - effort - 28800 - objectId - 61 - prerequisites - - - id - 15 - kind - 2 - - - task - Revised preprocessing algorithm for ROD incorporating new indexing and sorting systems - workSeconds - 28800 - workTime - 8 - - - children - - 70 - 64 - 65 - 68 - - objectId - 63 - task - Quality assurance and stress testing - - - effort - 28800 - objectId - 64 - prerequisites - - - id - 70 - kind - 2 - - - task - Expand simple python script to handle more detailed list of BAM files to process, along with additional commands to execute the data on - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 65 - prerequisites - - - id - 64 - kind - 2 - - - task - Continue integration of stress test requests into a unified list - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 68 - prerequisites - - - id - 65 - kind - 2 - - - task - Enable tracking of results in GATK -- needs a stress test mode that will email if something fails - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 11 - units - 0.75 - - - effort - 28800 - objectId - 70 - task - Develop preliminary stress test system -- enable weekly testing of many files in common (CountReads, Pileup, etc.) to ensure the system can process files - workSeconds - 38400 - workTime - 10.666666984558105 - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 71 - task - Logging system support - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 73 - task - Revise the reference metadata system, really think about the organization from scratch. A key issue will be dynamic loading of RMD, we need a mime like system and ways of registering handlers - workSeconds - 28800 - workTime - 8 - - - effort - 3600 - objectId - 74 - task - Rename to reference metadata, not ROD - workSeconds - 3600 - workTime - 1 - - - effort - 28800 - objectId - 78 - task - Add support for "and onward" argument to location, so we can say "chr1:1+" will start from chr1 and continue onward for the rest of the file - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 2 - units - 1 - - - effort - 3600 - objectId - 79 - task - Move interval interface into Picard - workSeconds - 3600 - workTime - 1 - - - assignments - - - id - 7 - units - 0.25 - - - effort - 7200 - objectId - 80 - task - Utilize Picard interval and expand functionality if at all possible - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 83 - task - The file progress meter is stupidly broken on lane /seq/dirseq/aphilipp/combo/sequences/pcr/samfiles/9701.7.clean.sam in CountReads mode - workSeconds - 28800 - workTime - 8 - - - children - - 43 - 85 - 88 - - forcedStart - 20090323080000 - objectId - 84 - task - Walker infrastructure - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - forcedStart - 20090330080000 - objectId - 85 - prerequisites - - - id - 43 - kind - 2 - - - task - Loading of walkers from external Jar file - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - forcedStart - 20090326080000 - objectId - 86 - task - Generalized walker class hierarchy - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - children - - 54 - 86 - 90 - - objectId - 88 - task - Feature rich base walker class - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - forcedStart - 20090327080000 - objectId - 90 - task - Output stream in walker for use in map/reduce - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 172800 - effort - 172800 - effortDone - 172800 - forcedStart - 20090323080000 - objectId - 91 - task - Separate traversal type, data sources, and execution managers into separate object hierarchy - workDone - 48 - workSeconds - 172800 - workTime - 48 - - - effort - 28800 - objectId - 93 - task - Develop sound, common core of RMD types, unify work of kris, andrew, etc. on affy type. Look into what tim has done. - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 94 - task - Upgrade interval traversals.  Allow nested / overlapping, etc. intervals, along with map getting info on our interval (pass in genomeLoc) and reduce receiving all of the map results over that interval. Handle RODs and Reference appropriately. - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 95 - task - itertools for java - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 96 - task - Generalize file line reading (readlines and xreadlines) and use it for parsing locations, etc - workSeconds - 28800 - workTime - 8 - - - doneSeconds - 28800 - effort - 28800 - effortDone - 28800 - objectId - 97 - prerequisites - - - id - 98 - kind - 2 - - - task - General discovery + genotyping concordance tool - workDone - 8 - workSeconds - 28800 - workTime - 8 - - - doneSeconds - 57600 - effort - 57600 - effortDone - 57600 - objectId - 98 - task - Development and testing of ByReference traversal - workDone - 16 - workSeconds - 57600 - workTime - 16 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 43200 - effort - 43200 - effortDone - 43200 - forcedStart - 20090402080000 - objectId - 103 - task - Create basic by locus threading prototype - workDone - 12 - workSeconds - 43200 - workTime - 12 - - - children - - 107 - 108 - - forcedStart - 20090323080000 - objectId - 106 - task - Dynamic merging of multiple input BAM files into single stream - - - assignments - - - id - 11 - units - 0.75 - - - doneSeconds - 38400 - effort - 28800 - effortDone - 28800 - objectId - 107 - task - Basic code support - workDone - 10.666666984558105 - workSeconds - 38400 - workTime - 10.666666984558105 - - - assignments - - - id - 3 - units - 1 - - - effort - 28800 - objectId - 108 - task - Support in new data shard system - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 109 - task - Add mapping function from dict -> dict so we can process 1KG data against HS_18 assembly - workSeconds - 28800 - workTime - 8 - - - effort - 28800 - objectId - 111 - task - Fix rodDBSNP - workSeconds - 28800 - workTime - 8 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 115200 - effort - 115200 - effortDone - 115200 - forcedStart - 20090406130000 - objectId - 113 - task - Implement sharded single-threaded by reference traversal in with MicroManager - workDone - 32 - workSeconds - 115200 - workTime - 32 - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 139950 - effort - 279900 - effortDone - 139950 - forcedStart - 20090413090000 - objectId - 120 - prerequisites - - - id - 113 - kind - 2 - - - id - 121 - kind - 2 - - - task - Unit test of the shattering and parallel prototype 0 code - workDone - 38.875 - workSeconds - 279900 - workTime - 77.75 - - - assignments - - - id - 3 - units - 1 - - - doneSeconds - 172260 - effort - 198000 - effortDone - 172260 - forcedStart - 20090402080000 - objectId - 121 - prerequisites - - - id - 91 - kind - 2 - - - task - Create read and loci order shattering strategies - workDone - 47.849998474121094 - workSeconds - 198000 - workTime - 55 - - - assignments - - - id - 2 - units - 1 - - - doneSeconds - 57600 - effort - 57600 - effortDone - 57600 - forcedStart - 20090413080000 - objectId - 125 - task - Create and test stateless fasta file reader - workDone - 16 - workSeconds - 57600 - workTime - 16 - - - effort - 86400 - forcedStart - 20090420081500 - objectId - 126 - task - Integrate parallelism code into sharded MicroManager - workSeconds - 86400 - workTime - 24 - - - topResources - - -1 - - topTasks - - -1 - - uuid - 576AFD44-5E1C-4722-A13C-81450FCA5F4F - version - 2 - - diff --git a/ivy.xml b/ivy.xml index cebf26a86..ba02d9b6b 100644 --- a/ivy.xml +++ b/ivy.xml @@ -19,7 +19,7 @@ - + diff --git a/java/src/org/broadinstitute/sting/utils/classloader/PackageUtils.java b/java/src/org/broadinstitute/sting/utils/classloader/PackageUtils.java index 4fe8a6cec..744b3fcdb 100755 --- a/java/src/org/broadinstitute/sting/utils/classloader/PackageUtils.java +++ b/java/src/org/broadinstitute/sting/utils/classloader/PackageUtils.java @@ -25,12 +25,15 @@ package org.broadinstitute.sting.utils.classloader; -import org.reflections.Reflections; -import org.reflections.scanners.ResourcesScanner; -import org.reflections.scanners.SubTypesScanner; -import org.reflections.util.ConfigurationBuilder; -import org.reflections.util.ManifestAwareClasspathHelper; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.LoggerContext; import org.broadinstitute.sting.utils.StingException; +import org.reflections.Reflections; +import org.reflections.scanners.SubTypesScanner; +import org.reflections.util.ClasspathHelper; +import org.reflections.util.ConfigurationBuilder; +import org.slf4j.LoggerFactory; import java.net.URL; import java.util.Set; @@ -41,18 +44,21 @@ import java.util.List; * PackageUtils contains some useful methods for package introspection. */ public class PackageUtils { - + /** * A reference into our introspection utility. */ private static Reflections reflections = null; static { - List urls = ManifestAwareClasspathHelper.getUrlsForManifestCurrentClasspath(); + // turn off logging in the reflections library - they talk too much (to the wrong logger factory as well, logback) + Logger logger = (ch.qos.logback.classic.Logger)LoggerFactory.getLogger(Reflections.class); + logger.setLevel(Level.OFF); + // Initialize general-purpose source tree reflector. reflections = new Reflections( new ConfigurationBuilder() - .setUrls(urls) - .setScanners(new SubTypesScanner(),new ResourcesScanner())); + .setUrls(getClassPathURLs()) + .setScanners(new SubTypesScanner())); } /** @@ -115,4 +121,8 @@ public class PackageUtils { return nonConcreteTypes; } + + public static Set getClassPathURLs() { + return ClasspathHelper.getUrlsForCurrentClasspath(); + } } diff --git a/scala/src/org/broadinstitute/sting/queue/util/ClasspathUtils.scala b/scala/src/org/broadinstitute/sting/queue/util/ClasspathUtils.scala index 36bc97a7c..a55bb8ee4 100755 --- a/scala/src/org/broadinstitute/sting/queue/util/ClasspathUtils.scala +++ b/scala/src/org/broadinstitute/sting/queue/util/ClasspathUtils.scala @@ -1,7 +1,7 @@ package org.broadinstitute.sting.queue.util import collection.JavaConversions._ -import org.reflections.util.ManifestAwareClasspathHelper +import org.broadinstitute.sting.utils.classloader.PackageUtils import java.io.File import javax.print.URIException import java.net.{URL, URLClassLoader} @@ -16,7 +16,7 @@ object ClasspathUtils { * @return List[File] that build up the current classpath. */ def manifestAwareClassPath = { - var urls = ManifestAwareClasspathHelper.getUrlsForManifestCurrentClasspath + var urls = PackageUtils.getClassPathURLs urls.map(url => try {new File(url.toURI)} catch {case urie: URIException => new File(url.getPath)}) } @@ -33,3 +33,4 @@ object ClasspathUtils { method.invoke(ClassLoader.getSystemClassLoader(), url); } } + diff --git a/settings/ivysettings.xml b/settings/ivysettings.xml index e5f39d0f2..383882a2a 100644 --- a/settings/ivysettings.xml +++ b/settings/ivysettings.xml @@ -9,12 +9,13 @@ + - + diff --git a/settings/repository/org.reflections/reflections-0.9.5-svnversion79M_mod2.jar b/settings/repository/org.reflections/reflections-0.9.5-svnversion79M_mod2.jar deleted file mode 100644 index d9265c204429b2222b379f454ab20eb81c92bab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81307 zcmb5V1CV9Swl!K^wyU~q+qSjKMwe~dW|zBc+qP}nw$WAf`rLEx`R{k$_n#MUN9?`U zjx{q@M&_6^XO1ybUK#`x8t5M%$&5mt|GN3_AE-Z9fT*${t)#3Nz5IWhK>|tqF$1>& z%ozW9?Dgl1`oGNpg0hlgqDsni0I_?(#JG$!E!`}fG%eNC#B{wP!vgcpp#zQ7)Ci3< ztq>%{L4j%_I&}|;TWdz7B8s%4l2ayCB`OXKassm=nitBr;{Bf|Qp}E0J$vEdqObD) zs5;e&Rp=- z=C(GD|G^sbZ>;r=^zEFC9sd6|b2QYqvH8!<{xPWk=>7lhn~TYRdJ)dwv~V7mZ$Ln?z(7F6f73+R*2cu#)Y(D*A0tU;Xr=Gy z7_0!024O_ZTsT{!w=RDqa6_c84C@UnMi&$jtbnBJbd#PxjjsbFTQ!C8PX_Y$;FC_- zSXP$n(J|BCA9bc4eC$8M0Zr*m2kIbb!cu+X(uJ;^9fHNWl=USt2_TmZ-Vk3lmcLWU z36`c|;+S6c^fm;svB$}C8aqiDhGFcIzx)v!B2EW_9pAre8w_jVbzqrKB}`troI&meo&jF&L5_dsE}xvorl7}IcW5W#aQUpJ=NzR zoC5~|2a}i{WK~5AGDJ&{&Si#RkW1mNugV=h|Dz*ySqVVwAQ8N*Xz|@c!beX1q;27fX z4Hp7kJ;7eIn^I++D5Tr+w8P+EVk<+gbNd?LHa^p(6e^g2trVfqu@6Wjp9%){I__Q9k9HFu|{N4OHmi5w)-7I0=sX4Y{8v+9XO!7KtH9 z2P8v=aKm=m{S^gLXF44opVpsszWaFnuw7n#qq`Vt-Qz!uG_DTX{~p%TC^Z+m{_GOg$1j7-$^*QnNn0h*X7cd@vnG zW&Wxof=A@$GM~gNeB2C6%wSkUCJ(dh8C8~oXB1$cWIXuv%dl>vM|{Ku7=cur@RsYn zEvm4boSQAM$EM8l`+E=NIJ;zxIic1(#$wNz ztlYP=no&)Ywjz)WP^RHf)D(WdfG|TY5uC#>k8_z@4L0E#HwzT~4O~}qN?ji|jCfNU z*Jn&#+=whPVVL_Q)Vo>t-#?@aJXdIIADN8A1FufElT#M);0C;Zuh z0RiFuO$bzSvUM>2AFrxRw3b5=L>&HFhnUJDN0qOA@sk=}X*o*PxaoRG*TVQ^8%?pa^ootl}s`p2)lA>@0d;K`0; zG6t;R!7a4Oy^rwdKl%Bq)mCM!Y|cs{iKs3la>yy>F!)&+^FFzehPs*pHkq7@nLp+iu0F$jK8s39#~ba_l^(o362P6 zM-V#KI5BPQry_ieeM4e%Be;l`7^K8S-SS;e+)CDXChDeSE8sI{=Ia)f!pz!eax?LG?ml0%VBh9X0*~MgH)W3r~%@j6@iQOce8d1Z*_mux-xG)&w9x#`0 zo|bztw4`<~2kAo#b#0IQqpITu#I%cGIg-YS&~bPK$HeT~35j$Dy9IMx169(*j`|14 zUV)ihrfw6l56E9pI&1BCjPeJiGk;J@_ctj0SJnbBcKUPgq%Zi-H0Ga+LA27j?1BI) zAIJza-578i>fGarF=aeorV<*6BrzA-z;W z(S7E9<~n;ZzwhR6AV1feqHphT90W74DHp*k0RDMuF}-F-56Nx?@&bjO3>|GIT|5`s zc>!oVuuxERaGtP|2~hAx?*1RF<-w~E8ht@u#RJf5Z*fKjGTzDSioolS&dj62$BD(r z_s*44Lq5t?UKLyeTy&+dgRR0-MQb10ew!_w;@(q-$780j-h%kg=6{l>oRB6X>eh?W{ zHM-4I?A09@)I@-{k`uU|A@l`44>Lu4gJP$>M(>7b&lBB-=ttd+_W(l0i}3*Mcz1wX zW326D9|96T)y;a1&5hvzcJS|Xbf171N}m3C$APg=gS}Ou>2aY0>J>IOh}){@+r?tu zlY{Lm+rPrgS5?Aa4-N>Zkqiik{y)J>O5f#A4ruP^^cQ?ps=EuI9;5l<)3lFsP~;&B zAj&U*p|cx^fUyV;hCx#i-G&VryY?`S({1+aS)?7w${40?6`9Yausl_r)|y$Nc&09G z0j{~NJqn&vw*bDjCN58U=o;(%FGt*4&z{fkTMoPYa=ZW$=^))a?}rMJ#s^G1K57Me zot<4r*|!dnqz5o^@3?N=z1?x-%ff1o({h>jjKHp;^J?h@@#)*l<~+2@mY__uEfx^^=NxDUkPWvA}pWhd?sA1RE!eUaaB9+V(HCM5ZP zm1Oz!j?hazNWUc|_)KnZbDTE+{>V)5xh~-6IQfa}o-+F54Q2ZCqM%#i0r?}z^>e7c z`~HdF?NyHaBeMI;#OAx(3jzYYbU=__1(96dDUmKRn*sq;yPbf=ZqV<%8NwpT1yUot z2)7ivSu(~zs0dsGGI}Wz!f*|EMr;}pN(5sb?IXm)-<3PL@u8eN%D3{9{n~gIZY77g zF`@48jN61~xCZ_No}pOE`Q>1T?O5QTt4krjBXTg)7jx#Yu`!kVKDK&+T%_1Sy|#M% z*emYVRvJVRN{|Er>B77Ea_X4S6kR1)&|*A4x?Neyf{3%Cw}iJOM50BwA2VG9gZrhN zI?F(Rx45@j-uHqAo8H(d-}-l&S_5&PFZ#`G<=}c6D6sCV!eVJpKZDuXUmZO67`Job zJct?Uhqbbb)8VQfq>XI$=E}cY^hnF+iHGAs)}pU};=gdEjpmFP&79-xRGdotd$q9+lK0 zmQkxM#Dr5=<&6{6njB2&F`zy=9AG-Ecdm8itp2#Cn8O@g>{Uk{vZ_JOnGZnKUebwo zqzzsaG7G3#;*5o5hr#|1duyIdBe69>=H+rh)AuXAmqYN4vs9mXx8cyB>Z)nRMl)g_ zwDtL-wohWNfFq`#-rcV+aenbMABwjv(8n0oxLr&B@kHcMQMhz4A~0BR&cMQZ%4Bp8 zLw1c1OoeX6*G+krIyfVY#oPQc0E#d+E05V*e-K-xfnuA<4bfO6Pb?$r7|r2p{+ zG?9SMoeJDjJ$wK->~b%B#rPBsVQ$>aDWO=AIPjPn57BZ&|OFdW;|=4cQE^ zk-<#SdWexh(&%t~!3={13M~3_1Tf8J@uKzWH1m`m$kT$lG#D!4iQicBi0GBZVrh7Q zWp!8v4M^t=A6jzUPu*1II6NA)@jW$YkZ31%p#E zHw^r?NFIhvCQ&<#a&&gpV%jC6 zE$p-L!BOq#X6{&*f(fe zKz5o--_XVzfaQ$!(4dA4T;*~%Wl5yC6*UKRcFD3mT&#ugCU-M3;h|pg<0J7>ptn59 zl)CE~BGgb~J3vpRg@fM)182NpF?fCxrVnDVes+rIig)sb@a+>UL?!XP8mlNt9qNE?{a-vGu zsc`CgPk>NN8{#yG8#B+$=r8*tU2&0U2fk+_4GC88yzDU+1Ps|D%NfLr^F_H>*GK)v zFwXQt#Uk=yQ`iz5{H11)G;9j6ALCB4Zxw3SE<(Zha|XTP*U31K=lycmxmSeDDJyzx);44* z7XPbY^m?e7Ggz*6v^WLc@+dCnG5SF&VH)XTced$3DI;kb+3T0dt|N2jTEH~zO8a7i z5m$Dq#w*RRt1&uX+a}X%&E`xDhF8qK<#2OuX@ST-b9wVCPZH~}xl4LwpX%bA>WsPq zgKS~(l;UcYeH#s>K%t908iqEM_z%(gQWQ_iSb=jEf7N|2Hndq>C-T0$cpRtin{ey_ zsgy>6ge22fx%mRgB_UUZ%L14>8}D`=6H)W}7xih*;XwO6b(cStTJbbrO-qP=PAM3h zL^%iEic#ePD4WWd2TPa@E5^bYdneOH9VSL)VrVtug0E5w687!lxJlHE`QIvY$NdKH-t<{+PKK zxZG^%Mu7Azf$^+3M4Rae#(MVf0C{o7WR3~&QM&i>Anuf8R>$v5-3qw2zgVkb#`i@? z%Q|@Lm$mCJiBwg|BwMz3NM^|>u$aJh-vZ@jbiMC*B|%H1nS%A{Hn}Yj-Yi13na_

Dr=Dnlv2^OzG-CQq@5&MyFGwC6$(&N9(Akk*(|y3u_!OcQ4wnmeb#` zVzOb2pqW+&HThjL`oa}xuM@zSsN2h%)+5=d zO7?Z%>5#HVw{S6FZUWg3hUklJ;P)kE6Ae3OlBFnecO=0yZi!O3!z+CBF$%a`$EGGc zJs%*G7tlE=*SvP81tSF`Wle4->u4@0oxZ8#Poe1;vUD`d+Wb8%fxdgkMDmVRa;)La zmA!9=f@-gGq$NLW(J)N}+fO?@qb*Wa2%LLr3u?@3;El)Q`-xR-cgR*WrXdX*scyw+ zWO69hDeuD%i5I>(ZY1yHk0Lt!o^47G#bwb3?8g&6z^{8Ja+&5Uj?F0JYmKwLy@sr9 zKMo!545@VYx?L9M^R!H_*Flpac6JtKmh9YUy>os+>U2H0d<@%&d6NpOccmpWa9O3F zCY7j4nbM3ZFvYBx4od*AL|PQr_o)7 z0)Aqp){R1r(*rdT#Z4jV>SEK5ll$7RX{QhYdRYE0}-SbiF@O`)6#k{yBCH`}_9 zfYqu|G>ZwWGB#Om$KVJf6+4Y8`P_;r?Re@12~{xHLul3vGz-@%dGb1;%Tcs51xu}O zXKUKIc%#sbMC26p*iEOT8{-cd|&x z$h64c!z}Tj87;BR=Ec`BaGj@`r|Q#~zuUXV=+_~M;iYav z^Z|a$56Ln^5$BRncReJigba=$PRjc@2jXbEt`j*;M#&UFwa8j;91>_ zsBOQR2oCoDA+nMZiOL{&Vni$AIi4==fJHgR+BbKI`&*^ZC3_0Rk4AoNIXEX=bX`0l zJMSUg`^~2>vF$36Tf1J>h}#%4q;-+I&qY#f{SpU*W53||f#KnAXSNDeIKNkGw?tff z*v^AQE#9wATCoc28Atu&r3~IAZL157==_tikS-l$J>%zL z+n+!T-)A5cK0qk;>BoA|v`Ia`Eh~PoR2ARDZ4|WnG1f5TKsNA3?p#XGN4qElA!;vWWiRwn(OGEA3RfSwlY_qUYccz>mq!jN?^ z42tgzaOHl`CQciav7V}-m4>pzJpD6x&(hX-!$gU&hK)L1!kN0u`RMNB3nVG`cz9OE?9`T>^U^ zg8?Sgu`Yq)eLoNeV~%gsX>jEXQ;lFAb5OYUT8qmRF1Yq90+evGC5I7+0;?t3er z+UOwJhEZ@*(pKJ$;x3?-!l*oJYd9~SK!JjH4jL9y3WWq;aqC#$)zEFZ200BNEhcs) z$D@Dcc06g(E5*d)G%<)G%;bpC3Q(h~?0!o-ML)SbI>8r<%QGD<6O!gtJp`Ia>MfLy#==MZlywIa$MrdZ(4ksdQrg{-6udc@Q`M0^#7^}3jKOE=S&u}=-D zqcg;*cu8ESGP00kV(l;U8r~s%_)&UEN4ftq(H}~?&}tH!l|g6p|Rcn5kaHl#-;iNP(!{>NoO?y zmy=D@U~y{^z0QT$3Wx!bO-}sLhB%TaqoUrlYGB{_{18a9B&DfY!N_lpCsG}|?h)=E zKW?FRfGdITN+?UIIcH{PW{qa(3d!^Nge$FiZ@=5LZ8%Qoqe@JlX2xJTsC{cb zx4Us6^@ho5k0sJ>A6=zDC|-Ua)qbE54nY}5z+py2sH!18^~~i|A6&L=a#L0K`GHdTx!K(2bs_-voEa~2?XT%K}xzseM2J&6GH_RZioU?QEokv8Ddy4B4a&O zf1~{ESFx!#7<`x}_lHbfPk;m!D%IGy>Z*3UGIV%3Uv~wftO%VA-({dPBneo@h~9x8 zBEk^YjtE*HMU#;Tm82{xFyR7*b44paonQz;2dtw?!+yFMBoNkIpu&YzRhVP9YPRaN z*t+);0a(sYHr5WRD7OK|0v9PNA*&Vp$t=rmwwP@Uxb0;s&Nk~IT8nJ3wfm^dO_z{Y zsdsSFX#s^O!nQo^zJi`$IDrodIL$PnyPmBZfQKP73eTQuvF44)b zg5hp)FjUf{_P{bu-5#Dw-z>MUFLaND=IXS@=vT58Jtok zDVZJyQ7((Id8>`(UEEkry->G=Z0D0#xAKqW;+N1)_>Vm1_HpR32ec2{Y?KGE^EK-S zQdzC(vM06$G4Fz8#+k)1+LV^0VwCD&qpOUEi~8dM^K2B+8b@eCmwaM6r5a1p`zZZh z>3ljXtxE`c2iGYJQBu(n7+>s(*0A&0qT~nD5M<3+2WTGVPE1^Zqt$x4JdTM*BT6Cm zNd;?m0tgX9q*$zj{Wrveq9d6ZNx*cJs1MUZCa&B3N9LvWBf2 zH6x=4N<4H3mB@C{cmvJq6&ttGp6xBd%U&csBFn6+Z{qEQ3y3;h8-n9h*6WmO7pJL< z@5kp8NDr?vEv&)N005@G#kjX`gMco#ipDjq=MgdS)Plw37-Uk7xLxD8*$}kFRYde=D&zQJ?Wd1tSu2IS zleRsC*D6tUYAmmH(}k!cW^GPFvo=ax*Z|J*TNUrQ(tAShz9lSf&`6Z|D*CUbBr7KM z$Cnyj0Lq7{?hGcI6|BPgcWv6G9-Z_dHk*AuycM@FQS6^JW;?af=V4)%v-JFDs`35upVycSiBkhzW)f)jYNYZY(->samZ<#_Uw#-eNLHf&IqQUV z83A-%c7sYs9%BWk(CAYf97Va^%pXQQ4+7@6MeLz8#M}(s2v12FsCNw} z`#JtdnwNM$`546GcHj0T@0fCxjP8?a7x3n?^^Ew46F%p}6C%y&o^qg~pU5bR%D>yO z5^4)`iJ=`m$Cl#g`E@OT7-7Qe71X*HOh@Poi!gXab=XP#Ah;V1`mHI{l~}^s-S5@? zb7Pt>HGeo|LYNFisYUjkawF_^z6E*N^ubrN=g{g3;jakZDF;mi{)1i?NFX4=|L+(t zukWC5ZTyegtp8iIFI3TTTo*z8Tw-6XON%^570C@kW_L*&U=hf5!D8?ah`dZ}E8w90 z)mXuCwh}KMpDJYPb_T-yJKzqq!zhG3g-|aEcS) z_v;P94`wAkZU_vMyf$$l(oGVUp4=X(n&g&>E((BvJYFR zm5Ml=J;4n|jiiHi7dK?3P9N(ET9_kU%QUP)lQvVo!yv_@a@+ds32y5mmPDnNWlQ6@ ziSRSDFRa~|1NIkn^5)d~n~C_cc0W^QN51|1f;GAB;wEjmbM$&gc{>S3YSEzsg7Pz? zr~~m1tkUWj?kDB6Ys>0XHS2Y3ecs5a(RJKwSEGa(zP77%zg0qUEMtG{6RY>~$-%hM zppLYNBt%Q@0XcjQb;v%lgB5}Xo7S5SxT;C)bC410xrcMK38PGE$pTl9q#5oN2Wy>v ztQU`@T=dF}=FmHJKFw{Z+im@RP*9mFEpM&)YK*?ei+xvp1vdqTU?u3W7OGtx zFf?Vfg&MNmw18(j9U+}wxQ=Q)Ty``sKUOd}D~guj^@06eCp53HpQv6@av1TLri}Zj zOjAxnnEr2+)H`NWGc)ly)GH$Cxi9=45rm!<&ZVaD+S*8)_aRWdl z-Y-A#PF@Rtyih@`dr?KHQm0#W@I^S z4g&7b%PgJ8KbA9nhIyTQVck($hbYxE%WhVtR9MQ>ZM9U}^N-C}8)eeC4EFC-91NY@ z<#7INdGW^m9|zfJ+sC2oCHk;C(V3&kM9LgmAP>7|t7v9JkxZ*Z-2*-7CDLKVWw?Y99! z0N71!G-`)?#L)nr;xTS{JiYJ<*%Ai}nK#`1=o_z2B!&D(G396|ITXSLY(|x;uYl2S ziuxNHTOYSw15K{o8(Y>9ZT&wsrIl$*ib!M;MGYT@Vhq7hN(_*jZuyW}h3mFQ z_T&sC>=uY4Js&o*dh26z=L`SoLXLMe)`?X#@$#?c1L5ygxN_4e&rf)c+~KD7)MJ+wz#HX6}iyjOHVr%v;CfPk=>D}cGYU$J-B?0OXTRnG2k z6^k>HBrC*cIiBb|?s&F(&Y1Q6eE;eDZ6&muj4?(D3N;>M=#&qqFO|fBV?EUICH??C zp5rIEikHS#lie7s;Y@yjF4ssVLp!F6Ii= z7!-%(h2MH8bk^lz6FH|YA26B=>K0G2tMkR4x<|}$gd(&D^on>xP!%}}4D(e!)Xwz~r8yXX zQ_jNEe&th6BTiL2bwM?ki;9329=YBl%yA^g#k;&4S?owQHAUts^A%G#&A#U~10MAz zv(b~N^CTxZn$IZC-xg3r=$e{g&qQrxEBkn$zz9G%QXetf6@+`_c5^Hn1 zAj;B;UA_y$4?wVw`3pL{*$Z1&{%*UQ&LB3{)_@jP(QQjaGiwKN@I3BapOkI%W-0hK zNz=SjxeMcdi{Ma$j;>Lkk@0T^+PO4WG+4F`E){3sa+)-trslWbW{Y)^Og-)CIpOGG zGAGJn$@V6rj^mhc*SnrrT|b{$e+%&Wgjr(A?!aLA1mRo0K>3vIn!4!@PP2OX=`tKe z&rfmqG%DJ6{;A5K?qe?C1h^D_9KPL>A{iwIlNa!JE8kMXbr0FH$ml8d+uG~&U*C8( z#i+_D{}${Owr+0uA>6g~Lyh>=u!#aD^qJ!ps(kO~7sQlgzt<22RJf8Uev49U&9|B? zKK(0ux5Leo3RmX1^s6nf~ zpG8fk*l5tV+Ki%et=65#t}v;*SuL83GgCRlD;&EmHpyYt`GoN6gbK6boaSeSXtie^ zvtxWt^cOwGjE7IZqxs|rSv5WvdWo%Vd2vL3z|n2SS!5(kp1G$5%cXpmQRKBXjh3lQ zcsW%m)QS{waa>QXy%9BiS1JnZ280mehp;OEa8H|KRCMM+(-K?`r9IOUdbEy{0O&Ym z_xIi`n0xU7E8+=faQPKa#8eYj>9I8jT!phf3^4pk$I%Vuy0!gOjcti}ZB3V;D|jPQ z%iSdMUG4)|X{rw%Eo@S+2z?|1Gf_(@<$W#nx(Pdv_g+c3=4eqN4A^ew7zX}c*be-$ z#yQd=(jZ_twF69d=Z*h|D{n@TSnOyE^#nO7ejo^`fx+C1LNv$lw5M-$nQ6{k*bx07 zq_O(~ex`TujeDO~lo~pQ5-Z5w;twD`+0(?w8&q(3W)4Ma9zm6;(h@7d6aQ)N6?GeV zOW((cgP_!lkfUkwqwq(DlN5M7<0@9a_=*eMEp}t@B~u-Bi)p+9o_tM6FI|QussPo( z6k{mLgMI{BLFm#E(Lx)VQtqbIh@_`MqU>yOAdjvIhi?5b!?rOliLJq~ki{_-pJREU z<`cV$bX`n##qRUiHU5=kMX`{T9!GPCPRAX--i|HCm~$l|Newq%?>MK# z2je-KQ#DTy{(svI24SN2M*Jxe=YaqMV*5`^otU|?)&HF?QQ34vQ9=FM^s?roYZy?B zGC(sUq$HKTO(+txB$Sr{My6?+!L)5oubD7mulL*^DgQb3vJ=HTrrT3bzsQllU+;@* zcXgE<&!RHg-};<&&#l|-d3BUs?E4!`4@pboz@9MDkm5LJKMy&QQ@gL7vm^95=|$j_ zZ{a3RNJll4w6VOPwqkdmhN1MVK6wcfx%?_-ltG~xr+)R? zCVdOH);fVq*A-5`8fIGYSRyqRfhK!bar2R@&9upSJ~sLMrOg&{n2}evTBE45evhLH z)xQu8i|U}90d_d@F?0_*cfIfQguNMGF(`tHWL`B3Fbn5!Evz|Lp8@|W*AObqJW!z# zQi{0#E4i{-avo()WtB{PM)~nTdZg`8T8I>6!LF}_jA*20l-h8m@43HC@mogXeE$K@ z*(DMScf8@N9{J)}cYoe*=w$0w?`a0hWN7a@M2qpUqBIJz_JOGk-K_i2SbcjOU47wxvSHp0)0UUA z`5t+m1!Lp&Us((XFlJqbVLj~Nh<2{s{XP-&g zxa?K?L(IZHjb=P12(BLPZ!z$e7;~yDJuLczb1%J9_zO&C2tnH{-ATRWTLsNWprNG( z<{Nt1E7ZL0O$I+~<(12+J~3<{QuS&oOaM^k9hIYjZNc^2rw zi+-Su?mNwy8#j<0`+~f)GRP&!fJwoTOWYy)Ei2?C?ZS0na@AKu#gT5(-?xWl;uGKr z6R(jOnEk*Y7_CX9AOV+PC+yI2NZA0^bokg)jLTo{xPSyd;(vYyJ@v{*7$E<^5pwD#3KS+-Faa-}penM8f1W zBmavahAKu62F1(}nQ!)<80i58>7Mzq=*^kM?dOkG~LetK0lxm(?u633b z>~SEsh8z4}cghnbv3#n35?QT3=bQen{P$m6kD!60lY_pY(_cu?Otn=t6jRhMKogWc zDj2FgvHSpupLyk8z#LIhL>&|=w9W-XYEW&0Oh#&s)AqCX_Llc)V3v|$D@HiYwHH-s9 z78$@VPN$#Jnrx}F4N+9&=BbMg5Avxx4tY6gQmPXP9{m;Zqv0n0soE9&2NN$U_9`-E z26PD-tj?srFe{Q_;|v9V!PQ}^C@U>-I=R36K!@YxtQ@BlMFyl=fj24N`I+kFGE2!a zhH|_Z-nzs4BhiW;n`5at+!+zJ)0{i*)k(!4*#nRl-4)bU+KFLPs3Up_70@(=ksUcT z*yH=hLrNp#IW1uzW2Z-s3Q|bVm()AbP;hk3|qZ=4{E4YD^YccE*cE(@9dED zUU;_h7fT9BqZl8MR9IkBAzg>cFsh5954_e+Ox^-%kbNXssW#cXg&uD!B>#3qFfHGE{y>u^<5J=gT@bCH8PO9<>+E9;m3B7qOn^lf#)k#-I|=%>z@mC1Z(tK*}>L;ydrf_?s4q|cBL52|8`X~IZ-O0h9JCwA zHn0gj)gII$_unKtroa0LRj(_B?k9O^I7OPNpzyjCVcF7`mN?ny#oLI8@;r33nU5X< ztPo_*({eYIwQZAQS*xX$dpBc<+~XW64Fwt1IIPG+4G-DH*4x(0xc7UC?l*|D8ZFZL zWw|ZU`yc&=46|D7tFh|_g%kK{Dwy)G!G2PA$}lzOSuU@(G#$xGOdM0<;JkJ6ftHEL zLe)j~FD&h2Zc;@LMC&ayVtuFgwrNix;)vmV3M`ncdD%LWNBVtDcMm`A)m*ukQom>qtKLIC z;(r*{E?^|w&^!is*b+{$*&M((YYBz4-WJYBNC^KV3hD~od5>6eK~YM0o^4p^$p4~q z;mi3`ZSUPcvn6VIUq$4S@RJR`fx-a6yn&wscZFfooy%;!2_n_rbEnrDl#-NJHO0Gu z>x$=l*esFATc{EDD0-#qyVv*AZ7BIMuf!biI;&zQ+=2wBSsMf}4%uSBjQdX|WQY@M zf5m2rclwzwiFe91xp^P|fKdY{|GYU_nyDQcG*RGaj6ReGtem?VHFGHtEijElsakE) zAacqOz7&ih&KF>sGGf)VtUh;gfF${(AiA<^j9k(ohx*tpMV3ocXa-Iwa;NLePE}pK z5wmjgk$kx3NSPJ5*Ehq4W3swsfYC}|n9k>SNf)U7n1oXYAx}&~U(DQlBW}&W*i8cz zQdF{2O4e19$|9O;n=&8v#o9Dw`h=(}Qu=@VfvU@_5L~?abSMigjan+5nmxmu;HE%1 z*GV~{HPGEtg&HFBY!&-X*FunD1hS`bHZrJ~uj@dt=7FD=6f)>@Rs+J<=JeVF0R4S6 zluaLKMJ?E*KWgzC=$*$N2j8&|hw`zVdr8{3Hio0iYeC}TSu`z3Mhbt}?R&8h+}FPq zr9gnnPd5JHa>@RjJ7)M#`RAV_r7p$}|6pDVA0~4%gA>+t;UG+0-akstgamZSgsanR->yFPudENj($aHaA%W zkWo!qo-bUdUavThw;Xq>yM5n5dd$6k^$`>)xuM%S?Exl64zMb|u{9SEu$@<6K(|E}S<@(wkB4}wXf=fuM8;HUNT*qjU2|dFFU!dFhUe`k zLs!*WV7A$EHL2Y=O*X+TQ%`U`h3vkeeit^2|DjmEqu10@Wo-r~T`wIhJ%0X>nMg=7 z9@2eOq0Pc}Sh`LY*=4y#dfI))WekS2tuUi9s~rs=(%utY`w)buvfThJI)87Dj{xOb zzlcB*%~_FS8@h}$%Ca37C*~ZPD7iVuBX>tFFHD#B(GF9m;jWpuTLf98>6nuB+qT}r zZmy!;=p~v6oE3Ar3Au@=)g=jg{gjKkKF#Xe8rM@(3adp^G~m#M_$kJ!gn6gN7 zDuL~?rm46HJ+rJF`xv0H^qE}jB-IAV6M78B*EdYXhxCFflAK$vj>J$?mPb+puB3;X z4W&KhjOEUw$gJ9++0g}gEgeQf%F2bOU1Ep;ag>) zNgYCcgLV~fGU6Hn+BL+BwhieO=?Q)JZi@!C${TH(%)7nl)UBU(#GT6SWi5K&n2J`p zCw(Krwmg@nS@Hl4SW2*tSsz#RkDYdCr;TYmKWtLN3c+lex!L-`{oZWJo=2d+q?K4r zly14*cB-1V*&k5vXsiSx3(- zZ499{G`SF5b2z3DcG+LzJbi?}!~ApL%Nx4oev{(lKO@uaaF8ZFnZ^|+5{xrBjMRG+ zb9#!~1*mXG{W(lmtnRW@`a_r!twhD`4WvV68@s{pJ0Z|MZ<9FO_!PNrCG%nJZedw^mZbV2t z!a~0ISJ>ybZ13Jc1iWnTr{@yac*v#&QUq6%D=*hqo2$&~ZGLZXJ7hV<6JfsKAE?SW z{Vk{{ia2UH#dg5tN)r2tpc%<~Q4#eV#d|z-B`slpsuoaXs9Oqln1mhH8UWdBx7t48 zgbGfopu%lNYk3=;b(lNc2q*rNoIFu-#X{U^+QZZWdI<*#1{p`5w^SpuU zO?JGUa}{)57Le7*R7E3VTZ|WDNm+N_wVPXX=8wzeMjfQcavVIDo`T!Qq6yB>OZM7} zbchic9TN#rwphI9=S-ody~RC#Vka+Kpud`&u+dz(8~-5hrmS8?w8_Z{e5EG9_3*vd zV&XODSdq#+5qS__ubE%3@058ejhJ_Wv!737OKpn4`9+5H#+b7UT}72LYX>I^w_Mob zpPs15jS1GwvN2QBb#eR5CTZ&*p>IfeK>LtB>MTP@nZ@2}wGuNg@FlY! zLWuPlaFdq24IbGcu>vm{3{H@fO^+$7Q_U$miOgkv9s`IZr7oS0!>*sgM)f?{robu| zOX$P9jMX{z^3*IBN===$n!`A}%QS8BZBMpn9_p-fJB2_%ahF}`&25ZTFv7_TtwOkq z^dHqAO3h7>rOt0Gzd^bXw(E>EVv;9glu(5EhS6uEiCMRTf>jT@Col0_R1>pO3pZex z64?}vF*e&o9Wpuq6n`#Hwp6>18v@R2qH@S7J|Nih@0ZLDpWUgS|3(gU;D{ zuKyD7U{n_i0B7r*BTJ8p+WLASbBuxD{F$3>#I9UGVT(q*B5CV^5Fyebm6(lmy6i;E zxmnav-mo62Z=jLKbkXm#C!tN0<=_eg5ndW`tlXtvHbI~|`u|Y&m0fjh*|q_KZ$fY< zxXZ>Jg1fuBySu~2-8HzoTX1)G_uvqM%i~ntd*7?ms%~rV!}~?;VApl;$!-P}7fl5B-hBup-^~xn+SrmQbZy_p=ki5@%gV224uH`S- zf9|Bd`foELHa};#-?lc}PNiJ_;Dun138uNrr;lL0J+ea=L3alnZ{(l{3Bc@22Yp4lfyz>avcvF5JIx0>K4NB?Ge;*I$Y+YEEnA^A3o;- zqRVfg%Z8gnvKjDd>5!SpPZu&-NS>4sSL$f zG>xszD?INm{K8z*7)$pZYt=Jn2k5nl(oZ<&Z!_|wIy^I15qz|OSIE=bbgdT83jZic}& z*u|)MbZ>=vDt=6(>Q_T=60@p_a)V;TI{0_BA;boOYs*CjCBzeQ*k$>_I|zVPBTNzG z)m(CUQC3hK31zE*Y~2_9q20A_x;QhHT=~yF5tC>F^jU_wxEZ-yO=Z7CK}OU`8=!oW zp^_J@GQGG8Nu?#pvNJU0!tyLZ_!SL%Owp1y2920qOk@f@%prU5>*;5s&`QG^e|bdg z*O_)jBV*Ki@M6jcn}@Vm$xGRP1)ap(5x(8WC?(Pd@W}o*(ETgvkDHKyU_cF)ZE#uD zuwHn&6cDc2z|>OJqJR-7-}QrcwI2s47Kw{9Lh4QgBW??Zxen%um0J_6XY99=-;-Q^ ztG4|lQ+uR8*M}a6A?`~26rVd|*;)`(R`1he10V#y+g*XQAgYr(^a zYDJJ3f;U>V8?;}xBq8pY24h)h%x>n=5Y`f>PXvKsY5WLmcp+>M#oDsr0nYcb+t02` zW{^$lbO5zjxco1Ei=9%$WzKf0yojrfTt<3DL+q3|NU>W6Uo@@1OAHII#1NBeS(MZd z{mL`lBbzd9FR>|XpQnn1?%qZ*%dUw7aairI1Y={b^~L; zzuSWiaC@kY8=^_})1t71U{{{1joho&-u>LlY0WmpDUqv~7KdG}Sum9`-Y{Z-J z!LSHy6V&Z^vC_V!4 zL0bX|YtL-pL7M>wp$3(8q#e$k#tB8$+v)3@+u4P8xr~IaG(Yr`IH9Y_gdniK?;Jh?kI4*z}SySf7zn%SZq~c{WJHIW4I{dma77x(i>S7 z3C|d%Vr(kQ;Ph6_e1S0zwSt>g8x{Y0!>dX&kXtat+;NNkCcLbH1*z5OEnKz6>j1c{ z!M)Q971^kNgjlCV@~$*e>0Z=gOZj8xI9rNZ7Eg4#*bpBc8{K)m*BVc|W7&$X!yf7FxWm<48)AyE4^*5uLA|*T-xoj`eYCs8fhOmXk#DI`^;N z^7-g2%7VTx=?7&n%-Dt@ArGEf9vUowEEV+m1WDkEQ_EI(_&(V@r01lVzsf z+>bHQiN;B3MWq9#oh7Rkm*(CRrC6D=YN4IL?0xtmO@`4b&8A@fF*t;fU#n$52dRQ< zsX8QbMc<={q8G3W@nXyrgw{gEY!z{CGfqe?qUJ1U?cc39``55lF}QAamiw_h&Kc#p zFjL#4NMdFubLjJJ9d?xkuw7``jmegcLPJ~847vO2x_vlD_@8X(rfJNFx^ zA*6(1hATRgV40w-2;t!Y+SOF3qjqpOO%qU7_VL?X;s|4uSUJ>1IioRF_T`T~k2eKn z+kfpN8;1exMPPswBD=iV{y~Hzf2`R+sk_4z8|JY#%l?EZz{pc1a zLH$)j(1_hbNkti@$}Zi4sV*^JD?jSYYV}=^Ndz0@$e%I!{0rT2LD?Sbj!T)ZN*C$`LKtMY@A{PB8keMjpi!Dq|E+B1-UfiWQRW0iVh z2sY;vv1j#jWT#Jt2h-}8`ji5sPUe73frt&38SDsxgjFTcGB#UQ{v)R{*BXQwXd6ZW z#bJZF9{#J$+A%|)KwpDnU{^iM6nBEz%9zcP`d0-W@?kyTkBm;eAPV4BIe7$*7I4HY z=y-^A*vCR^$rV`uYd*eCR4@TMu}vLZoUyK<$_9D27?dXer@_KJfF9l(oB#q-X8r~z zohVYLTyGj1U5A7#KU@h2P|cz)w<1+0IxZ1~XJ{aATF_ReWKXZ^$FnJorgU;nuT`}B z%&S^iE+Qk&k!-Rr_DePmlDbcF1@SG|Obb&nH9|y$&6-i?P-b&I-cEav2xRQE(-Nuj z;V*`MhHN9&LP;F0$!J4NsINWH{e}CLLcIoV(6mj_hoRXJ;DdNZm7(_bzj`dLO zULn~p7*)Y=IaqL1$5x8O&}6>rwx7wnUpOo{33476M`x*u;v;m_V7vj}#i z+#Mbd>1v+##OI7L`QDec1D? z%STn>0fTWB0PZDDp)-@%S>)~&NbYt@6os5l+OS6=5M-79pvZm>>XaAR3NX&(PrdR) zvcHTn2y*$x^JI8TP?lt5-2%GvxVE?R{k!%^Dq4&A8{pF?aKcZYaQ+Rz{$c0zPi;V> z8mt@Y0hZ7EnGM;Q46?u%05~|*vK2B!i65*8kQq}99Gk>JNjsiUeS>&ogFwyG?a$S* zd1dV)Jhk<=Rf}@}(C|j+%7v!8=~Y3`mFG^`U(XX#WC=V1HMH)jk4HZ)eY@`4-`+F4 zPm)COp=*?AuMAmuD|U!|P={ahecbH7y z+4qMi@Z)~<-8`6mirKMm#htkd67yb-A-~2#da(NRqc8vF!QEYd^jp%5e9uDwi2kYc zjFJy@MT*5kn{R4#YuxH3+^2f*R-x5NmQro`00P-sxJ|}<&0e~qP4n)FvEAd!J1x=b zEZ^}$*!pdVrIWZsKXUNw^YV!gHNuA^h7X;J-tr-g#!cPC2fKUfsxJ1q6{KtSP$(cz zl_iFqwZk7g8$H(B-WMhKOROOdWdd%ljrjH2&V$07qMxi&+n7hB@A_@}vF>4+Aa#bYiiOK`@CB-vAWQ40PY6;4%nH_j;{fLyIzxMwZ>m?_AR z#Ks9>zy*6`Vkb*}a{O5A7L>2qI}*yhmauvIoum+0PaJn&V%dY5xk$E;N9vb(o zRtU%%O}=i8tzj_5zmB)7_i(dN3G>k+Uozb}1skGP*dbZT;*0nWlPlk zkV{jV6(mbxxppJMlfm)kiM#a+;IrakYFjUH=(ZiZ%b>T$Qf7<|C67P91|!BIBw(Ae zcG{j~fUe2}*T8RL8flsnLnL`(d{nuX*6a^8`5B99Cf)CfBYvnwwf8cdakVn&?n;Wn zkPY@LNZ`4=XV@?vwFgp!iXrg~Z7U0ZJPwJgk22q0arQXkcD4q0KYXu(P4v5d&ow`0 zoErNE7lA~%mS3gH9mB zs#pHgBmw75WjIVdQ-`OiuJiLdo{qVCnNs{-n9b3+~XkW93;%MKUEl!;tZ_a22(!^P1|C{5{ zaxb_!rilgR+*xMjf^zfGYC}0l=EBo5wWQ;+L=3I`BI?h-?7{p z#mFn6l_})1Uc#B;xI9u+lu~I=D3Sjv)0h~|pczZ0JTby!+a>!@Y^y2OJF|#R96$($ zdjsk?g(nnKx$u{+QJQ8b)$m;R@TDh~W&%Cc#yA?Khohso==UUp=VU742t*=(ZKa1I z)b;Panq;)nU5c!;qBc){c2&P4+x;mxQh+2IQGcGhkU2Rq1tL+qeQU8FaNn8#-n?`1 zBBkb;PEm;E&0Zda6S|=(bBvxf)wl~wTYF}Sm)2=fHIa?YN9F)y@*`pZ<&JFS$Me&o zP(C+HKx@iya;KRE5|M_jfn9Y&IjxP1350Ztk|y&#Eb4{@@!=|T#Meqt9ie4GNYKvw%zq0?FiOUIt#u*t<3BAJsxK!bN7Lj`ZHb74VA6-** zWdwZEQF6>}U^-N&7=qfYPDb}b27iX*P91!H5~MhRUsHmG7B1ul4p5@NG^sR>Hy?%tBm4v%+Gl{7*fQq6NYuE!2&uM z@dE}*grOqyv&#fgWo+u_Ifo)rq8O}sp;D){ut#&_t%+TqHne!Yu`G|rkpZml7~8&T zN<}RGZs7ir?DnfDq9)0s+zzTqpUc$c>Xmy^?WVf0gVec}*csN8##DE-nfu22$L$r} z8}-=jP>XqR(Nkd&mU429VD)%WbDzCensm29Q$oJZ?aCaAB3 zIDG%MGse^TeoInAM@RDlk`ZcQxV*mNvN~TlW3WEWjvgov_P`_(XAn^4$QPLx;J@yB zmUhie#qhcm38^+v(wJ%`FyG*pji)!yO+h*|5t>S8=BPCd8e>Q9qZ6G!bnC(**K0ib zO2s8WHbX_oIVap;5^0tb5zQC2UM3v$x>Q(a@m`B@G8hQ#>*q?zHa8xuAnjre*)dQe z805aX!gs)|YQlOlQ$*aYB2d3ck<%gEvFjWoDFWwYFLcjZ)wSwe;RV6WXruUv2 z>3g`zV=5s_5mxeup?fWud1sP@mS_-9fwn)|vZcz!m-fU8S5?l-0-efCUmjJR1I)E? zcl&tsvft5q{3gEuEf$K7FlKIn;@t=jBJgq><4JWhxViUj0)T_kKDSt%3VZk3k+CS* zbtX?tOJS28ph_6@K?tP*2;GjA#G@u~X;W~GG4lYk*)PZE2`y9VyFv^xAee*6g`fE(P>@}i=eD`>9GsLY=! z3Qmb5oYWzQrg6bTOLT-6b&r?xLnw1ZoRi-P#f+IaS(#MlSE5GGt)aS;u z<&@(cTR=ZmWpb+`ot;_L6vy=aw)q{2UW3*#7H+`tF#cjCKOA{eUj-_26A*N!Ke}UJ ztM9QGjORf)Ywghcw)_4(G2^2J#=*t2?kn1=D#N6x^F~{5^Y{6NSNr_Vs}Hqh_DAAQ z`)~4!zl^+9OdLssj7{{Nt(=q{tp3sB`)?Jpw(Oi7rq5(kl{O_1I>3tHo6HK7KA^uE zEC7I-WyhdacPx#Cmz+51gcJ8I07K^iCx~=Xj9KeBKl0KX2b?q3dBlBc#XbAz)#^iP z`G)cx&XVyn_m}A#Arb6)A}FEpvExC-PMT1)#A#wdhwoEDG~zI0a+!`I{dGa1kvWb! zNY`5Z@KE-ujS_9S3{EBu@fu8J8OgQwS32cDit?gTbxDv$>6Ib3W|K>NvI=8^fiitY z(!Nh={CEo0OjoKo6yL~f9AQnR=4X0M=zZ#R-EkYbBTQsljhR)|C~QPMZgkt=BTXvX z-yL;rrIibJP0W^p8@p-YP1_z}`gF+~%J&Nex#?UZS_`uiSx(gEpt^%Ri+yFuqtU94 zDW!X6pZgf*1IF?U59jRM;;^Fyx9sHwSIz_M;a^-u8kOn=`%weGiBzzk2^}DV`O|5!Z8GyRX#3V2qf;hUH_sYRnSXSmo)`=lXHqX!tY-zt_oLo^j7i8{Ay*3-VTn}#(&&NFS;J=TT-p~>g!7nQ0@s(|Zz1h%2!J7X z(yE~7+x9)_pLR9h!VJojXN8@^i}-Q6@U%#$U)uXKMGnhk5;5tuvpC}?21dTLDd?Br ztTdB5N@p;y4wIkNawC#Wp#CP;QvfW?HY*e?k5DmE-Ai1|&Li9D?2$vI9VUxA;u5dHmXz7V@JXiiA> z_*}@WCNwbdX?DcwRCL=(-)gx;TV5_XvjC^&wFBLJznPf z*E%!98Wz;%M{i*NqwYoeAE2Y??&xG}EoAQS-%iU>ikh}_K-9MmlL_Qr6)3B-LAuXo zTxuoXJDgU>^kxef@x!UEk6mmIDIH1HviiFMpo2am^Z9)XW|yH>8Z@g#eSX;I+G>3o znyTIcW3Iu_L(d=_UB0Qs%L~H$hUnGLi_e&Np2mF51e#E(niGofA@fi<93@HdPH5o6 zq^8pm-yk{eRGP&Ho+%aUS>i!m0{PGY@U*4V<9w_2D0 zz0l|+E<9v61Hu~y;8+6Bi>x?y@i=*<&iUQHIFlPsVw?LBKLn>hdE zr^-(nHibglAf7QocK00Oj^0A4n@QHhpxc-tRW72a&d3fa*} zeZxF@3w5dr!SveX*PS2<#j-Yz@L~Xtv|k|YJ2Af1%x#K!l~;|#KvER`0Kl8jrp282 z7vu)KwD&!e+AF*XFIs9w1DB*8*hxY(mil5}*mwRXd zjSK;LLUzsF>w#?XDm5CJmTJXweNY#B=;Gx+MJFp7+;}cVD)#75#I&8Tj`(*UO{Gr0D4`7t2&;sZz$2 zDWb+~VTjSWEy@E*{{+I(2l3h-CN-z!^(>!L<1F`)@ZT!9jX*W_;xWzgj-_niTVod6#rCQX$Hw7HP`WJ^Q@g#?iO)S)Q? zjT-Rafe?FvxmJ>?%=+=De~KUI?L2E9GdD7Mwv1&b&wh0A`GTbm zczit%g`5V7BNYX-M3^J(@{fmZ&>RZ2koR`L+>>&{rk>hknh5=?(}IhLt7d zHoUqhCF_%01^%{AIAYFjR2FRB73HAryk4kt*H>r3!1Ur!-UH;``a2Z#D-&lI*p5D9 zC~G&SV4CE;@3e$wE)z`#)rw~BG?e|8s;wEDkTzB=X(*1W$g`#_qUszI|M9b00}uzr zXe>M7ZbKfC-c+>w48WU#Rn<_u_44XtRpyZuMn*GE445w7;9Nr0%ua>IN4Cr4b(Gz z>e;BsgsNCB-k9zY5tuU@;bo|znym&JDiO=NT}7%V`}@B{)ervZpdfff73`+E&@lEg zWmfi$mGUW}RIgh?lO{PyZV;~i;wxJjIN?3_Kr^_`anf0&&kSjO3k6&c3QX)I7)ZQl780UYZ{b$2>SS{OW>#V}^C zp@W-fYSm?XPK`NEdS7td-~ag5^~va(HJq1%fdq&rjO?1%5|M_fG!7@o8qKkuV5d6_ zjf_7y9r%c;jxX*;WF#Y?)2j#-mQhvd7@}X&k$-M(F}HxwXvT`OzNodq=m?l`{%K=j zGj|AZto(U1cXa#wRMl2`i4OayXygBh=%VSOpdJ|=vzs7ADq&3$bjVJ0{in`&NjYN) zpo69s-KOgJ`8$8}oH|nWlJrL5^0k!dQYixHD!x(J`7X&hp_&y3&8BOP3d;OxOhuWA zm01(x`8yVR5<>y!u7_}cxr$-)uN&pJnZg!h?Vw^tMOtDu3mFYJx%E%2Zu6Mw>Z(gr zT>GLY4ry2OZN>`-RkL;aX(RyuJUSKJrNuIv5wtT6mrlnoJ$69GTrU73%FL-wICB>WE%=L0AIH{5tD!GDCCuWwbTv!L&_+>l7_CAm3B zUIgI}B{>TMNHuW0gWnNhP-bP~8BeMephqJoA0S@jqdmnnVwEfXkm!r|P}5MW^^^rH4NJJ?e;?3vz)P$t(!;wHI`af|GEt39yGRk#*GkeM z^G*{igpb&85c|lnw`h#kwPZ0n5ADqN-AUv!Caq2zl^IZYoFbwiWa&`YQ4iTkSK6pK z7Y8ECBeq$@?D#fQu@$D7DcCx`IGRM{)~ghu3eHp7u=5KQrX z>rKzM$rev$QX1DIPVZg?*qqvI%3K^PaU~bnl#bMw&1)B@VHVKKLx<7`ghu2R$SP}% zlU5?Hc+QC4fS)f8=ld_J?ZVJ7xP;0XynIF28bKB4!ayf0jkV%Ot-OucAyTJ%)W;-1 z$R?Ww%A$k`6d)QY9Loa(_eV z;}shdhJm6-|25%jWfqu(hn18cYY1Ob4sPH`wju_R(C@rrcYZLvpenY2vCkv@r+^&t zpFCMmUb2d(T>P{Oxh{<+9XT$XJ~<{G;qo`g*K_Xv6t_futzU6*Q*4*x1#o+^pLWx52kYcHr0J6D7 zq*7ug@u&y7J(1w~OuSFqF%IhqK?s;+N4B3h_Jx`Ch{ShmLq(+E zQjxDe%L>oyr$?BAn+TCyWl}q8b$q=>{;k!4TtlEI-;FG&Jp*(GK{>0gEur?QB#Zsf z51qnJ-kD%v9`hfW#+k60lLPq-56MynDy&YtZ*o3LXqwPhDAS%EN0?w}!N*^8 z=K_sQ7q7~Q+u!DuVsQ60X&HANQ$0c~&E2CTggA(dMXTpJB**Ym{Mt-EJO?(6{^~Zf zP!S*TjMh&YCglH;$x3S8wOxDm>&wx1-jNRZI_B!LWAIJnV$v=v^OZU$)1G;)6j51i zEFMqN>!>`g{d(`VIR_y~hs7k# zL?i^@L8XlgcHqgR9fI`DKU1bZr1T*;kAMTr?hR#FVs5!XXfSGImD<4pQP3t17-ssU zXlvU~Ng41(thQ>LqHidFjHjd__^4^MruFzB1T(zcc^(A-o2xGfZ@Go^(m$*9E-6XZ z=+fE*sy&;85fcI*1dFBPXkJe{_ROHQOoxXxEv#2CTncw3kMV9AlP$6Rz@GM)13V;M z!(}txL|{E^`Kd=(XBUrEQF2W!4?oY0)6ZK+;}g3CJRk~1A9Dw|#3O{pTM=!UgiGfJ zHrx?>ah-vEu+=^$QyRP{75aAXJeu|xJ$SyLd~#6!RMD%q-v-yO0iK|$L~s*BU7?pn z(;-_r&TvtZ?;DHB6YS&`{^VGI`Ufpl1i+-!Pvh)aRn}+f7?F#QMHLhb$!jICjWj5b zEiueA=)M?VQB8zJtV$%_qfVrb;|1rUX*b$@}zrKitGYoquZ#l7m?FquX>e_J_1GNbDL`IXC^py{q8s-`KR;l zS4aE#y*v^Ra0JW}K|CmwmY}hCt+@R%k|pGpXdGuT1F?aL&pRQ?ktLYQ_7S=ENtzpI zI$o0q3`gPdt%K8vzJsc*Huh`NN8U>fQTiY#*amlXsq|!eEl`!$4CN_k4>NgMoQA7O zXFGd(WTH-ezmuSR6={yuJKT}y=hCm4FCG|Jd3%#}dSZvtn&V1ikUMl&0i;IhGI5#_ z>nsPJC6Q0mMMIyUXie98@tRwXU}rPOxvFv%gOe$qiVQuUEJo%qBz5iy4%GXo(M}=L z6rJ}Ete(C%d|c%B$cOfKC^|UBo9|S!k5SoJwgfUD zP%>MX^)et#w3O@P-YZF&rS>O+o`=od{6esAQdJo8^;ODbb2D=HYP3iWnftCG=pzUl z+kHSxqAY&7=bvKc*W=CU$CgRxgH;v(NJ~y-;QzVv9lWE@$EA(HmA0@ap*`X-hk1{y zX|b&eZ`H$3pZoc2t!2?1O*itp_0&^#oW~GVV}wDW6t|XDlk-zteq})qO9A|7sLq~F z<90BT#%!y10!MATH-88|%C(V@ZJyS(?uX+V9YTYrI7Mk9?pHtd2^jBMqFd(tU>Qwu z>;Po5__R*x8YvePi9>jzA7X_$QD(GY{wZeUWsnZYLo;BltIR~X8HoEN5?*DtIP#!h zR)=oX9iv^b-UTvFa`!OK$bs{LE}SxOSViKuI06lx*Zuc2l}#C6x?Uep$$odMxX ziSIbK+q7g?bYkR!gr3u3OiDj0^r@tzBur<7OG_IFkB*hZqejvY6Yxm4;I7?@E}>7F za;(oZtxvxk$IP)$?ty2G2k75rO#%S9e?y_4m=ZoADHz zmk(s6e^i0~6TkdNh27lYp8?G~`mZ9;hqblk96KeX0Hv{CT&{Mgnp(J8cr2ANIHiIs zn}Yz=Se#We;?OkocJ9{{AOT5uNc-={_Nk9TP$#rqNNsmoHwS;>XqUvh2&Qz=Sk(H6 zlB8l$T5}SmX;7&Dkp#6U<~tF(j(Y22cp7`T1o7)4l|K@pnOm=(eq@~^ZI)%x<$I=& z+G3MbB~`yJNsQIyL7U6jsZ0^I0AG1CtLm1n5MYy4!5_YNfp9_5 z*u5iaWD1V{6d^F^^qrMJ3*YSvY|xkVIRv$sPuuH)!`?j`U!os)yX`f9G+d*4PYPBM zk%ac8u6*tTzWq&k)PMI(vi@;&3Li)JpDL_>9o>I*CI0L9V)$gi`M(ZqecE)e8~y?6 z?Hv?=-;h(35R;-~kk6^nq<6G4T48D@57YfvG4-($Y*Jn=bsLq5-u5shg~Q9&2P{>u zU|R7QWqwj=1q7k*mSr=sX*QIk!&^9)fgzCT&Wbh#R}Ca!7XBI!eYCu#i6Stu@pdpf zTitlH?x2EJ2=DO&`sZk0(zK$$QLEQI))f3$P}74eOBIkrE1M`~la6G16AT99{WHoSc@vWV^mpy3GVD_{PYif>c4Z!bouwaoBw{xKT6Smc~ifED%V^}*XiLx!ztQni-MNifF8ASV^?m34PvP?bp}RD72; zJ1^;qFK0+f5>GhxH=huI>ZUjy_>eBb052XgqD%f#b_JV#JVm&pO(?}y5BdR6%U1n( zmS+A{K{i|mUe$b>YdAd+op{j5Cn(F$o46ez>sC4e`U*_DwyO@oDIf79{ML|Qr#itE z=T-FgklCp?o*}~#>`hQ&3o&V3v`d>!sf7!au|F!p3vuVwy6;$qr@qNWOxNg@QOg=WqNSO#D z(6%shgZ5XG$0}*h$Bwh7!wAGDa1mr*KfY1+Vpgbo1GCw=U#=#dX^)&AOaHvz!3bi= zIRRR84AEhzWX@Vc2xy9&jKe2pLk(IER5mBmz% z#sEK*cxm8Ry@v5jMR|A?sZDYgz^rfg>^g47EMuGHz0?uo?N+#nW~YNtX9g9 zpyRV~ZLIf1Yzb^i?(Z!Gs0s9SxW_VLrTviz04VM0VbPgAKt+I!Ul{uskcqR`aR&Ish{zW7 z?Wsw2tBO9s+Q{g*YRK&S<68QGLfq?-rCY7*clCUIOe=XP!H}bfvIEY`2N0SH<{*wp zt~l(gv_{f-L6+Zq4sIuV-pc6kJVL#=PamzadbVJ?Oi2f_lWR_bj5vmRbB>Uh1t;66 zOiyS02FOMuVIQnR6tPmo=tDl?GyI#yuZR5&O}Kf+k;pZmX|o?T(GZZ8>&?UnE!rP z#eY4$|BOh5s_uHI3s~>cbt`EbfDbEGup~%@4J%}oFGwgbkl>_kpGk4S^JHAeN48B& zva(3^G%e4~Ym@MsX8Tr?B@i_sERaJ3Di@pXc+WOg`?8zvIyJBFO~^AQERZRDk8)=`apdKE^%8}>XfO}}UMwbAYS84m?01Qqa^A(Rkn$T$-w55Er% zU*$^dE4jTyPrkuhA|`L;HUk4+)plwsA2Em=)k|gk2TI@3z?IS0@+(Lz-Nb8BEZt;a zqw?i!9i?e`)@mJJr71~?by4Y>rJ@EIF|V<$=%6ae!y*o4RVP($-9imz7EN+h*yYT} z-meP70t0*EJ!VN5C(MnaLnCYL-uS$8H2blO=oJrD30ZcKv5A3aJ7cZ2cA5raU28DR z8yd)*opv6(bWMbMQA6B7Itr&~GyD8}{+w3BG(1smUBax?I^8VJrk=1-^q%f$N(Bv@R4}%(o!d9Mxudp7my~9 zy3C7^C8F2WnWhH0queC4k2QIe3JT<#R+MrvAg7-WCYi{{*Ts8~WU{D;^^Ovy#xF~M zqMo^ObP%ANIE$`aOPQVvs8!z&Jyi{sr`GoXv&+a|OE-kQKAo!YQGf>e2WNyUouxmh zk$unPWB7bpKL$+5t4V{ykx*dFuJJJ3NM6XAHPpJ(FsV=+JFca+<}oK>7R6-1R$|kW zlJBJgHBW{#r1sgSHUwxCJIQtjo*X+U|u?0t=HBgLZQ=wax=ps^%t zFhusapsHLT5`OPWb`S-^&bcIK-%-ef7~+`RNASHBelwdojL6{jX|lov*3+)}d?hluMsNGFFa z1;;5^xDVpa)EH<^NU>%$S&7P4F`=l$KL@Mo)~K#+l{T*q>WH+bS9i|ky566V!BfXJ z(GE$d-gACyG6k?Kg0}*tl0)Wl;*`dhNXWQNmPV%f#1S&I$R6 z!P@(*DH+^43U;{6Ylp(ivAZpR)unK4`C_vFdBZ~6dTrGwH*La9Up!Q*Rc4_6p)zu- z)a^@`>NWIB+|LcSv^p_xp@;W^U8n-3^+-(;CF_m4PW#qKzVZk7w^5ojsY0<-o^;ZT z`Xa;IlSk>?UE4EY)eb$`-X+zWzwb@A0R!55ZmA67>(LeN5p1QEoK`;x%Js>*CNTV6(5jE0K&@hX`(ka zlOL_}PE;aOX{*iA@b9V3Fzd6_qSl;ZxFiMl;#;#c7w;c?F3+ED(k_N>#k5O_9NJlk zGc#1Yd=*$@%bAyax{_s1O&l7&@%+X+*#OIn+v$S1zl=RzhR4z-!YV?KGeZ;Z7gVuw zdE4b4t6equM|*a=Cjg?jJme(BDw@a0gL4fR7o@9=}o+$KOTcKM)k<{FkJ$;E8OoZL zwPibYmGzUk^F~19l21dLxc633mHmkyqrX%W)82r-NI_*~2OrI!aTh@|st7^Z7tcl| z6%s4K0-Kk2ap4rRdRu&zJjhRigsYg7)-Pq<2VUkRGaGj6Vx!2DUOsYYctK9{#^y(u z`+)xKzO3cXEdoZpNiE@ypE73nzku0gw?jNc=jLrGQ|!OeHBKnD1tV+LP9&(Ms6Kw8 z3K|^+PdZm>HIE!UZ@_Qy030}AXnnsVxRp7(>1d5a?NO9A%o~zd_dg%tb++47$jQN8 z(rZ3N`C*M{QVX3g6vp&f*B77oXlViR2CgdPaK!bHJJI4;2+bV&G$ubh7GY>7#STW* zo>0;aRl<{a0$wS0kwm2j?w0KllzV|Wn1~n1PR;E6i6sgmmDTU7YHmG;5Hv7r?$abz zf25+Q%$Djf--msJQx&F3n0^!HVIn?#@hn_PMU&mOL=R5 z>?vQ>LPbbo3uNnSu{m3*34ecW8zv_5n2zvMvvyUqzODJv7Qzzm#nTcs48k}_Du8+X z-rxgslmuIUkPajsN>oKA*vG$s7OLMboS(}KCN2lr^Y+>I43^+L+=97!P-Mubl1;z@F5|o~MIe8y*j;Nc+1=A9dPFBVhLzka2d#GHbHs&Q~E~hR!A>0*?bvCQ?Yy) zT|cYlytC(;6*h-jO)wj|PH>>EXB}! z3CQ&Ea3ekl4%T0aN$=1OI7M@>qH%R}`5EuB5vh7mE_zcI^2i<(5gzkrvu>fUh>e`y z*<-XSzyYe>+04?r!8l7)#Zl5B)=u=??)Uo^Q-#Y%uC8e`( zZ&z!p-6^;P(%G7^t0!qm^+-}+Y8=a)lRU*oWO&ik8FzXDx2Q>cbg05XyDaryt)sb+ zZ|b}jS{LROPAMq}IblL4HoQS!!@wyiLq%oyG`B9F$eC2+r=I_$4qp4rM#rsAVRMK7 za{GF;M>rTsf!U7@xVDO}AC#$?1*PG{T%F16eBlQ5x#1%2g?YUxGg-iPq#w6a`cli* z#WTuxfT+L4vF`sWdhWt)ruu>(da}9M!BDG(ZWd~}#pp^UuB|J2 zq1b+k6IC9cNpdr{^b@159sJg)EDOS$xQE$ym0R47oB}j>Ylb~WBMAcG=>u-@DOhJW-z1UCe}>oC3>LM6er9d?&O4gOoVp|e;Ym>RA5~tgm#{O zdM|m6e8AkA7i{6nqPQj^{pgj{h3xM`?9pU;QJ{@dIZD$+4cq@A?Hi+O;j(O#+}O5l z+jeqe+qQ3P+jeej+qP}n&V8w_>h4$H=o&Tpy&w5=#>kJe&suA*J=dCZHjlDnI7cBS z-@#!ZkLTD_0Mqq3NJLk*P(8${@yg?~EfbBKag}NQmRm;bE2Uj1j`S^deC87czM+IvZcNdAYck$n-i4syTUsNp3tdKXx#M ztKVHR`91p`LAk&kP7lI?c=Cq{p?4|8-Mq$!(^^qw1mnY3a7@UUS4Q~x8ab_nHQ;dH zC%bIm8i7A%@jQH^DfsOC^4c#u5V5^5-G6=w5@$eft$*W_6W=-cua^A&bIs=O&%vl~ zPq=S~8Xln(+V%Kw%1B@5=^Cg&wZICrnDA-XJ){uerP?zppV7BS@h@gb!NpQ z8fOB(Xod!lfQ$J+7?jAs@)-vE)YMp6i@OQsxFlJqG9L-eXGdsE>;*~Hh>}ty zL}=BD3^Yada`K0VD;81Jt4}k3VPdK3McJmlr5j$&tZxAeZWOu3uJazz!(!BpZ-8#*R_G~KqtBp1%`8+K+KGL1Yh*@i8Nlr;qHaJic==JGlyOVVxURp zxjQ(={O8aZg73$n`G&ms|Cf;0KM3-F!)L$aNGX0Wz$|md!<&o?qmoC<95AH?`W4a1UQPX0@$mDNMMr_+0jz`DUwtN6e zHw%H$T%=cf+0pN$$u$+beqq#*n79^d#v?qAMOZcr6UbP$FBr`{v|KJsN>vvNPf|3& z(wlq;&}^7h$aL?WhIz0rwPM+x{jM#`dt*^wNT#G0ZQn3gg%?Fo*)MKzVD~W?U1uwj zwQM`VCQJye4Bl=Rv{_wdSN?fW;cQtnHvFPf_!FFgL#UJfcH*bDpcY?ku zAA??g^?o9#^A)`jL}?oH8XBwoK6;;33b88+97GWn3`y0hkllsRS(nMK3^buuq;1v_LzPYw3zBak8^fbnyInOg#5zfU9K_7^`%?+DhhrF zeXE_C0>i|`L?3VfjB)!)53xmW@4d2R@hr(J+pYC=*<;0P%|>of@jBvmyKtEfBcMdd#)cIJxQ z)}d6D!Gl1s0UDBp_P0sbJ(4kQ9wK9Ar@r8>lakU8_WOs~ZxC~|J*n#zMo0qf+n(4A zdmrGAM<)barG8Jz7aF%@sHP!&YuibWYWc}7>-uyDt6cGg{IDMJpI{}u;ggg)NeI`x0e(E!vI3}%LN&Aw` z{o-Q9IgE%m<7xs;49JMS*EFw6*>4(t#Jx&(gBx`{f5yAY#C*Oqfd_AGq(gZ^92M+< ze5%RpkJuSS!Vl>UC1=|#Urdi}LkaUtRW~xrZQK~wXre>l8r-!ejrBTAM_=O}ENI;X z^V#Tpj1rmBAW;HbFf*69KLFb>CC`|ph8A{997KntTdY@<4R?z`lFy98s947Nrh~8w zc{wrj&b*7H(UcGIpx#aNtXb06!I-RM#spXh2x4LvBG=*Wr%?NoPsk_gjFAqETo>Gq zcDkZ(A})$nVQepOr9SX}pzj5%o;%B62gF8IJ(UT1X{|*8n{$x&Nq&_3=Q&6nokDSuY(jXTUQnQ5CR)Raydkf0K`eZWM{D*W)FblTCx&PK5Q%5S zTjHSh+u^Ev)|b(!W7JZH`{!RcCrlB?!L{EBE&APYaQzR7?P%;^u5V@T@hwA3C#mnE zFJxmHzn9m zqfK@JU`aekd;2UXOUqOr&pJK2uHXQW9)JV+HFNuCrZxtT8y14mgDstv9h(axJ5)rs zM`B{^NoI^wIelWYpMvk|U06qMcp&d|*)=AkApQJ&_}l7|JvrpC--GIz$8Zl!enl2T z*O$?u2Fn^1)IA35Taae@<)PL`6Iz%hHii*D35?n`xFNbnCz9FzbBPPQzBy_5J^{(^ zli>M(I0-p@LrZdi@ns&RIoF$b%UHe;9zcS*Br_&vMNbEe>1gTb!BWmDVVeq)RdQ`Du~^sr z;<@AWjkGDzF6ni3HA7N=c<=7s?Hkm}FLLjEt-Xy*^`TpZsjf$v9;n(D#ts}BSHW)Z zSeazR7>$kZllQmrGyMo4)rC+H&Z^h=vEOzYcg^nDFE}{4z5g;QM{s8issH~7jQ_CD z_^-hD)`^1mx=m0F=1tUj28ww%|rK+mrw&CO2D9OYV` z7ySwC_+W{S&`MZkykR>*U5X!%yvye9-$|p6sw>i}Du*AVe}5j_n8~)X6V*-qLhHjo z$IQ!cQ~6Q3Y()h7>&1Yb5Em@FV0`~C9;?2#=JYE_005ZZghuB7b!hzk5Gpm?^|X{1 z`AnOhP44PsID^a~ph<$5C6FLVXyz4qijx{7pbDXilv1U2;?2pJ`l)F^1j?O-;1?iK z*?yZLYmMzO=K<~cLt3D)@o&iWf^0m#e`vjZPI=KKq)iZm9K>|}I@)ra_MYN-E{^#; z_6rF$L-?~PW?NiXsG2IX&xMHAVJf2FG^xU0KLp&2YJZIf!RQ z@6t+cDKObye`6TA@#d7>n)BKmfhceERbn=~*LvkmT`F(%mb|+mNmH8ozSm=)_9S?FokG2T#VmWUS@0(=N&ALbUrkr&sACC+7S@&Hz zbL!F>mfN)n9*0hS)}dGK0qT_9>Y+T|$9e`EbCS*oW_ewai( zzrE0Ws6=fS->$QGgC#6&TAG9;{E!xPCDbog9U@ALOq+f2ApQA#mWqJ~&o4ui*hUvA z>?#~A4X8ReiNF+R>@budB>k0b$LAiu*b(fb3MMA7@lo_dd zU}MaPFd>S#E`#tk^HjKom0?kI?sVjemI+B_SOIczyPl_xX$~QVIGFRT?o`bH{K2Ab z6vre#G}qLf8ezQ37k(0om7!II6bxU>`X{x1)p*oH#wkqPS4(MOgy>!d;c4ne6Pfnv zE_wr}wnR27*uDufR)8H229n$D%AyJ9d@ZN~_+nQd_JLi|Bsg?^%PJyc^2Ld4p@aH} zxu|F|4LOn9EpgF~11rPF&bUVC*sLw0Px)BoyR>%J5!sjg-2qCK?7HkFAoY zd2h5dpJGkqfTct2i|^cgJr&M)dd+!Fr0 z%pW3w9z><2EHIK=7gvey1asm>RDGvm#&!AMYA{qLYRlB1zUdzMqjAxBMh@gQE&$jP zr1S%W=s2CNZmg_`68g=KH)FtRg>y%;89`*p=yGeVE~)Lezg*1s_))psla=FL-CLu^ zO;xCoUL{#dYvgB^I)GVp7^i~?nA&O6PR5G%YR!l(xr`<5o!-eNH?$dCI%dTU@L2&Q zYm!spm!x1}O{CSP*U_*fh3i_GmzHodghU>x94|c~?o>8fj!?qos18lzqohuupC^;Ix> z&@g(vLO;D+uR?<9<_YdadXXtMOj!LviC|37^uQS0qD;gLQr4>FLBP_#EXPkg)ZWE) zXK~8JcZG(zj4rZ1GHbwaCATVS>AYT)+aRPAgz3Tz{~4Ph@nxa;9;RcnE2X$Cs7o3` ze%7W8i`Aqe>6*idT=Yi7`JqWgT#K5fXOrWgvIjb5N8|I@0hwGoi005=9b5$UVA8aB zXSQ+0;pH`|#c5Hc;x%S}NW2~tDbPGqDP1BHzmYm}pipYWX$f2LQ(_q46w)00Si%+~ z+*mNoh_$c{Ov1(yKT$ex%-xrJ+m|)Be+TPT8+3bs4eP_kJEr&g(CdVj8so*wGh(P2 z^TT_~_Qv`HkQA{2PVmaSjqhO)2S><65E%Gg3sfpE-@7cH`h(z${w;q-1sgsgsR0Vu z=#&WF5$o$!Pq>`~2Jjb#cMcejek}YI$f_DM@N^@ZdsXL%<0ZQpk5)_6qrxB<8q_ zZ}&lc0=g*_Jf-%DV)IsaZ0}tGsM%g1MvJc{i*JAcyTEoF%;r(!7v6YtE5S{~6cc*+ zcJMGi3eDuXD4NRz^QRI>=AQ%t$UBxyZxlZohWO@Q(!$`WtV>|N82HR?ejYH5@dde) zLC7SolT_De(!ZE~I0ob#>Y{&0O?3kaf=n;SmUc>;cINMI?&#iL(mS>fO=Em;|5@AF zzOmImaM5Z&5B|dG)|;7sD1fj`a-la9G;R5Vk~bMe>UayNta};2lqeId)DCgn6}lki z`LVUbcY{|Vq{2pv|0nFvgp;5M@;SONiiMB+(98=R=%1uND)G|i@6Cp6^QBC)>4kol zeNkF!^VA-ham$f58?Dvxnu+DDnhQ|Os!JnC5=DCD6fj#2d$L{oi94FL%tT)mN8ulv zXB^;$%-IuqnOs6$y_GGt&&CN3Ah4_{-C?C9@GweRz9k_Cgq?*7RPXUytVcLlPz;FU z6_^snuH`*~nTs-B1A#wXMCQP^5{k*lR7FlKi6^v=$C-*hL=9Q=g-{5BK>;~=GFs~ZYyt*-lmFrhKi$Fo6MlO9Zxe|t=Lx5g_`m?%Hw zAJXLny#^DdIkU$fe9FQU`5B5~0+A+!57&5V6tz^k?VFizaaxZgtM?`eP^8aDS)VA= zK}^M=a~~%I$!9Br>~bF^wT2ej<|-tM-wLQ?#F-CNXO@~KcZ=Ze%d2BMj@1gG8Z6;Y z!BZs&bQGABytENcf56GF<$E6M& zZ6LyhRcGd97w`Z_J~!Zxf38&|l|_mpbSBW5H^koa&Yww8W1{>XI@XD9k` zMuV=cA$>J4oKiSxL@7yA$*gODzc}C_ceRw>URhWA#Y`wc?+BZCQyO7BHEndTiU4Bh z%*jExs;0wD;K{@8ly>4O?A~r@X;$^16++}hwuh3hB*j4IF>aGdIMq-^|N*Smq`_^l;hG_Z406XMwaEDsq(jfg#U1q`xU6RmFJtaQV=6^T= z*nZ8iB+va=S=<#mAUy4?1A=)NL(Rl1h0XT3qk$8aFHDr(p~r5YJX!6Op8UBPEnCd< zU}CT)MVn5fDn%H{HanU6i%k!#6Rdk%>K(G1uJ`&G<#UT)+1EBt^VW;cWNKgpeUm06 z^je<${q|9xSOc6@>Xel~I7k>T7tX-w4c=>o^m{T0x$K&Xt@$w}bl}m#KUm;Gqlj#x zsm2Q8$1B)Ob>un&7?Hfsd~@&TnLBwsm0-%Z*u=4ZSJ(=ASNPnt*tqO`Fna!cSZcA^ z$H3S}J8@XrrU+#gy?*NEBeSx(L@K^mMRliy^%SXKs85*d2MG_9-szTl)`Xq^R)f3n z`NhrhV!G>?3Y40eRkHsvJgxSa9JXXKhjarFN$fz zcJ7pJy#+iu*c{Q(5Dv5;Q!<08!GCU!pe-(SLWurlaOO8mR}jT4o}v)nM5v$xrl>3H z`Ym}u_c;FpxrlBKfJcP%6H$$BhW<0l;AY*$MGhbPm z)>geGtIL;erxOYAoX@BF+^mO1v^uUuUZ8H-)#>4+9G!OkE%}ECVP?t zjh-pCUfCU?28E@zgZeQ-&?-3KN1!~2iyF8ka8;b*MfyogxOoswIh3|xGnthdnNyG0 zsjWR|3omyKE?J%$Dd(ECI;c&eSnHH@y{K-spXX2W?Esb2^FhrJO3Rrg5uBC*EK~fI z#D>~6q;ltNK;&r0r9Vy1;`+bzIwhN3*2TVH;w2u%|By=jiMsoh;8Xtx5n4@PEbx=n zqDEHk^T|qR27CzwYsfqzft4uBU%5BkzHPw|Pi$F*IjeevvT3sk^#Zj5vt*pOW(jgZ zJ^y3Q;1J~$v5iIG6W%&uyEH{!$ z6_;7G)l=d?0od&ewuR%oz(IpzQURG6LzlWme%69)duc*d9(`x_RNlE<U(gVa7+vcHJZaWUyYzg-LNqsbI+crX;P&5wnQA_p^&hxBL zG}x*B@boEEG}htA@u$YjD@@MG?_d<%6{;wqbe~6-mtc zsjvsI*!8iThvx%!c(y;j7_7M`-J)PRPFdojKrxLIxEv4hdg#NpnD>Y=|FqWvzDDlO zRRQK!P-Fjtds(nk$y@;A@yJ~3(?&!?8g8E!&4E_=(~`j2{HcB(G*14_J6i3&y_)J} zE>Cpze9Fl(L&|F;FfU5g|oCS?EJLwhq zQ8X@h&5~|5H4fdC2&cc`Pov(}I57(9QHsdyjd(?d=jWY3cZwd6oEvC{(i5f>mK-6v z1*;K7i7ym8rBl1WaBv{scyBT#H4AE7fGzptKBwW5V1KT0TKy1t#Zz9SskFAHY!vSB zS5ql?s6Zq#B0x=5MN3s(pCD6LNvZLKwBV89>+`NTc>JDdd)P|Bm3i2n7c8vs_t(f< z@v$^CYBUjxcRDv2zWXsBB;O866 zgtEkaOS7OJh@=^t7u-Jv!JI}l`v78Enj-3XC!yC;drz{yI@Y^7*0&k&U)Gb^Gw>cq zzvNzVOs!gDwD-JBcE~6xuN<-B5nkr5=pfVY9A_1da?48FxWI?wf}*Jpkrjk{v<%|Q z@h(uxdgz|`KrJAdxyGM?qR%Fo`DNv|*2}p{q|m!sO_y}BW=>ol%#9TPIw*V*WW~QCtTdnV%6JM{4h;H4#q*4M@ zL~&x>$iLVG)j)j#*@o*8E4swNwF$_!^TSDF2E{ICw|k%)!(L^X_!-D{r5?VVy`}1W z{alp)%Pz5DNk@ll$V@Y}gbn+GrfCREs$$kevtI@ya4V2SgL^x1-7|=?Iq6_;HC*z_uxd^ZeU#+o;lFINPT@>rY;D>0ZgM z__mPkquc2v`nDf~->pZaedP53d*m%>;Q5@#`yw+plDu1 zxJy*txb#arJ%Wx~wMMHkvOSCv8sio_D!YY;&mDyQ?LcnffE18Wb69ZKm zY>CX>pdnjYsgs*3;Z};SiyXPJC@6A65a+YVlUN@ERR;@4;^c#IOU{WI_3Yv=Z&~x8 zVcI%(&W+JN(I z>jLk*0Zilxd-7FjYTT`K2F18Y5|v*RnVjNmn`RCVt7PyVL9Ou(Y7RZv$s*lb&LjX@?JRD=@qrYwF74gFIntC=Wd84N|{TyFrJEo%}(F@ z=Cgm>H}9>8|H|EeXD`^Jz~SqGQ~nSij=4p`;TxQ%^e)~%ehKn_i+I-@W^&UQu74>C z*FAk<$)2|-+EYY0rV4LVQG;KvOY^LUr|*`(?TFsq15xkzz3=+c8C{PUylOlqC(zHF zrrpEpY5}R06*UMpklrd!g@yN9N+XTaoZ17bI@-N*FR>1B@Q?Ai)rl53bS^5#FA4{r;3VC z+^nT=WXS#2B3Q+qZAl^xp<`q=B7IG@YNbDzdlDT_PTB3&bFN~C>-Un?0``@+cq$f8 z40D|s?X4VjB8`tsSL9(2YVD_(uA3D8w!}HW3W%|t;~nkaOFUAsA6nzK@L&Y79Otke zMm|P1t**6?ks!i49wRAt#9sEg0_vh7UrzN|b{twEkHZSBMf-Gf?U%~WN z#jt2}TfeW&3bZ?iRj-Pe+AAI9E6tA%#^`Ww%HJ25AtgS@TgBL(n?$LzR~RAP+c%N< zXG-Jf%piu~Be_&&&*<3nXqaHAE$nmYZz(iM37ReMS>%f?;RO!|)5KKfLRl|W3R z^;JODSY!jHnDu}m3!Q~ri>l+(#8t5t3AN`l`!BGMM)Vu|yd^+n4Xg5^^l=l4hrX}^ ziZp)8ndWYai)8vS{Q%W(_eEa@T*)o|d$FUWKQ}|}K?zJLO zmcq(yp~!6NVfR%FtuSm<;S(ARFCbrp^BO8HrgMO>H z3LDhKK#lGA{_y=x1)u`(oP1ckg4M)f#pw}W)c2Ej%prR~qL$QJ&9UDs43d+P)1p|l zF%Kf4`gk;&Jsm36WQI!-7yJ{r4lOFgbA%y zN+Fo8t+;t;8OjvJ0t@KNkNHB+AY^hmih*cIN^NbW(MKDSh&c-)c+Y@>(zPXK#@mgN z0U9Etj5L8<+kyE@)}!-F$<*EnmXqGahg}m7y8abBgNJK_gBZpqQ}pZO({r@b%ld~* z;T_qroV;zWQPoKcbEorb_|J@*@+)#Ki@B;c==!1A)E};gq|ub$1=6QBfJE2Z)D^!O$$|tx=hWY z2Msg5hB^hsydJY;(hfL#AJPD>(*Mw>ESHy~Mf8!vREpeeN)4n|Zp;?ab#bF%)O?a% zeO`x2TWXGgY42Js+kZE5{|H*uYMt<0Q?{3hTYzW%O`s*4;injt7_+vhmc9)|OU6V8 z>vnqZA-ZFb!Km)-=yVKRHjrl3h54qLaw3XWRhR%?_G>aAuWWXN3TxA(;8bpr^2qFa zw;NM34R~Rwp)6{SXAX*pIgL@jfH9Hg`juSFnRuo~~nMSt- zaxF$e2UsiYlFJwyq~N%OTW!2C9qG%;PL?wvz%&cldXS=3odHRB#igUXnfP~f%uMw@ zf?GNw%Uaz;6O^ijHRTB}nK+6%jwU?k(5>8HQ#7`VTH}1F6us22Wyh?3L5}_6Nuqz1 zyd{CyzV{;O;V)b*d;$g>;yxmy(%0%v<6kQ7Q0jSWv3D3Bk=tE%fR z*$m?y@@tlh^0EQv2gd=IYJ)AF!ez&d~J-B-?dS$69LjL-|zU#aOt@ zT?Zhdoh0s=LYMgi+U};HqFJL%A`IIUXvX;NoQLW4 zmYLbljyAfd1(PTo7)9XR!FbbeK;RnS}c^?BZIG`;!KEBa2JAhb!TIv$xlxJ_s+vccpIFU5pY(84E?Jf@a*|;xcKKiEFB4( zVx&ThC9gDL=PiEE$J>BAV;0H^@+fUFmFjRx@BLtQbfxo@oqJ^NrerLJ@mp;Xb6%6PtfO5VH6)bce8+<<*a<;{Tj(vip3{=W$^ZVwOWT~c51_hqn(GJ` z=6e>e#8%3qwb|dOJ40$sS(Sm_`q8C$dPJM8g3}155AN)SU6I3}=#GB=lBM$HoP_u1 zFZ>i~!>ly9@0~2~@5N_^f3tk^PcO^=WU3@7Nd4^lme)h2Oj-lq(`3H&g$NQS*$uuG zWF{!Z9e}Scs;DWxNVmS->AusG=Kc>k3UfnG9X&R#>s4D5m+dWG9YE&V6fx9uRA{Tz z73SK(*oa}mGHiwgo+7cTBQ^p!gFK@HQ7tGwWH>Fct4HDsuTpDCE>wj9GU%u?YHbSfwxKVvhif$^S%keI#RK zrd{VVm|ekPXeiT_E~1QGj^Xj7+WY{4c7Y zPY|fj?B734-S_?TZ+D~q>F)V&E>V)=y3Mx$B2NY>jJMuI{4= zWlF8vv~cY1$T*ZutdF2wOTrU~IgmnA^=lQZ@orN#u!a=eyFy15Zj5u?xuL^+yymvJ zQBjutj)(IW1Pn9i$Gble`|GC=4h7DReJH=tmS-SCAQJAir>G}RZp3UpZ0JN}{d>N> z)zE0$V0~5Y_$Fv6vX~ZQ2Bm(SO=VKTiK%i}k>{o`LStg_hJK+&) zT=HzK8xC7p$wP^yl3){;QtidPUsiT_*5YFKyTZ8{Ee?$i&(Un2t*Q0l0CmwB=;koC zwsbJJTCG`zkg7{?mwP73CD7#+fe_u!0xPfoA}`UsUmE2~9;2i8Fx%*e0Y*+n$c?x>W!}Cv9f! zC-B(i2g&ph$-ms=1+i+yV?=O|xcQ_*qzn!97is0?t7Ou{oELw-awd?8q=NXgrf|lY zQ?HcIr*>Z3I%bihy0^Mlg75#S+pUh;2`R3LqcjfG`CXA5#!JOTsouAvnd%iPt;C$C z+p3zuGcN;_7tDADn+FTFv&Mg~uI<)A(7?XD!}ph}sRyUNko%pITu}eQ-1%R&g#TGK zJ5@AQkyMetWWm$uF%BpZ7nUS{6W{}S)I$u40t+M6zzhl&UB+Vf?--G0rID{e#eBki zf>d>_g4HfGws~G@{*k-nO<*QA0lu4?7)#@Mzqr3VUp@YKoW}D3O6~iJ!ye#{5ug@Z zLtY@$VLM_r93Pp{LP9`86ecKY=w~bWqS42O*kugPzMhVgW`zDTLxsTR_7~?gN4oineTHUwnPp6?@v!Y$aa^Sr znfYd5+I@*9pnGZr z=5-rrtj<2X#P`!IGKdJSNep-hU%!sMJ7uYf(uim^h4xJm6o%4r4AQ@lx?%*oY@Oti zr=#}u&WOS?X>k%#t6wdMnB>;tkK|g&Q@e4nDIN*^YX(DM~s$Oh?2g3W`YD^%!}O048BSkn(<oX=={wn!esK|v zndB#3;-(>rKNBM(TL~2~J~`Cxb@}6Lq~ubO_r>Z_lJ9bXpppkE?R()C73V@*2%b=8;2!(}5A?s11G6j9KsWo|dfh>&7WPIsw^BS+gwYEZ$ zh>_e~S}KK{^MG$W8A`VL`JLU>s0oy6Ssr`fF7J_ThnX}K!7pM>a7P_;V2 zKOSD;NoT%(WIpXqC8+xFxj$O2{8@08N#)^36C*6#_oLzKCcY50A-74UJyY(yI zR26xTouPEZo83T3zenmD-lTxk$w%aFGkH4&^slYG9e+o6JHz-;6Dc;4fgden5tvY_ zgxEt`PEW_hG}Ue>NB(guyPM9%CRU41Y7tsEoqKmKjJod!yKMRP3H9H_U-Y~9KMCE^ z!G5ijFYDCzb4WVVEq*|M_6vP!mv36+WNtFBmitzQ7Zrkk9 zOv@*2jJfb{NkXfA!D#pX!#knA$}gUq-^!iG(PV1k;^N{NPq!QJWJd)BrNTY6zb$0E zWiQTSagYVg84U~CaaFGPktVpZOJWZnfi5YO(cB5MkT6bbl#Ng#VE6-No8g`CBg#2! zJwd}{9oiMMK0f0Ybo3xP>YG9Y+5Rj)@$@S{Lfrxzg6gl#4hcH`Vbn1I&_8iYgsbx0 zG9U!arW4xNa;JxCM$i#aCVzaf{q0GW;lm@T7v+Z1P4@#GY^2wIiIwef!uC1tgh~M%#sK@A>iA)gZj%{Ko zpU<$;{8o7EicXXWYo@BpTXnVH9EM@`oG3W!7n&CtA11YVV~;XU_gDWlDwnZA-2cYs zGCGq@1K00q5{=n2la}3N>T_V@*kzfA^eRWBL3Z8aR2WkOhU%k$;{U1KPP)!-;+IP zuib=(k3h8+044+|Yydwc;(-|?VEQ6*Vg(>*>?pqZsGc8M=gHr+zuR39Ba~RfpoI zZX5aLs*sr6%HtMK9W$3}?TtgxpIc4bn$UI?QE=@YF6_$$xkP47go-JI2fy?y>6x82 z_qAyS_n2od4H*uG^$XtwpwUfa_eHC+6j$hxhfSy8Q$y%=nq9&7_?(EFR8=I|{VKRo z9tmcPHLHj&YK|3&wqOZ3!l9p4hs_@_0ZlaOj$L1vR8Q^R%;H3XBnfrUaDIYT*`;%D zBx_=pfhN});Q!e4^#cRN-HQtz2BqDD=-=qBRX!l$j5Up86S{K4LN^h6_B){G1r9j6 zx#3t9*E<@OQNp!Q-%ujsHV2a-Ii-M%GD4Pl52*$l<4lm z3YVQp)h53rnyQHrhR%sWQ4b48h68#RS-4;{A@o62wPPWSA7s%I<9<%Ww|OAYNGxG| zG&n_zzlYk6<%E^v0nUX3aGKaNIan@50|Vf+p#licjIh`c;KjV&!;OO22njnq(KSyf zpnUnu4O0Hem7$FY0MPyoG7$U^5&eHTj{iN08#PSzv=)rA34ms88;*`0E zntH?qhrl7Qs8`kMqGWKQvJ3rYBN+$P8Ul%9eG~Y>CBRcL4MLD>C@9H$3umRoldV^4 zR;}t*C$H*8zyCqM+i^RC%{E=MW`OUi-SN8hIP-mT{whiLV_)$n(roF62SsIxkLx^m zXXUIv-=9z2l6}LXHrrJ@Y)?jhBRs=pW(jG&yP47ykag|1vyHyR{Z*b?JnRU!eMzpj= zqTRPTLjb$ruxY|0K%j2j|(j6E5vg^8G0j2lFkmMl8PWTHAW_7wwv%OYzM$#f3E z$c1dt?utfbY%EZ3HonxUE@+WaW>R)O+HCb;iMTmpEZ&$Kdve;whcPkR*w3S?FNf1L zOE{W9G`G7m<&f|-jYLl^wFvDyO18|)96P3f^Qop++H4ISx4wFA(ekwyog#E`jk%HO z;&*D#J&XzGWVqhrMm>+^LxD6VF*g4^dP=z!d5D(QqBcw!St**+D!x6m!PLuv)+Lqc zCcmcJ^+RM89v5JPyR8`lEbh~D3oW(y#m;yT1q#Ndv%86li^)h>DSh~5XGTwt9P?t} zXBTQ7L>P`9Aka@oBySs%06-O9P-{1!r;#eKN`;hb*9ao$r^You*2cZDbfHgq1`g-D znR)3KJBx&O%0}qb^_83V@c8ck%QMdRqY1R}_cj_N1_J%`jC%?aO&nhBJ_;2-kE#u%P1B=7j^N~W}MZ-PQA2E_1~7Mux6vD=&1GB`x!^FrT4LGFBMkfy><;hsD1!;X#XO=${Cx2W%1sT7 z=KUf}@`GWNIg_p6gbfMzBn_dN9OseQa0Z=w&?3kCKuS$GSkvicrlrAVRkmSCvFdYI zSnm-=>K@J8nhq0)Bba^I$*Fheoh|QH+-y;?wy)q~+(P>%? z#V|bhGA72@wuh?Sb?r=o0e-NeLTgp#`)*ECd38~6!#~-q?>^wW#^WiP7)=pGoi4#a zH^W(k3=)YNfs?Hzw?dKW^RgO8Q>dNCBAiD(M+k|zLYEyRZTLf`R!+GsTKmuh+NU0V| zf;xH!5~AuOLxl!7#)JBRHW{tQ&wbTdhgNH%N1w{p$0r>--=X)^km~1FJ=>z6?xdiB z*)S_O1)MUe!$yc4{A{0Rv_<3*&fb`Fo%md$&GVCASzS9hNw2z?@LFTE^P7uxx$Gno zsG)VV_qnTawr)g3->@4E9|65U*SM7V3V-@gKGT(CdmwZ+5V2=UfAx{OmDcprdU_`I9u zXnGfu7Rt*-4t0FtE^`z{z0?Ak_-ZTms=EGJA#|Y!zxkde3{dZl;v#lyc_y_p-LYkU zn{+N$>ZHZN-WPR?sxp+<-Qvo-z$A4}P2JUXwk)>>>Li~upea}V_7CgTG-d3)=x5-L zxrCO4)q0%{d7_71=hss%k!^l}Bamd%>9_%aJiq3He*ZydPOWtvfD_=N+nx!~m z&kb0fdcL$M(IEsG6hItn-g>k*JnC#bL@+4vGdKLDFW+)0;?Nui92h(%Q3B=JP#x#x zgBWZA6EilB&Q%mPlM5~4<7haX!emLzIKk>WiEqd_!OFYIms6g@aSrRB(CZ&t4S6#w z>PHHfzASqn86Ns$Z2YB96>luqd(}^NUs`bv7TVlPek=(3S3xKN@@G76PuKxMXAF;d zvNGnKam;iD?^uCWPRWKEyrgTsKFXzjQ5UIN{3z$X7{L8K?~Svs_ePfNBl?K3Jv^W7 ztaeuykL9{Q)Xm#~pZcxw_^tQbUgY4j+aM$iVP7BpxOWr~E`0?A2>T+~#uFHxM7RUO z63%^72dW=NxC7z_>X%5KDJOGW*E-0Sxm{m0J-kc?S&T=0LHjf3NT|k3o;coe7I{I^ zcpoS+J(G)uOCCzN3674q1;}TPd_kACX*)zDbAYKJw8{i<5#T)&E%+|sPm@r*L3|D< z+_-0tuocdECseQn%AQyQWGX5=b+a8xiY(atwa-u-mA^QPo>;!{^71p(_Ez3~zWnYL zB1Fyz?pp|p0j}P1lm$!gUjD!WrpIvpN)-i*IbOByA(rpS@&m;NB?lQ!m!xu8r0)Zocgn%U4A7Y+^(&Ci=lqPk$iaN~)2aFSWDe&C5m9 z5(hJt-$?8G!$gXoE;i`rv(iG$Hh1lpuY!>FD!aM2-hZXqj){*Wdts~)x_XH2uYoMc zNA)Q3{~pV!!bFk`%qpOhxsz%eY_gmd#PUc+bNWEc?gkwy?8OG1`A(H1WT8WT9hZ;@ z0Zvj?$*}9GR+L6GYM^;cG%b?^B1{NU6i2|)u!|D)HF?BgA{!IFhU$_%f&Bf*80{Dw z8X}PB2HKOrReW?_fwc<4Jpmbfe1tf91SH!Ar2OP9n(j5zbN9wW2zt?i-po}9 z!qOV1O&IM^ib8N;3oaRUDLRSPJNP-fOtHVY-PZI(*6+%Qh}{Tl9-#N}_32YHYwa5R z&^~X8dq8gdCXU-r0>#V)ytvXL0!4%lV@QH?)yzEkN_p`Z7mr;OR0?4pMBSomDOaMf zehmBUvKZWgCFHZ5M#{!V`qvl@Cdbc~84(+n!oh|rB54W?-GaNt%Pn~#n>XF)bZkru zZeF^FEaV{aJmL1T+x9GPY*GCTzJ5zw{E$hjg1K>u03R>KOH?Q6 zEDm%$2lq~8ZvGK*`6lK)Vu)D^lCyoetSNwiAz{kJ0r3aop*Z^HWehw`=V`?;p$+E= zR|5>x87|3X!Vht^vS#*#z6w5vLCF?A8KMMI{Si^YVcjP#mCF)Dm8WU)>~rQfu?f)B?GWPPA>kL}FiTSf^aTW(C5+TyX2rzXX?5~bZw(->%ykt=#MGr@ z&Ie+5?p?b_I)oXXzBN%N=yAV*{N)0hA@_Dapr|VyJd->9v!P$*6c`#`7p@g0GW)aB(QEi$B!JPI}N1{HX!bNk>docKK+}NcScypOk*E%VLkX z#!dr3%gi03LacHwL9@N8g~`R$sM$(mhVY8|u;|3f99o*hF~k1mm(KNufT zXDqzaPd9#3X%kjz@QTCKpvx(_0pk^vj#*?q$(Z_A;f^=wOKI;aA8UrQ*ihBex69uc zUsRdsEF4z5%OzVx%Y%oh*U2qNyGmEf&@Q$us+6+PmB}rs_B8Z&y9TSvEnI?FJ8593 z^;Ddvf^7Oc?`V8G{sY_=P*=)+TDP0kA!(_o&JmWA(QUG_-PWv0n0`_YHk<%3++hM=(zdv6+X z;c+el#k0$EEZ{vuaSIoen4I&;7gRWPqa@!3*M1Vd*ne>0g)jS@({*R~OCT^Vg(Nyt zG!*xAM%{*hdpvn_!@}JjxOZpFLC6vCjecH0eqK;QT;NPL>W6aR1%>VX@Us7@EnQG5 za^HMarRAjn)oN9tuuvftVt=+^ajt&dm+@uYj_KWb!Tv#OzNg%`wcrzCjVgeVSIC|M z-<|1-Ha}ik6If5K$2HeW;9mp9W z<*oP}n5gU?>#GZbw#utdQA*b%f2TavcXiY3_o{a0_|ayijbN~?*yfa-y}(s>`RugG zDsO>1LRu5zLWST9d-MC5uvabJApQgyn)(U{TW-(FC|C80>9cc2O@U`vybO<>`eI6b zy|OgooMzu^{g*2iS8!4ZHM6gpl;3*lBwJ#&(U;-~X&W1>{9;x)0(#U9O-h2~+~d&U z2f0(FyVK_-+FzNkal$Y&AIFl2GcK!ePJro2d<@Ip0Q7wV<`cZP)CRb zc5>_72FRLiA9agn{1lMN_HzTb`GDJW#O-IWjJH7q9tL+HPb$bZ2h%S|KI=Sp3UO1l zt~aNU$CLaI6Dy-X4VAHfw5vJ>N!!sVBUtni)MWui5anQ^_h~A56`Iu7?yg6Y?(&OZ zQZ$TQe?h4KEE+*Q+0H)gA2Je5XUwN?5-%akzB6+e&B<-*0o)wE_K{=mEtSV@X2d>>sqXUKB0Ki;#KVCmtRMJ;V1qXn%&kkrD5Jv7WJN+ z_Yl;xuTni%wCXQY?kZC*DqHkOliq7lwI1tKw0VIOJ6g`*bvVhX<(k!QL7N}^_#8za zA)pMO(}wjKoPYeF+MEfcyA7hbl{?eT8o832U1aGnpY((`ncF&h=kBNX<)D~*8org< zTwAg%KP_!w=;gcS7kJOF{ z@dN&&7W-k9cH@_0*T%6`-UQ4gB3qK&dw(+;mASQTixZ_Nx2ejoW$_ffX?|$SO`DKw zBE%)1VJgx*>m=@Cn|4~7yHIo9mmWpHcqMP_X@#KtY1Z{%gZf3^@n9nhKzI-402+uJ zY`}W6^PYP{8^Skee(*{1&qNbQxpd39lwkK4P~V!4D`3F!x0nGL5D>Y8`*4YQ5D+Q+ zaWCK0^}|2z`*MiVyA0ygrPq4n;KU{s#uK3Dz8f{YZDSD)Lvy%j#l2bUz`CX)DBpy?vOcxk|PNx^vZ$G(H$ ztBUs$h+#ySZB?6BfVTV@3|?mXCUpAZ9x+=J3DLw)B%G51Dxv@jC@!3>lo#g*%yo@D zMxk*|xblMCGI*(3nQzC}on8Nc;9bTuf_m{&HLX}F^s1}7NIZ;K(^&k4#&g2zAv}%# za5*m9j3RfABz(>XMOtatK?7Ylhc;JHmr|{3XQDSQnB*WW4|h$yV1?2Ofd=SIGwYo^4b{zA89a-~f^u*mPI(kC(>*bKuA&cX2%`puRHAjQN2L zjP5jRa4B2*x`NXEqt<)QGWDpl;5`S_wY}nf47Ql6aEyhSdS%Ym_lDIE_)G%*>6o{r z`o+KhCbIZ*_4xqyJ#D@Ej$r#wP%RZ#2WPYYPfro|Pd&vt8xy^phzu1KT?T40snR=*3ikRz z&ku~?*xU7JjR0eG+wM|*NBi|5=^=XIWwx|S>T^SU;EbLOsmK#X(@UzQusI@mqW;9Y zqr}st>Qw}$+(>o$1-uZ-6W4)8HGT8dF2ja+mnuVz%&F47(-b60y@w^4iQ|e9y!;1I ztlm)CwX$XS-(g;k zMy{5UX10!I|A!uxrWqBmbc*GViaX_mDk&nIUJnKu#OaOl`NYT&+ zDLy%KGd;cqG;^;+)l@MnTXY_a6p>qHt^e*Y>9_hAObXXesV-#-blcGl(#Q( z!rGAvCmnr3`U95HU5oIi6IMaWgBR4Fep7O*Uox8Lx7!p$9EA$j$m*jhSazfZ{KZ&4 zDC*g(u}5=eG#tsQE?spt3wN8U zTJvXV%e>WTD3Y|TGMp0YLwq-FoHF&t($HUyUzOgvab?TXuD08($ypb>@;(#IXbPvY z*qZqq${|_4+AOLEk?4BN^$4ghN~!DEHF1)nyT%L@FYEL9Ln%;nSC(w1Q%-DZBgu`` zxiK5INeS={tbV_o#aT>HOdfXqvmw<69}%l?6yz;bSsdo?S8ECZBcp9Gz6i%~B2$@V zxs0ui5JPnI0`~g8?ePk1vF=bb2wn?^GFDjrso|u{r0?^DrnC_y>CFOVH7VIj(%EHp zehE4Rmd1K$!N_$U-)!wo@(o8ZhosE&~VDRd1%DjudqnEP<^o!rZP1e1A}8(p!0{czWy=t z`l4W<`NAmtd}|NB+ehZWEm}%J9Oerq#@bW+j$knuLTFSOLUmB2z{_;dM&|fe zYoz;JQb{VAs=^GE{yGqyZ3Hl%i8X~BMho(0bjXrPCA+$LR?5hHGZkAA-LIxPjuPyn z&8FUTDa$^Yx*ohV^MIHN7iE!NlUYZyuk*j_fXR;g7brfwoYj|$RP-Yg?YVpN7ZaTp<;>7sqdNe*3u)jkg+cj`MwMS%#Qpe1B&@pf< zI-e9zT#4C0Q4If8kDaHQF18{aI7x$Qo@u3qURWEojt7UeN6>o7@@H~Mra6KE!gI5?S;>wuTd8WL z>O{Ile3P^<+)tY;ckV^&fC_Joxfqh2WGT(q#y00uyn@NGUvdk!BH|p2*3@1N<^;rR zUIdtvEeqFbF1FdFO9{L{X=uGQ2RYRmSX;5#I0rvZusBS1CVgh5z+XRetFX=O1C$A0 zXrn^<+rFM`Sw;o0lGlHG?M!xH-XY($C4osQJQjg7oUAy|wHxC!MAHT0IFj7CbwX`X zk)^`i8)4n~fh~(>r?b7ED)Ar$@M;I@3L19S1a^Z2yF9cg!sm*O1cA{yXfq{@Lk2u` zl6MD|Kc&B{Xoh%iBKK=7V7&E%*hCrf6|fVA#-XP}^3@BHcrQrwssC_f`G_J9y>f)H zZ?keY(cXdU31A0VCE|0R43t514>YM#9b-Ra(WMSOed4b6}ba3k3{YkyC-tFf!H zd*BP-*`aIGY5yd#aQYp@{ue}j&SZvH*rKr={8Pc?xBG_NoVW7QX~(-&3YgIAnsfyN zgDA9RfeGwqVsN}0yao>z4kFnjzHtJRMowdLl>W#MkHjXq=?!)olfLENtnLow9sIXnfF7hT^@P~*_u&LF$l6}RY z&uOBQE}0?E#CQHm21zlU-`i2#_ zff){uk4KjzvC*qq?X9`VaZVF&G8B2E^A4IQ*%n}?uXg5Zl?j#o)d{CnJ zgX-AnmCY#%&fek?zJbYvL06;K>e}|si90NRW8mL!laxpf4p!v`F|&A_eRGBLrV^Z3<$@zep|0N#GaKBI2Pa~gj0 zW81)HLq6`41zFb+bF&S^xw8mA$wiPvWO{SQjsNQi+~Mcl6Zf8ppUlZ^KsbdQ?eL@dMfiv$yXRdnX1K(VD_qt?aqaVy479h08~ z99WU9(n~T6Kg&^$GK5ZbJOXXo5@EQwY`vv9!OFB_xe{ zM-TyAvWW#z?$Y^k6DgDaBBX2Lt#BtKswXI^=V$z@6cU;$5VcggiM6b}$uCS}kfX;4 zqxyFw`Knuzk+61_rfo$57e~9-jyOcr$M||=SIMTjN!)F=w;1wmM$a)i0>tt>h!qFS zX^H-HvL1&G%0D2{ikf#vG2bIDd~_E69cVhAvcNj{Ey1CI2Lj^wZ--XS$ll7_%*9p6 z!^qj}Klb=}8de@CW~lz|={U1XFMqIvd4xeUQ$?SrIXC`{L`sVuXTry<;zI_gp0oB~s z1XJTGI-=mK-Xr4E14!m47vfqypMTDy{X9nl@jI+F7}CZ(WFkyYpk_=;GNQ@^)e%=8 z;$`9|Uyb)XMxBnJ!S`yyO?9FSCIWL>7yji0rm!ys2Jw*U$%{9{0u6tpg*7+fsXvYc z^@u*RQQ!3&dD(qxF;87(>f|{$^qzZ!dHV$!gsn{vIk?U}f!;`dvhjJ=w_L}=-D-#2 zgId{Lo27>pfOr)(Q@G`TXd*Z1{(&67YjbI})>x-Ye1~mbEYcFI&v(|2yNtWTl350k z*CfPFm2bICpEF!dvu=8LnhP0)>Z{ERf;ZC^*2K&~b0nr;D|ff@SkBmMLrDW!N$2d}$dPe=Iiog%NG7f5 zg1cF{6~M<`Zm%R^oq>4S_N0z*_W3sR6!}^R;S%G(DKlm6Rs(4K@MMer3E%Z-4pRXL z5+^rS;sQ0>arItBVe4KxZ(-%QQ}i`MY9d2Dy^7G4km-@l56;}yWmz%`u(MV-Fs`_o zzcNpfG1JlzetJ0*UlFa3mPD|O|Jg_E`_VqITrV3Y7rt*o%m>Ruw8{%@7TyloDh9Tz z!re5shWJ$)M&h6KgQpEvDSZyn-pQ(p=kBtLnn;i=O1X(j=Vpr?U;0YRNd-x~X-69< zdj;3I*_}K{Y&nBmb;If`ul07%VQfIjvu0jHDGnQrfr#kH46R{b4XdHb6VKtNr^=X) zr_PvC??}3$rQTSNr^1-udhMYfu8I>bK_zDpf?Dn<6&69&8)ktlwcI?7te-T#G&9XX z{og!LYJQa6T=WEM-}*zCT%`xHa5G=BgYf`3c&H~u9KXVbhqzb=HQ$IkwXZ-GYX4EK z@do8_E;NAyi&NDoMrlpAon4tq>M9ly*>MKs>V~E?NloW6BXo|*6DyvS^OhTa6$Qua zCOY_Xpcm%Y%jz-$TPIvQ$yzP&CG5dv;1>5^&&R2VOyt;9TXU>+!QeVdy;IiLYtDJs zM7s?zIr{UD=rH6$y+8I=`2-onZXW&p`(-gQsc#!smzIp1UjQ&Ll`8|~m7GQ-yp>sA zLK-4+H!sgtTqRu>{zaS(=H6V;%Rq8012)mW(JNLoCHN1fMh7iCKT2(#N0`>3tzYvf8` z5*q%g7zTBsP%^LNHIW;9bSHJ2uys#tGqk7t*t|zIQCstd|Rmoe`2uvMN z^JL874NPo*7p`TfF+9yp0uV`u;Y;d ziaV6wfkmlB@d{xiji^G~3Es1+29R);$CzVvl8V7Vi%Rj(uk!IlwpW-SRozdJ(&v_( z35lcb1DPp}p?icLs~qu!%;D$vCj*yMWvNC8Xxx{4VYA~W@p3`m4!FJwGSt^{o)d@bo{V^nYQ^8tkj>joERAui&F4 zq{OBz_s20@10T{I{lQM&H$=Aw;E|pIDczFlV`4Yu%ui?h!q?WB(F%RLdh5zDy&dLz zwnXdO2&6|K8+>=VwJ*$rtZR21Pd=LZ+n1YGl=hjXqHOn%Cw22Y%n4;=m|!o8u}^|P zG?PBwWOnyMY5E2ez{^y1UW)_x>VqTEWb|SU#*7Ff(PRxC<4-w?ysOh>j>gFjhCN)| zJBTz2Ei(L(o+sFC*wtI?{DUT2_+h@xlru5a#F^F?o9;nTR(}VT%7_-fhz&_z`wI`v zZP#@287V8Mk2Tg1z{LP1;S}`s`5>F@k~l@_RZB=B)x11BhtKSkY3nD+FQ1a&qMKk$ z!?wi~FV7IKmHOn1Qx2KXq^bXnZg< zb)@JaW+o6g5Z{DK2QGOKdP8MdN#VqYkkKlXMR%kaO$o_IYqXH1Zo6#$rEa;s?>J1M ztxkPNyW${Mf=k7}fVoycFjA_`^?cqL2ln6{BYrXujm3 z*wf(m8$kMyMA36mcXJSqO3wz6`!Phlkql9%Qy?ca#qZUY{pw*2M>xe<8je-aac||p z4q=TNna_5<6oGfpy?0TkpT%9Y*#wktMnD44MPL}HUz(UrgxOkP0!Y6V(7t4YnOSiZ zPRZS%E*+`Mazdo&a#mV&G37U4p!E*{N;A<4SLHtpzK2iB$krwntro48v&_j0nMrNl zWIq70qS7tS$fJ5n3j z?4FtBnwzqsa(>iR06LPqN$zw$OH#TW-ei{Klx`_Co}8Fi%+q9`3pDLCDxFlttv*rG zYswY=46P=@Q=-2Co=2G(Q5~@s1T&Idu$;@i>eXg0`A=Ei!UbqTnjwO4AJ72mwh5`^ z5-$-Sj+(W*(Qo$=j)?SmH=BSI=H9yTTwV_E7&^xfK-=4rcCh~?eSBzMa*lhXd5p|@ zH+WHM&o5nr8cw}AY&&EBmiC?@x^?{=C-IWaSpP+%G5&@lPsB1WJP}^e-&oq_h@bQd zi{96j{5ea>@2#?Ao#ln|GNLI+RWaqj3O4(jo))BeoFV}) zv1CHUg$yNGTGgtZ9_Hc}(2^lvla}ZljhP=U^+e6)*`wRPN;9~el@*+nu*;P*80{bQ zxg?^B0OYfbj`2k;5Yj43dNj)yhZ8z8N%NZA7UOP@BB)2m*{;!W)ZPmf`_a(_M;O%I zPLi?yR7Gwk`D|SoNrRo$hm_(R9WyTp!5L%ZDq|>~%0msRU)T+lo@!$FtyfgN1#JUg ziuB-kyHW`89@Uzo$irylN(jMs;WlgjYUfQ|${ZK<$CU==a_O0@~kEp5Bv5 zK4)h)S%t)ST&Z(fG6hneyjd~|5-k~)x}RJl+41MLt}Kh_QaMTRtE+K*bRaIFT?V(J zPWhe_y(7&tVGZ|}-@*4Cp4?RJn+-7OJZxnJG@a7h$8<~x1j*%gyB=TMi}_V^GA=R~ zPvLh-&BJ59lIQA0l&fi~m>$`0I%~4c^o}Je#i%NCq-~rM2&t;$Rx`LubEnU$x_5dG zyFJ#;#TQho1@UrfGb_{s7I=sJ$)_x_z}1MO-2jwlJ&)+`R)`Kib> z)8$u6;z?aHJPJL&{R6cV@JQXHZ)sX%aiw;|+N|q+{*FJpJC54!^=sEQPtNn2UM7AZfuJ(V+y0n9s z#QK4KTH}=1K{dlDYyEJ}fomQ?aupi2L_~1(t1J|p=GA0;C5p!%Z?w4vGSygM_N~}L zKbRBg(l)=jbwlL~Myh|p(htOOJ+OwvKy(xu=G)bV@2r4qEC2TGL_mdVomjZV%^p--PRA7NYQRl zSpb;sUBH5s!gr9N#=OW{UPmPjX}z(=nn=4yQ1vSBGH>;_Q%!fKpO{&FW1kYFp?T;a zIDv$+-j!opgf~(y(QG+a|JZ9-XXJpl{iKOc7eJnXcT%)xP-@G;KNuKdqW?;7+L6Pz za*!v}DJRO8@Zp@8PMnw)D09f}D)dLhis19f_^*y7>JHm=vLn>iXeL1qjU#A~7v&?! z@#IMSek92{p;7A*_Akjy01>=>#v8lkbrQ~LQ<;80@E-3M49DLc$BB2?^@6+Qsbh;! zeS^+-^O3aR1c!*>_B?ivL!e^QU%=k?_M}dTEuC}x6Me1jsr5*qX2x09&@gHa)hLeB|8nI zQWoB8Lyl2mYQQ1oCqTs~KS%bnpM_L5J~hj1w4j7TzwkPS5p%b~Et*3JiXffrtvisboMu`B|*Fuo`{`Wns7@zeoU zk3fXa`rV;#;3&5w7s02`#vY(w2L8{#* z56uDF=pSqjG?TI&id8`aMCw8?SV{qny_Gmqf&@!f%kZRm`$*2?$IPUg76|UxymM z92iBa%p2_dN7I&eMlYN=mImAx4#oS?Jfie9!gdMp#_?l$GrpWcO(`fh!$k-fk^F#T zu+JR%OP-UE;pvm;P+&bnrJ7y15+mz@vN%Gt7&A7?Oi9oc=`12zLy z4E$fd>;EyKKUvbdZGL;MSup=IDD8jmS=GLmt^b53X+rs;u3-HgxF%=m!4hsx97IlZ zgfv2dEG#4?!bA>UkP~DNMk=#)k1%y@X}JwD)X}Nov$eSsxiG3x({7^^hcl$Mw6klg z;Ip%{vAOGM^RR3C`)b~7n;f@p;Qw?w3F2VXOmjF2S{H@nlp!^8t z@wb@3E5WPC2nu%p_x;I#`H%*?{}KQan|fsP=FOEq%5i)zC-q5J^|9se3$d3ra-{q% z#O*%=IQtsFD@+|gIKLI)`jbNCCygYKeJZ%}(g^rdpZt}b{OH23-ye?_Irx#0y-$rNj$ddCCI}T))%+d#+!40D-SJia#eK0}s6jf0IT6 zPVR$o^^XY&A&4T7xjgTC>3h2=SH!aDS@ERw&b#j~h8tp>Ehbw<=zHywV7 zN6f?un!QDz|FKk|w;{_ORwv&g-jC4?nXqKfU(z>XE2&*P05?%>d>Di7Ma@>_dQWp%9r!Dy{K4|f3i8p*}WHw|ci8gn>1mEHXS1!aLY?}dq~fS>Qmc_|s7wq5OEACd0j3y**c?51)`V0} zmM$@kA`8=p>*$OiQ%d>JjHyV)U};-XLqclus`ZTx{rWDuBN)rp;;-hm-vZs$5Hq$B zdDGbt&DJ!w5=Z9Rgqi|mWV7ignWJvzKLC zb%4vXDvoHW4KLeBy4Dj*N*lMo9zb+tlxwumN21S#Q;_OhPqzSQKYdFr)AzJItj|*Y zJC?xQF|5$dl-N)zshhj5TLodeD07K7tNw0`W&HNiDASr&$}l5WjV7j_R_~vFrWBX1 z%|TXaQ^8zZ^m7giQgxsZ_qL%uaCZzCoh>t=NBmv=S)a@dH)@34iR;6vWE7cIyeNq3 z1FJ*^5}rwB-m<6QoIJlvM^!_n6i0L#+2suB{M#8nJUo-a8g8^PA}jZrjEP51E{VrB z^4%Dif-am>gqHQ5Ti0P4%_G)Kl9B3`yH}cGjP&43y>s(;oyfH|YAiyF zB*W%ZPLv*X5?+ZxQ;7;C5-M6ojt#p&sg7-&W{J!QO`{~OXBWw4Tt_sUJhGAOmxo(D z>MfEx0_-rZ6S+IiEs{&aE*Wnw(i%xF(i$BXZi$lf13kZ7-}6m@U)Uoz8zXVWT{LB? z#f=x^depyVwkn-_L*~#;`Nb>T60iee(aV~NIT;m3jAhH_?8 ztb>AKc_=Iw%C=Avr7tYRz6j5s^Dg?PJ6I8;KtZ4{bt)Iol^Mu?mT0_|srf*ggsG5G zNk-!)OyZ%yw(*mV28#p1cI(?<(Ljv9+PR(Q*xC6hD?_9KA%f1-Fqt)xSyhU`$4|MG zF##7_AkFr&Gd5QzMg4SzoscKWI_~KqU*oG?5{;j@pgJi#uCUidUXbFwir?_H@ggSX zKui3vXa)aj{5sSX_T?vH^=W-}Ddzg4d{@#k=|sQTR2Sxs7%Zbm6#GR3+G}TQ36s4OpW!{Fs zFz>Y4-ld_oz_}t*sQBh`c0VyS3j)&LYlxtq*?!__MTSsGhRY=T20y~biaf2cyi1~v z(x0Oc^Ie3VtTzs*YJ0MpwY)qFfP%A%uRV}Z0JNK^I z@ApLzGFP+?+!t84u;u~l=b0i28>2GF1&7_syzD!`u)v` z`WwB`z4Z*>dqPSESVT{-0qMq!y@lXAV1EGl^(WUEU&s-EJ?q0v42ZOd1kpFsIRtlV z`A`Fd{`RN5AE9-^Va87DtrV)&BB+ZN|)*5^WJ@WWyWIPYYTp z(OjyPc>{Yvk!Wh)z*x@tE%Z0)Y7m+MtL+JitbC@*11Xka9BnRnegL3cB=IQXxJqjCBd;nPiItEY1gjrZ0;TGM$SI z?-@^QN~+rj;}#&bx(do!vL{+&7Wq2RPVRUJUEt5BJ> z?8x#yB}HaKDP?PGLG5r*FHfhV1}7D|+<5z%c!cDh%*sE=Rt`;|TD5YI%3r##6-4o1 zRG&8gA>mY0JzIu3BGGwOM&VHtO;;vBaAFW$X-m;}ZH{ec0HAk)c+tN~4=(vT+xv&7 zYOhEjx8g77g@BMZLz@HPiQe*o;k$bM#NsyUV<@Vv>XdsqG%X+8G%@gwcWDQsnccK{ zNlH^1wNY@KE7I1?I8^2U{G*0hVxA#WjVsiZOK)(-{5z`%{lY*L9dnuVE$vBnY8z~U zGSTA0#h1{pR%SHJnrFVyYJUYomC`*NPKHGTY|Dh_3@~l!FI~SknJ)^B%ME# z4)8PvM5+@cU;LDRk179_ukz1O4v13TYgjh8Y*gRPaY#j*d?9ZyTeAYl(_4)g6 zGwB+`I-i^G3*^!F1@b?o*!@F)>0obeW#Q&* zrRr9R7R*rK+IW+k9NWfoE?Kc*Uec|4Ri^EL`8(afH9kW}aBo^nbm6MeD_?HpQ#t~& zP}*?r!wF!H#d?|frVFOPp@6DX#*om8D#GK1ujU&&=}zpJ*rKJ2aEY(b0&od!u`VWI zv!Oo_NGDnBB1ZD2q>=O7Fmj#IAsi(ni$tAFsZEDk_LN;70pOuY`QS~fPQ>SL7pgUe zqbf+SPe(_h&@DU#U-(pBB6&HIy@~AzQvo!!4s*row>6XtRjLm(NpjEYVp|arpZxSi z2Zuok5ti?r@#s5`VBO>MxpfIfHv(YHu4n0mIv1KUwSQVDTsLH-dkK{NOk<*ue0|%) z+?-wVrVoPIa@uttebe|6GV09E9U#!Wp)TzFz_0woPEhKoJB3TkKolI)#0TD98w15O zdz3mRQ9f9=_|9;u2`oB!&N^qQI^JVDIi&3soo)IU9L*=r!feVKLvqBHk?ql*nC&sn z@oM+AlL$-J58vVbRheSXP9mxItxWm+e^;hR+5g|lloT6t)dhoIU9lQ!}W^2|RU|i_bas&1shkZ2HgI3;lEhwDz@7qqG2N~S) zIw*g7rDs`U+iC-G^(!Uvxk{6W%-ghYE50dsc<+8n7@x2uLQjb-Y0?Ga+(MpeJ7jTu z!lnTi#~YIXLt74>emcp4+MiK2w3CkUP^6sr2TkD=xC#%lBh(W3Hn0;yVAM*dwJx@X zDM#G)Kh=VWm@sFY(AHQ{v6#;qF5ZI;G=p{!`ClG9%eaRaQC5pGR%>eCxm`~X8d$H3 zzxqTLr2~?t;HLJ_3Al$_#Q6C{)d2KJ79 zx2;87B>uO5Pe$xM2FHm4lo+{yOc@sK(U3ksA7p<4UDMPNXQui*f`aK1`*6h$q9*eR z<7zO9_>=e4ae|En6lYhcsbnk~uvVW#tNKCqJ7k4jIgm>wG;Y9

PX(`C^h>jCkPesal*_L4 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 hKfSPBaReVZSf-_l4_ - - - - - - - - - - -